[TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
+7
3djc
diiity
yaya67
Kilrah
LapinFou
Ceeb182
dev.fred
11 participants
Page 1 sur 9
Page 1 sur 9 • 1, 2, 3, 4, 5, 6, 7, 8, 9
[TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Suite du TUTO
Version 2 utilisant AVRDUDESS
Customisation sous Arduino du module ATmega328p
--------------------------
Version 1 AVR8 Burn-O-Mat
Les objectifs
1. configurer un environnement sous W10 permettant de lire et écrire le contenu de la mémoire flash du module multiprotocole 4 en 1 ATmega328p
2. faire une sauvegarde de la mémoire flash
3. vérifier et reprogrammer les fuses
4. charger la dernière version du firmware multiprotocole de Pascal Langer
5. flasher son module
Pour simplifier les opérations, on s'appuiera sur l'interface utilisateur AVR8 Burn-O-Mat qui envoie les commandes AVR au driver USBasp.
On s'appui ici sur les mises à jour de fichiers de firmware directement téléchargeable assuré par Pascal Langer sur le site https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/releases
Le module multiprotocole
Il s'agit de ce module: 2.4G CC2500 A7105 Flysky Frsky Devo DSM2 Multiprotocol TX Module With Antenna
Préparation du module et du programmateur
On ajoute 2 ponts et un râteau 6 pins : https://frskytaranis.forumactif.org/t3938-module-multi-de-banggood#45396
Le râteau va recevoir le programmateur USBasp
Pour ma part j'ai commandé celui-ci :
http://www.banggood.com/USBASP-USBISP-3_3-5V-AVR-Downloader-Programmer-With-ATMEGA8-ATMEGA128-p-934425.html
Il arrive avec une sélection sur 5V, il faut dessouder une résistance pour passer à 3,3V et ne pas griller le module HF 4 en 1.
Il faut également commander l'adaptateur 10->6 pour se connecter au râteau 6 pins à souder sur la carte du module:
http://www.banggood.com/10-to-6-Pin-Standard-Adapter-Block-Converter-for-AVRISP-USBASP-STK500-Chip-p-1065532.html
Comme indiqué ici : https://frskytaranis.forumactif.org/t3938-module-multi-de-banggood#45396
Ou sur ebay, un modèle avec cavalier 5-3,3V à déplacer :
http://www.ebay.fr/itm/USBASP-USB-ISP-AVR-programmeur-Adaptateur-10Pin-cables-USB-ATMEGA8-ATMEGA128-AC-/262625472506?hash=item3d25b2affa:g:-KkAAOSwzaJX2WPq&rmvSB=true
http://www.ebay.fr/itm/1pc-10-Pin-Convert-to-6-Pin-Adapter-Board-For-ATMEL-AVRISP-USBASP-STK500-NR-/252641214287?hash=item3ad296ff4f:g:8L8AAOSwaB5XsZJK&rmvSB=true
On peut également commander le boitier http://www.banggood.com/Multi-Protocol-TX-Transmitter-Module-Case-for-FrSky-FlySky-Transmitter-p-1085320.html
Car en découpant la face arrière juste au dessus du râteau, on peut connecter la sonde de programmation sans ouvrir ni déconnecter le boitier, ça passe tout juste, j'ai du limer le détrompeur de l'adaptateur 10->6.
Installation du driver USBasp
La procédure pour installer le driver USBasp consiste à utiliser Zadig de la façon suivante:
1. Brancher l’USBasp
2. Télécharger Zadig from http://zadig.akeo.ie
3. Lancer zadig
4. Options > List all devices
5. Choisir USBasp dans le menu déroulant
6. Choisir libusbK(v3.0.7.0) à droite de la flèche verte
7. Cliquer Install
Et l'on pourra vérifier que l'on a bien dans le Gestionnaire de périphérique de Windows:
Installation logicielle
Installer WinAVR sous c:\
https://sourceforge.net/projects/winavr/files/
Installer AVR8 Burn-O-Mat V2
http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_gui_en.php
Installer Java SE Runtime Environment (JRE)
http://java.sun.com/javase/downloads/index.jsp
Configuration
On déclare le programmateur et l'emplacement des exécutable AVR
Sauvegarde de la mémoire Flash
Cette première étape permet de vérifier toute la chaine et la sauvegarde permet d’avoir un plan B en cas de problème.
On choisira le format Intel Hex et l'AVR type ATmega328p, on entrera le chemin du fichier en plus de son nom pour qu'il ne soit pas envoyé sous C:\Users\devfr\AppData\Local\VirtualStore\Program Files (x86)\AVR Burn-O-Mat !
Lecture des fuses
Ce sont les paramètres de configuration du microcontrôleur.
Modifier les valeurs si vous n’avez pas les mêmes, le Hfuse=D3 permet de préserver la zone de donnée de la Flash et donc de ne pas écraser les Binds déjà effectués.
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/docs/Advanced_Manually_Setting_ATmega328_Fuses.md
Pour EFUSE 0x05 et 0xFD sont la même chose. Parfois avrdude utilise l'un ou l'autre selon la version. Ici, on utilise 0x05
https://www.rcgroups.com/forums/showpost.php?p=36492124&postcount=6900
Chargement du firmware
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/releases
Les fichiers multiprotocole hex / bin ont été compilés avec les fichiers sources datés du 19/12/2016 en utilisant les paramètres par défaut AETR, télémétrie activée, mode série activé et mode ppm activé à l'aide de la table par défaut. Les versions INV ont un jeu de télémétrie inversé qui est un must pour OpenTX alors que les autres sont compatibles avec er9x / ersky9x.
Pour les cartes Atmega328, certains modules RF (et les protocoles associés) ont été inclus dans chaque hex pour s'adapter à l'Atmega328. Par exemple, Multiprotocol_V1.1.5_A7105-CC2500-CYRF6936.hex signifie que les protocoles utilisant le NRF24L01 sont exclus.
Écriture du Firmware
Et si ce fantastique projet vous plait, vous pouvez remercier son auteur Pascal Langer avec un don Paypal
Version 2 utilisant AVRDUDESS
Customisation sous Arduino du module ATmega328p
--------------------------
Version 1 AVR8 Burn-O-Mat
Les objectifs
1. configurer un environnement sous W10 permettant de lire et écrire le contenu de la mémoire flash du module multiprotocole 4 en 1 ATmega328p
2. faire une sauvegarde de la mémoire flash
3. vérifier et reprogrammer les fuses
4. charger la dernière version du firmware multiprotocole de Pascal Langer
5. flasher son module
Pour simplifier les opérations, on s'appuiera sur l'interface utilisateur AVR8 Burn-O-Mat qui envoie les commandes AVR au driver USBasp.
On s'appui ici sur les mises à jour de fichiers de firmware directement téléchargeable assuré par Pascal Langer sur le site https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/releases
Le module multiprotocole
Il s'agit de ce module: 2.4G CC2500 A7105 Flysky Frsky Devo DSM2 Multiprotocol TX Module With Antenna
Préparation du module et du programmateur
On ajoute 2 ponts et un râteau 6 pins : https://frskytaranis.forumactif.org/t3938-module-multi-de-banggood#45396
Le râteau va recevoir le programmateur USBasp
Pour ma part j'ai commandé celui-ci :
http://www.banggood.com/USBASP-USBISP-3_3-5V-AVR-Downloader-Programmer-With-ATMEGA8-ATMEGA128-p-934425.html
Il arrive avec une sélection sur 5V, il faut dessouder une résistance pour passer à 3,3V et ne pas griller le module HF 4 en 1.
Il faut également commander l'adaptateur 10->6 pour se connecter au râteau 6 pins à souder sur la carte du module:
http://www.banggood.com/10-to-6-Pin-Standard-Adapter-Block-Converter-for-AVRISP-USBASP-STK500-Chip-p-1065532.html
Comme indiqué ici : https://frskytaranis.forumactif.org/t3938-module-multi-de-banggood#45396
Ou sur ebay, un modèle avec cavalier 5-3,3V à déplacer :
http://www.ebay.fr/itm/USBASP-USB-ISP-AVR-programmeur-Adaptateur-10Pin-cables-USB-ATMEGA8-ATMEGA128-AC-/262625472506?hash=item3d25b2affa:g:-KkAAOSwzaJX2WPq&rmvSB=true
http://www.ebay.fr/itm/1pc-10-Pin-Convert-to-6-Pin-Adapter-Board-For-ATMEL-AVRISP-USBASP-STK500-NR-/252641214287?hash=item3ad296ff4f:g:8L8AAOSwaB5XsZJK&rmvSB=true
On peut également commander le boitier http://www.banggood.com/Multi-Protocol-TX-Transmitter-Module-Case-for-FrSky-FlySky-Transmitter-p-1085320.html
Car en découpant la face arrière juste au dessus du râteau, on peut connecter la sonde de programmation sans ouvrir ni déconnecter le boitier, ça passe tout juste, j'ai du limer le détrompeur de l'adaptateur 10->6.
Installation du driver USBasp
La procédure pour installer le driver USBasp consiste à utiliser Zadig de la façon suivante:
1. Brancher l’USBasp
2. Télécharger Zadig from http://zadig.akeo.ie
3. Lancer zadig
4. Options > List all devices
5. Choisir USBasp dans le menu déroulant
6. Choisir libusbK(v3.0.7.0) à droite de la flèche verte
7. Cliquer Install
Et l'on pourra vérifier que l'on a bien dans le Gestionnaire de périphérique de Windows:
Installation logicielle
Installer WinAVR sous c:\
https://sourceforge.net/projects/winavr/files/
Installer AVR8 Burn-O-Mat V2
http://avr8-burn-o-mat.aaabbb.de/avr8_burn_o_mat_avrdude_gui_en.php
Installer Java SE Runtime Environment (JRE)
http://java.sun.com/javase/downloads/index.jsp
Configuration
On déclare le programmateur et l'emplacement des exécutable AVR
Sauvegarde de la mémoire Flash
Cette première étape permet de vérifier toute la chaine et la sauvegarde permet d’avoir un plan B en cas de problème.
On choisira le format Intel Hex et l'AVR type ATmega328p, on entrera le chemin du fichier en plus de son nom pour qu'il ne soit pas envoyé sous C:\Users\devfr\AppData\Local\VirtualStore\Program Files (x86)\AVR Burn-O-Mat !
Lecture des fuses
Ce sont les paramètres de configuration du microcontrôleur.
Modifier les valeurs si vous n’avez pas les mêmes, le Hfuse=D3 permet de préserver la zone de donnée de la Flash et donc de ne pas écraser les Binds déjà effectués.
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/docs/Advanced_Manually_Setting_ATmega328_Fuses.md
Pour EFUSE 0x05 et 0xFD sont la même chose. Parfois avrdude utilise l'un ou l'autre selon la version. Ici, on utilise 0x05
https://www.rcgroups.com/forums/showpost.php?p=36492124&postcount=6900
Chargement du firmware
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/releases
Les fichiers multiprotocole hex / bin ont été compilés avec les fichiers sources datés du 19/12/2016 en utilisant les paramètres par défaut AETR, télémétrie activée, mode série activé et mode ppm activé à l'aide de la table par défaut. Les versions INV ont un jeu de télémétrie inversé qui est un must pour OpenTX alors que les autres sont compatibles avec er9x / ersky9x.
Pour les cartes Atmega328, certains modules RF (et les protocoles associés) ont été inclus dans chaque hex pour s'adapter à l'Atmega328. Par exemple, Multiprotocol_V1.1.5_A7105-CC2500-CYRF6936.hex signifie que les protocoles utilisant le NRF24L01 sont exclus.
Écriture du Firmware
Et si ce fantastique projet vous plait, vous pouvez remercier son auteur Pascal Langer avec un don Paypal
Dernière édition par dev.fred le Lun 26 Juin 2017 - 21:42, édité 22 fois
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Joli tutoriel !
Bravo
Petite remarque: peut-être faut-il que tu précises à la phrase "Et l'on pourra vérifier que l'on a bien : " de la rubrique "Installation du driver USBasp" que la photo est un extrait du "Gestionnaire de périphérique de Windows".
Bravo
Petite remarque: peut-être faut-il que tu précises à la phrase "Et l'on pourra vérifier que l'on a bien : " de la rubrique "Installation du driver USBasp" que la photo est un extrait du "Gestionnaire de périphérique de Windows".
Ceeb182- Modérateur
- Messages : 2280
Date d'inscription : 29/10/2016
Age : 49
Localisation : France
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Merci,
j'ai ajouté l'info et une autre précision
j'ai ajouté l'info et une autre précision
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Super !!
_________________
Pas de support par MP !! Pour garder l'esprit communautaire, on partage tout sur le forum.
Maintenant que vous avez tout lu, vous pouvez poser vos questions !
OpenTX is user friendly!!! It's just selective about who its friends are....
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Bravo. Je vais faire un PDF de ton tuto car au club il y a déjà 2 modules 4 en 1 et j'ai le dongle pour faire la mise à jour. Ca peut être utile.
Peut-être qu'il faudrait aussi ajouter une info sur la programmation de la radio en 2.1.x et en 2.2.
Peut-être qu'il faudrait aussi ajouter une info sur la programmation de la radio en 2.1.x et en 2.2.
Invité- Invité
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Si jamais on peut remplacer l'immense ensemble WinAVR/Burn-o-mat/Java par le seul petit package AVRDUDESS qui contient tout ce qu'il faut pour programmer.
Kilrah- Messages : 2181
Date d'inscription : 28/01/2014
Localisation : Suisse
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Merci à tous pour l'accueil de ce nouveau tuto
Dommage, je ne connaissais pas AVRDUDESS, l'interface est très complète
Je fais une 2eme version, c'est + simple
Dommage, je ne connaissais pas AVRDUDESS, l'interface est très complète
Je fais une 2eme version, c'est + simple
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Version 2 utilisant AVRDUDESS
Les objectifs
1. configurer un environnement sous W10 permettant de lire et écrire le contenu de la mémoire flash du module multiprotocole 4 en 1
2. faire une sauvegarde de la mémoire flash
3. vérifier et reprogrammer les fuses
4. charger la dernière version du firmware multiprotocole de Pascal Langer
5. flasher son module
Pour simplifier les opérations, on s'appuiera sur l'outil AVRDUDESS qui envoie les commandes AVR au driver USBasp.
On s'appui ici sur les mises à jour de fichiers de firmware directement téléchargeable assuré par Pascal Langer sur le site https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/releases
Le module multiprotocole
Il s'agit de ce module: http://www.banggood.com/fr/2_4G-CC2500-A7105-Flysky-Frsky-Devo-DSM2-Multiprotocol-TX-Module-With-Antenna-p-1048377.html
Préparation du module et du programmateur
On ajoute 2 ponts et un râteau 6 pins : https://frskytaranis.forumactif.org/t3938-module-multi-de-banggood#45396
Le râteau va recevoir le programmateur USBasp
Pour ma part j'ai commandé celui-ci :
http://www.banggood.com/USBASP-USBISP-3_3-5V-AVR-Downloader-Programmer-With-ATMEGA8-ATMEGA128-p-934425.html
Il arrive avec une sélection sur 5V, il faut dessouder une résistance pour passer à 3,3V et ne pas griller le module HF 4 en 1.
Il faut également commander l'adaptateur 10->6 pour se connecter au râteau 6 pins à souder sur la carte du module:
http://www.banggood.com/10-to-6-Pin-Standard-Adapter-Block-Converter-for-AVRISP-USBASP-STK500-Chip-p-1065532.html
Comme indiqué ici : https://frskytaranis.forumactif.org/t3938-module-multi-de-banggood#45396
Ou sur ebay, un modèle avec cavalier 5-3,3V à déplacer :
http://www.ebay.fr/itm/USBASP-USB-ISP-AVR-programmeur-Adaptateur-10Pin-cables-USB-ATMEGA8-ATMEGA128-AC-/262625472506?hash=item3d25b2affa:g:-KkAAOSwzaJX2WPq&rmvSB=true
http://www.ebay.fr/itm/1pc-10-Pin-Convert-to-6-Pin-Adapter-Board-For-ATMEL-AVRISP-USBASP-STK500-NR-/252641214287?hash=item3ad296ff4f:g:8L8AAOSwaB5XsZJK&rmvSB=true
On peut également commander le boitier http://www.banggood.com/Multi-Protocol-TX-Transmitter-Module-Case-for-FrSky-FlySky-Transmitter-p-1085320.html
Car en découpant la face arrière juste au dessus du râteau, on peut connecter la sonde de programmation sans ouvrir ni déconnecter le boitier, ça passe tout juste, j'ai du limer le détrompeur de l'adaptateur 10->6.
Installation du driver USBasp
La procédure pour installer le driver USBasp consiste à utiliser Zadig de la façon suivante:
1. Brancher l’USBasp
2. Télécharger Zadig from http://zadig.akeo.ie
3. Lancer zadig
4. Options > List all devices
5. Choisir USBasp dans le menu déroulant
6. Choisir libusbK(v3.0.7.0) à droite de la flèche verte
7. Cliquer Install
Et l'on pourra vérifier que l'on a bien dans le Gestionnaire de périphérique de Windows:
Installation logicielle
Allez sur http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/ et télécharger le fichier de setup pour windows
Si vous avez une erreur :
1-Charger https://sourceforge.net/projects/libusb-win32/files/latest/download?source=typ_redirect
2-désarchiver libusb-win32-bin-1.2.6.0.zip
3-renommer libusb-win32-bin-1.2.6.0\bin\x86\libusb0_x86.dll en libusb0.dll
4-à copier sous C:\Program Files (x86)\AVRDUDESS\ ou
W10: 64 bit, copier sous Windows\syswow64\
W10: 32 bit, copier sous Windows\system32\
Configuration
On déclare le programmateur
On détecte automatiquement le MCU en cliquant sur le bouton Detect
Sauvegarde de la mémoire Flash
Cette première étape permet de vérifier toute la chaine et la sauvegarde permet d’avoir un plan B en cas de problème.
On choisira le nom du fichier de sauvegarde, le mode Read, le format Intel Hex et Go
Lecture des fuses
Ce sont les paramètres de configuration du microcontrôleur.
Modifier les valeurs si vous n’avez pas les mêmes, le Hfuse=D3 permet de préserver la zone de donnée de la Flash et donc de ne pas écraser les Binds déjà effectués.
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/docs/Advanced_Manually_Setting_ATmega328_Fuses.md
Pour EFUSE 0x05 et 0xFD sont la même chose. Parfois avrdude utilise l'un ou l'autre selon la version. Ici, on utilise 0x05
https://www.rcgroups.com/forums/showpost.php?p=36492124&postcount=6900
Chargement du firmware
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/releases
Les fichiers multiprotocole hex / bin ont été compilés avec les fichiers sources datés du 19/12/2016 en utilisant les paramètres par défaut AETR, télémétrie activée, mode série activé et mode ppm activé à l'aide de la table par défaut. Les versions INV ont un jeu de télémétrie inversé qui est un must pour OpenTX alors que les autres sont compatibles avec er9x / ersky9x.
Pour les cartes Atmega328, certains modules RF (et les protocoles associés) ont été inclus dans chaque hex pour s'adapter à l'Atmega328. Par exemple, Multiprotocol_V1.1.5_A7105-CC2500-CYRF6936.hex signifie que les protocoles utilisant le NRF24L01 sont exclus.
Écriture du Firmware
On choisira le fichier à écrire, le mode Write, le format Intel Hex et Go
Avec les Options -V -D non cochées, il y a un cycle d'effacement et une vérification
Et si ce fantastique projet vous plait, vous pouvez remercier son auteur Pascal Langer avec un don Paypal
Les objectifs
1. configurer un environnement sous W10 permettant de lire et écrire le contenu de la mémoire flash du module multiprotocole 4 en 1
2. faire une sauvegarde de la mémoire flash
3. vérifier et reprogrammer les fuses
4. charger la dernière version du firmware multiprotocole de Pascal Langer
5. flasher son module
Pour simplifier les opérations, on s'appuiera sur l'outil AVRDUDESS qui envoie les commandes AVR au driver USBasp.
On s'appui ici sur les mises à jour de fichiers de firmware directement téléchargeable assuré par Pascal Langer sur le site https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/releases
Le module multiprotocole
Il s'agit de ce module: http://www.banggood.com/fr/2_4G-CC2500-A7105-Flysky-Frsky-Devo-DSM2-Multiprotocol-TX-Module-With-Antenna-p-1048377.html
Préparation du module et du programmateur
On ajoute 2 ponts et un râteau 6 pins : https://frskytaranis.forumactif.org/t3938-module-multi-de-banggood#45396
Le râteau va recevoir le programmateur USBasp
Pour ma part j'ai commandé celui-ci :
http://www.banggood.com/USBASP-USBISP-3_3-5V-AVR-Downloader-Programmer-With-ATMEGA8-ATMEGA128-p-934425.html
Il arrive avec une sélection sur 5V, il faut dessouder une résistance pour passer à 3,3V et ne pas griller le module HF 4 en 1.
Il faut également commander l'adaptateur 10->6 pour se connecter au râteau 6 pins à souder sur la carte du module:
http://www.banggood.com/10-to-6-Pin-Standard-Adapter-Block-Converter-for-AVRISP-USBASP-STK500-Chip-p-1065532.html
Comme indiqué ici : https://frskytaranis.forumactif.org/t3938-module-multi-de-banggood#45396
Ou sur ebay, un modèle avec cavalier 5-3,3V à déplacer :
http://www.ebay.fr/itm/USBASP-USB-ISP-AVR-programmeur-Adaptateur-10Pin-cables-USB-ATMEGA8-ATMEGA128-AC-/262625472506?hash=item3d25b2affa:g:-KkAAOSwzaJX2WPq&rmvSB=true
http://www.ebay.fr/itm/1pc-10-Pin-Convert-to-6-Pin-Adapter-Board-For-ATMEL-AVRISP-USBASP-STK500-NR-/252641214287?hash=item3ad296ff4f:g:8L8AAOSwaB5XsZJK&rmvSB=true
On peut également commander le boitier http://www.banggood.com/Multi-Protocol-TX-Transmitter-Module-Case-for-FrSky-FlySky-Transmitter-p-1085320.html
Car en découpant la face arrière juste au dessus du râteau, on peut connecter la sonde de programmation sans ouvrir ni déconnecter le boitier, ça passe tout juste, j'ai du limer le détrompeur de l'adaptateur 10->6.
Installation du driver USBasp
La procédure pour installer le driver USBasp consiste à utiliser Zadig de la façon suivante:
1. Brancher l’USBasp
2. Télécharger Zadig from http://zadig.akeo.ie
3. Lancer zadig
4. Options > List all devices
5. Choisir USBasp dans le menu déroulant
6. Choisir libusbK(v3.0.7.0) à droite de la flèche verte
7. Cliquer Install
Et l'on pourra vérifier que l'on a bien dans le Gestionnaire de périphérique de Windows:
Installation logicielle
Allez sur http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/ et télécharger le fichier de setup pour windows
Si vous avez une erreur :
1-Charger https://sourceforge.net/projects/libusb-win32/files/latest/download?source=typ_redirect
2-désarchiver libusb-win32-bin-1.2.6.0.zip
3-renommer libusb-win32-bin-1.2.6.0\bin\x86\libusb0_x86.dll en libusb0.dll
4-à copier sous C:\Program Files (x86)\AVRDUDESS\ ou
W10: 64 bit, copier sous Windows\syswow64\
W10: 32 bit, copier sous Windows\system32\
Configuration
On déclare le programmateur
On détecte automatiquement le MCU en cliquant sur le bouton Detect
Sauvegarde de la mémoire Flash
Cette première étape permet de vérifier toute la chaine et la sauvegarde permet d’avoir un plan B en cas de problème.
On choisira le nom du fichier de sauvegarde, le mode Read, le format Intel Hex et Go
Lecture des fuses
Ce sont les paramètres de configuration du microcontrôleur.
Modifier les valeurs si vous n’avez pas les mêmes, le Hfuse=D3 permet de préserver la zone de donnée de la Flash et donc de ne pas écraser les Binds déjà effectués.
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/docs/Advanced_Manually_Setting_ATmega328_Fuses.md
Pour EFUSE 0x05 et 0xFD sont la même chose. Parfois avrdude utilise l'un ou l'autre selon la version. Ici, on utilise 0x05
https://www.rcgroups.com/forums/showpost.php?p=36492124&postcount=6900
Chargement du firmware
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/releases
Les fichiers multiprotocole hex / bin ont été compilés avec les fichiers sources datés du 19/12/2016 en utilisant les paramètres par défaut AETR, télémétrie activée, mode série activé et mode ppm activé à l'aide de la table par défaut. Les versions INV ont un jeu de télémétrie inversé qui est un must pour OpenTX alors que les autres sont compatibles avec er9x / ersky9x.
Pour les cartes Atmega328, certains modules RF (et les protocoles associés) ont été inclus dans chaque hex pour s'adapter à l'Atmega328. Par exemple, Multiprotocol_V1.1.5_A7105-CC2500-CYRF6936.hex signifie que les protocoles utilisant le NRF24L01 sont exclus.
Écriture du Firmware
On choisira le fichier à écrire, le mode Write, le format Intel Hex et Go
Avec les Options -V -D non cochées, il y a un cycle d'effacement et une vérification
Et si ce fantastique projet vous plait, vous pouvez remercier son auteur Pascal Langer avec un don Paypal
Dernière édition par dev.fred le Sam 28 Jan 2017 - 9:39, édité 9 fois
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Deux tutoriels en moins de 4h, quel rendement !
Le prochain à 20h ?
Le prochain à 20h ?
Ceeb182- Modérateur
- Messages : 2280
Date d'inscription : 29/10/2016
Age : 49
Localisation : France
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Si quelqu'un partage un outil encore meilleur que les 2 présenté, qui sait
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
J'ai 2 questions:
1. As-tu testé avec le soft Arduino (et avec le programmateur USBasp) ? https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/docs/Compiling.md
2. Lors du bind, le TX doit avoir un ID unique. Comme cela se passe-t-il avec le module multiprotocole ? T-a-t-il un risque si 2 personnes utilisent le même module au même moment avec le même protocole ??? Je pense surtout au mode DSM2/DSMX. Il n'y a pas un risque de mettre au tas un gars volant avec une Spektrum ?
1. As-tu testé avec le soft Arduino (et avec le programmateur USBasp) ? https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/docs/Compiling.md
2. Lors du bind, le TX doit avoir un ID unique. Comme cela se passe-t-il avec le module multiprotocole ? T-a-t-il un risque si 2 personnes utilisent le même module au même moment avec le même protocole ??? Je pense surtout au mode DSM2/DSMX. Il n'y a pas un risque de mettre au tas un gars volant avec une Spektrum ?
_________________
Pas de support par MP !! Pour garder l'esprit communautaire, on partage tout sur le forum.
Maintenant que vous avez tout lu, vous pouvez poser vos questions !
OpenTX is user friendly!!! It's just selective about who its friends are....
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Le module multi génère un ID au hasard la première fois qu'il est mis sous tension.
Une collision est extrêmement improbable sachant que même avec le même ID il faudrait que tout les paramètres soient les mêmes ET que le timing d'émission soit synchronisé, mais pas impossible.
Pour p.ex. Spektrum sauf erreur l'ID est le numéro de série unique du chip CYRF, du coup ça ne devrait pas être possible du tout.
Une collision est extrêmement improbable sachant que même avec le même ID il faudrait que tout les paramètres soient les mêmes ET que le timing d'émission soit synchronisé, mais pas impossible.
Pour p.ex. Spektrum sauf erreur l'ID est le numéro de série unique du chip CYRF, du coup ça ne devrait pas être possible du tout.
Kilrah- Messages : 2181
Date d'inscription : 28/01/2014
Localisation : Suisse
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Arduino avec le programmateur USBasp que j'ai indiqué fonctionne sans problème, c'est la config que j'utiliseLF a écrit:1. As-tu testé avec le soft Arduino (et avec le programmateur USBasp) ? https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/docs/Compiling.md
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Merci Kilrah !Kilrah a écrit:Le module multi génère un ID au hasard la première fois qu'il est mis sous tension.
Une collision est extrêmement improbable sachant que même avec le même ID il faudrait que tout les paramètres soient les mêmes ET que le timing d'émission soit synchronisé, mais pas impossible.
Pour p.ex. Spektrum sauf erreur l'ID est le numéro de série unique du chip CYRF, du coup ça ne devrait pas être possible du tout.
Juste une petite question, cette ID est stockée dans des fuses/OTP ? Ou c'est une nouvelle ID à chaque mise sous tension (ça m'étonnerait, sinon on perdrait le bind à chaque fois) ?
La question que je me pose est: perd-t-on le bind si on flash un nouvel version du firmware ?
Super !dev.fred a écrit:Arduino avec le programmateur USBasp que j'ai indiqué fonctionne sans problème, c'est la config que j'utiliseLF a écrit:1. As-tu testé avec le soft Arduino (et avec le programmateur USBasp) ? https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/docs/Compiling.md
Je pense utilisé cette façon de faire.
_________________
Pas de support par MP !! Pour garder l'esprit communautaire, on partage tout sur le forum.
Maintenant que vous avez tout lu, vous pouvez poser vos questions !
OpenTX is user friendly!!! It's just selective about who its friends are....
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Customisation sous Arduino
Les objectifs
1. Installer sous W10 et configurer l'IDE Arduino pour le module multiprotocole 4 en 1 de BG
2. Charger la dernière version du projet Multiprotocole de Pascal
3. Compiler le code source qui passe par la configuration du fichier config.h
4. Vérifier et reprogrammer les fuses
5. Reflasher son module
Pour ceux qui préfèrent le sur-mesure, il faut utiliser Arduino et customiser le fichier config.h du projet https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/Multiprotocol/_Config.h
Ce fichier est en perpétuelle évolution, aussi ce document, issu d'une traduction du fantastique travail de Pascal, n'est qu'une introduction qui ne couvre pas toutes les options possibles, mais s'attache au cœur du problème qui est de tenir le code généré dans un espace limité à 32Ko.
La préparation du module et du programmateur a déjà été traité ici https://frskytaranis.forumactif.org/t4676-mise-a-jour-firmware-module-multiprotocole-bg-4-en-1#53349
Par précaution, vous pouvez sauvegarder le firmware existant en utilisant
Avoir un de ces 2 outils en plus d'Arduino permet de couvrir tous les cas de figure. En particulier le flashage des fusibles sera plus claire.
Installation de l'IDE Arduino
Téléchargez l'IDE Arduino. La version Arduino actuellement prise en charge est la 1.6.12
https://www.arduino.cc/en/Main/OldSoftwareReleases#previous
Préparation de l'IDE Arduino
L'IDE Arduino doit être personnalisé pour compiler le firmware de manière optimale.
Les ajouts suivants au fichier arduino boards.txt ont 2 objectifs :
1. Fermez l'IDE Arduino
2. Faire une recherche Windows pour l'application WordPad (NE PAS UTILISER le Bloc-notes).
Le fichier étant protégé en écriture, faites un clic droit sur WordPad et sélectionnez "Exécuter en tant qu'administrateur" :
3. Ouvrez le fichier boards.txt situé par défaut dans le dossier C:\Program Files (x86)\Arduino\hardware\arduino\avr
4. Copiez et collez le texte "Multi 4-in-1" à la fin du fichier et enregistrez-le :
5. Enregistrez-le au format "Texte Brut"
6. Fermez et rouvrez l'IDE Arduino pour charger cette modification
7. Configurer Arduino
Chargez le projet Multiprotocole
Pour info, la version du firmware est située au début du fichier https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/Multiprotocol/Multiprotocol.h :
1. Téléchargez le fichier zip avec le code source du module multiprotocole à partir d'ici https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/archive/master.zip
2. Décompressez et copiez le dossier de code source Multiprotocole dans un dossier de votre choix.
3. Cliquez sur le fichier Multiprotocol.ino dans le dossier Multiprotocol et l'environnement Arduino devrait apparaître et le projet Multiprotocol sera chargé.
Personnalisez le microprogramme en fonction de votre matériel et de vos besoins
Sur tous les modules équipés de microprocesseurs ATMega, la mémoire requise pour tous les protocoles dépasse les 32k de mémoire flash disponibles.
Vous devrez sélectionner les protocoles que vous souhaitez utiliser qui entreront dans la mémoire disponible.
Avant de personnaliser votre microprogramme, il serait bon d'examiner le protocole sur la page https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/Protocols_Details.md du protocole et d'identifier les protocoles que vous souhaitez prendre en charge sur votre module.
Toute la personnalisation est faite en éditant le fichier _Config.h dans le projet Multiprotocol Arduino.
Dans l'IDE Arduino, cliquez sur la flèche vers le bas à l'extrême droite de la barre des onglets pour afficher la liste des fichiers de projet (voir le cercle rouge ci-dessous).
Faites défiler vers le bas et sélectionnez le fichier _Config.h.
Pour les modules 4-en-1, les 4 émetteurs RF sont installés, il faut donc tous les conserver et ne rien modifier sinon "Des choses bizarres arriveront vous avez été averti", vous aurez donc :
Par contre on peut désactiver les protocoles qui ne sont pas utilisés.
Faites défiler les protocoles disponibles et commentez tous les protocoles dont vous n'avez pas besoin.
L'exemple suivant montre le protocole DEVO commenté :
Si vous avez une Taranis et que vous prévoyez d'utiliser le mode Serie avec télémétrie, recherchez et décommentez la ligne INVERT_TELEMETRY, la ligne #define TELEMETRY restant décommentée, vous aurez donc :
A partir de la RC9 N361, avec la version 1.1.6 du firmware multiprotocole, il est possible d'activer un dialogue, à travers la liaison série, qui permet d'afficher l’état du multimodule dans la radio sans avoir à observer l'état de la LED rouge au dos du boitier :
On aura au préalable flashé sa radio avec l'option multimodule activée pour pouvoir choisir le mode MULT pour la HF externe :
Il suffit de commenter #define MULTI_STATUS et de décommenter #define MULTI_TELEMETRY, vous aurez donc :
On peut également désactiver les protocoles de télémétrie inutilisés :
Pour être cohérent, avec l'utilisation du mode série, on vérifiera que l'on a bien #define ENABLE_SERIAL décommenté et #define ENABLE_PPM commenté, vous devez donc avoir :
Vous pouvez maintenant compiler le firmware en cliquant sur Sketch-> Verify/Compile dans la barre de menu.
Si tout se passe comme prévu, vous devriez voir quelque chose comme la ligne suivante dans le volet inférieur de la fenêtre :
Sketch uses 32,464 bytes (99%) of program storage space. Maximum is 32,768 bytes.
Global variables use 1,219 bytes (59%) of dynamic memory, leaving 829 bytes for local variables. Maximum is 2,048 bytes.
Dans ce cas vous pouvez flasher votre module.
Votre firmware est toujours trop grand et vous devez désélectionner des protocoles supplémentaires si vous voyez quelque chose comme ceci :
Sketch uses 34,096 bytes (104%) of program storage space. Maximum is 32,768 bytes.
Global variables use 1,236 bytes (60%) of dynamic memory, leaving 812 bytes for local variables. Maximum is 2,048 bytes.
Sketch too big
S'il y a une autre erreur, lisez attentivement l'erreur pour voir le numéro de ligne approximative où vous avez fait une erreur de frappe.
Connexion du programmateur
1. Avant de connecter le programmateur, assurez-vous d'avoir sélectionné le mode 3.3V et non le mode 5V.
Les modules RF ne sont pas tolérants 5V et vous les grillez à 5V. Sur la plupart des programmeurs, cela se fait en déplaçant un cavalier sur le programmeur ou en dessoudant une résistance.
2. Veuillez relire le point 1. ci-dessus avant de continuer.
3. Tournez le commutateur rotatif du module multiprotocole sur la position 0.
Si vous n'avez pas de commutateur (si vous n'utilisez que le mode série), il est identique à la position 0.
Le téléchargement ne fonctionnera pas si le commutateur est dans une autre position.
4. Branchez le connecteur de programmation à 6 broches sur le connecteur 6 broches de la carte multiprotocole 4-en-1.
Assurez-vous de faire correspondre la broche GND du connecteur du programmateur à la broche de masse sur la carte.
5. Vous êtes maintenant prêt à brancher le programmateur USB à l'ordinateur.
Configuration des fuses
6. La première étape consiste à flasher les fusibles du microprocesseur si cela n'a jamais été fait.
Les valeurs de fusibles sont définies dans le fichier boards.txt section Multi 4-in-1 et permettrons d'empêcher l'EEPROM d'être effacée à chaque fois que le microprogramme est flashé (cela préservera votre ID Tx et vous évitera d'avoir à binder tous vos modèles après une mise à jour du firmware) et de ne pas utiliser de bootloader.
Ne vous inquiétez pas s'il renvoie l'erreur qu'aucun bootloader n'ait été trouvé (c'est le cas de la carte 4-en-1), il a quand même flashé les fusibles.
Si vous avez défini l'IDE pour fournir la compilation détaillée et la sortie de téléchargement, vous devriez être en mesure de voir la valeur finale des fusibles dans l'IDE Arduino.
Écriture du Firmware
8. Vous êtes maintenant prêt à flasher le firmware. Dans l'IDE d'Arduino, cliquez sur Sketch -> Upload Using Programmer.
Si la sortie indique 32122 bytes of flash verified, très bien, vous avez programmé avec succès votre module.
En cas d'erreur
9. Si vous recevez une erreur indiquant qu'un microprocesseur valide n'a pas été trouvé, il y a quelque chose qui cloche :
Faites une recherche Google avec le message d'erreur spécifique pour obtenir des suggestions de la façon de le corriger.
La cause la plus commune est des problèmes avec la configuration de la connexion et dans certains cas des problèmes avec les programmateurs bon marché de sources chinoises.
Et si ce fantastique projet vous plait, vous pouvez remercier son auteur Pascal Langer avec un don Paypal
Les objectifs
1. Installer sous W10 et configurer l'IDE Arduino pour le module multiprotocole 4 en 1 de BG
2. Charger la dernière version du projet Multiprotocole de Pascal
3. Compiler le code source qui passe par la configuration du fichier config.h
4. Vérifier et reprogrammer les fuses
5. Reflasher son module
Pour ceux qui préfèrent le sur-mesure, il faut utiliser Arduino et customiser le fichier config.h du projet https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/Multiprotocol/_Config.h
Ce fichier est en perpétuelle évolution, aussi ce document, issu d'une traduction du fantastique travail de Pascal, n'est qu'une introduction qui ne couvre pas toutes les options possibles, mais s'attache au cœur du problème qui est de tenir le code généré dans un espace limité à 32Ko.
La préparation du module et du programmateur a déjà été traité ici https://frskytaranis.forumactif.org/t4676-mise-a-jour-firmware-module-multiprotocole-bg-4-en-1#53349
Par précaution, vous pouvez sauvegarder le firmware existant en utilisant
- soit AVR8 Burn-O-Mat https://frskytaranis.forumactif.org/t4676-mise-a-jour-firmware-module-multiprotocole-bg-4-en-1#53349
- soit AVRDUDNESS https://frskytaranis.forumactif.org/t4676-mise-a-jour-firmware-module-multiprotocole-bg-4-en-1#53362
Avoir un de ces 2 outils en plus d'Arduino permet de couvrir tous les cas de figure. En particulier le flashage des fusibles sera plus claire.
Installation de l'IDE Arduino
Téléchargez l'IDE Arduino. La version Arduino actuellement prise en charge est la 1.6.12
https://www.arduino.cc/en/Main/OldSoftwareReleases#previous
Préparation de l'IDE Arduino
L'IDE Arduino doit être personnalisé pour compiler le firmware de manière optimale.
Les ajouts suivants au fichier arduino boards.txt ont 2 objectifs :
- Permettre de flasher encore plus de protocoles en libérant 2 ko supplémentaires.
- Empêcher l'EEPROM d'être effacée à chaque fois que le microprogramme est flashé. Cela préservera votre ID Tx et vous évitera d'avoir à binder tous vos modèles après une mise à jour du firmware. Cette protection sera effective après une étape supplémentaire d'écriture des fusibles qui sera abordé plus loin, cette opération n'est à faire qu'une fois.
1. Fermez l'IDE Arduino
2. Faire une recherche Windows pour l'application WordPad (NE PAS UTILISER le Bloc-notes).
Le fichier étant protégé en écriture, faites un clic droit sur WordPad et sélectionnez "Exécuter en tant qu'administrateur" :
3. Ouvrez le fichier boards.txt situé par défaut dans le dossier C:\Program Files (x86)\Arduino\hardware\arduino\avr
4. Copiez et collez le texte "Multi 4-in-1" à la fin du fichier et enregistrez-le :
- Code:
##############################################################
## Multi 4-in-1 (3.3V, 16 MHz) w/ ATmega328
## --------------------------------------------------
multi.name=Multi 4-in-1
multi.upload.tool=avrdude
multi.upload.protocol=arduino
multi.bootloader.tool=avrdude
multi.bootloader.unlock_bits=0x3F
multi.bootloader.lock_bits=0x0F
multi.build.board=AVR_PRO
multi.build.core=arduino
multi.build.variant=eightanaloginputs
multi.build.extra_flags=-Wl,--relax
multi.menu.cpu.16MHzatmega328=ATmega328 (3.3V, 16 MHz)
multi.menu.cpu.16MHzatmega328.upload.maximum_size=32768
multi.menu.cpu.16MHzatmega328.upload.maximum_data_size=2048
multi.menu.cpu.16MHzatmega328.upload.speed=57600
multi.menu.cpu.16MHzatmega328.bootloader.low_fuses=0xFF
multi.menu.cpu.16MHzatmega328.bootloader.high_fuses=0xD3
multi.menu.cpu.16MHzatmega328.bootloader.extended_fuses=0x05
multi.menu.cpu.16MHzatmega328.build.mcu=atmega328p
multi.menu.cpu.16MHzatmega328.build.f_cpu=16000000L
##############################################################
5. Enregistrez-le au format "Texte Brut"
6. Fermez et rouvrez l'IDE Arduino pour charger cette modification
7. Configurer Arduino
- Sous Tools -> Board choisir Multi 4-in-1
- Sous Tools -> Programmer choisir USBasp
Chargez le projet Multiprotocole
Pour info, la version du firmware est située au début du fichier https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/Multiprotocol/Multiprotocol.h :
- Code:
//******************
// Version
//******************
#define VERSION_MAJOR 1
#define VERSION_MINOR 1
#define VERSION_REVISION 6
#define VERSION_PATCH_LEVEL 5
1. Téléchargez le fichier zip avec le code source du module multiprotocole à partir d'ici https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/archive/master.zip
2. Décompressez et copiez le dossier de code source Multiprotocole dans un dossier de votre choix.
3. Cliquez sur le fichier Multiprotocol.ino dans le dossier Multiprotocol et l'environnement Arduino devrait apparaître et le projet Multiprotocol sera chargé.
Personnalisez le microprogramme en fonction de votre matériel et de vos besoins
Sur tous les modules équipés de microprocesseurs ATMega, la mémoire requise pour tous les protocoles dépasse les 32k de mémoire flash disponibles.
Vous devrez sélectionner les protocoles que vous souhaitez utiliser qui entreront dans la mémoire disponible.
Avant de personnaliser votre microprogramme, il serait bon d'examiner le protocole sur la page https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/Protocols_Details.md du protocole et d'identifier les protocoles que vous souhaitez prendre en charge sur votre module.
Toute la personnalisation est faite en éditant le fichier _Config.h dans le projet Multiprotocol Arduino.
Dans l'IDE Arduino, cliquez sur la flèche vers le bas à l'extrême droite de la barre des onglets pour afficher la liste des fichiers de projet (voir le cercle rouge ci-dessous).
Faites défiler vers le bas et sélectionnez le fichier _Config.h.
Pour les modules 4-en-1, les 4 émetteurs RF sont installés, il faut donc tous les conserver et ne rien modifier sinon "Des choses bizarres arriveront vous avez été averti", vous aurez donc :
- Code:
/**************************/
/*** RF CHIPS INSTALLED ***/
/**************************/
//There are 4 RF components supported. If one of them is not installed you must comment it using "//".
//If a chip is not installed all associated protocols are disabled.
//4-in-1 modules have all RF chips installed
//!!!If a RF chip is present it MUST be marked as installed!!! or weird things will happen you have been warned.
#define A7105_INSTALLED
#define CYRF6936_INSTALLED
#define CC2500_INSTALLED
#define NRF24L01_INSTALLED
Par contre on peut désactiver les protocoles qui ne sont pas utilisés.
Faites défiler les protocoles disponibles et commentez tous les protocoles dont vous n'avez pas besoin.
L'exemple suivant montre le protocole DEVO commenté :
- Code:
/****************************/
/*** PROTOCOLS TO INCLUDE ***/
/****************************/
// #define DEVO_CYRF6936_INO
#define DSM_CYRF6936_INO
#define J6PRO_CYRF6936_INO
Si vous avez une Taranis et que vous prévoyez d'utiliser le mode Serie avec télémétrie, recherchez et décommentez la ligne INVERT_TELEMETRY, la ligne #define TELEMETRY restant décommentée, vous aurez donc :
- Code:
/**************************/
/*** TELEMETRY SETTINGS ***/
/**************************/
//In this section you can configure the telemetry.
//If you do not plan using the telemetry comment this global setting using "//" and skip to the next section.
#define TELEMETRY
//Comment to invert the polarity of the output telemetry serial signal.
//This function takes quite some flash space and processor power on an atmega.
//For OpenTX and ersky9x it must be uncommented.
//On a 9XR_PRO running ersky9x both commented and uncommented will work depending on the radio setting Invert COM1 under the Telemetry menu.
//On other addon/replacement boards like the 9xtreme board or the Ar9x board, you need to uncomment the line below.
//For er9x it depends if you have an inveter mod or not on the telemetry pin. If you don't have an inverter comment this line.
#define INVERT_TELEMETRY
A partir de la RC9 N361, avec la version 1.1.6 du firmware multiprotocole, il est possible d'activer un dialogue, à travers la liaison série, qui permet d'afficher l’état du multimodule dans la radio sans avoir à observer l'état de la LED rouge au dos du boitier :
On aura au préalable flashé sa radio avec l'option multimodule activée pour pouvoir choisir le mode MULT pour la HF externe :
Il suffit de commenter #define MULTI_STATUS et de décommenter #define MULTI_TELEMETRY, vous aurez donc :
- Code:
//Comment if you don't want to send Multi status telemetry frames (Protocol available, Bind in progress, version...)
//Use with er9x/erksy9x, for OpenTX MULTI_TELEMETRY below is preferred instead
//#define MULTI_STATUS
//Uncomment to send Multi status and allow OpenTX to autodetect the telemetry format
//Supported by OpenTX version 2.2 RC9 and newer. NOT supported by er9x/ersky9x use MULTI_STATUS instead.
#define MULTI_TELEMETRY
On peut également désactiver les protocoles de télémétrie inutilisés :
- Code:
//Comment a line to disable a protocol telemetry
//#define DSM_TELEMETRY // Forward received telemetry packet directly to TX to be decoded
//#define SPORT_TELEMETRY // Use FrSkyX SPORT format to send telemetry to TX
//#define AFHDS2A_FW_TELEMETRY // Forward received telemetry packet directly to TX to be decoded
#define HUB_TELEMETRY // Use FrSkyD Hub format to send telemetry to TX
//#define AFHDS2A_HUB_TELEMETRY // Use FrSkyD Hub format to send telemetry to TX
//#define BAYANG_HUB_TELEMETRY // Use FrSkyD Hub format to send telemetry to TX
#define HUBSAN_HUB_TELEMETRY // Use FrSkyD Hub format to send telemetry to TX
Pour être cohérent, avec l'utilisation du mode série, on vérifiera que l'on a bien #define ENABLE_SERIAL décommenté et #define ENABLE_PPM commenté, vous devez donc avoir :
- Code:
/****************************/
/*** SERIAL MODE SETTINGS ***/
/****************************/
//In this section you can configure the serial mode.
//The serial mode enables full editing of all the parameters in the GUI of the radio.
//This is available natively for ER9X and ERSKY9X. It is available for OpenTX on Taranis with a special version.
//If you do not plan to use the Serial mode comment this line using "//" to save Flash space
#define ENABLE_SERIAL
/*************************/
/*** PPM MODE SETTINGS ***/
/*************************/
//In this section you can configure all details about PPM.
//If you do not plan to use the PPM mode comment this line using "//" to save Flash space, you don't need to configure anything below in this case
#define ENABLE_PPM
//#define ENABLE_PPM
Vous pouvez maintenant compiler le firmware en cliquant sur Sketch-> Verify/Compile dans la barre de menu.
Si tout se passe comme prévu, vous devriez voir quelque chose comme la ligne suivante dans le volet inférieur de la fenêtre :
Sketch uses 32,464 bytes (99%) of program storage space. Maximum is 32,768 bytes.
Global variables use 1,219 bytes (59%) of dynamic memory, leaving 829 bytes for local variables. Maximum is 2,048 bytes.
Dans ce cas vous pouvez flasher votre module.
Votre firmware est toujours trop grand et vous devez désélectionner des protocoles supplémentaires si vous voyez quelque chose comme ceci :
Sketch uses 34,096 bytes (104%) of program storage space. Maximum is 32,768 bytes.
Global variables use 1,236 bytes (60%) of dynamic memory, leaving 812 bytes for local variables. Maximum is 2,048 bytes.
Sketch too big
S'il y a une autre erreur, lisez attentivement l'erreur pour voir le numéro de ligne approximative où vous avez fait une erreur de frappe.
Connexion du programmateur
1. Avant de connecter le programmateur, assurez-vous d'avoir sélectionné le mode 3.3V et non le mode 5V.
Les modules RF ne sont pas tolérants 5V et vous les grillez à 5V. Sur la plupart des programmeurs, cela se fait en déplaçant un cavalier sur le programmeur ou en dessoudant une résistance.
2. Veuillez relire le point 1. ci-dessus avant de continuer.
3. Tournez le commutateur rotatif du module multiprotocole sur la position 0.
Si vous n'avez pas de commutateur (si vous n'utilisez que le mode série), il est identique à la position 0.
Le téléchargement ne fonctionnera pas si le commutateur est dans une autre position.
4. Branchez le connecteur de programmation à 6 broches sur le connecteur 6 broches de la carte multiprotocole 4-en-1.
Assurez-vous de faire correspondre la broche GND du connecteur du programmateur à la broche de masse sur la carte.
5. Vous êtes maintenant prêt à brancher le programmateur USB à l'ordinateur.
Configuration des fuses
6. La première étape consiste à flasher les fusibles du microprocesseur si cela n'a jamais été fait.
Les valeurs de fusibles sont définies dans le fichier boards.txt section Multi 4-in-1 et permettrons d'empêcher l'EEPROM d'être effacée à chaque fois que le microprogramme est flashé (cela préservera votre ID Tx et vous évitera d'avoir à binder tous vos modèles après une mise à jour du firmware) et de ne pas utiliser de bootloader.
- Code:
multi.menu.cpu.16MHzatmega328.bootloader.low_fuses=0xFF
multi.menu.cpu.16MHzatmega328.bootloader.high_fuses=0xD3
multi.menu.cpu.16MHzatmega328.bootloader.extended_fuses=0x05
Ne vous inquiétez pas s'il renvoie l'erreur qu'aucun bootloader n'ait été trouvé (c'est le cas de la carte 4-en-1), il a quand même flashé les fusibles.
Si vous avez défini l'IDE pour fournir la compilation détaillée et la sortie de téléchargement, vous devriez être en mesure de voir la valeur finale des fusibles dans l'IDE Arduino.
Écriture du Firmware
8. Vous êtes maintenant prêt à flasher le firmware. Dans l'IDE d'Arduino, cliquez sur Sketch -> Upload Using Programmer.
Si la sortie indique 32122 bytes of flash verified, très bien, vous avez programmé avec succès votre module.
En cas d'erreur
9. Si vous recevez une erreur indiquant qu'un microprocesseur valide n'a pas été trouvé, il y a quelque chose qui cloche :
- vos connexions
- votre programmateur
- votre carte
Faites une recherche Google avec le message d'erreur spécifique pour obtenir des suggestions de la façon de le corriger.
La cause la plus commune est des problèmes avec la configuration de la connexion et dans certains cas des problèmes avec les programmateurs bon marché de sources chinoises.
Et si ce fantastique projet vous plait, vous pouvez remercier son auteur Pascal Langer avec un don Paypal
Dernière édition par dev.fred le Jeu 15 Juin 2017 - 8:19, édité 23 fois
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
LF a écrit:Je pense utilisé cette façon de faire.
J'en connais un qui va avoir de la lecture
Ceeb182 a écrit:Le prochain à 20h ?
Désolé, je suis en retard
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Bonjour dev.fred,
Dans ton lien: https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/releases.
pourrais-tu enlever le point à la fin du lien, sinon çà envoie vers une page 404.
merci d'avance.
J'utilise l'arduino ide aussi, l'avantage c'est que l'on peut vraiment personnaliser son firmware
Dans ton lien: https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/releases.
pourrais-tu enlever le point à la fin du lien, sinon çà envoie vers une page 404.
merci d'avance.
J'utilise l'arduino ide aussi, l'avantage c'est que l'on peut vraiment personnaliser son firmware
Invité- Invité
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
C'est fait, sinon tu vas aussi utiliser AVRDUDESS ou AVR8, le lien était dans ces 2 pages ?
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
non, j'utilise que l'ide pour le 4 in1 (personnalisation extrême du firm) çà permet d'enlever des protocoles sans désactiver le module RF
par contre j'utilise avr8 pour les petits récepteurs de chez banggood
avrdudess je l'utilise pour d'autres firmwares mais qui n'ont rien à voir avec l'aéromodélisme.
par contre j'utilise avr8 pour les petits récepteurs de chez banggood
avrdudess je l'utilise pour d'autres firmwares mais qui n'ont rien à voir avec l'aéromodélisme.
Invité- Invité
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
C'est vrai que ce n'est pas recommandé, je devrais l'indiquer :
- Code:
/**************************/
/*** RF CHIPS INSTALLED ***/
/**************************/
//There are 4 RF components supported. If one of them is not installed you must comment it using "//".
//If a chip is not installed all associated protocols are disabled.
//4-in-1 modules have all RF chips installed
//!!!If a RF chip is present it MUST be marked as installed!!! or weird things will happen you have been warned.
#define A7105_INSTALLED
#define CYRF6936_INSTALLED
#define CC2500_INSTALLED
#define NRF24L01_INSTALLED
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Dans la doc, il est clairement stipulé qu'il ne faut jamais désactiver une RF si elle est physiquement présente. Sinon, cela peut faire des choses très bizarre.
Donc, avec le module 4 en 1, il ne faut pas désactiver de RF.
Donc, avec le module 4 en 1, il ne faut pas désactiver de RF.
_________________
Pas de support par MP !! Pour garder l'esprit communautaire, on partage tout sur le forum.
Maintenant que vous avez tout lu, vous pouvez poser vos questions !
OpenTX is user friendly!!! It's just selective about who its friends are....
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
A ben grillé.... le temps que je tape mon message...
_________________
Pas de support par MP !! Pour garder l'esprit communautaire, on partage tout sur le forum.
Maintenant que vous avez tout lu, vous pouvez poser vos questions !
OpenTX is user friendly!!! It's just selective about who its friends are....
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
Salut, j'ai un petit problème quand je compile :
Property line '?# See: http://code.google.com/p/arduino/wiki/Platforms' in file C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt is invalid
Erreur de compilation pour la carte Multi 4-in-1
vous avez une idée ?
Merci,
Property line '?# See: http://code.google.com/p/arduino/wiki/Platforms' in file C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt is invalid
Erreur de compilation pour la carte Multi 4-in-1
vous avez une idée ?
Merci,
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
M'enfin ! Maintenant 3 tutoriels ... quel efficacité !dev.fred a écrit:Désolé, je suis en retard
Bon, je retourne à ma sieste.
Ceeb182- Modérateur
- Messages : 2280
Date d'inscription : 29/10/2016
Age : 49
Localisation : France
Re: [TUTO] Mise à jour firmware module multiprotocole BG 4 en 1 ATmega328p
yaya67 a écrit:Property line '?# See: http://code.google.com/p/arduino/wiki/Platforms' in file C:\Program Files (x86)\Arduino\hardware\arduino\avr\boards.txt is invalid
Tu as une erreur de propriété à la ligne '? dans le fichier boards.txt
Si tu utilises le board multi 4-in-1, vérifie le contenu, en particulier les blancs qui peuvent s'introduire après un copié/collé:
- Code:
##############################################################
## Multi 4-in-1 (3.3V, 16 MHz) w/ ATmega328
## --------------------------------------------------
multi.name=Multi 4-in-1
multi.upload.tool=avrdude
multi.upload.protocol=arduino
multi.bootloader.tool=avrdude
multi.bootloader.unlock_bits=0x3F
multi.bootloader.lock_bits=0x0F
multi.build.board=AVR_PRO
multi.build.core=arduino
multi.build.variant=eightanaloginputs
multi.build.extra_flags=-Wl,--relax
multi.menu.cpu.16MHzatmega328=ATmega328 (3.3V, 16 MHz)
multi.menu.cpu.16MHzatmega328.upload.maximum_size=32768
multi.menu.cpu.16MHzatmega328.upload.maximum_data_size=2048
multi.menu.cpu.16MHzatmega328.upload.speed=57600
multi.menu.cpu.16MHzatmega328.bootloader.low_fuses=0xFF
multi.menu.cpu.16MHzatmega328.bootloader.high_fuses=0xD3
multi.menu.cpu.16MHzatmega328.bootloader.extended_fuses=0x05
multi.menu.cpu.16MHzatmega328.build.mcu=atmega328p
multi.menu.cpu.16MHzatmega328.build.f_cpu=16000000L
##############################################################
dev.fred- Messages : 760
Date d'inscription : 07/02/2014
Localisation : Paimpol (22)
Page 1 sur 9 • 1, 2, 3, 4, 5, 6, 7, 8, 9
Sujets similaires
» [Tuto] Mise a jour du firmware et de l'image d'accueil
» Mise jour module externe XJT choix du firmware
» [MINI TUTO facile] Mise à jour d'une radio avec le dernier firmware 2.1.x et récupérer D8 & LR12
» Module "Jumper 4IN1" multi protocole - Mise à jour du Firmware
» [TUTO PRELIMINAIRE] Mise à jour d'une TARANIS X9D / X9D+ / X9E avec le dernier firmware 2.2.x (avec D8 & LR12)
» Mise jour module externe XJT choix du firmware
» [MINI TUTO facile] Mise à jour d'une radio avec le dernier firmware 2.1.x et récupérer D8 & LR12
» Module "Jumper 4IN1" multi protocole - Mise à jour du Firmware
» [TUTO PRELIMINAIRE] Mise à jour d'une TARANIS X9D / X9D+ / X9E avec le dernier firmware 2.2.x (avec D8 & LR12)
Page 1 sur 9
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum