Ce site contient essentiellement des notes de travail. Le contenu est en constante évolution, et loin d'être achevé. (+ d'infos)
La plupart des documentations informatiques sont orientées Debian / Ubuntu.

Modélisme/Hardware/Télécommande/FrSky/Emetteur multi-protocole

De Ordinoscope.net
Sauter à la navigation Sauter à la recherche

Introduction

Multi DIY

Sur le papier, ce petit module est l'arme absolue de l'émission pour nos modèles réduits. Il contient 4 types d'émetteurs, supportant la plupart des protocoles Bind & Fly du commerce.

Dans la réalité, il ne faut pas trop s'emballer. Ca ne fonctionne pas out-of-the-box, et il faut bien se dire que le code est essentiellement issu de reverse engineering, et contient des bugs. De plus, la méthode d'accès la plus pratique est l'intégration dans OpenTX via le mode sériel, mais qui n'est supportée que depuis OpenTX 2.2 (en beta/instable au moment de l'écriture de cet article), et qu'il nécessite la mise à jour du firmware du module fourni par Banggood, du moins pour le protocole DSM. L'utilisation du mode PPM est bien plus compliquée, puisqu'il faudra jouer des manches pour configurer le sous-protocole à chaque changement de modèle. Autant dire que pour moi c'est exclu.

Ce module contient 4 chips d'émission en 2.4 GHz distincts

chip protocoles
A7105
  • FlySky
  • Hubsan
  • AFHDS2A
CYRF6936
  • Devo (Walkera)
  • DSM (Spektrum)
  • J6PRO
CC2500
  • Frsky (V, D, X)
  • SFHSS (Futaba)
NRF24L01
  • BAYANG
  • CG023
  • CX10 (inclus Q2X2)
  • ESKY
  • HISKY (Turnigy FBL100, Q-Bot)
  • KN
  • SLT
  • SYMAX
  • V2X2
  • YD717
  • MT99XX
  • MJXQ
  • SHENQI
  • FY326
  • FQ777
  • ASSAN
  • HONTAI

Firmware

La mise à jour du firmware va certainement faire peur à certains. Il va falloir souder un connecteur à 6-pins, modifier les fuses et modifier le code source pour sélectionner les protocoles désirés. En échange, il devient possible d'ajouter plus de protocoles et de corriger des bugs (DSM, communication avec OpenTX).

Préparation

Linux ~/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino6/bin/avrdude -C${HOME}/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino6/etc/avrdude.conf -patmega328p -cusbasp -Pusb -v
Mac OSX /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/ tools/avr/etc/avrdude.conf -patmega328p -cusbasp -Pusb -v
Windows C:\Program Files (x86)\Arduino\Contents\Java\hardware\tools\ avr\bin\avrdude -CC:\Program Files (x86)\Arduino\Contents\Java\ hardware\tools\avr\etc\avrdude.conf -patmega328p -cusbasp -Pusb -v

Contrôler la communication et voir les fuses

avrdude -Cavrdude.conf -patmega328p -cusbasp -Pusb -v
...
avrdude: safemode: Fuses OK (E:FF, H:DA, L:FF)

Sauver le firmware actuel

avrdude -Cavrdude.conf -patmega328p -cusbasp -Pusb -v -Uflash:r:"4in1_orig_flash.hex":i
avrdude -Cavrdude.conf -patmega328p -cusbasp -Pusb -v -Ueeprom:r:"4in1_orig_eeprom.hex":i

Changer les fuses

avrdude -Cavrdude.conf -patmega328p -cusbasp -Pusb -v -U lfuse:w:0xFF:m -U efuse:w:0xFD:m -U hfuse:w:0xD3:m
...
avrdude: safemode: Fuses OK (E:FD, H:D3, L:FF)

Boîtier

Références