* Added CABELL Protocol
* Added additional disclaimer to license.
* Revert "Added additional disclaimer to license."
This reverts commit a00bc9956a155a1a73dbbcd21fd19633d6d121ff.
* Added additional disclaimer
* Added CABELL_NRF24L01_INO define to config
* Updated available protocol list
Added CABELL protocol
* Removed unused variables
* Changed changel range to 45 channels that comply with USA FCC part 97 rules.
This change allows licenced HAMs to operate under part 97 rules instead
of part 15. These channels are still in the ISM band, but overlap with
the part 97 amateur portion of the band.
* Changed protocol number to 33
Was previously 30, but the main branch has now allocated up to 32, so
changing to 33
* Corrected permutation calculation
* Added sub-protocol for setting failsafe values
* Opened up a free bit in the option byte for future use
* Fixed packet errors when trying to unbind when in bind mode
This use case didn't really make any sense, but it should not cause
packet errors, so fixed it.
* RSSI Telemetry for CABELL protocol
* Pins back to stock configuration
* Split checksum into MSB and LSB fields to avoid endian issue
* struct change for checksum
* Added analog values to telemetry packet that could be used for LIPO voltage
* Added MODE_CABELL to frsk_link_frame
* Updated packet layout comments
* Fixed telemetry conditional compiles in CABELL protocol
* Telemetry working; moved power override bit
* Changed telemetry to 250 kbps and adjustable packet period - imporves reliability/range
* Changed CABELL protocol number to 34
* Fixed typos in comments
* Fix ATMEGA BASH_SERIAL buffer overrun
Changed the compare to TXBUFFER_SIZE to >=
If next wasn't set to zero until > TXBUFFER_SIZE then the next time the
routines get called the the array index references outside the buffer
(e.g tail+1)
* Revert "Fix ATMEGA BASH_SERIAL buffer overrun"
This reverts commit ba4526ee89c2b5a946a659eea2c9581c36254809.
* Updated documentation for CABELL V3 Protocol
* Updated Documentation for the CABELL V3 Protocol
Implemented debug output on uart1 for stm32
Replaced hardcoded eeprom offsets with documented constats
Fixed a bug affecting telemetry on Atmega328p using the invert_telemetry flag.
This feature will not activate the selected protocol unless a bind is
requested using bind from channel or the GUI "Bind" button. It is only
enabled if bind from channel and autobind are set since I think they are
working well together.
The goal is to prevent binding other people's model when powering up the
TX, changing model or scanning through protocols.
There is a new blinking pattern associated to it as well as a new status
"Waiting for bind".
This feature is enabled by default in _config.h .
This new feature is available:
- in serial mode and when binding from the GUI. As soon as the Bind
window is closed = serial bind bit was set and cleared, the current bind
operation will be terminated.
- if the bind was initiated from the Bind on channel feature (bind
channel goes high) then as soon as the bind channel goes low the current
bind operation will be terminated.
Tested on ersky9x which does open a bind window, not sure about
OpenTX...
Some protocols (Hubsan, Assan, FY326, Shenqi...) which are waiting for
model/RX to reply will stay in bind mode.
- rewritten the handling of the incoming over the air telemetry packet
- rewritten the TX_RSSI calculation (link frame[4])
- added RX LQI and TX_LQI information in the link frame (frame[5] and
frame[6])
WK2801 number 0, 8 channels, fixed id is not supported
WK2401 number 1, 4 channels
W6_5_1 number 2, 6 channels
W6_6_1 number 3, 7 channels
W6_HEL number 4, 6 channels, option is used to limit COL
W6_HEL_I number 5, 6 channels, COL inverted, option is used to limit COL
Protocol WK2x01 number 30
Sub protocols:
- WK2801 number 0, 8 channels, fixed id not supported
- WK2601 number 1, 6/7 channels, option is used see doc for details
- WK2401 number 2, 4 channels
Extended limits supported
Autobind protocol
Most receivers support WK2801 so always start trying this sub protocol
first.
Toggling channel 16 (-100%->+100%->-100%) will execute a bind only if
the loaded protocol is an autobind protocol or autobind is set AND
throttle is low (below -95%).
This allows the multi module to tell the TX software (e.g. OpenTX) which telemetry protocol is in use. Also Status of the module and signaling binding/invalid protocol