Compare commits

...

7 Commits

Author SHA1 Message Date
pascallanger
f6100abb11 Update README.md 2015-12-31 10:28:19 +01:00
pascallanger
889a76a69f Update README.md 2015-12-31 10:19:21 +01:00
pascallanger
d16892ec01 Update README.md 2015-12-30 21:25:09 +01:00
pascallanger
37778bc89f Update README.md 2015-12-30 21:14:24 +01:00
pascallanger
36e10e3b55 Update README.md 2015-12-30 12:42:37 +01:00
pascallanger
d068357b90 Add description 2015-12-30 12:31:56 +01:00
pascallanger
de4c841961 Adding latest binaries 2015-12-30 12:21:15 +01:00
8 changed files with 14054 additions and 15 deletions

File diff suppressed because it is too large Load Diff

16
Binaries/README.md Normal file
View File

@ -0,0 +1,16 @@
# DIY-Multiprotocol-TX-Module - Latest binaries version
##Multiprotocol using the latest provided source files
**Multiprotocol_16ch_%date%.hex** -> build using the unmodified available source files
##ER9X using the latest available next branch
**er9x_next_9X_NOFRSKY_16ch_%date%.hex** -> 9X without telemetry using these parameters: TEMPLATES=NO PHASES=YES
**er9x_next_9X_FRSKY_16ch_%date%.hex** -> 9X with telemetry using these parameters: EXT=FRSKY TEMPLATES=NO PHASES=YES
**er9x_next_9XR_16ch_%date%.hex** -> 9XR using these parameters: CPU=128 EXT=FRSKY PHASES=YES
##ERSKY9X using the latest available next branch
**ersky9xr_next_9XRPRO_16ch_%date%.bin** -> 9XR PRO using these parameters: REVB=1 DEBUG=1 STAMP=1 PHASES=1 REVX=1
**ersky9x9XT_next_9XTREME_16ch_%date%.bin** -> 9XTREME using these parameters: PCB=9XT DEBUG=1 STAMP=1

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@ -1,10 +1,22 @@
# DIY-Multiprotocol-TX-Module # DIY-Multiprotocol-TX-Module
Multiprotocol is a TX module which enables any TX to control lot of different models available on the market. Multiprotocol is a TX module which enables any TX to control lot of different models available on the market.
[Main Thread on RCGROUPS](http://www.rcgroups.com/forums/showthread.php?t=2165676) [Main thread on RCGROUPS for additional information](http://www.rcgroups.com/forums/showthread.php?t=2165676)
![Screenshot](http://static.rcgroups.net/forums/attachments/4/0/8/5/8/3/t7952733-114-thumb-P4100002.JPG?d=1433910155) ![Screenshot](http://static.rcgroups.net/forums/attachments/4/0/8/5/8/3/t7952734-189-thumb-P4100003.JPG?d=1433910159) ![Screenshot](http://static.rcgroups.net/forums/attachments/4/0/8/5/8/3/t7952733-114-thumb-P4100002.JPG?d=1433910155) ![Screenshot](http://static.rcgroups.net/forums/attachments/4/0/8/5/8/3/t7952734-189-thumb-P4100003.JPG?d=1433910159)
##Contents
[Compatible TX](https://github.com/pascallanger/DIY-Multiprotocol-TX-Module#compatible-tx)
[Protocols](https://github.com/pascallanger/DIY-Multiprotocol-TX-Module#protocols)
[Hardware](https://github.com/pascallanger/DIY-Multiprotocol-TX-Module#hardware)
[Compilation](https://github.com/pascallanger/DIY-Multiprotocol-TX-Module#compilation)
[Troubleshooting](https://github.com/pascallanger/DIY-Multiprotocol-TX-Module#troubleshooting)
##Compatible TX ##Compatible TX
###Using standard PPM output (trainer port) ###Using standard PPM output (trainer port)
@ -17,11 +29,7 @@ The protocol selection is done via a dip switch or a rotary dip switch for acces
![Screenshot](http://media.digikey.com/photos/Grayhill%20Photos/94HBB16T_sml.jpg) ![Screenshot](http://media.digikey.com/photos/Grayhill%20Photos/94HBB16T_sml.jpg)
###Using a serial output ###Using a serial output
The multiprotocol TX module can be used on a Turnigy 9X, 9XR, 9XR Pro, Taranis, ... running [er9x or ersky9X](https://github.com/MikeBland/mbtx/tree/next). (A version for OpenTX is being looked at) The multiprotocol TX module takes full advantage of being used on a Turnigy 9X, 9XR, 9XR Pro, Taranis, 9Xtreme, AR9X, ... running [er9x or ersky9X](https://github.com/MikeBland/mbtx/tree/next). (A version for OpenTX is being looked at)
Using this solution does not need any modification of the TX since it uses the TX module slot PPM pin for serial transfer.
Channels order is AETR by default but can be changed in the source code.
This enables full integration using the radio GUI to setup models with all the available protocols options. This enables full integration using the radio GUI to setup models with all the available protocols options.
@ -36,29 +44,43 @@ Options are:
- Autobind: Yes or No. At the model selection (or power applied to the TX) a bind sequence will be initiated - Autobind: Yes or No. At the model selection (or power applied to the TX) a bind sequence will be initiated
- Range: test range by setting the transmission power to the lowest value - Range: test range by setting the transmission power to the lowest value
Note: Notes:
- there are 2 versions of serial protocol either 8 or 16 channels. 16 channels is the latest version. Make sure to use the right version based on your version of er9x/ersky9x. - Using this solution does not need any modification of the TX since it uses the TX module slot PPM pin for serial transfer.
- There are 2 versions of serial protocol either 8 or 16 channels. 16 channels is the latest version. Make sure to use the right version based on your version of er9x/ersky9x.
- Channels order is AETR by default but can be changed in the source code.
###Telemetry ###Telemetry
Telemetry is available for er9x and ersky9x TX. Telemetry is available for er9x and ersky9x TXs.
There are only 2 protocols so far supporting telemetry: Hubsan and Frsky. There are only 2 protocols so far supporting telemetry: Hubsan and Frsky.
To enable telemetry on Turnigy 9X or 9XR you need to modify your TX following one of the Frsky mod like this [one](http://blog.oscarliang.net/turnigy-9x-advance-mod/). To enable telemetry on Turnigy 9X or 9XR you need to modify your TX following one of the Frsky mod like this [one](http://blog.oscarliang.net/turnigy-9x-advance-mod/).
Enabling telemetry on 9XR PRO and may be other TXs does not require any hardware modifications. The additional required serial pin is already available on the TX back module pins.
Once the TX is telemetry enabled, it just needs to be configured on the model as usual.
##Protocols ##Protocols
###TX ID ###TX ID
Each protocol is using a 32bits ID generated randomly at first power up. There are little chances to get a duplicated ID. The multiprotocol TX module is using a 32bits ID generated randomly at first power up. This global ID is used by all protocols.
There are little chances to get a duplicated ID.
It's possible to generate a new ID using bind button on the Hubsan protocol during power up. It's possible to generate a new ID using bind button on the Hubsan protocol during power up.
###Bind ###Bind
To bind a model press the bind button, apply power and then release. To bind a model in:
1. PPM Mode:
- press the bind button, apply power and then release.
2. Serial Mode:
- use the GUI, access the model protocol page and long press on Bind.
- press the bind button, apply power and then release will request a bind of the loaded model protocol. Note that the bind button is only effective at power up and not when the protocol is changed on the fly.
###Protocol selection ###Protocol selection
####Using the dial for PPM input ####Using the dial for PPM input
PPM is only allowing access to a subset of existing protocols & sub_protocols.
The default association dial position / protocol is listed below.
Dial|Protocol|Sub_protocol|RF Module Dial|Protocol|Sub_protocol|RF Module
----|--------|------------|--------- ----|--------|------------|---------
0|Select serial|| 0|Select serial||
@ -80,9 +102,11 @@ Dial|Protocol|Sub_protocol|RF Module
Notes: Notes:
- The dial selection must be done before the power is applied. - The dial selection must be done before the power is applied.
- The protocols and subprotocols can be personalized by modifying the source code. - The protocols and subprotocols accessible by the dial can be personalized by modifying the source code.
####Using serial input with er9x/ersky9x ####Using serial input with er9x/ersky9x
Serial is allowing access to all existing protocols & sub_protocols listed below.
Protocol|Sub_protocol|RF Module Protocol|Sub_protocol|RF Module
--------|------------|--------- --------|------------|---------
Flysky||A7105 Flysky||A7105
@ -121,7 +145,7 @@ CG023||NRF24L01
Bayang||NRF24L01 Bayang||NRF24L01
Note: Note:
- The dial should be set to 0 for serial which means all protocol selection pins should be left unconnected. - The dial should be set to 0 for serial. Which means all protocol selection pins should be left unconnected.
###Protocol details ###Protocol details
Extended limits supported: -125%..+125% can be used and will be transmitted. Otherwise the default is -100%..+100% only. Extended limits supported: -125%..+125% can be used and will be transmitted. Otherwise the default is -100%..+100% only.
@ -292,7 +316,10 @@ or build your own board using SMD components and an associated PCB:
###Schematic ###Schematic
![Screenshot](http://static.rcgroups.net/forums/attachments/4/0/8/5/8/3/a8443844-119-multiprotocol_diagram_rotary_serial_2.jpg) ![Screenshot](http://static.rcgroups.net/forums/attachments/4/0/8/5/8/3/a8443844-119-multiprotocol_diagram_rotary_serial_2.jpg)
Attention: All modules are 3.3V only, never power them with 5V.
Notes:
- Attention: All modules are 3.3V only, never power them with 5V.
- For serial, the dial switch is not needed and the bind button optionnal
###Radio integration ###Radio integration
You can 3D print your box (details [here](http://www.rcgroups.com/forums/showpost.php?p=33294140&postcount=2034)): You can 3D print your box (details [here](http://www.rcgroups.com/forums/showpost.php?p=33294140&postcount=2034)):
@ -331,7 +358,8 @@ This will make sure your ATMEGA328 is well configured and the global TX ID is no
- on: normal operation. - on: normal operation.
###Bind ###Bind
Make sure to follow the following procedure: press the bind button, apply power and then release it after 1sec. The LED should be blinking fast indicating a bind status and then fixed on. It's normal that the LED turns off when you press the bind button, this behavior is not controlled by the Atmega328. Make sure to follow this procedure: press the bind button, apply power and then release it after 1sec. The LED should be blinking fast indicating a bind status and then fixed on. It's normal that the LED turns off when you press the bind button, this behavior is not controlled by the Atmega328.
For serial, the preffered method is to bind via the GUI protocol page.
###Protocol selection ###Protocol selection
For serial, leave all 4 selection pins unconnected. For serial, leave all 4 selection pins unconnected.