blob: 08d56389d6f9542ff22b3ac2190b1d8ddb85205d [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}
35double HAL_GetUserVoltage5V(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080036 return SimRoboRioData->userVoltage5V;
Brian Silverman8fce7482020-01-05 13:18:21 -080037}
38double HAL_GetUserCurrent5V(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080039 return SimRoboRioData->userCurrent5V;
Brian Silverman8fce7482020-01-05 13:18:21 -080040}
41HAL_Bool HAL_GetUserActive5V(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080042 return SimRoboRioData->userActive5V;
Brian Silverman8fce7482020-01-05 13:18:21 -080043}
44int32_t HAL_GetUserCurrentFaults5V(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080045 return SimRoboRioData->userFaults5V;
Brian Silverman8fce7482020-01-05 13:18:21 -080046}
47double HAL_GetUserVoltage3V3(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080048 return SimRoboRioData->userVoltage3V3;
Brian Silverman8fce7482020-01-05 13:18:21 -080049}
50double HAL_GetUserCurrent3V3(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080051 return SimRoboRioData->userCurrent3V3;
Brian Silverman8fce7482020-01-05 13:18:21 -080052}
53HAL_Bool HAL_GetUserActive3V3(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080054 return SimRoboRioData->userActive3V3;
Brian Silverman8fce7482020-01-05 13:18:21 -080055}
56int32_t HAL_GetUserCurrentFaults3V3(int32_t* status) {
Austin Schuh1e69f942020-11-14 15:06:14 -080057 return SimRoboRioData->userFaults3V3;
Brian Silverman8fce7482020-01-05 13:18:21 -080058}
Austin Schuh812d0d12021-11-04 20:16:48 -070059void HAL_SetBrownoutVoltage(double voltage, int32_t* status) {
60 SimRoboRioData->brownoutVoltage = voltage;
61}
62double HAL_GetBrownoutVoltage(int32_t* status) {
63 return SimRoboRioData->brownoutVoltage;
64}
Brian Silverman8fce7482020-01-05 13:18:21 -080065} // extern "C"