diff --git a/src/drivers/ins/ilabs/ILabs.cpp b/src/drivers/ins/ilabs/ILabs.cpp index 94b4e48a05..c994f4f3d3 100644 --- a/src/drivers/ins/ilabs/ILabs.cpp +++ b/src/drivers/ins/ilabs/ILabs.cpp @@ -67,13 +67,15 @@ enum ILabsMode { ILabs::ILabs(const char *serialDeviceName) : ModuleParams(nullptr), ScheduledWorkItem(MODULE_NAME, px4::serial_port_to_wq(serialDeviceName)), - _attitude_pub((_param_ilabs_mode.get() == ILabsMode::RAW_SENSORS_DATA) ? ORB_ID(external_ins_attitude) - : ORB_ID(vehicle_attitude)), - _local_position_pub((_param_ilabs_mode.get() == ILabsMode::RAW_SENSORS_DATA) ? ORB_ID(external_ins_local_position) - : ORB_ID(vehicle_local_position)), + _attitude_pub((_param_ilabs_mode.get() == ILabsMode::RAW_SENSORS_DATA) + ? ORB_ID(external_ins_attitude) + : ORB_ID(vehicle_attitude)), + _local_position_pub((_param_ilabs_mode.get() == ILabsMode::RAW_SENSORS_DATA) + ? ORB_ID(external_ins_local_position) + : ORB_ID(vehicle_local_position)), _global_position_pub((_param_ilabs_mode.get() == ILabsMode::RAW_SENSORS_DATA) - ? ORB_ID(external_ins_global_position) - : ORB_ID(vehicle_global_position)) { + ? ORB_ID(external_ins_global_position) + : ORB_ID(vehicle_global_position)) { // store port name strncpy(_serialDeviceName, serialDeviceName, sizeof(_serialDeviceName) - 1); @@ -470,8 +472,8 @@ void ILabs::processData(InertialLabs::SensorsData *data) { sensor_gps.latitude_deg = data->gps.latitude; sensor_gps.longitude_deg = data->gps.longitude; - sensor_gps.altitude_ellipsoid_m = data->gps.altitude; - sensor_gps.altitude_msl_m = data->gps.altitude; + sensor_gps.altitude_ellipsoid_m = static_cast(data->gps.altitude); + sensor_gps.altitude_msl_m = static_cast(data->gps.altitude); sensor_gps.fix_type = data->gps.fixType + 1; diff --git a/src/drivers/ins/ilabs/ILabs.h b/src/drivers/ins/ilabs/ILabs.h index c0d8b6d0a2..df485c11f0 100644 --- a/src/drivers/ins/ilabs/ILabs.h +++ b/src/drivers/ins/ilabs/ILabs.h @@ -90,6 +90,8 @@ private: self->processData(data); } +private: + DEFINE_PARAMETERS((ParamInt)_param_ilabs_mode) InertialLabs::Sensor _sensor{}; char _serialDeviceName[20]{}; @@ -127,6 +129,4 @@ private: perf_alloc(PC_INTERVAL, MODULE_NAME ": local position publish interval")}; perf_counter_t _global_position_pub_interval_perf{ perf_alloc(PC_INTERVAL, MODULE_NAME ": global position publish interval")}; - - DEFINE_PARAMETERS((ParamInt)_param_ilabs_mode) };