Bye bye to my EzUHF with 1.2GHz 3rd harmonic and expensive RX.
Removed: 'ACK' only for MSP_SET_RAW_RC (useless byte and not in TDD sync)
Extended MSP_SET_RAW_RC timeout to 2 or 3sec. with a uint16_t counter (all ch to 1500 is GPS hold failsafe !)
I added a more *TDD efficient* telemetry streaming task (TDD sync)
I can use original MSP with any software and over modems (it temporaly and automaticly disable the simple telemetry streaming.)
code : https://github.com/Serveurperso/multiwi ... eam_shared
from last MultiWii 2.3 master
Short test flight with telemetry streaming enabled, almost no latency : https://www.youtube.com/watch?v=U8N6o8dga6w
I use a SBUS to MSP_SET_RAW_RC relay embedded inside my RF relay for long range flight (house roof/car roof...)
SiK last unmodded firmware 1.9 master @ 33ms TDM window
Because I use a modded 2W shireen amp on 878-888 (900MHz saw removed, and external 888MHz murata bandpass) I get more range vs. EzUHF and no harmonic to 1.2GHz and less noise floor on all quad.
Pascal
Success: LRS replaced with cheap HM-TRP and MSP_SET_RAW_RC!
-
- Posts: 7
- Joined: Fri May 10, 2013 9:02 am
Re: Success: LRS replaced with cheap HM-TRP and MSP_SET_RAW_
Hi Pascal,
It looks great. Perhaps you can try my MW modded SiK firmware, which tries to align radio packets with MSP_ packets, and injects radio status packets into the stream. (https://code.google.com/p/sik-multiwii/)
BTW, could you share some info about your octo diversity ?
Regards,
EOS
It looks great. Perhaps you can try my MW modded SiK firmware, which tries to align radio packets with MSP_ packets, and injects radio status packets into the stream. (https://code.google.com/p/sik-multiwii/)
BTW, could you share some info about your octo diversity ?
Regards,
EOS
-
- Posts: 7
- Joined: Fri May 10, 2013 9:02 am
Re: Success: LRS replaced with cheap HM-TRP and MSP_SET_RAW_
Hi EOSBandi,
Sorry for my bad english. I just read your message here and cloned your repo to check your work.
The 8 diversity is basically a "solid state" drone tracker with high speed analog switch between 8 tuners(+LNA, filters and now with 8 circular wireless CPATCH12 to get advantage of two world, long range tracker / urban or three non LOS flight).
I make a sort of "adaptive diversity" with "servos calibration" for RSSI level and video level -> the high speed switching is not noticeable on video (not opensource at this time)
I already make my own version of the SiK firmware because I don't like the embedded TDM (TDD).
With embedded TDD we loss a lot of RF duty cycle -> a lot of bandwitch and add a lot of latency because it's not smooth and not in-sync.
TDM+golay get counterproductive on a 8051, it need a real RTC for efficient timing and all calculation during TX/RX.
I returned to a simple and more reliable low level transparent serial link, external TDD, for maximum performance, I get near 2 * 50% TX/RX duty cycle.
In pratical I get 2* more framerate (30Hz) and/or air-rate/3 !!! and I get >2* the range and less packet lost.
Now there is no difference with any commercial radiocontrol (ImmersionRC EzUHF...) + I get telemetry (my own frame reply to msp raw serial) with ALL interesting data from copter.
I added 2*2 tail bytes to monitor remote/local noisefloor+rssi.
I can draw the 3D UAV attitude on ground : all is very smooth at 30Hz
I don't need OSD anymore.
Working : I can use few HM-TRP to use multiples frequency in same time (reliability better than FHSS because it's a 3 frequency diversity, but it need 3 UART on a mega)
Work/test in progress :
I make a bi-directionnal amp for my LRS with the 7W module and RF switch (cheaper and better than Shireen amp for this usage)
I must add 1 header byte to control the EzRADIOPRO hopping channel, if I want remake a real FHSS with external timing control with a real RTC (and GPS time for very long random jump pattern)
Pascal
Edit https://github.com/Serveurperso
modded SiK and Multiwii inside my branch
Sorry for my bad english. I just read your message here and cloned your repo to check your work.
The 8 diversity is basically a "solid state" drone tracker with high speed analog switch between 8 tuners(+LNA, filters and now with 8 circular wireless CPATCH12 to get advantage of two world, long range tracker / urban or three non LOS flight).
I make a sort of "adaptive diversity" with "servos calibration" for RSSI level and video level -> the high speed switching is not noticeable on video (not opensource at this time)
I already make my own version of the SiK firmware because I don't like the embedded TDM (TDD).
With embedded TDD we loss a lot of RF duty cycle -> a lot of bandwitch and add a lot of latency because it's not smooth and not in-sync.
TDM+golay get counterproductive on a 8051, it need a real RTC for efficient timing and all calculation during TX/RX.
I returned to a simple and more reliable low level transparent serial link, external TDD, for maximum performance, I get near 2 * 50% TX/RX duty cycle.
In pratical I get 2* more framerate (30Hz) and/or air-rate/3 !!! and I get >2* the range and less packet lost.
Now there is no difference with any commercial radiocontrol (ImmersionRC EzUHF...) + I get telemetry (my own frame reply to msp raw serial) with ALL interesting data from copter.
I added 2*2 tail bytes to monitor remote/local noisefloor+rssi.
I can draw the 3D UAV attitude on ground : all is very smooth at 30Hz

Working : I can use few HM-TRP to use multiples frequency in same time (reliability better than FHSS because it's a 3 frequency diversity, but it need 3 UART on a mega)
Work/test in progress :
I make a bi-directionnal amp for my LRS with the 7W module and RF switch (cheaper and better than Shireen amp for this usage)
I must add 1 header byte to control the EzRADIOPRO hopping channel, if I want remake a real FHSS with external timing control with a real RTC (and GPS time for very long random jump pattern)
Pascal
Edit https://github.com/Serveurperso
modded SiK and Multiwii inside my branch
-
- Posts: 7
- Joined: Fri May 10, 2013 9:02 am
Re: Success: LRS replaced with cheap HM-TRP and MSP_SET_RAW_
tdm.c
There is a 2uS hole between radio_preamble_detected() and radio_receive_in_progress() this can make false negative.
I had to take this into account in my implementation. (TX during RX issue, this make rare random freeze)
Code: Select all
if (!received_packet &&
radio_preamble_detected() ||
radio_receive_in_progress()) {
// a preamble has been detected. Don't
// transmit for a while
transmit_wait = packet_latency;
continue;
}
There is a 2uS hole between radio_preamble_detected() and radio_receive_in_progress() this can make false negative.
I had to take this into account in my implementation. (TX during RX issue, this make rare random freeze)
-
- Posts: 7
- Joined: Fri May 10, 2013 9:02 am