Frsky D port decode
https://github.com/gke/FrSkyDJTTelemetry
work with an OLED, but using serial port of pro mini, so you need a invertor on the serial. it seems mcu can't keep if we use interrupt to make invert signal as next example.
I get a 3.3V non-inverted signal from DJT module(it use a 3232EE chip to convert the signal, I found the datasheet and get the original TX signal from MCU.)
I get a pro mini 3.3V 8Mhz, hook up with IIC OLED, down load the code, and put the tx from DJT at serial RX, it works fine.
#define NO_INVERTER // uncomment for direct connection of DJT using ~100K resistor
Here is a project to decode D port: using pro mini , Decoder for "D" receiver telemetry emitted typically from an early FrSky DJT Tx Module. Code is intended for an Arduino uno or similar. DJT modules uses +/-6V signaling and so an inverter is required.
or using softserial to do the invert job, but need a 100K resistor
https://ceptimus.co.uk/index.php/2017/10/10/decoding-frsky-telemetry-data-with-an-arduino-part-two/ part 2 will decode FD datas.
part3 will introduce how to inject our own data.
I hook up my DJT module Tx and gnd to a rs232 to USB cable, (also hook up my D4R with pixhawk and power up)I get data like this:
The 0xFE packets contained the basic A1/A2/RSSI data. Now all other data from all the standard telemetry sensors, plus your own injected serial data, arrive in a second type of packet that begins with an 0xFD character.
I used to part 2 code with a 100K resistor between tx of DJT module and pin11 of arduino 328.(this code only work with clock at 4us increament, i.e. 328p at 16Mhz)
turn on the pixhawk and radio, it does push out data:
留言
張貼留言