mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-03 14:38:30 -04:00
AP_HAL_SITL: move simulated megasquirt to SerialDevice framework
This commit is contained in:
parent
2026f7efb8
commit
8c9ade3f7f
@ -373,6 +373,12 @@ int SITL_State::sim_fd(const char *name, const char *arg)
|
||||
}
|
||||
gyus42v2 = new SITL::RF_GYUS42v2();
|
||||
return gyus42v2->fd();
|
||||
} else if (streq(name, "megasquirt")) {
|
||||
if (efi_ms != nullptr) {
|
||||
AP_HAL::panic("Only one megasquirt at a time");
|
||||
}
|
||||
efi_ms = new SITL::EFI_MegaSquirt();
|
||||
return efi_ms->fd();
|
||||
} else if (streq(name, "VectorNav")) {
|
||||
if (vectornav != nullptr) {
|
||||
AP_HAL::panic("Only one VectorNav at a time");
|
||||
@ -508,6 +514,11 @@ int SITL_State::sim_fd_write(const char *name)
|
||||
AP_HAL::panic("No gyus42v2 created");
|
||||
}
|
||||
return gyus42v2->write_fd();
|
||||
} else if (streq(name, "megasquirt")) {
|
||||
if (efi_ms == nullptr) {
|
||||
AP_HAL::panic("No megasquirt created");
|
||||
}
|
||||
return efi_ms->write_fd();
|
||||
} else if (streq(name, "VectorNav")) {
|
||||
if (vectornav == nullptr) {
|
||||
AP_HAL::panic("No VectorNav created");
|
||||
@ -713,6 +724,9 @@ void SITL_State::_fdm_input_local(void)
|
||||
if (gyus42v2 != nullptr) {
|
||||
gyus42v2->update(sitl_model->rangefinder_range());
|
||||
}
|
||||
if (efi_ms != nullptr) {
|
||||
efi_ms->update();
|
||||
}
|
||||
|
||||
if (frsky_d != nullptr) {
|
||||
frsky_d->update();
|
||||
@ -751,10 +765,6 @@ void SITL_State::_fdm_input_local(void)
|
||||
ais->update();
|
||||
}
|
||||
|
||||
if (_sitl) {
|
||||
_sitl->efi_ms.update();
|
||||
}
|
||||
|
||||
if (_sitl && _use_fg_view) {
|
||||
_output_to_flightgear();
|
||||
}
|
||||
|
@ -320,6 +320,9 @@ private:
|
||||
// simulated AIS stream
|
||||
SITL::AIS *ais;
|
||||
|
||||
// simulated EFI MegaSquirt device:
|
||||
SITL::EFI_MegaSquirt *efi_ms;
|
||||
|
||||
// output socket for flightgear viewing
|
||||
SocketAPM fg_socket{true};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user