mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-21 01:01:43 +00:00
Change hal sim to use spinlocks (#1291)
This makes callback registration completely thread safe. This patch also uses templates and macros to dramatically reduce the amount of manual boilerplate.
This commit is contained in:
@@ -20,45 +20,45 @@ void InitializePower() {}
|
||||
// TODO: Fix the naming in here
|
||||
extern "C" {
|
||||
double HAL_GetVinVoltage(int32_t* status) {
|
||||
return SimRoboRioData[0].GetVInVoltage();
|
||||
return SimRoboRioData[0].vInVoltage;
|
||||
}
|
||||
double HAL_GetVinCurrent(int32_t* status) {
|
||||
return SimRoboRioData[0].GetVInCurrent();
|
||||
return SimRoboRioData[0].vInCurrent;
|
||||
}
|
||||
double HAL_GetUserVoltage6V(int32_t* status) {
|
||||
return SimRoboRioData[0].GetUserVoltage6V();
|
||||
return SimRoboRioData[0].userVoltage6V;
|
||||
}
|
||||
double HAL_GetUserCurrent6V(int32_t* status) {
|
||||
return SimRoboRioData[0].GetUserCurrent6V();
|
||||
return SimRoboRioData[0].userCurrent6V;
|
||||
}
|
||||
HAL_Bool HAL_GetUserActive6V(int32_t* status) {
|
||||
return SimRoboRioData[0].GetUserActive6V();
|
||||
return SimRoboRioData[0].userActive6V;
|
||||
}
|
||||
int32_t HAL_GetUserCurrentFaults6V(int32_t* status) {
|
||||
return SimRoboRioData[0].GetUserFaults6V();
|
||||
return SimRoboRioData[0].userFaults6V;
|
||||
}
|
||||
double HAL_GetUserVoltage5V(int32_t* status) {
|
||||
return SimRoboRioData[0].GetUserVoltage5V();
|
||||
return SimRoboRioData[0].userVoltage5V;
|
||||
}
|
||||
double HAL_GetUserCurrent5V(int32_t* status) {
|
||||
return SimRoboRioData[0].GetUserCurrent5V();
|
||||
return SimRoboRioData[0].userCurrent5V;
|
||||
}
|
||||
HAL_Bool HAL_GetUserActive5V(int32_t* status) {
|
||||
return SimRoboRioData[0].GetUserActive5V();
|
||||
return SimRoboRioData[0].userActive5V;
|
||||
}
|
||||
int32_t HAL_GetUserCurrentFaults5V(int32_t* status) {
|
||||
return SimRoboRioData[0].GetUserFaults5V();
|
||||
return SimRoboRioData[0].userFaults5V;
|
||||
}
|
||||
double HAL_GetUserVoltage3V3(int32_t* status) {
|
||||
return SimRoboRioData[0].GetUserVoltage3V3();
|
||||
return SimRoboRioData[0].userVoltage3V3;
|
||||
}
|
||||
double HAL_GetUserCurrent3V3(int32_t* status) {
|
||||
return SimRoboRioData[0].GetUserCurrent3V3();
|
||||
return SimRoboRioData[0].userCurrent3V3;
|
||||
}
|
||||
HAL_Bool HAL_GetUserActive3V3(int32_t* status) {
|
||||
return SimRoboRioData[0].GetUserActive3V3();
|
||||
return SimRoboRioData[0].userActive3V3;
|
||||
}
|
||||
int32_t HAL_GetUserCurrentFaults3V3(int32_t* status) {
|
||||
return SimRoboRioData[0].GetUserFaults3V3();
|
||||
return SimRoboRioData[0].userFaults3V3;
|
||||
}
|
||||
} // extern "C"
|
||||
|
||||
Reference in New Issue
Block a user