This can be used to command multiple devices on the UAVCAN bus to
update their LEDs. This will come in handy for status outputs etc.
This utilizes equipment.indication.LightsCommand message.
This message is not so important and therefore we limit publishing
it to avoid bus overflow. The priority of the message is also low.
we can have multiple UARTs on the same thread sharing the same DMA TX
channel. That can lead to deadlock with blocking locks on DMA. This
makes UART requests for DMA locks non-blocking to fix the issue
In file included from
../../libraries/AP_Airspeed/AP_Airspeed_SDP3X.cpp:21:
../../libraries/AP_Airspeed/AP_Airspeed_SDP3X.h:57:11: warning: private
field '_temperature' is not used [-Wunused-private-field]
float _temperature;
^
../../libraries/AP_Airspeed/AP_Airspeed_SDP3X.h:58:11: warning: private
field '_pressure' is not used [-Wunused-private-field]
float _pressure;
../../libraries/AP_ADC/AP_ADC_ADS1115.h:34:25: warning: private field
'_last_update_timestamp' is not used [-Wunused-private-field]
uint32_t _last_update_timestamp;
^
1 warning generated.
In file included from ../../libraries/AP_GPS/AP_GPS_SBF.cpp:22:
../../libraries/AP_GPS/AP_GPS_SBF.h:75:14: warning: private field
'last_injected_data_ms' is not used [-Wunused-private-field]
uint32_t last_injected_data_ms = 0;
^
../../libraries/AP_GPS/AP_GPS_SBF.h:210:7: warning: private field
'RxError_bits' is not used [-Wunused-private-field]
} RxError_bits;
../../libraries/AP_InertialSensor/AP_InertialSensor_Invensense.h:108:14:
warning: private field '_error_count' is not used
[-Wunused-private-field]
uint16_t _error_count;
In file included from ../../libraries/AP_Mount/SoloGimbal.cpp:5:
../../libraries/AP_Mount/SoloGimbal.h:122:11: warning: private field
'_yaw_rate_ff_ef_filt' is not used [-Wunused-private-field]
float _yaw_rate_ff_ef_filt;
^
../../libraries/AP_Mount/SoloGimbal.h:140:23: warning: private field
'_chan' is not used [-Wunused-private-field]
mavlink_channel_t _chan;
^
2 warnings generated.
In file included from ../../libraries/AP_Compass/AP_Compass.h:14:
../../libraries/AP_Compass/Compass_PerMotor.h:57:13: warning: private
field 'channel' is not used [-Wunused-private-field]
uint8_t channel;
AP_Compass: fix compiler warning
../../libraries/AP_Compass/AP_Compass_MAG3110.h:52:11: warning: private
field 'compass_len' is not used [-Wunused-private-field]
float compass_len;
^
In file included from ../../libraries/AP_Soaring/AP_Soaring.cpp:1:
../../libraries/AP_Soaring/AP_Soaring.h:32:34: warning: private field
'_aparm' is not used [-Wunused-private-field]
const AP_Vehicle::FixedWing &_aparm;
In file included from
../../libraries/AP_OpticalFlow/AP_OpticalFlow_Pixart.cpp:28:
../../libraries/AP_OpticalFlow/AP_OpticalFlow_Pixart.h:75:13: warning:
private field 'sum_x' is not used [-Wunused-private-field]
int32_t sum_x;
^
../../libraries/AP_OpticalFlow/AP_OpticalFlow_Pixart.h:76:13: warning:
private field 'sum_y' is not used [-Wunused-private-field]
int32_t sum_y;
^
../../libraries/AP_OpticalFlow/AP_OpticalFlow_Pixart.h:77:14: warning:
private field 'last_print_ms' is not used [-Wunused-private-field]
uint32_t last_print_ms;
^
4 warnings generated.
In file included from
../../libraries/AP_Proximity/AP_Proximity_RPLidarA2.cpp:30:
../../libraries/AP_Proximity/AP_Proximity_RPLidarA2.h:88:10: warning:
private field '_payload_data' is not used [-Wunused-private-field]
bool _payload_data;
^
../../libraries/AP_Proximity/AP_Proximity_RPLidarA2.h:91:10: warning:
private field '_skip' is not used [-Wunused-private-field]
bool _skip;
^
../../libraries/AP_Proximity/AP_Proximity_RPLidarA2.h:92:10: warning:
private field '_rp_reset' is not used [-Wunused-private-field]
bool _rp_reset;
^
../../libraries/AP_Proximity/AP_Proximity_RPLidarA2.h:95:13: warning:
private field '_element_len' is not used [-Wunused-private-field]
uint8_t _element_len[2];
^
../../libraries/AP_Proximity/AP_Proximity_RPLidarA2.h:96:13: warning:
private field '_element_num' is not used [-Wunused-private-field]
uint8_t _element_num;
^
5 warnings generated.
In file included from ../../libraries/SITL/SIM_last_letter.cpp:19:
../../libraries/SITL/SIM_last_letter.h:74:17: warning: private field
'frame_str' is not used [-Wunused-private-field]
const char *frame_str;
SITL: correct compiler warning
In file included from ../../libraries/SITL/SIM_Sprayer.cpp:19:
../../libraries/SITL/SIM_Sprayer.h:55:14: warning: private field
'start_time_us' is not used [-Wunused-private-field]
uint64_t start_time_us;
SITL: correct compiler warnings
In file included from ../../libraries/SITL/SIM_Gripper_Servo.cpp:19:
../../libraries/SITL/SIM_Gripper_Servo.h:56:10: warning: private field
'zero_report_done' is not used [-Wunused-private-field]
bool zero_report_done = false;
SITL: correct compiler warnings
In file included from ../../libraries/SITL/SIM_ADSB.cpp:19:
../../libraries/SITL/SIM_ADSB.h:49:28: warning: private field 'fdm' is
not used [-Wunused-private-field]
const struct sitl_fdm &fdm;
Given we don't fail to start SITL if the home location fails to parse,
we should at least make the user very aware that their home location
string is bad.
This commit makes failures verbose, and outputs the parsed location
values rather than regurgitating the location string the user supplied;
it was very misleading in that the location could simply fail to parse
and thus be unused.
this also adds an attempt at using 'N' (inverted) channels for
RCIN. This doesn't work yet, but would be better for the revo-mini, as
it would allow the normal RCIN pin to be used
this uses the ChibiOS system timer instead of a separate GPT timer for
the core ChibiOS timer. The advantage is it saves us a timer, plus it
changes ChibiOS to use a 1MHz clock on its timer, which gives us
higher resolution for delays.
This has a remarkable effect on timing jitter, reducing it greatly
Use a const variable instead of a define so we don't polute the
environment with a define specific to this function.
Also remove tabs and replace with proper coding style.
To do so, we make use of UAVCAN message MagneticFieldStrength2, which
has a field describing the sensor_id of the node which measurements were
sent, and if a node sends this message we register multiple
AP_Compass_UAVCAN backends for this node. The routing of the messages
between those backends is also implemented here.