12 #include "FRC_NetworkCommunication/UsageReporting.h"
13 #include "HAL/Accelerometer.h"
14 #include "HAL/AnalogAccumulator.h"
15 #include "HAL/AnalogGyro.h"
16 #include "HAL/AnalogInput.h"
17 #include "HAL/AnalogOutput.h"
18 #include "HAL/AnalogTrigger.h"
19 #include "HAL/Compressor.h"
20 #include "HAL/Constants.h"
21 #include "HAL/Counter.h"
23 #include "HAL/DriverStation.h"
24 #include "HAL/Errors.h"
26 #include "HAL/Interrupts.h"
27 #include "HAL/Notifier.h"
30 #include "HAL/Ports.h"
31 #include "HAL/Power.h"
32 #include "HAL/Relay.h"
34 #include "HAL/SerialPort.h"
35 #include "HAL/Solenoid.h"
36 #include "HAL/Types.h"
38 namespace HALUsageReporting = nUsageReporting;
40 enum HAL_RuntimeType : int32_t { HAL_Athena, HAL_Mock };
45 HAL_PortHandle HAL_GetPort(int32_t channel);
46 HAL_PortHandle HAL_GetPortWithModule(int32_t module, int32_t channel);
47 const char* HAL_GetErrorMessage(int32_t code);
49 int32_t HAL_GetFPGAVersion(int32_t* status);
50 int64_t HAL_GetFPGARevision(int32_t* status);
51 uint64_t HAL_GetFPGATime(int32_t* status);
53 HAL_RuntimeType HAL_GetRuntimeType();
54 HAL_Bool HAL_GetFPGAButton(int32_t* status);
56 HAL_Bool HAL_GetSystemActive(int32_t* status);
57 HAL_Bool HAL_GetBrownedOut(int32_t* status);
59 int32_t HAL_Initialize(int32_t mode);
63 int64_t HAL_Report(int32_t resource, int32_t instanceNumber,
64 int32_t context = 0,
const char* feature =
nullptr);
66 int64_t HAL_Report(int32_t resource, int32_t instanceNumber, int32_t context,