RSSI

Purpose

  • determine signal strength from different sources / GPIO pins

Considerations

 

  • Functions:

    • Normalized and unnormalized function returning signal strength

    • Threshold function returning a bool representing ‘good signal' and bad signal, or a function returning one out of a scale of judgements, e.g. ‘no signal', ‘bad signal’, ’ok signal' , ‘good signal', 'strong signal’ represented as an integer

 

  • For pull request:

    • Make LOS/RSSI branch (after weekend)

 

Research

 

Notes about RSSI:

PPM vs. PWM:

 

Notes about RFD900:

  • According to SiK Manual, RFD900 has:

    • TX pin that is UART

      • which protocol?

    • GPIOs

      • Digital

      • ADC

      • PWM capable

  • “Mavlink radio status reporting”, including local RSSI and remote RSSI

  • Can be configured by AT commands (use RT commands for remote modem):

    • you can send AT commands to get RSSI report

    • If the report goes to CLI, would calling the AT commands in a shell script and reading the rssi from there be a viable solution?

  • Accoring to https://robokits.co.in/multirotor-spare-parts/fpv-video-telemetry-camera/rfd900-txmod-and-rfd-900x-modem-original

    • RFD900 uses PPM, but do we ever directly deal w/ the PPM, or does it get converted to a serial protocol first by the RFD900?

    • RFD900 carries RC PPM and Mavlink telemetry at the same time, so either or can be chosen

      • Can RSSI come through the RC PPM?

 

Ardupilot implementation reference

 

  • AP_RSSI.cpp also has functions which get PWM values