Hi, I’ve been using AC/AP for many many years now since apm2.6 My gratitude and enormous respect to all the people who made software/hardware and made this project!
Recently I’ve come to need to use LTM protocol with Ardupilot firmware. Instead of begging and nagging and asking devs to port it, I’ve decided to give it a go myself. My particular application needs very low baud- 2400. LTMv1 has only 3 frames at 2400baud provide gps/alt info at 5Hz, attitude at 10Hz and sens info at 2Hz one way stream. If interested this is to be used with u360gts antenna tracking project with telemetry being streamed via audio channel of vTX through FSK modem at 2400baud. u360gts is able to emulate mavlink and provide unidirectional stream to a GCS of choice from LTM/Frsky and a few other protocols.
Attached are LTM.h and LTM.cpp which I did my best to format similar to Frsky and Devo files. Most of the code I’ve already completed taking clues from frsky and devo files, however due to not being sufficiently familiar with AP structure I have a few questions and would appreciate some input:
#1. Need help properly initializing serial port, namelly:
AP_SerialManager.h file doesn’t have
AP_SERIALMANAGER_DEVO_TELEM_BAUD,
AP_SERIALMANAGER_DEVO_BUFSIZE_RX and
AP_SERIALMANAGER_DEVO_BUFSIZE_TX
which are used in
AP_DEVO_Telem::init(const AP_SerialManager& serial_manager)
to initialize serial port.
On the other hand, Frsky related variables are present, yet it appears that both Frsky and Devo instances are initialized in the same way.
#2. Need help with obtaining MAV_TYPE value. (and some explanation of its value)
According to to comments in Frsky.h :
“mav_type; // frame type (see MAV_TYPE in Mavlink definition file common.h)”
I went through AP_Common.h but could not find MAV_TYPE.
#3. Need help getting RC RSSI
#4. Would appreciate if someone could go through the files attached and advised If I am doing incorrectly.
THANKS!