blob: 39c5130459ae4d55480b917bab63c04f26add6eb [file] [log] [blame]
Parker Schuhd3b7a8872018-02-19 16:42:27 -08001/*----------------------------------------------------------------------------*/
2/* Copyright (c) FIRST 2008-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
Tyler Chatowbf0609c2021-07-31 16:13:27 -070010#include <cstdint>
Parker Schuhd3b7a8872018-02-19 16:42:27 -080011
12#include "frc971/wpilib/ahal/ErrorBase.h"
Austin Schuh9950f682021-11-06 15:27:58 -070013#include "hal/PowerDistribution.h"
Parker Schuhd3b7a8872018-02-19 16:42:27 -080014
15namespace frc {
16
17inline int GetDefaultSolenoidModule() { return 0; }
18
Parker Schuhd3b7a8872018-02-19 16:42:27 -080019bool CheckDigitalChannel(int channel);
20bool CheckRelayChannel(int channel);
21bool CheckPWMChannel(int channel);
22bool CheckAnalogInputChannel(int channel);
23bool CheckAnalogOutputChannel(int channel);
Austin Schuh9950f682021-11-06 15:27:58 -070024bool CheckPDPChannel(int channel, HAL_PowerDistributionType type);
Parker Schuhd3b7a8872018-02-19 16:42:27 -080025
26extern const int kDigitalChannels;
27extern const int kAnalogInputs;
28extern const int kAnalogOutputs;
29extern const int kSolenoidChannels;
30extern const int kSolenoidModules;
31extern const int kPwmChannels;
32extern const int kRelayChannels;
33extern const int kPDPChannels;
34
35} // namespace frc