AP_HAL_SITL: setup for DroneCAN driver test build

This commit is contained in:
bugobliterator 2023-01-22 18:33:55 +11:00 committed by Andrew Tridgell
parent 50a760d8a5
commit b65c74940d
2 changed files with 23 additions and 1 deletions

View File

@ -86,7 +86,9 @@ void SITL_State::_sitl_setup()
sitl_model->set_precland(&_sitl->precland_sim); sitl_model->set_precland(&_sitl->precland_sim);
_sitl->i2c_sim.init(); _sitl->i2c_sim.init();
sitl_model->set_i2c(&_sitl->i2c_sim); sitl_model->set_i2c(&_sitl->i2c_sim);
#if AP_TEST_DRONECAN_DRIVERS
sitl_model->set_dronecan_device(&_sitl->dronecan_sim);
#endif
if (_use_fg_view) { if (_use_fg_view) {
fg_socket.connect(_fg_address, _fg_view_port); fg_socket.connect(_fg_address, _fg_view_port);
} }

View File

@ -196,12 +196,20 @@ uint64_t millis64()
uint32_t native_micros() uint32_t native_micros()
{ {
#if AP_TEST_DRONECAN_DRIVERS
return micros();
#else
return native_micros64() & 0xFFFFFFFF; return native_micros64() & 0xFFFFFFFF;
#endif
} }
uint32_t native_millis() uint32_t native_millis()
{ {
#if AP_TEST_DRONECAN_DRIVERS
return millis();
#else
return native_millis64() & 0xFFFFFFFF; return native_millis64() & 0xFFFFFFFF;
#endif
} }
/* /*
@ -209,28 +217,40 @@ uint32_t native_millis()
*/ */
uint16_t native_millis16() uint16_t native_millis16()
{ {
#if AP_TEST_DRONECAN_DRIVERS
return millis16();
#else
return native_millis64() & 0xFFFF; return native_millis64() & 0xFFFF;
#endif
} }
uint64_t native_micros64() uint64_t native_micros64()
{ {
#if AP_TEST_DRONECAN_DRIVERS
return micros64();
#else
struct timeval tp; struct timeval tp;
gettimeofday(&tp, nullptr); gettimeofday(&tp, nullptr);
uint64_t ret = 1.0e6 * ((tp.tv_sec + (tp.tv_usec * 1.0e-6)) - uint64_t ret = 1.0e6 * ((tp.tv_sec + (tp.tv_usec * 1.0e-6)) -
(state.start_time.tv_sec + (state.start_time.tv_sec +
(state.start_time.tv_usec * 1.0e-6))); (state.start_time.tv_usec * 1.0e-6)));
return ret; return ret;
#endif
} }
uint64_t native_millis64() uint64_t native_millis64()
{ {
#if AP_TEST_DRONECAN_DRIVERS
return millis64();
#else
struct timeval tp; struct timeval tp;
gettimeofday(&tp, nullptr); gettimeofday(&tp, nullptr);
uint64_t ret = 1.0e3*((tp.tv_sec + (tp.tv_usec*1.0e-6)) - uint64_t ret = 1.0e3*((tp.tv_sec + (tp.tv_usec*1.0e-6)) -
(state.start_time.tv_sec + (state.start_time.tv_sec +
(state.start_time.tv_usec*1.0e-6))); (state.start_time.tv_usec*1.0e-6)));
return ret; return ret;
#endif
} }