mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-26 01:51:41 +00:00
Removes statics from hal sim (#825)
Based off of #824, the equivelent in sim.
This commit is contained in:
committed by
Peter Johnson
parent
8bd48d6c34
commit
d2e7a90f41
@@ -11,7 +11,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
AccelerometerData hal::SimAccelerometerData[1];
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializeAccelerometerData() {
|
||||
static AccelerometerData sad[1];
|
||||
::hal::SimAccelerometerData = sad;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
AccelerometerData* hal::SimAccelerometerData;
|
||||
void AccelerometerData::ResetData() {
|
||||
m_active = false;
|
||||
m_activeCallbacks = nullptr;
|
||||
|
||||
@@ -69,5 +69,5 @@ class AccelerometerData {
|
||||
std::atomic<double> m_z{0.0};
|
||||
std::shared_ptr<NotifyListenerVector> m_zCallbacks = nullptr;
|
||||
};
|
||||
extern AccelerometerData SimAccelerometerData[];
|
||||
extern AccelerometerData* SimAccelerometerData;
|
||||
} // namespace hal
|
||||
|
||||
@@ -11,7 +11,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
AnalogGyroData hal::SimAnalogGyroData[kNumAccumulators];
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializeAnalogGyroData() {
|
||||
static AnalogGyroData agd[kNumAccumulators];
|
||||
::hal::SimAnalogGyroData = agd;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
AnalogGyroData* hal::SimAnalogGyroData;
|
||||
void AnalogGyroData::ResetData() {
|
||||
m_angle = 0.0;
|
||||
m_angleCallbacks = nullptr;
|
||||
|
||||
@@ -50,5 +50,5 @@ class AnalogGyroData {
|
||||
std::atomic<HAL_Bool> m_initialized{false};
|
||||
std::shared_ptr<NotifyListenerVector> m_initializedCallbacks = nullptr;
|
||||
};
|
||||
extern AnalogGyroData SimAnalogGyroData[];
|
||||
extern AnalogGyroData* SimAnalogGyroData;
|
||||
} // namespace hal
|
||||
|
||||
@@ -11,7 +11,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
AnalogInData hal::SimAnalogInData[kNumAnalogInputs];
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializeAnalogInData() {
|
||||
static AnalogInData sind[kNumAnalogInputs];
|
||||
::hal::SimAnalogInData = sind;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
AnalogInData* hal::SimAnalogInData;
|
||||
void AnalogInData::ResetData() {
|
||||
m_initialized = false;
|
||||
m_initializedCallbacks = nullptr;
|
||||
|
||||
@@ -109,5 +109,5 @@ class AnalogInData {
|
||||
std::shared_ptr<NotifyListenerVector> m_accumulatorDeadbandCallbacks =
|
||||
nullptr;
|
||||
};
|
||||
extern AnalogInData SimAnalogInData[];
|
||||
extern AnalogInData* SimAnalogInData;
|
||||
} // namespace hal
|
||||
|
||||
@@ -11,7 +11,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
AnalogOutData hal::SimAnalogOutData[kNumAnalogOutputs];
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializeAnalogOutData() {
|
||||
static AnalogOutData siod[kNumAnalogOutputs];
|
||||
::hal::SimAnalogOutData = siod;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
AnalogOutData* hal::SimAnalogOutData;
|
||||
void AnalogOutData::ResetData() {
|
||||
m_voltage = 0.0;
|
||||
m_voltageCallbacks = nullptr;
|
||||
|
||||
@@ -41,5 +41,5 @@ class AnalogOutData {
|
||||
std::atomic<HAL_Bool> m_initialized{0};
|
||||
std::shared_ptr<NotifyListenerVector> m_initializedCallbacks = nullptr;
|
||||
};
|
||||
extern AnalogOutData SimAnalogOutData[];
|
||||
extern AnalogOutData* SimAnalogOutData;
|
||||
} // namespace hal
|
||||
|
||||
@@ -11,7 +11,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
AnalogTriggerData hal::SimAnalogTriggerData[kNumAnalogTriggers];
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializeAnalogTriggerData() {
|
||||
static AnalogTriggerData satd[kNumAnalogTriggers];
|
||||
::hal::SimAnalogTriggerData = satd;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
AnalogTriggerData* hal::SimAnalogTriggerData;
|
||||
void AnalogTriggerData::ResetData() {
|
||||
m_initialized = 0;
|
||||
m_initializedCallbacks = nullptr;
|
||||
|
||||
@@ -62,5 +62,5 @@ class AnalogTriggerData {
|
||||
static_cast<HALSIM_AnalogTriggerMode>(0)};
|
||||
std::shared_ptr<NotifyListenerVector> m_triggerModeCallbacks = nullptr;
|
||||
};
|
||||
extern AnalogTriggerData SimAnalogTriggerData[];
|
||||
extern AnalogTriggerData* SimAnalogTriggerData;
|
||||
} // namespace hal
|
||||
|
||||
@@ -11,6 +11,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializeCanData() {
|
||||
static CanData scd;
|
||||
::hal::SimCanData = &scd;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
CanData* hal::SimCanData;
|
||||
void InvokeCallback(std::shared_ptr<CanSendMessageListenerVector> currentVector,
|
||||
const char* name, uint32_t messageID, const uint8_t* data,
|
||||
uint8_t dataSize, int32_t periodMs, int32_t* status) {
|
||||
@@ -233,54 +243,54 @@ void CanData::CancelGetCANStatusCallback(int32_t uid) {
|
||||
|
||||
extern "C" {
|
||||
|
||||
void HALSIM_ResetCanData(void) { SimCanData.ResetData(); }
|
||||
void HALSIM_ResetCanData(void) { SimCanData->ResetData(); }
|
||||
|
||||
int32_t HALSIM_RegisterCanSendMessageCallback(
|
||||
HAL_CAN_SendMessageCallback callback, void* param) {
|
||||
return SimCanData.RegisterSendMessageCallback(callback, param);
|
||||
return SimCanData->RegisterSendMessageCallback(callback, param);
|
||||
}
|
||||
void HALSIM_CancelCanSendMessageCallback(int32_t uid) {
|
||||
SimCanData.CancelSendMessageCallback(uid);
|
||||
SimCanData->CancelSendMessageCallback(uid);
|
||||
}
|
||||
|
||||
int32_t HALSIM_RegisterCanReceiveMessageCallback(
|
||||
HAL_CAN_ReceiveMessageCallback callback, void* param) {
|
||||
return SimCanData.RegisterReceiveMessageCallback(callback, param);
|
||||
return SimCanData->RegisterReceiveMessageCallback(callback, param);
|
||||
}
|
||||
void HALSIM_CancelCanReceiveMessageCallback(int32_t uid) {
|
||||
SimCanData.CancelReceiveMessageCallback(uid);
|
||||
SimCanData->CancelReceiveMessageCallback(uid);
|
||||
}
|
||||
|
||||
int32_t HALSIM_RegisterCanOpenStreamCallback(
|
||||
HAL_CAN_OpenStreamSessionCallback callback, void* param) {
|
||||
return SimCanData.RegisterOpenStreamCallback(callback, param);
|
||||
return SimCanData->RegisterOpenStreamCallback(callback, param);
|
||||
}
|
||||
void HALSIM_CancelCanOpenStreamCallback(int32_t uid) {
|
||||
SimCanData.CancelOpenStreamCallback(uid);
|
||||
SimCanData->CancelOpenStreamCallback(uid);
|
||||
}
|
||||
|
||||
int32_t HALSIM_RegisterCanCloseStreamCallback(
|
||||
HAL_CAN_CloseStreamSessionCallback callback, void* param) {
|
||||
return SimCanData.RegisterCloseStreamCallback(callback, param);
|
||||
return SimCanData->RegisterCloseStreamCallback(callback, param);
|
||||
}
|
||||
void HALSIM_CancelCanCloseStreamCallback(int32_t uid) {
|
||||
SimCanData.CancelCloseStreamCallback(uid);
|
||||
SimCanData->CancelCloseStreamCallback(uid);
|
||||
}
|
||||
|
||||
int32_t HALSIM_RegisterCanReadStreamCallback(
|
||||
HAL_CAN_ReadStreamSessionCallback callback, void* param) {
|
||||
return SimCanData.RegisterReadStreamCallback(callback, param);
|
||||
return SimCanData->RegisterReadStreamCallback(callback, param);
|
||||
}
|
||||
void HALSIM_CancelCanReadStreamCallback(int32_t uid) {
|
||||
SimCanData.CancelReadStreamCallback(uid);
|
||||
SimCanData->CancelReadStreamCallback(uid);
|
||||
}
|
||||
|
||||
int32_t HALSIM_RegisterCanGetCANStatusCallback(
|
||||
HAL_CAN_GetCANStatusCallback callback, void* param) {
|
||||
return SimCanData.RegisterGetCANStatusCallback(callback, param);
|
||||
return SimCanData->RegisterGetCANStatusCallback(callback, param);
|
||||
}
|
||||
void HALSIM_CancelCanGetCANStatusCallback(int32_t uid) {
|
||||
SimCanData.CancelGetCANStatusCallback(uid);
|
||||
SimCanData->CancelGetCANStatusCallback(uid);
|
||||
}
|
||||
|
||||
} // extern "C"
|
||||
|
||||
@@ -106,6 +106,6 @@ class CanData {
|
||||
std::shared_ptr<CanGetCANStatusListenerVector> m_getCanStatusCallback;
|
||||
};
|
||||
|
||||
extern CanData SimCanData;
|
||||
extern CanData* SimCanData;
|
||||
|
||||
} // namespace hal
|
||||
|
||||
@@ -11,7 +11,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
DIOData hal::SimDIOData[kNumDigitalChannels];
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializeDIOData() {
|
||||
static DIOData sdd[kNumDigitalChannels];
|
||||
::hal::SimDIOData = sdd;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
DIOData* hal::SimDIOData;
|
||||
void DIOData::ResetData() {
|
||||
m_initialized = false;
|
||||
m_initializedCallbacks = nullptr;
|
||||
|
||||
@@ -68,5 +68,5 @@ class DIOData {
|
||||
std::atomic<int32_t> m_filterIndex{-1};
|
||||
std::shared_ptr<NotifyListenerVector> m_filterIndexCallbacks = nullptr;
|
||||
};
|
||||
extern DIOData SimDIOData[];
|
||||
extern DIOData* SimDIOData;
|
||||
} // namespace hal
|
||||
|
||||
@@ -11,7 +11,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
DigitalPWMData hal::SimDigitalPWMData[kNumDigitalPWMOutputs];
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializeDigitalPWMData() {
|
||||
static DigitalPWMData sdpd[kNumDigitalPWMOutputs];
|
||||
::hal::SimDigitalPWMData = sdpd;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
DigitalPWMData* hal::SimDigitalPWMData;
|
||||
void DigitalPWMData::ResetData() {
|
||||
m_initialized = false;
|
||||
m_initializedCallbacks = nullptr;
|
||||
|
||||
@@ -50,5 +50,5 @@ class DigitalPWMData {
|
||||
std::atomic<int32_t> m_pin{0};
|
||||
std::shared_ptr<NotifyListenerVector> m_pinCallbacks = nullptr;
|
||||
};
|
||||
extern DigitalPWMData SimDigitalPWMData[];
|
||||
extern DigitalPWMData* SimDigitalPWMData;
|
||||
} // namespace hal
|
||||
|
||||
@@ -30,7 +30,16 @@ struct MatchInfoDataStore {
|
||||
|
||||
using namespace hal;
|
||||
|
||||
DriverStationData hal::SimDriverStationData;
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializeDriverStationData() {
|
||||
static DriverStationData dsd;
|
||||
::hal::SimDriverStationData = &dsd;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
DriverStationData* hal::SimDriverStationData;
|
||||
|
||||
DriverStationData::DriverStationData() { ResetData(); }
|
||||
|
||||
@@ -455,178 +464,178 @@ void DriverStationData::SetMatchInfo(const HAL_MatchInfo* info) {
|
||||
void DriverStationData::NotifyNewData() { HAL_ReleaseDSMutex(); }
|
||||
|
||||
extern "C" {
|
||||
void HALSIM_ResetDriverStationData(void) { SimDriverStationData.ResetData(); }
|
||||
void HALSIM_ResetDriverStationData(void) { SimDriverStationData->ResetData(); }
|
||||
|
||||
int32_t HALSIM_RegisterDriverStationEnabledCallback(HAL_NotifyCallback callback,
|
||||
void* param,
|
||||
HAL_Bool initialNotify) {
|
||||
return SimDriverStationData.RegisterEnabledCallback(callback, param,
|
||||
initialNotify);
|
||||
return SimDriverStationData->RegisterEnabledCallback(callback, param,
|
||||
initialNotify);
|
||||
}
|
||||
void HALSIM_CancelDriverStationEnabledCallback(int32_t uid) {
|
||||
SimDriverStationData.CancelEnabledCallback(uid);
|
||||
SimDriverStationData->CancelEnabledCallback(uid);
|
||||
}
|
||||
HAL_Bool HALSIM_GetDriverStationEnabled(void) {
|
||||
return SimDriverStationData.GetEnabled();
|
||||
return SimDriverStationData->GetEnabled();
|
||||
}
|
||||
void HALSIM_SetDriverStationEnabled(HAL_Bool enabled) {
|
||||
SimDriverStationData.SetEnabled(enabled);
|
||||
SimDriverStationData->SetEnabled(enabled);
|
||||
}
|
||||
|
||||
int32_t HALSIM_RegisterDriverStationAutonomousCallback(
|
||||
HAL_NotifyCallback callback, void* param, HAL_Bool initialNotify) {
|
||||
return SimDriverStationData.RegisterAutonomousCallback(callback, param,
|
||||
initialNotify);
|
||||
return SimDriverStationData->RegisterAutonomousCallback(callback, param,
|
||||
initialNotify);
|
||||
}
|
||||
void HALSIM_CancelDriverStationAutonomousCallback(int32_t uid) {
|
||||
SimDriverStationData.CancelAutonomousCallback(uid);
|
||||
SimDriverStationData->CancelAutonomousCallback(uid);
|
||||
}
|
||||
HAL_Bool HALSIM_GetDriverStationAutonomous(void) {
|
||||
return SimDriverStationData.GetAutonomous();
|
||||
return SimDriverStationData->GetAutonomous();
|
||||
}
|
||||
void HALSIM_SetDriverStationAutonomous(HAL_Bool autonomous) {
|
||||
SimDriverStationData.SetAutonomous(autonomous);
|
||||
SimDriverStationData->SetAutonomous(autonomous);
|
||||
}
|
||||
|
||||
int32_t HALSIM_RegisterDriverStationTestCallback(HAL_NotifyCallback callback,
|
||||
void* param,
|
||||
HAL_Bool initialNotify) {
|
||||
return SimDriverStationData.RegisterTestCallback(callback, param,
|
||||
initialNotify);
|
||||
return SimDriverStationData->RegisterTestCallback(callback, param,
|
||||
initialNotify);
|
||||
}
|
||||
void HALSIM_CancelDriverStationTestCallback(int32_t uid) {
|
||||
SimDriverStationData.CancelTestCallback(uid);
|
||||
SimDriverStationData->CancelTestCallback(uid);
|
||||
}
|
||||
HAL_Bool HALSIM_GetDriverStationTest(void) {
|
||||
return SimDriverStationData.GetTest();
|
||||
return SimDriverStationData->GetTest();
|
||||
}
|
||||
void HALSIM_SetDriverStationTest(HAL_Bool test) {
|
||||
SimDriverStationData.SetTest(test);
|
||||
SimDriverStationData->SetTest(test);
|
||||
}
|
||||
|
||||
int32_t HALSIM_RegisterDriverStationEStopCallback(HAL_NotifyCallback callback,
|
||||
void* param,
|
||||
HAL_Bool initialNotify) {
|
||||
return SimDriverStationData.RegisterEStopCallback(callback, param,
|
||||
initialNotify);
|
||||
return SimDriverStationData->RegisterEStopCallback(callback, param,
|
||||
initialNotify);
|
||||
}
|
||||
void HALSIM_CancelDriverStationEStopCallback(int32_t uid) {
|
||||
SimDriverStationData.CancelEStopCallback(uid);
|
||||
SimDriverStationData->CancelEStopCallback(uid);
|
||||
}
|
||||
HAL_Bool HALSIM_GetDriverStationEStop(void) {
|
||||
return SimDriverStationData.GetEStop();
|
||||
return SimDriverStationData->GetEStop();
|
||||
}
|
||||
void HALSIM_SetDriverStationEStop(HAL_Bool eStop) {
|
||||
SimDriverStationData.SetEStop(eStop);
|
||||
SimDriverStationData->SetEStop(eStop);
|
||||
}
|
||||
|
||||
int32_t HALSIM_RegisterDriverStationFmsAttachedCallback(
|
||||
HAL_NotifyCallback callback, void* param, HAL_Bool initialNotify) {
|
||||
return SimDriverStationData.RegisterFmsAttachedCallback(callback, param,
|
||||
initialNotify);
|
||||
return SimDriverStationData->RegisterFmsAttachedCallback(callback, param,
|
||||
initialNotify);
|
||||
}
|
||||
void HALSIM_CancelDriverStationFmsAttachedCallback(int32_t uid) {
|
||||
SimDriverStationData.CancelFmsAttachedCallback(uid);
|
||||
SimDriverStationData->CancelFmsAttachedCallback(uid);
|
||||
}
|
||||
HAL_Bool HALSIM_GetDriverStationFmsAttached(void) {
|
||||
return SimDriverStationData.GetFmsAttached();
|
||||
return SimDriverStationData->GetFmsAttached();
|
||||
}
|
||||
void HALSIM_SetDriverStationFmsAttached(HAL_Bool fmsAttached) {
|
||||
SimDriverStationData.SetFmsAttached(fmsAttached);
|
||||
SimDriverStationData->SetFmsAttached(fmsAttached);
|
||||
}
|
||||
|
||||
int32_t HALSIM_RegisterDriverStationDsAttachedCallback(
|
||||
HAL_NotifyCallback callback, void* param, HAL_Bool initialNotify) {
|
||||
return SimDriverStationData.RegisterDsAttachedCallback(callback, param,
|
||||
initialNotify);
|
||||
return SimDriverStationData->RegisterDsAttachedCallback(callback, param,
|
||||
initialNotify);
|
||||
}
|
||||
void HALSIM_CancelDriverStationDsAttachedCallback(int32_t uid) {
|
||||
SimDriverStationData.CancelDsAttachedCallback(uid);
|
||||
SimDriverStationData->CancelDsAttachedCallback(uid);
|
||||
}
|
||||
HAL_Bool HALSIM_GetDriverStationDsAttached(void) {
|
||||
return SimDriverStationData.GetDsAttached();
|
||||
return SimDriverStationData->GetDsAttached();
|
||||
}
|
||||
void HALSIM_SetDriverStationDsAttached(HAL_Bool dsAttached) {
|
||||
SimDriverStationData.SetDsAttached(dsAttached);
|
||||
SimDriverStationData->SetDsAttached(dsAttached);
|
||||
}
|
||||
|
||||
int32_t HALSIM_RegisterDriverStationAllianceStationIdCallback(
|
||||
HAL_NotifyCallback callback, void* param, HAL_Bool initialNotify) {
|
||||
return SimDriverStationData.RegisterAllianceStationIdCallback(callback, param,
|
||||
initialNotify);
|
||||
return SimDriverStationData->RegisterAllianceStationIdCallback(
|
||||
callback, param, initialNotify);
|
||||
}
|
||||
void HALSIM_CancelDriverStationAllianceStationIdCallback(int32_t uid) {
|
||||
SimDriverStationData.CancelAllianceStationIdCallback(uid);
|
||||
SimDriverStationData->CancelAllianceStationIdCallback(uid);
|
||||
}
|
||||
HAL_AllianceStationID HALSIM_GetDriverStationAllianceStationId(void) {
|
||||
return SimDriverStationData.GetAllianceStationId();
|
||||
return SimDriverStationData->GetAllianceStationId();
|
||||
}
|
||||
void HALSIM_SetDriverStationAllianceStationId(
|
||||
HAL_AllianceStationID allianceStationId) {
|
||||
SimDriverStationData.SetAllianceStationId(allianceStationId);
|
||||
SimDriverStationData->SetAllianceStationId(allianceStationId);
|
||||
}
|
||||
|
||||
int32_t HALSIM_RegisterDriverStationMatchTimeCallback(
|
||||
HAL_NotifyCallback callback, void* param, HAL_Bool initialNotify) {
|
||||
return SimDriverStationData.RegisterMatchTimeCallback(callback, param,
|
||||
initialNotify);
|
||||
return SimDriverStationData->RegisterMatchTimeCallback(callback, param,
|
||||
initialNotify);
|
||||
}
|
||||
void HALSIM_CancelDriverStationMatchTimeCallback(int32_t uid) {
|
||||
SimDriverStationData.CancelMatchTimeCallback(uid);
|
||||
SimDriverStationData->CancelMatchTimeCallback(uid);
|
||||
}
|
||||
double HALSIM_GetDriverStationMatchTime(void) {
|
||||
return SimDriverStationData.GetMatchTime();
|
||||
return SimDriverStationData->GetMatchTime();
|
||||
}
|
||||
void HALSIM_SetDriverStationMatchTime(double matchTime) {
|
||||
SimDriverStationData.SetMatchTime(matchTime);
|
||||
SimDriverStationData->SetMatchTime(matchTime);
|
||||
}
|
||||
|
||||
void HALSIM_SetJoystickAxes(int32_t joystickNum, const HAL_JoystickAxes* axes) {
|
||||
SimDriverStationData.SetJoystickAxes(joystickNum, axes);
|
||||
SimDriverStationData->SetJoystickAxes(joystickNum, axes);
|
||||
}
|
||||
|
||||
void HALSIM_SetJoystickPOVs(int32_t joystickNum, const HAL_JoystickPOVs* povs) {
|
||||
SimDriverStationData.SetJoystickPOVs(joystickNum, povs);
|
||||
SimDriverStationData->SetJoystickPOVs(joystickNum, povs);
|
||||
}
|
||||
|
||||
void HALSIM_SetJoystickButtons(int32_t joystickNum,
|
||||
const HAL_JoystickButtons* buttons) {
|
||||
SimDriverStationData.SetJoystickButtons(joystickNum, buttons);
|
||||
SimDriverStationData->SetJoystickButtons(joystickNum, buttons);
|
||||
}
|
||||
void HALSIM_SetJoystickDescriptor(int32_t joystickNum,
|
||||
const HAL_JoystickDescriptor* descriptor) {
|
||||
SimDriverStationData.SetJoystickDescriptor(joystickNum, descriptor);
|
||||
SimDriverStationData->SetJoystickDescriptor(joystickNum, descriptor);
|
||||
}
|
||||
|
||||
void HALSIM_GetJoystickOutputs(int32_t joystickNum, int64_t* outputs,
|
||||
int32_t* leftRumble, int32_t* rightRumble) {
|
||||
SimDriverStationData.GetJoystickOutputs(joystickNum, outputs, leftRumble,
|
||||
rightRumble);
|
||||
SimDriverStationData->GetJoystickOutputs(joystickNum, outputs, leftRumble,
|
||||
rightRumble);
|
||||
}
|
||||
|
||||
void HALSIM_SetMatchInfo(const HAL_MatchInfo* info) {
|
||||
SimDriverStationData.SetMatchInfo(info);
|
||||
SimDriverStationData->SetMatchInfo(info);
|
||||
}
|
||||
|
||||
void HALSIM_NotifyDriverStationNewData(void) {
|
||||
SimDriverStationData.NotifyNewData();
|
||||
SimDriverStationData->NotifyNewData();
|
||||
}
|
||||
|
||||
void HALSIM_RegisterDriverStationAllCallbacks(HAL_NotifyCallback callback,
|
||||
void* param,
|
||||
HAL_Bool initialNotify) {
|
||||
SimDriverStationData.RegisterEnabledCallback(callback, param, initialNotify);
|
||||
SimDriverStationData.RegisterAutonomousCallback(callback, param,
|
||||
initialNotify);
|
||||
SimDriverStationData.RegisterTestCallback(callback, param, initialNotify);
|
||||
SimDriverStationData.RegisterEStopCallback(callback, param, initialNotify);
|
||||
SimDriverStationData.RegisterFmsAttachedCallback(callback, param,
|
||||
SimDriverStationData->RegisterEnabledCallback(callback, param, initialNotify);
|
||||
SimDriverStationData->RegisterAutonomousCallback(callback, param,
|
||||
initialNotify);
|
||||
SimDriverStationData.RegisterDsAttachedCallback(callback, param,
|
||||
SimDriverStationData->RegisterTestCallback(callback, param, initialNotify);
|
||||
SimDriverStationData->RegisterEStopCallback(callback, param, initialNotify);
|
||||
SimDriverStationData->RegisterFmsAttachedCallback(callback, param,
|
||||
initialNotify);
|
||||
SimDriverStationData->RegisterDsAttachedCallback(callback, param,
|
||||
initialNotify);
|
||||
SimDriverStationData->RegisterAllianceStationIdCallback(callback, param,
|
||||
initialNotify);
|
||||
SimDriverStationData->RegisterMatchTimeCallback(callback, param,
|
||||
initialNotify);
|
||||
SimDriverStationData.RegisterAllianceStationIdCallback(callback, param,
|
||||
initialNotify);
|
||||
SimDriverStationData.RegisterMatchTimeCallback(callback, param,
|
||||
initialNotify);
|
||||
}
|
||||
} // extern "C"
|
||||
|
||||
@@ -135,5 +135,5 @@ class DriverStationData {
|
||||
std::unique_ptr<HAL_JoystickDescriptor[]> m_joystickDescriptor;
|
||||
std::unique_ptr<MatchInfoDataStore> m_matchInfo;
|
||||
};
|
||||
extern DriverStationData SimDriverStationData;
|
||||
extern DriverStationData* SimDriverStationData;
|
||||
} // namespace hal
|
||||
|
||||
@@ -11,7 +11,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
EncoderData hal::SimEncoderData[kNumEncoders];
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializeEncoderData() {
|
||||
static EncoderData sed[kNumEncoders];
|
||||
::hal::SimEncoderData = sed;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
EncoderData* hal::SimEncoderData;
|
||||
void EncoderData::ResetData() {
|
||||
m_initialized = false;
|
||||
m_initializedCallbacks = nullptr;
|
||||
|
||||
@@ -96,5 +96,5 @@ class EncoderData {
|
||||
std::atomic<int32_t> m_samplesToAverage{0};
|
||||
std::shared_ptr<NotifyListenerVector> m_samplesToAverageCallbacks = nullptr;
|
||||
};
|
||||
extern EncoderData SimEncoderData[];
|
||||
extern EncoderData* SimEncoderData;
|
||||
} // namespace hal
|
||||
|
||||
@@ -13,7 +13,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
I2CData hal::SimI2CData[2];
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializeI2CData() {
|
||||
static I2CData sid[2];
|
||||
::hal::SimI2CData = sid;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
I2CData* hal::SimI2CData;
|
||||
|
||||
void I2CData::ResetData() {
|
||||
m_initialized = false;
|
||||
|
||||
@@ -49,5 +49,5 @@ class I2CData {
|
||||
std::shared_ptr<BufferListenerVector> m_readCallbacks = nullptr;
|
||||
std::shared_ptr<ConstBufferListenerVector> m_writeCallbacks = nullptr;
|
||||
};
|
||||
extern I2CData SimI2CData[];
|
||||
extern I2CData* SimI2CData;
|
||||
} // namespace hal
|
||||
|
||||
@@ -11,7 +11,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
PCMData hal::SimPCMData[kNumPCMModules];
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializePCMData() {
|
||||
static PCMData spd[kNumPCMModules];
|
||||
::hal::SimPCMData = spd;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
PCMData* hal::SimPCMData;
|
||||
void PCMData::ResetData() {
|
||||
for (int i = 0; i < kNumSolenoidChannels; i++) {
|
||||
m_solenoidInitialized[i] = false;
|
||||
|
||||
@@ -96,5 +96,5 @@ class PCMData {
|
||||
std::atomic<double> m_compressorCurrent{0.0};
|
||||
std::shared_ptr<NotifyListenerVector> m_compressorCurrentCallbacks = nullptr;
|
||||
};
|
||||
extern PCMData SimPCMData[];
|
||||
extern PCMData* SimPCMData;
|
||||
} // namespace hal
|
||||
|
||||
@@ -11,7 +11,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
PDPData hal::SimPDPData[kNumPDPModules];
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializePDPData() {
|
||||
static PDPData spd[kNumPDPModules];
|
||||
::hal::SimPDPData = spd;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
PDPData* hal::SimPDPData;
|
||||
void PDPData::ResetData() {
|
||||
m_initialized = false;
|
||||
m_initializedCallbacks = nullptr;
|
||||
|
||||
@@ -60,5 +60,5 @@ class PDPData {
|
||||
std::atomic<double> m_current[kNumPDPChannels];
|
||||
std::shared_ptr<NotifyListenerVector> m_currentCallbacks[kNumPDPChannels];
|
||||
};
|
||||
extern PDPData SimPDPData[];
|
||||
extern PDPData* SimPDPData;
|
||||
} // namespace hal
|
||||
|
||||
@@ -11,7 +11,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
PWMData hal::SimPWMData[kNumPWMChannels];
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializePWMData() {
|
||||
static PWMData spd[kNumPWMChannels];
|
||||
::hal::SimPWMData = spd;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
PWMData* hal::SimPWMData;
|
||||
void PWMData::ResetData() {
|
||||
m_initialized = false;
|
||||
m_initializedCallbacks = nullptr;
|
||||
|
||||
@@ -77,5 +77,5 @@ class PWMData {
|
||||
std::atomic<HAL_Bool> m_zeroLatch{false};
|
||||
std::shared_ptr<NotifyListenerVector> m_zeroLatchCallbacks = nullptr;
|
||||
};
|
||||
extern PWMData SimPWMData[];
|
||||
extern PWMData* SimPWMData;
|
||||
} // namespace hal
|
||||
|
||||
@@ -11,7 +11,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
RelayData hal::SimRelayData[kNumRelayHeaders];
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializeRelayData() {
|
||||
static RelayData srd[kNumRelayHeaders];
|
||||
::hal::SimRelayData = srd;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
RelayData* hal::SimRelayData;
|
||||
void RelayData::ResetData() {
|
||||
m_initializedForward = false;
|
||||
m_initializedForwardCallbacks = nullptr;
|
||||
|
||||
@@ -61,5 +61,5 @@ class RelayData {
|
||||
std::atomic<HAL_Bool> m_reverse{false};
|
||||
std::shared_ptr<NotifyListenerVector> m_reverseCallbacks = nullptr;
|
||||
};
|
||||
extern RelayData SimRelayData[];
|
||||
extern RelayData* SimRelayData;
|
||||
} // namespace hal
|
||||
|
||||
@@ -11,7 +11,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
RoboRioData hal::SimRoboRioData[1];
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializeRoboRioData() {
|
||||
static RoboRioData srrd[1];
|
||||
::hal::SimRoboRioData = srrd;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
RoboRioData* hal::SimRoboRioData;
|
||||
void RoboRioData::ResetData() {
|
||||
m_fPGAButton = false;
|
||||
m_fPGAButtonCallbacks = nullptr;
|
||||
|
||||
@@ -158,5 +158,5 @@ class RoboRioData {
|
||||
std::atomic<int32_t> m_userFaults3V3{0};
|
||||
std::shared_ptr<NotifyListenerVector> m_userFaults3V3Callbacks = nullptr;
|
||||
};
|
||||
extern RoboRioData SimRoboRioData[];
|
||||
extern RoboRioData* SimRoboRioData;
|
||||
} // namespace hal
|
||||
|
||||
@@ -11,7 +11,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
SPIAccelerometerData hal::SimSPIAccelerometerData[5];
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializeSPIAccelerometerData() {
|
||||
static SPIAccelerometerData ssad[5];
|
||||
::hal::SimSPIAccelerometerData = ssad;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
SPIAccelerometerData* hal::SimSPIAccelerometerData;
|
||||
void SPIAccelerometerData::ResetData() {
|
||||
m_active = false;
|
||||
m_activeCallbacks = nullptr;
|
||||
|
||||
@@ -68,5 +68,5 @@ class SPIAccelerometerData {
|
||||
std::atomic<double> m_z{0.0};
|
||||
std::shared_ptr<NotifyListenerVector> m_zCallbacks = nullptr;
|
||||
};
|
||||
extern SPIAccelerometerData SimSPIAccelerometerData[];
|
||||
extern SPIAccelerometerData* SimSPIAccelerometerData;
|
||||
} // namespace hal
|
||||
|
||||
@@ -13,8 +13,16 @@
|
||||
|
||||
using namespace hal;
|
||||
|
||||
SPIData hal::SimSPIData[5];
|
||||
namespace hal {
|
||||
namespace init {
|
||||
void InitializeSPIData() {
|
||||
static SPIData ssd[5];
|
||||
::hal::SimSPIData = ssd;
|
||||
}
|
||||
} // namespace init
|
||||
} // namespace hal
|
||||
|
||||
SPIData* hal::SimSPIData;
|
||||
void SPIData::ResetData() {
|
||||
m_initialized = false;
|
||||
m_accumulatorValue = 0;
|
||||
|
||||
@@ -65,5 +65,5 @@ class SPIData {
|
||||
std::shared_ptr<NotifyListenerVector> m_resetAccumulatorCallback = nullptr;
|
||||
std::shared_ptr<NotifyListenerVector> m_setAccumulatorCallback = nullptr;
|
||||
};
|
||||
extern SPIData SimSPIData[];
|
||||
extern SPIData* SimSPIData;
|
||||
} // namespace hal
|
||||
|
||||
Reference in New Issue
Block a user