blob: c0b79a5fde28bb15e67c48b6a5f88f045310c245 [file] [log] [blame]
Brian Silverman41cdd3e2019-01-19 19:48:58 -08001/*----------------------------------------------------------------------------*/
2/* Copyright (c) 2008-2018 FIRST. 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#include "frc/SolenoidBase.h"
9
10#include <hal/HAL.h>
11#include <hal/Solenoid.h>
12
13using namespace frc;
14
15int SolenoidBase::GetAll(int module) {
16 int value = 0;
17 int32_t status = 0;
18 value = HAL_GetAllSolenoids(module, &status);
19 wpi_setGlobalErrorWithContext(status, HAL_GetErrorMessage(status));
20 return value;
21}
22
23int SolenoidBase::GetAll() const {
24 return SolenoidBase::GetAll(m_moduleNumber);
25}
26
27int SolenoidBase::GetPCMSolenoidBlackList(int module) {
28 int32_t status = 0;
29 return HAL_GetPCMSolenoidBlackList(module, &status);
30}
31
32int SolenoidBase::GetPCMSolenoidBlackList() const {
33 return SolenoidBase::GetPCMSolenoidBlackList(m_moduleNumber);
34}
35
36bool SolenoidBase::GetPCMSolenoidVoltageStickyFault(int module) {
37 int32_t status = 0;
38 return HAL_GetPCMSolenoidVoltageStickyFault(module, &status);
39}
40
41bool SolenoidBase::GetPCMSolenoidVoltageStickyFault() const {
42 return SolenoidBase::GetPCMSolenoidVoltageStickyFault(m_moduleNumber);
43}
44
45bool SolenoidBase::GetPCMSolenoidVoltageFault(int module) {
46 int32_t status = 0;
47 return HAL_GetPCMSolenoidVoltageFault(module, &status);
48}
49
50bool SolenoidBase::GetPCMSolenoidVoltageFault() const {
51 return SolenoidBase::GetPCMSolenoidVoltageFault(m_moduleNumber);
52}
53
54void SolenoidBase::ClearAllPCMStickyFaults(int module) {
55 int32_t status = 0;
56 return HAL_ClearAllPCMStickyFaults(module, &status);
57}
58
59void SolenoidBase::ClearAllPCMStickyFaults() {
60 SolenoidBase::ClearAllPCMStickyFaults(m_moduleNumber);
61}
62
63SolenoidBase::SolenoidBase(int moduleNumber) : m_moduleNumber(moduleNumber) {}