blob: 1eca18f3d66e20c206dbb215c4a15276d3286338 [file] [log] [blame]
Austin Schuh812d0d12021-11-04 20:16:48 -07001// Copyright (c) FIRST and other WPILib contributors.
2// Open Source Software; you can modify and/or share it under the terms of
3// the WPILib BSD license file in the root directory of this project.
Brian Silverman8fce7482020-01-05 13:18:21 -08004
5#include "hal/Power.h"
6
7#include "mockdata/RoboRioDataInternal.h"
8
9using namespace hal;
10
Austin Schuh812d0d12021-11-04 20:16:48 -070011namespace hal::init {
Brian Silverman8fce7482020-01-05 13:18:21 -080012void InitializePower() {}
Austin Schuh812d0d12021-11-04 20:16:48 -070013} // namespace hal::init
Brian Silverman8fce7482020-01-05 13:18:21 -080014
15// TODO: Fix the naming in here
16extern "C" {
Austin Schuh812d0d12021-11-04 20:16:48 -070017double HAL_GetVinVoltage(int32_t* status) {
18 return SimRoboRioData->vInVoltage;
19}
20double HAL_GetVinCurrent(int32_t* status) {
21 return SimRoboRioData->vInCurrent;
22}
Brian Silverman8fce7482020-01-05 13:18:21 -080023double HAL_GetUserVoltage6V(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080024 return SimRoboRioData->userVoltage6V;
Brian Silverman8fce7482020-01-05 13:18:21 -080025}
26double HAL_GetUserCurrent6V(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080027 return SimRoboRioData->userCurrent6V;
Brian Silverman8fce7482020-01-05 13:18:21 -080028}
29HAL_Bool HAL_GetUserActive6V(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080030 return SimRoboRioData->userActive6V;
Brian Silverman8fce7482020-01-05 13:18:21 -080031}
32int32_t HAL_GetUserCurrentFaults6V(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080033 return SimRoboRioData->userFaults6V;
Brian Silverman8fce7482020-01-05 13:18:21 -080034}
James Kuszmaulb13e13f2023-11-22 20:44:04 -080035void HAL_SetUserRailEnabled6V(HAL_Bool enabled, int32_t* status) {}
Brian Silverman8fce7482020-01-05 13:18:21 -080036double HAL_GetUserVoltage5V(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080037 return SimRoboRioData->userVoltage5V;
Brian Silverman8fce7482020-01-05 13:18:21 -080038}
39double HAL_GetUserCurrent5V(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080040 return SimRoboRioData->userCurrent5V;
Brian Silverman8fce7482020-01-05 13:18:21 -080041}
42HAL_Bool HAL_GetUserActive5V(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080043 return SimRoboRioData->userActive5V;
Brian Silverman8fce7482020-01-05 13:18:21 -080044}
45int32_t HAL_GetUserCurrentFaults5V(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080046 return SimRoboRioData->userFaults5V;
Brian Silverman8fce7482020-01-05 13:18:21 -080047}
James Kuszmaulb13e13f2023-11-22 20:44:04 -080048void HAL_SetUserRailEnabled5V(HAL_Bool enabled, int32_t* status) {}
Brian Silverman8fce7482020-01-05 13:18:21 -080049double HAL_GetUserVoltage3V3(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080050 return SimRoboRioData->userVoltage3V3;
Brian Silverman8fce7482020-01-05 13:18:21 -080051}
52double HAL_GetUserCurrent3V3(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080053 return SimRoboRioData->userCurrent3V3;
Brian Silverman8fce7482020-01-05 13:18:21 -080054}
55HAL_Bool HAL_GetUserActive3V3(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080056 return SimRoboRioData->userActive3V3;
Brian Silverman8fce7482020-01-05 13:18:21 -080057}
58int32_t HAL_GetUserCurrentFaults3V3(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080059 return SimRoboRioData->userFaults3V3;
Brian Silverman8fce7482020-01-05 13:18:21 -080060}
James Kuszmaulb13e13f2023-11-22 20:44:04 -080061void HAL_SetUserRailEnabled3V3(HAL_Bool enabled, int32_t* status) {}
Austin Schuh812d0d12021-11-04 20:16:48 -070062void HAL_SetBrownoutVoltage(double voltage, int32_t* status) {
63 SimRoboRioData->brownoutVoltage = voltage;
64}
65double HAL_GetBrownoutVoltage(int32_t* status) {
66 return SimRoboRioData->brownoutVoltage;
67}
James Kuszmaulb13e13f2023-11-22 20:44:04 -080068double HAL_GetCPUTemp(int32_t* status) {
69 return SimRoboRioData->cpuTemp;
70}
Brian Silverman8fce7482020-01-05 13:18:21 -080071} // extern "C"