From 4975df9472ecb6762af1a8aacd68b5eef61729e0 Mon Sep 17 00:00:00 2001 From: Piotr Dobrowolski Date: Sat, 27 Feb 2021 16:45:03 +0100 Subject: [PATCH] check in RS485 patch --- ...ansceiver-when-running-the-bootloade.patch | 28 +++++++++++++++++++ notes.md | 13 ++++++++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 0001-Disable-RS485-transceiver-when-running-the-bootloade.patch diff --git a/0001-Disable-RS485-transceiver-when-running-the-bootloade.patch b/0001-Disable-RS485-transceiver-when-running-the-bootloade.patch new file mode 100644 index 0000000..143cdd2 --- /dev/null +++ b/0001-Disable-RS485-transceiver-when-running-the-bootloade.patch @@ -0,0 +1,28 @@ +From e2ff1e8bf05f0f8677e57c91b8cea78551f99413 Mon Sep 17 00:00:00 2001 +From: Piotr Dobrowolski +Date: Mon, 25 Feb 2019 10:57:44 +0100 +Subject: [PATCH] Disable RS485 transceiver when running the bootloader + +--- + optiboot/bootloaders/optiboot/optiboot.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/optiboot/bootloaders/optiboot/optiboot.c b/optiboot/bootloaders/optiboot/optiboot.c +index 9a2c80b..2bae2a8 100644 +--- a/optiboot/bootloaders/optiboot/optiboot.c ++++ b/optiboot/bootloaders/optiboot/optiboot.c +@@ -690,6 +690,11 @@ int main(void) { + #endif + #endif + ++ /* 2019/02/24 inf - disable rs485 transceiver */ ++ PORTD &= ~_BV(3); // 0b1000; ++ PORTD |= _BV(2); // 0b0100; ++ DDRD |= _BV(2) | _BV(3); // 0b1100; ++ + /* Forever loop: exits by causing WDT reset */ + for (;;) { + /* get character from UART */ +-- +2.29.2 + diff --git a/notes.md b/notes.md index d03fbcc..bca1ba9 100644 --- a/notes.md +++ b/notes.md @@ -8,5 +8,16 @@ Prog ==== * avrdude -c avrisp -b 19200 -p m328p -P /dev/ttyUSB5 -vvv -* avrdude -pm328pb -cstk500v1 -P/dev/ttyUSB5 -b19200 -e -Uefuse:w:0xf5:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m +// * avrdude -pm328pb -cstk500v1 -P/dev/ttyUSB5 -b19200 -e -Uefuse:w:0xf5:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m +* avrdude -pm328pb -cstk500v1 -P/dev/ttyUSB5 -b19200 -C avrdude.conf -e -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m * avrdude -pm328pb -cstk500v1 -P/dev/ttyUSB5 -b19200 -Uflash:w:/home/informatic/.arduino15/packages/arduino/hardware/avr/1.6.8/bootloaders/optiboot/optiboot_atmega328.hex:i -Ulock:w:0x0F:m + +* avrdude -pm328p -cstk500v1 -P/dev/ttyUSB5 -b19200 -Uflash:w:optiboot/optiboot/bootloaders/optiboot/optiboot_atmega328.hex:i -Ulock:w:0x0F:m + + +Full flash (no questions asked) +========== +``` +sudo nix-shell -p avrdude --run 'avrdude -pm328pb -c usbasp -C avrdude.conf -e -Uefuse:w:0xf5:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m -Uflash:w:optiboot/optiboot/bootloaders/optiboot/optiboot_atmega328.hex:i -Ulock:w:0xCF:m' + sudo nix-shell -p avrdude --run 'avrdude -pm328p -c usbasp -C avrdude.conf -e -Uefuse:w:0xfD:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m -Uflash:w:optiboot/optiboot/bootloaders/optiboot/optiboot_atmega328.hex:i -Ulock:w:0xCF:m' +```