I just updated USB2DB15 to the latest version (I had to use an USB2TTL programmer).
Profiles work OK because I can set 4 different configurations with COIN+UP, COIN+DOWN, COIN+LEFT and COIN+RIGHT. I can set different mappings for them and then change between them and they work as they were configured.
But they are lost when I power off the console. When I power it on again, all the mappings are lost.
The programming output was OK, including the verification.
Any idea on what's wrong?
Is there any keys combination to do to "save" the mapping to the arduino, or it's saved as soon as you release COIN/SELECT?
Bash:
$ avrdude \
-C ~/avrdude.conf \
-v -p m328p -c arduino \
-P /dev/ttyUSB0 -b 57600 \
-U flash:w:RFUSB_to_DB15.ino.hex:i
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "~/avrdude.conf"
User configuration file is "~/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyUSB0
Using Programmer : arduino
Overriding Baud Rate : 57600
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
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 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 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 : Arduino
Description : Arduino
Hardware Version: 2
Firmware Version: 1.16
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
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: reading input file "RFUSB_to_DB15.ino.hex"
avrdude: writing flash (26086 bytes):
Writing | ################################################## | 100% 6.94s
avrdude: 26086 bytes of flash written
avrdude: verifying flash memory against RFUSB_to_DB15.ino.hex:
avrdude: load data flash data from input file RFUSB_to_DB15.ino.hex:
avrdude: input file RFUSB_to_DB15.ino.hex contains 26086 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 5.30s
avrdude: verifying ...
avrdude: 26086 bytes of flash verified
avrdude: safemode: lfuse reads as 0
avrdude: safemode: hfuse reads as 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK (E:00, H:00, L:00)
avrdude done. Thank you.
PS: By the way, to be able to flash it, I had to connect DTR, TX and RX directly to the Arduino Mini, and Vcc and Gnd to the shield. Using the DTR / TR / RX in the shield was not resetting the arduino and giving no response to avrdude... like if they were not connected to the Arduino. So I set VCC/GND to the shield and DTR / TR / RX directly to the arduino and then I was able to flash the latest version.