blob: f4345920454b9fe2cf1c7fa014bfac9581fd7278 [file] [log] [blame]
Brian Silvermanf7f267a2017-02-04 16:16:08 -08001/*----------------------------------------------------------------------------*/
2/* Copyright (c) FIRST 2016-2017. All Rights Reserved. */
3/* Open Source Software - may be modified and shared by FRC teams. The code */
4/* must be accompanied by the FIRST BSD license file in the root directory of */
5/* the project. */
6/*----------------------------------------------------------------------------*/
7
8#pragma once
9
10#include <stdint.h>
11
12#include "HAL/Types.h"
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
18HAL_SolenoidHandle HAL_InitializeSolenoidPort(HAL_PortHandle portHandle,
19 int32_t* status);
20void HAL_FreeSolenoidPort(HAL_SolenoidHandle solenoidPortHandle);
21HAL_Bool HAL_CheckSolenoidModule(int32_t module);
22HAL_Bool HAL_CheckSolenoidChannel(int32_t channel);
23HAL_Bool HAL_GetSolenoid(HAL_SolenoidHandle solenoidPortHandle,
24 int32_t* status);
25int32_t HAL_GetAllSolenoids(int32_t module, int32_t* status);
26void HAL_SetSolenoid(HAL_SolenoidHandle solenoidPortHandle, HAL_Bool value,
27 int32_t* status);
28void HAL_SetAllSolenoids(int32_t module, int32_t state, int32_t* status);
29int32_t HAL_GetPCMSolenoidBlackList(int32_t module, int32_t* status);
30HAL_Bool HAL_GetPCMSolenoidVoltageStickyFault(int32_t module, int32_t* status);
31HAL_Bool HAL_GetPCMSolenoidVoltageFault(int32_t module, int32_t* status);
32void HAL_ClearAllPCMStickyFaults(int32_t module, int32_t* status);
33#ifdef __cplusplus
34}
35#endif