mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-05 07:01:37 +08:00
Merge pull request #3177 from bartosz-wawrzacz/master
Handling and logging the RC RSSI value
This commit is contained in:
@@ -1780,8 +1780,8 @@ PX4IO::io_get_raw_rc_input(rc_input_values &input_rc)
|
|||||||
|
|
||||||
/* get RSSI from input channel */
|
/* get RSSI from input channel */
|
||||||
if (_rssi_pwm_chan > 0 && _rssi_pwm_chan <= input_rc_s::RC_INPUT_MAX_CHANNELS && _rssi_pwm_max - _rssi_pwm_min != 0) {
|
if (_rssi_pwm_chan > 0 && _rssi_pwm_chan <= input_rc_s::RC_INPUT_MAX_CHANNELS && _rssi_pwm_max - _rssi_pwm_min != 0) {
|
||||||
int rssi = (input_rc.values[_rssi_pwm_chan - 1] - _rssi_pwm_min) /
|
int rssi = ((input_rc.values[_rssi_pwm_chan - 1] - _rssi_pwm_min) * 100) /
|
||||||
((_rssi_pwm_max - _rssi_pwm_min) / 100);
|
(_rssi_pwm_max - _rssi_pwm_min);
|
||||||
rssi = rssi > 100 ? 100 : rssi;
|
rssi = rssi > 100 ? 100 : rssi;
|
||||||
rssi = rssi < 0 ? 0 : rssi;
|
rssi = rssi < 0 ? 0 : rssi;
|
||||||
input_rc.rssi = rssi;
|
input_rc.rssi = rssi;
|
||||||
|
|||||||
@@ -1675,6 +1675,7 @@ int sdlog2_thread_main(int argc, char *argv[])
|
|||||||
log_msg.msg_type = LOG_RC_MSG;
|
log_msg.msg_type = LOG_RC_MSG;
|
||||||
/* Copy only the first 8 channels of 14 */
|
/* Copy only the first 8 channels of 14 */
|
||||||
memcpy(log_msg.body.log_RC.channel, buf.rc.channels, sizeof(log_msg.body.log_RC.channel));
|
memcpy(log_msg.body.log_RC.channel, buf.rc.channels, sizeof(log_msg.body.log_RC.channel));
|
||||||
|
log_msg.body.log_RC.rssi = buf.rc.rssi;
|
||||||
log_msg.body.log_RC.channel_count = buf.rc.channel_count;
|
log_msg.body.log_RC.channel_count = buf.rc.channel_count;
|
||||||
log_msg.body.log_RC.signal_lost = buf.rc.signal_lost;
|
log_msg.body.log_RC.signal_lost = buf.rc.signal_lost;
|
||||||
LOGBUFFER_WRITE_AND_COUNT(RC);
|
LOGBUFFER_WRITE_AND_COUNT(RC);
|
||||||
|
|||||||
@@ -189,6 +189,7 @@ struct log_STAT_s {
|
|||||||
#define LOG_RC_MSG 11
|
#define LOG_RC_MSG 11
|
||||||
struct log_RC_s {
|
struct log_RC_s {
|
||||||
float channel[8];
|
float channel[8];
|
||||||
|
uint8_t rssi;
|
||||||
uint8_t channel_count;
|
uint8_t channel_count;
|
||||||
uint8_t signal_lost;
|
uint8_t signal_lost;
|
||||||
};
|
};
|
||||||
@@ -532,7 +533,7 @@ static const struct log_format_s log_formats[] = {
|
|||||||
LOG_FORMAT(STAT, "BBBfBBf", "MainState,ArmS,Failsafe,BatRem,BatWarn,Landed,Load"),
|
LOG_FORMAT(STAT, "BBBfBBf", "MainState,ArmS,Failsafe,BatRem,BatWarn,Landed,Load"),
|
||||||
LOG_FORMAT(VTOL, "f", "Arsp"),
|
LOG_FORMAT(VTOL, "f", "Arsp"),
|
||||||
LOG_FORMAT(CTS, "fffffff", "Vx_b,Vy_b,Vz_b,Vinf,P,Q,R"),
|
LOG_FORMAT(CTS, "fffffff", "Vx_b,Vy_b,Vz_b,Vinf,P,Q,R"),
|
||||||
LOG_FORMAT(RC, "ffffffffBB", "Ch0,Ch1,Ch2,Ch3,Ch4,Ch5,Ch6,Ch7,Count,SignalLost"),
|
LOG_FORMAT(RC, "ffffffffBBB", "Ch0,Ch1,Ch2,Ch3,Ch4,Ch5,Ch6,Ch7,RSSI,Count,SignalLost"),
|
||||||
LOG_FORMAT(OUT0, "ffffffff", "Out0,Out1,Out2,Out3,Out4,Out5,Out6,Out7"),
|
LOG_FORMAT(OUT0, "ffffffff", "Out0,Out1,Out2,Out3,Out4,Out5,Out6,Out7"),
|
||||||
LOG_FORMAT(AIRS, "fff", "IndSpeed,TrueSpeed,AirTemp"),
|
LOG_FORMAT(AIRS, "fff", "IndSpeed,TrueSpeed,AirTemp"),
|
||||||
LOG_FORMAT(ARSP, "fff", "RollRateSP,PitchRateSP,YawRateSP"),
|
LOG_FORMAT(ARSP, "fff", "RollRateSP,PitchRateSP,YawRateSP"),
|
||||||
|
|||||||
Reference in New Issue
Block a user