• Résolu Reboot après 3 ou 4 appuis sur les trims


    Mardi 30 Juin 2020 à 22:44
    activa74

    Bonjour,

    je suis entrain de finalisé ma NSRC. Tout semble fonctionné correctement pour le moment sauf lorsque j'appuis 3 ou 4 fois sur les boutons de trims. Quelque soit le boutons Gauche Droite Haut ou Bas sur les 2 trims.

    Je ne vois vraiment pas d'où cela peut venir.

    Si quelqu'un à une idée.

    Mercredi 1er Juillet 2020 à 12:45
    Franck.A

    Bonjour,

    Est-ce que tes trims sont bien reliés à la masse (et non au +5V) ?

    As-tu bien compilé le firmware depuis un répertoire avec un nom court, sans caractère spécial et à la racine d'un disque local ?

    Mercredi 1er Juillet 2020 à 14:33
    activa74

    Les trims sont bien court circuités au GND lorsqu'on appui sur les boutons.

    Le firmware a été compilé depuis le C. avec un nom court mais je vais refaire la procédure depuis le début avec le flashage des fusibles et du bootloader, puis l'installation du firmware pour voir si ça solutionne le pb.

    Je viens de tout refaire : 

    - flashage des fusibles et du bootloader et erease eeprom

    - installation du firmware que je viens de recompiler pour être sûr en supprimant l'option carte sd et rtc.

    Toujours le même problème, reboot après appuis sur l'un des boutons de trim 3 ou 4 fois quel que soit le bouton. Par exemple appuis trim G haut, puis Trim D bas, puis trim G bas, et la reboot...

    Les sticks et les inter marchent super bien, comme tout le reste d’ailleurs.

    Je ne vois vraiment pas ce que ça peut être.

     

    Jeudi 2 Juillet 2020 à 14:51
    Franck.A

    Bonjour,

    Que les trims génèrent un souci alors que les interrupteurs non est vraiment très curieux, car ils fonctionnent de manière identiques, la seule différence que je vois est que les premiers sont stockés en mémoire. Du coup, une idée : le processus de formatage de l'eeprom a-t-elle bien été lancé ? Si ce n'est pas le cas, la radio cherche à écrire dans la mémoire modèle à la manipulation des trims (vus qu'ils sont stockés) et plante si ladite mémoire n'est pas accessible... c'est juste une hypothèse...

    Franck

    Jeudi 2 Juillet 2020 à 15:01
    activa74

    Je pensais aussi à quelque chose comme ça, c'est pour ça que j'ai tout refais hier depuis le début et tout était ok. Je refais la procédure ce soir pour être sûr.

    Voici le retour lors du flashage bootloder + fuses + eeprom :

    ///////// Effacement eeprom + flash et programmation des fusibles /////////

    Appuyez sur une touche pour continuer...

    avrdude: Version 5.11.1, compiled on Feb 14 2013 at 12:44:50

             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

             Copyright (c) 2007-2009 Joerg Wunsch

             System wide configuration file is "C:\NSRC2\companion\avrdude.conf"

             Using Port                    : usb

             Using Programmer              : usbasp

             AVR Part                      : ATMEGA2560

             Chip Erase delay              : 9000 us

             PAGEL                         : PD7

             BS2                           : PA0

             RESET disposition             : dedicated

             RETRY pulse                   : SCK

             serial program mode           : yes

             parallel program mode         : yes

             Timeout                       : 200

             StabDelay                     : 100

             CmdexeDelay                   : 25

             SyncLoops                     : 32

             ByteDelay                     : 0

             PollIndex                     : 3

             PollValue                     : 0x53

             Memory Detail                 :

                                      Block Poll               Page                       Polled

               Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack

               ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------

               eeprom        65    10     8    0 no       4096    8      0  9000  9000 0x00 0x00

               flash         65    10   256    0 yes    262144  256   1024  4500  4500 0x00 0x00

               lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

               hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

               efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

               lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

               calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

               signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

     

             Programmer Type : usbasp

             Description     : USBasp, http://www.fischl.de/usbasp/

     

    avrdude: auto set sck period (because given equals null)

    avrdude: warning: cannot set sck period. please check for usbasp firmware update.

    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.01s

    avrdude: Device signature = 0x1e9801

    avrdude: erasing chip

    avrdude: auto set sck period (because given equals null)

    avrdude: warning: cannot set sck period. please check for usbasp firmware update.

    avrdude: reading input file "0xFF"

    avrdude: writing lfuse (1 bytes):

    Writing | ################################################## | 100% 0.00s

    avrdude: 1 bytes of lfuse written

    avrdude: verifying lfuse memory against 0xFF:

    avrdude: load data lfuse data from input file 0xFF:

    avrdude: input file 0xFF contains 1 bytes

    avrdude: reading on-chip lfuse data:

    Reading | ################################################## | 100% 0.00s

    avrdude: verifying ...

    avrdude: 1 bytes of lfuse verified

    avrdude: reading input file "0xD8"

    avrdude: writing hfuse (1 bytes):

    Writing | ################################################## | 100% 0.01s

    avrdude: 1 bytes of hfuse written

    avrdude: verifying hfuse memory against 0xD8:

    avrdude: load data hfuse data from input file 0xD8:

    avrdude: input file 0xD8 contains 1 bytes

    avrdude: reading on-chip hfuse data:

    Reading | ################################################## | 100% 0.01s

    avrdude: verifying ...

    avrdude: 1 bytes of hfuse verified

    avrdude: reading input file "0xFD"

    avrdude: writing efuse (1 bytes):

    Writing | ################################################## | 100% 0.01s

    avrdude: 1 bytes of efuse written

    avrdude: verifying efuse memory against 0xFD:

    avrdude: load data efuse data from input file 0xFD:

    avrdude: input file 0xFD contains 1 bytes

    avrdude: reading on-chip efuse data:

    Reading | ################################################## | 100% 0.01s

    avrdude: verifying ...

    avrdude: 1 bytes of efuse verified

    avrdude done.  Thank you.

    Appuyez sur une touche pour continuer...

    ///////// Flashage du bootloader /////////

    Appuyez sur une touche pour continuer...

    avrdude: warning: cannot set sck period. please check for usbasp firmware update.

    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.02s

    avrdude: Device signature = 0x1e9801

    avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed

             To disable this feature, specify the -D option.

    avrdude: erasing chip

    avrdude: warning: cannot set sck period. please check for usbasp firmware update.

    avrdude: reading input file "0x3F"

    avrdude: writing lock (1 bytes):

    Writing | ################################################## | 100% -0.00s

    avrdude: 1 bytes of lock written

    avrdude: verifying lock memory against 0x3F:

    avrdude: load data lock data from input file 0x3F:

    avrdude: input file 0x3F contains 1 bytes

    avrdude: reading on-chip lock data:

    Reading | ################################################## | 100% 0.01s

    avrdude: verifying ...

    avrdude: 1 bytes of lock verified

    avrdude: reading input file "M2560_stk500v2boot_opentx.hex"

    avrdude: input file M2560_stk500v2boot_opentx.hex auto detected as Intel Hex

    avrdude: writing flash (260452 bytes):

    Writing | ################################################## | 100% 174.69s

    avrdude: 260452 bytes of flash written

    avrdude: reading input file "0x0F"

    avrdude: writing lock (1 bytes):

    Writing | ################################################## | 100% 0.01s

    avrdude: 1 bytes of lock written

    avrdude: safemode: Fuses OK

    avrdude done.  Thank you.

    Appuyez sur une touche pour continuer...

    ///////// Transfert de l'eeprom /////////

    Appuyez sur une touche pour continuer...

    avrdude: warning: cannot set sck period. please check for usbasp firmware update.

    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.02s

    avrdude: Device signature = 0x1e9801

    avrdude: reading input file "eeprom_base.bin"

    avrdude: input file eeprom_base.bin auto detected as raw binary

    avrdude: writing eeprom (4096 bytes):

    Writing | ################################################## | 100% 45.40s

    avrdude: 4096 bytes of eeprom written

    avrdude: verifying eeprom memory against eeprom_base.bin:

    avrdude: load data eeprom data from input file eeprom_base.bin:

    avrdude: input file eeprom_base.bin auto detected as raw binary

    avrdude: input file eeprom_base.bin contains 4096 bytes

    avrdude: reading on-chip eeprom data:

    Reading | ################################################## | 100% 2.14s

    avrdude: verifying ...

    avrdude: 4096 bytes of eeprom verified

    avrdude: safemode: Fuses OK

    avrdude done.  Thank you.

    Appuyez sur une touche pour continuer...

     

    La compilation du FW:

     

    -------- begin --------

    Cleaning project:

    rm -f simu

    rm -f opentx.bin

    rm -f opentx.hex

    rm -f opentx.eep

    rm -f opentx.elf

    rm -f opentx.map

    rm -f opentx.sym

    rm -f opentx.lss

    rm -f opentx.lst

    rm -f

    rm -f `find . -name "*.o"`

    rm -f *.d

    rm -f *.lst

    rm -f allsrc.cpp

    rm -f allsimusrc.cpp

    rm -f stamp-opentx.h

    -------- end --------

    -------- begin --------

    avr-gcc (AVR_8_bit_GNU_Toolchain_3.5.3_1700) 4.9.2

    Copyright (C) 2014 Free Software Foundation, Inc.

    This is free software; see the source for copying conditions.  There is NO

    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    for f in main_avr.cpp targets/mega2560/board_mega2560.cpp  targets/mega2560/voice.cpp buzzer_voice.cpp opentx.cpp functions.cpp strhelpers.cpp pulses.cpp switches.cpp curves.cpp mixer.cpp stamp.cpp gui/navigation.cpp gui/popups.cpp gui/widgets.cpp gui/menus.cpp gui/menu_model.cpp gui/menu_model_select.cpp gui/menu_model_setup.cpp gui/menu_model_inputs_mixes.cpp gui/menu_model_limits.cpp gui/menu_model_logical_switches.cpp gui/menu_model_custom_functions.cpp gui/menu_model_telemetry.cpp gui/menu_model_flightmodes.cpp gui/menu_model_curves.cpp gui/menu_general.cpp gui/menu_general_setup.cpp gui/menu_general_trainer.cpp gui/menu_general_version.cpp gui/menu_general_calib.cpp gui/menu_general_diagkeys.cpp gui/menu_general_diaganas.cpp gui/view_main.cpp gui/view_statistics.cpp gui/lcd.cpp gui/splash.cpp gui/fonts.cpp keys.cpp maths.cpp translations.cpp translations/tts_fr.cpp eeprom_common.cpp eeprom_rlc.cpp timers.cpp trainer_input.cpp telemetry/frsky.cpp telemetry/frsky_d.cpp gui/view_telemetry.cpp targets/common/adc_driver.cpp targets/common/lcd_driver.cpp targets/common/telemetry_driver.cpp targets/common/usart_driver.cpp ; do echo "# 1 \"$f\"" >> allsrc.cpp; cat "$f" >> allsrc.cpp; done

    Compiling C++: opentx.elf

    avr-gcc -mmcu=atmega2560 -I. -x c++ -Os -gdwarf-2 -DF_CPU=16000000UL -DPCBMEGA2560 -DCPUM2560 -DEEPROM_RLC -DEEPROM_VARIANT=0 -DROTARY_ENCODERS=2 -DVOICE -DVOICE_JQ6500 -DBUZZER_VOICE -DGUI -DTRANSLATIONS_FR -DTTS_FR -DDEFAULT_MODE=2 -DOFFSET_ON_INPUT -DAUTOSWITCH -DAUTOSOURCE -DDBLKEYS -DSPLASH -DGRAPHICS -DTHRTRACE -DBOLD_FONT -DFONTSTD -DTIMERS=2 -DFLIGHT_MODES -DCURVES -DGVARS -DCORRECT_NEGATIVE_SHIFTS -DFRSKY -DFRSKY_HUB -DGAUGES -DPPM_CENTER_ADJUSTABLE -DPPM_LIMITS_SYMETRICAL -DOVERRIDE_CHANNEL_FUNCTION -DPPM_UNIT_PERCENT_PREC1 -Wall -mrelax -fno-exceptions -Wno-strict-aliasing -Wformat -Wreturn-type -Wunused -Wuninitialized -Wunknown-pragmas -Wno-switch -Wtype-limits -DFLAVOUR=\"mega2560\" -flto -I. -Itranslations -Itargets/mega2560 -Itargets/9x -Ithirdparty/FatFs -Ithirdparty/FatFs/option -Igui -Ifonts/std -Ifonts/sqt5  -fwhole-program -fno-inline-small-functions -mstrict-X allsrc.cpp --output opentx.elf -Wl,-Map=opentx.map,--cref,-Map,opentx.map -lm

    rm -f allsrc.cpp

    rm -f allsimusrc.cpp

    Creating load file for Flash: opentx.hex

    avr-objcopy -O ihex -R .eeprom opentx.elf opentx.hex

    Creating load file for Flash: opentx.bin

    avr-objcopy -O binary  opentx.elf opentx.bin

    Size after:

    AVR Memory Usage

    ----------------

    Device: atmega2560

    Program:   73060 bytes (27.9% Full)

    (.text + .data + .bootloader)

    Data:       3814 bytes (46.6% Full)

    (.data + .bss + .noinit)

    -------- end --------

    Appuyez sur une touche pour continuer...

     

     Le résumé de l'ecriture du FW :

    C:/NSRC/companion/avrdude.exe -c stk500v2 -p m2560 -D -F -P com11 -U flash:w:C:/NSRC2/opentx.hex:i

    =================================================================================

     

    avrdude.exe: AVR device initialized and ready to accept instructions

     

    Reading | ################################################## | 100% 0.01s

     

    avrdude.exe: Device signature = 0x1e9801

    avrdude.exe: reading input file "C:/NSRC2/opentx.hex"

    avrdude.exe: writing flash (73060 bytes):

     

    Writing | ################################################## | 100% 9.88s

     

    avrdude.exe: 73060 bytes of flash written

    avrdude.exe: verifying flash memory against C:/NSRC2/opentx.hex:

    avrdude.exe: load data flash data from input file C:/NSRC2/opentx.hex:

    avrdude.exe: input file C:/NSRC2/opentx.hex contains 73060 bytes

    avrdude.exe: reading on-chip flash data:

     

    Reading | ################################################## | 100% 7.41s

     

    avrdude.exe: verifying ...

    avrdude.exe: 73060 bytes of flash verified

     

    avrdude.exe done. Thank you.

     

     

    Pour moi tout est OK

    Je confirme que le problème est toujours là, qu'est ce que tu en penses?

    ------------------------------------------------------------------------------------------------------------------------------------------------------

    Je tente en exécutant la commande eeprom_vierge.bin au lieu de eeprom_base.bin pour voir.

    Puis installation du FW, mais message EEPROM CORROMPUE au démarrage et toujours le pb.

    ------------------------------------------------------------------------------------------------------------------------------------------------------

    Je tente un M2560_Flash_reset.bat

    C:\NSRC2\companion\avrdude.exe -p m2560 -c stk500v2 -P com11 erase

    C:\NSRC2\companion\avrdude.exe -p m2560 -c stk500v2 -P com11 -U eeprom:r:-:h

    C:\NSRC2\companion\avrdude.exe -p m2560 -c stk500v2 -P com11 -U eeprom:w:blah.eep

    pause

    ------------------------------------------------------------------------------------------------------------------------------------------------------

    Mais toujours le pb.

     Pour info ma carte est une Mega 2560 PRO MINI 5 V :

    https://fr.aliexpress.com/item/32967417746.html?spm=a2g0s.9042311.0.0.27426c375G2lKg

    Samedi 4 Juillet 2020 à 11:52
    Franck.A

    Bonjour,

    Tout à l'air bon... :-(

    Peut-être trois manips avant de déclarer la carte défectueuse :
    - reflasher avec un firmware minimaliste (pas de voice, etc.)
    - débrancher les trims et utiliser un fil volant relié à la masse pour tester les trims
    - vérifier que la tension régulée de 5V ne s'écroule pas à la manipulation des trims

    Franck

     

    Samedi 4 Juillet 2020 à 13:15
    activa74

    Salut Franck,

    1) en reflashant avec un firmware avec

    AUDIO=NO ^

    VOICE=NO ^

    je n'ai plus le pb. Maintenant il reste à comprendre pk.

    Dans le FW qui ne marche pas j'avais 

    AUDIO=VOICE ^

    VOICE=JQ6500 ^

     et je viens de voir d’ailleurs que j'ai un module JQ6500_16P donc j'ai tester aussi avec 

    AUDIO=VOICE ^

    VOICE=JQ6500_16P ^

    mais ça ne fonctionne pas non plus.

    2) Je viens de checker la tension de 5V au scop et c'est tout bon.

    Samedi 4 Juillet 2020 à 15:04
    Franck.A

    Bon, on avance ;-)

    Comme l'action sur les trims génère un son, c'est donc un problème lié à cette génération via la synthèse vocale.

    Reste à tester :
    - brancher le module jq6500, avec les sons correctement chargés (voir le tuto, il y a une subtilité suivant qu'on utilise la mémoire interne ou une carte SD)
    - sinon, reflasher sans audio=voice et en gardant voice=jq65000

     

    Samedi 4 Juillet 2020 à 15:21
    activa74

    Le module est actuellement branché mais sans les sons chargés, c'est peut être ça le pb.

    Je viens de reflasher avec un firmware avec

    AUDIO=NO ^

    VOICE=JQ6500 ^

    et plus de pb.

    Je vais charger les sons dans le module et retester.

    Peux tu me confirmer si il faut mettre JQ6500 ou JQ6500_16P pour mon modiule JQ6500 sans carte sd en 16 pins.

    Je pense qu'on voit le bout du tunnel.

    Samedi 4 Juillet 2020 à 15:37
    Franck.A

    C'est presque gagné, en effet ;-)

    Pour utiliser le module vocal avec sa mémoire interne (que ce soit 16P ou 28P), c'est JQ65000_16P. L'autre driver est pour le 28P + carte SD.




    Vous devez être membre pour poster un message.