-
Notifications
You must be signed in to change notification settings - Fork 216
FANET compatibility
The test unit has SoftRF LoRa module connected.
A picture of the module (purple) in comparison with NRF905 (green):
Test SoftRF unit has D99C19 device ID and is configured to communicate in accordance with FANET protocol:
One of commercial implementations for FANET protocol is Skytraxx:
But "behind the scenes" of the Skytraxx is that the FANET was contributed there by Juergen Eckert.
His FANET R&D is actually open for public and located at GitHub.
This is the link on FANET : https://github.com/3s1d/fanet
And this is the link on FANET+ : https://github.com/3s1d/fanet-stm32
Genuine FANET hardware platform is STM32 L1/L4 MCU and Semtech SX1272 radio.
Genuine FANET software platform is Arduino/Eclipse IDE.
At first I've made a quick port of the FANET onto NodeMCU (ESP8266) and Semtech SX1276 radio (SoftRF LoRa module):
Genuine FANET firmware is controlled over UART port at 115200 baud rate.
Full set of commands is listed here: https://github.com/3s1d/fanet/blob/master/com/serial.h
When entered instruction is invalid or empty, the CLI gives an error response:
This is explanation of four basic commands:
-
Set vendor and device IDs of a FANET unit:
Syntax: #FNA <Vendor ID>, <Device ID>Example:
#FNA AB,CDEF
#FNR OK
-
Set aircraft type and online logging flag:
Syntax: #FNC <Aircraft type>, <online logging>Example:
#FNC 1,1
#FNR OK
-
Enable or disable RF module:
Syntax: #DGP <state>Example:
#DGP 1
#DGR OK
-
Set FANET state:
Syntax: #FNS <lat>,<lon>,<alt>,<speed>,<climb>,<heading>,<turn>Example:
#FNS 56.0092,38.3710,430,10,3,45,7
#FNR OK
As soon as FANET unit gets configured with #FNA, #FNC and #DGP instructions it starts to receive
packets been transmitted from nearby SoftRF unit:
Reception of each packet is indicated by #FNF status line.
You may noticed that each line contains D9,9C19 which is ID of the transmitting SoftRF unit.
Let's configure FANET unit with this sequence:
#FNA AB,CDEF
#FNC 1,1
#DGP 1
Then we set state of the unit multiple times:
#FNS 56.0092,38.3710,430,10,3,45,7
#FNS 56.0092,38.3710,430,10,3,45,7
...
#FNS 56.0092,38.3710,430,10,3,45,7
Each time the #FNS command is issued, the FANET unit is transmitting an RF packet.
SoftRF unit located nearby is receiving the packets and displaying the traffic on XCSoar's "FLARM view" screen: