From 9955e7061168e9ee44bdb1421901b2dc3fe1d02e Mon Sep 17 00:00:00 2001 From: GHOSCHT <31184695+GHOSCHT@users.noreply.github.com> Date: Thu, 26 Aug 2021 18:48:24 +0200 Subject: [PATCH] Disable Flash reset on ISP upload --- Devices/Console/Firmware/platformio.ini | 173 ++++++++++++------------ Devices/Control/Firmware/platformio.ini | 153 ++++++++++----------- 2 files changed, 164 insertions(+), 162 deletions(-) diff --git a/Devices/Console/Firmware/platformio.ini b/Devices/Console/Firmware/platformio.ini index 2c6a8d1..e30d415 100644 --- a/Devices/Console/Firmware/platformio.ini +++ b/Devices/Console/Firmware/platformio.ini @@ -1,86 +1,87 @@ -[platformio] -default_envs = Upload_UART ; Default build target - - -; Common settings for all environments -[env] -platform = atmelavr -framework = arduino - -; TARGET SETTINGS -; Chip in use -board = ATmega328P -; Clock frequency in [Hz] -board_build.f_cpu = 16000000L - -; BUILD OPTIONS -; Comment out to enable LTO (this line unflags it) -build_unflags = -flto -; Extra build flags -build_flags = - -; SERIAL MONITOR OPTIONS -; Serial monitor port defined in the Upload_UART environment -monitor_port = ${env:Upload_UART.upload_port} -; Serial monitor baud rate -monitor_speed = 9600 - - -; Run the following command to upload with this environment -; pio run -e Upload_UART -t upload -[env:Upload_UART] -; Serial bootloader protocol -upload_protocol = arduino -; Serial upload port -upload_port = COM4 -; Get upload baud rate defined in the fuses_bootloader environment -board_upload.speed = ${env:fuses_bootloader.board_bootloader.speed} - - -[env:Upload_UART_Forwarded] -; Serial bootloader protocol -upload_protocol = custom -; Serial upload port -upload_port = COM5 -; Get upload baud rate defined in the fuses_bootloader environment -board_upload.speed = ${env:fuses_bootloader.board_bootloader.speed} -upload_flags = - -C$PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf - -p$BOARD_MCU - -P${env:Upload_UART.upload_port} - -carduino - -v - -V - -D -upload_command = python switchDevice.py ${env:Upload_UART_Forwarded.upload_port} && avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i - - -; Run the following command to upload with this environment -; pio run -e Upload_ISP -t upload -[env:Upload_ISP] -; Custom upload procedure -upload_protocol = custom -; Avrdude upload flags -upload_flags = - -C$PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf - -p$BOARD_MCU - -PUSB - -cusbasp -; Avrdude upload command -upload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i - - -; Run the following command to set fuses -; pio run -e fuses_bootloader -t fuses -; Run the following command to set fuses + burn bootloader -; pio run -e fuses_bootloader -t bootloader -[env:fuses_bootloader] -board_hardware.oscillator = external ; Oscillator type -board_hardware.uart = uart0 ; Set UART to use for serial upload -board_bootloader.speed = 115200 ; Set bootloader baud rate -board_hardware.bod = 2.7v ; Set brown-out detection -board_hardware.eesave = yes ; Preserve EEPROM when uploading using programmer -upload_protocol = usbasp ; Use the USBasp as programmer -upload_flags = ; Select USB as upload port and divide the SPI clock by 8 - -PUSB - -B8 +[platformio] +default_envs = Upload_UART ; Default build target + + +; Common settings for all environments +[env] +platform = atmelavr +framework = arduino + +; TARGET SETTINGS +; Chip in use +board = ATmega328P +; Clock frequency in [Hz] +board_build.f_cpu = 16000000L + +; BUILD OPTIONS +; Comment out to enable LTO (this line unflags it) +build_unflags = -flto +; Extra build flags +build_flags = + +; SERIAL MONITOR OPTIONS +; Serial monitor port defined in the Upload_UART environment +monitor_port = ${env:Upload_UART.upload_port} +; Serial monitor baud rate +monitor_speed = 9600 + + +; Run the following command to upload with this environment +; pio run -e Upload_UART -t upload +[env:Upload_UART] +; Serial bootloader protocol +upload_protocol = arduino +; Serial upload port +upload_port = COM4 +; Get upload baud rate defined in the fuses_bootloader environment +board_upload.speed = ${env:fuses_bootloader.board_bootloader.speed} + + +[env:Upload_UART_Forwarded] +; Serial bootloader protocol +upload_protocol = custom +; Serial upload port +upload_port = COM5 +; Get upload baud rate defined in the fuses_bootloader environment +board_upload.speed = ${env:fuses_bootloader.board_bootloader.speed} +upload_flags = + -C$PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf + -p$BOARD_MCU + -P${env:Upload_UART.upload_port} + -carduino + -v + -V + -D +upload_command = python switchDevice.py ${env:Upload_UART_Forwarded.upload_port} && avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i + + +; Run the following command to upload with this environment +; pio run -e Upload_ISP -t upload +[env:Upload_ISP] +; Custom upload procedure +upload_protocol = custom +; Avrdude upload flags +upload_flags = + -C$PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf + -p$BOARD_MCU + -PUSB + -cusbasp + -D +; Avrdude upload command +upload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i + + +; Run the following command to set fuses +; pio run -e fuses_bootloader -t fuses +; Run the following command to set fuses + burn bootloader +; pio run -e fuses_bootloader -t bootloader +[env:fuses_bootloader] +board_hardware.oscillator = external ; Oscillator type +board_hardware.uart = uart0 ; Set UART to use for serial upload +board_bootloader.speed = 115200 ; Set bootloader baud rate +board_hardware.bod = 2.7v ; Set brown-out detection +board_hardware.eesave = yes ; Preserve EEPROM when uploading using programmer +upload_protocol = usbasp ; Use the USBasp as programmer +upload_flags = ; Select USB as upload port and divide the SPI clock by 8 + -PUSB + -B8 diff --git a/Devices/Control/Firmware/platformio.ini b/Devices/Control/Firmware/platformio.ini index 0cd4a5e..bb688e0 100644 --- a/Devices/Control/Firmware/platformio.ini +++ b/Devices/Control/Firmware/platformio.ini @@ -1,76 +1,77 @@ -[platformio] -default_envs = Upload_UART ; Default build target - - -; Common settings for all environments -[env] -platform = atmelavr -framework = arduino - -; TARGET SETTINGS -; Chip in use -board = ATmega328P -; Clock frequency in [Hz] -board_build.f_cpu = 16000000L - -; BUILD OPTIONS -; Comment out to enable LTO (this line unflags it) -build_unflags = -flto -; Extra build flags -build_flags = - -; SERIAL MONITOR OPTIONS -; Serial monitor port defined in the Upload_UART environment -monitor_port = ${env:Upload_UART.upload_port} -; Serial monitor baud rate -monitor_speed = 9600 - - -; Run the following command to upload with this environment -; pio run -e Upload_UART -t upload -[env:Upload_UART] -; Serial bootloader protocol -upload_protocol = custom -; Serial upload port -upload_port = COM5 -; Get upload baud rate defined in the fuses_bootloader environment -board_upload.speed = ${env:fuses_bootloader.board_bootloader.speed} -upload_flags = - -C$PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf - -p$BOARD_MCU - -P${env:Upload_UART.upload_port} - -carduino - -v - -V - -D -upload_command = python enableReset.py ${env:Upload_UART.upload_port} && avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i - -; Run the following command to upload with this environment -; pio run -e Upload_ISP -t upload -[env:Upload_ISP] -; Custom upload procedure -upload_protocol = custom -; Avrdude upload flags -upload_flags = - -C$PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf - -p$BOARD_MCU - -PUSB - -cusbasp -; Avrdude upload command -upload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i - - -; Run the following command to set fuses -; pio run -e fuses_bootloader -t fuses -; Run the following command to set fuses + burn bootloader -; pio run -e fuses_bootloader -t bootloader -[env:fuses_bootloader] -board_hardware.oscillator = external ; Oscillator type -board_hardware.uart = uart0 ; Set UART to use for serial upload -board_bootloader.speed = 115200 ; Set bootloader baud rate -board_hardware.bod = 2.7v ; Set brown-out detection -board_hardware.eesave = yes ; Preserve EEPROM when uploading using programmer -upload_protocol = usbasp ; Use the USBasp as programmer -upload_flags = ; Select USB as upload port and divide the SPI clock by 8 - -PUSB - -B8 +[platformio] +default_envs = Upload_UART ; Default build target + + +; Common settings for all environments +[env] +platform = atmelavr +framework = arduino + +; TARGET SETTINGS +; Chip in use +board = ATmega328P +; Clock frequency in [Hz] +board_build.f_cpu = 16000000L + +; BUILD OPTIONS +; Comment out to enable LTO (this line unflags it) +build_unflags = -flto +; Extra build flags +build_flags = + +; SERIAL MONITOR OPTIONS +; Serial monitor port defined in the Upload_UART environment +monitor_port = ${env:Upload_UART.upload_port} +; Serial monitor baud rate +monitor_speed = 9600 + + +; Run the following command to upload with this environment +; pio run -e Upload_UART -t upload +[env:Upload_UART] +; Serial bootloader protocol +upload_protocol = custom +; Serial upload port +upload_port = COM5 +; Get upload baud rate defined in the fuses_bootloader environment +board_upload.speed = ${env:fuses_bootloader.board_bootloader.speed} +upload_flags = + -C$PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf + -p$BOARD_MCU + -P${env:Upload_UART.upload_port} + -carduino + -v + -V + -D +upload_command = python enableReset.py ${env:Upload_UART.upload_port} && avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i + +; Run the following command to upload with this environment +; pio run -e Upload_ISP -t upload +[env:Upload_ISP] +; Custom upload procedure +upload_protocol = custom +; Avrdude upload flags +upload_flags = + -C$PROJECT_PACKAGES_DIR/tool-avrdude/avrdude.conf + -p$BOARD_MCU + -PUSB + -cusbasp + -D +; Avrdude upload command +upload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i + + +; Run the following command to set fuses +; pio run -e fuses_bootloader -t fuses +; Run the following command to set fuses + burn bootloader +; pio run -e fuses_bootloader -t bootloader +[env:fuses_bootloader] +board_hardware.oscillator = external ; Oscillator type +board_hardware.uart = uart0 ; Set UART to use for serial upload +board_bootloader.speed = 115200 ; Set bootloader baud rate +board_hardware.bod = 2.7v ; Set brown-out detection +board_hardware.eesave = yes ; Preserve EEPROM when uploading using programmer +upload_protocol = usbasp ; Use the USBasp as programmer +upload_flags = ; Select USB as upload port and divide the SPI clock by 8 + -PUSB + -B8