blob: f5f8aade90a3d9e87b0f6fd5a5dc3afc668f7bfc [file] [log] [blame]
Brian Silverman41cdd3e2019-01-19 19:48:58 -08001/*----------------------------------------------------------------------------*/
James Kuszmaul4b81d302019-12-14 20:53:14 -08002/* Copyright (c) 2008-2019 FIRST. All Rights Reserved. */
Brian Silverman41cdd3e2019-01-19 19:48:58 -08003/* 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
James Kuszmaul4b81d302019-12-14 20:53:14 -080010#include <hal/FRCUsageReporting.h>
Brian Silverman41cdd3e2019-01-19 19:48:58 -080011#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);
James Kuszmaul4b81d302019-12-14 20:53:14 -080019 wpi_setGlobalHALError(status);
Brian Silverman41cdd3e2019-01-19 19:48:58 -080020 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) {}