From f9d721ac02c0dc481fc2839e2b88c065eb72e576 Mon Sep 17 00:00:00 2001 From: Martin Preuss Date: Mon, 18 Aug 2025 18:46:46 +0200 Subject: [PATCH] removed unused device nodes. - n00 - n06 - n11 - n12 - n15 - n17 - n18 - n19 - n20 - n22 - n23 - r02 - r04 - x03 --- avr/devices/0BUILD | 7 +- avr/devices/n00/.gitignore | 2 - avr/devices/n00/0BUILD | 52 ---- avr/devices/n00/n00_boot.asm | 143 --------- avr/devices/n00/n00_defs.asm | 135 --------- avr/devices/n00/n00_main.asm | 363 ---------------------- avr/devices/n06/.gitignore | 2 - avr/devices/n06/0BUILD | 52 ---- avr/devices/n06/n06_boot.asm | 142 --------- avr/devices/n06/n06_defs.asm | 139 --------- avr/devices/n06/n06_main.asm | 363 ---------------------- avr/devices/n11/.gitignore | 2 - avr/devices/n11/0BUILD | 52 ---- avr/devices/n11/n11_boot.asm | 142 --------- avr/devices/n11/n11_defs.asm | 172 ----------- avr/devices/n11/n11_main.asm | 522 -------------------------------- avr/devices/n12/.gitignore | 2 - avr/devices/n12/0BUILD | 52 ---- avr/devices/n12/n12_boot.asm | 144 --------- avr/devices/n12/n12_defs.asm | 175 ----------- avr/devices/n12/n12_main.asm | 480 ----------------------------- avr/devices/n15/.gitignore | 2 - avr/devices/n15/0BUILD | 52 ---- avr/devices/n15/n15_boot.asm | 178 ----------- avr/devices/n15/n15_defs.asm | 176 ----------- avr/devices/n15/n15_main.asm | 462 ---------------------------- avr/devices/n17/.gitignore | 2 - avr/devices/n17/0BUILD | 52 ---- avr/devices/n17/n17_boot.asm | 178 ----------- avr/devices/n17/n17_defs.asm | 127 -------- avr/devices/n17/n17_main.asm | 459 ---------------------------- avr/devices/n18/.gitignore | 2 - avr/devices/n18/0BUILD | 52 ---- avr/devices/n18/boot.asm | 140 --------- avr/devices/n18/defs.asm | 103 ------- avr/devices/n18/main.asm | 379 ----------------------- avr/devices/n19/.gitignore | 2 - avr/devices/n19/0BUILD | 17 -- avr/devices/n19/README | 13 - avr/devices/n19/boot/0BUILD | 32 -- avr/devices/n19/boot/boot.asm | 138 --------- avr/devices/n19/defs.asm | 104 ------- avr/devices/n19/main/0BUILD | 33 -- avr/devices/n19/main/main.asm | 176 ----------- avr/devices/n20/.gitignore | 2 - avr/devices/n20/0BUILD | 17 -- avr/devices/n20/README | 13 - avr/devices/n20/boot/0BUILD | 32 -- avr/devices/n20/boot/boot.asm | 129 -------- avr/devices/n20/defs.asm | 135 --------- avr/devices/n20/main/0BUILD | 33 -- avr/devices/n20/main/main.asm | 222 -------------- avr/devices/n22/.gitignore | 2 - avr/devices/n22/0BUILD | 17 -- avr/devices/n22/README | 15 - avr/devices/n22/boot/0BUILD | 32 -- avr/devices/n22/boot/boot.asm | 129 -------- avr/devices/n22/defs.asm | 88 ------ avr/devices/n22/main/0BUILD | 33 -- avr/devices/n22/main/main.asm | 206 ------------- avr/devices/n23/.gitignore | 2 - avr/devices/n23/0BUILD | 22 -- avr/devices/n23/README | 14 - avr/devices/n23/aqua_n23.xml | 28 -- avr/devices/n23/boot/0BUILD | 32 -- avr/devices/n23/boot/boot.asm | 134 -------- avr/devices/n23/defs.asm | 148 --------- avr/devices/n23/main/0BUILD | 34 --- avr/devices/n23/main/data.asm | 14 - avr/devices/n23/main/main.asm | 221 -------------- avr/devices/r02/.gitignore | 2 - avr/devices/r02/0BUILD | 52 ---- avr/devices/r02/boot.asm | 163 ---------- avr/devices/r02/defs.asm | 87 ------ avr/devices/r02/main.asm | 448 --------------------------- avr/devices/r04/.gitignore | 2 - avr/devices/r04/0BUILD | 23 -- avr/devices/r04/README | 13 - avr/devices/r04/aqua_r04.xml | 34 --- avr/devices/r04/boot/0BUILD | 32 -- avr/devices/r04/boot/boot.asm | 152 ---------- avr/devices/r04/defs.asm | 118 -------- avr/devices/r04/main/0BUILD | 33 -- avr/devices/r04/main/main.asm | 418 ------------------------- avr/devices/r04/test/0BUILD | 33 -- avr/devices/r04/test/main.asm | 259 ---------------- avr/devices/x03/0BUILD | 11 - avr/devices/x03/ccs811/0BUILD | 52 ---- avr/devices/x03/ccs811/boot.asm | 124 -------- avr/devices/x03/ccs811/defs.asm | 134 -------- avr/devices/x03/ccs811/main.asm | 344 --------------------- avr/devices/x03/uart/.gitignore | 2 - avr/devices/x03/uart/0BUILD | 52 ---- avr/devices/x03/uart/boot.asm | 162 ---------- avr/devices/x03/uart/defs.asm | 72 ----- avr/devices/x03/uart/main.asm | 221 -------------- 96 files changed, 1 insertion(+), 10818 deletions(-) delete mode 100644 avr/devices/n00/.gitignore delete mode 100644 avr/devices/n00/0BUILD delete mode 100644 avr/devices/n00/n00_boot.asm delete mode 100644 avr/devices/n00/n00_defs.asm delete mode 100644 avr/devices/n00/n00_main.asm delete mode 100644 avr/devices/n06/.gitignore delete mode 100644 avr/devices/n06/0BUILD delete mode 100644 avr/devices/n06/n06_boot.asm delete mode 100644 avr/devices/n06/n06_defs.asm delete mode 100644 avr/devices/n06/n06_main.asm delete mode 100644 avr/devices/n11/.gitignore delete mode 100644 avr/devices/n11/0BUILD delete mode 100644 avr/devices/n11/n11_boot.asm delete mode 100644 avr/devices/n11/n11_defs.asm delete mode 100644 avr/devices/n11/n11_main.asm delete mode 100644 avr/devices/n12/.gitignore delete mode 100644 avr/devices/n12/0BUILD delete mode 100644 avr/devices/n12/n12_boot.asm delete mode 100644 avr/devices/n12/n12_defs.asm delete mode 100644 avr/devices/n12/n12_main.asm delete mode 100644 avr/devices/n15/.gitignore delete mode 100644 avr/devices/n15/0BUILD delete mode 100644 avr/devices/n15/n15_boot.asm delete mode 100644 avr/devices/n15/n15_defs.asm delete mode 100644 avr/devices/n15/n15_main.asm delete mode 100644 avr/devices/n17/.gitignore delete mode 100644 avr/devices/n17/0BUILD delete mode 100644 avr/devices/n17/n17_boot.asm delete mode 100644 avr/devices/n17/n17_defs.asm delete mode 100644 avr/devices/n17/n17_main.asm delete mode 100644 avr/devices/n18/.gitignore delete mode 100644 avr/devices/n18/0BUILD delete mode 100644 avr/devices/n18/boot.asm delete mode 100644 avr/devices/n18/defs.asm delete mode 100644 avr/devices/n18/main.asm delete mode 100644 avr/devices/n19/.gitignore delete mode 100644 avr/devices/n19/0BUILD delete mode 100644 avr/devices/n19/README delete mode 100644 avr/devices/n19/boot/0BUILD delete mode 100644 avr/devices/n19/boot/boot.asm delete mode 100644 avr/devices/n19/defs.asm delete mode 100644 avr/devices/n19/main/0BUILD delete mode 100644 avr/devices/n19/main/main.asm delete mode 100644 avr/devices/n20/.gitignore delete mode 100644 avr/devices/n20/0BUILD delete mode 100644 avr/devices/n20/README delete mode 100644 avr/devices/n20/boot/0BUILD delete mode 100644 avr/devices/n20/boot/boot.asm delete mode 100644 avr/devices/n20/defs.asm delete mode 100644 avr/devices/n20/main/0BUILD delete mode 100644 avr/devices/n20/main/main.asm delete mode 100644 avr/devices/n22/.gitignore delete mode 100644 avr/devices/n22/0BUILD delete mode 100644 avr/devices/n22/README delete mode 100644 avr/devices/n22/boot/0BUILD delete mode 100644 avr/devices/n22/boot/boot.asm delete mode 100644 avr/devices/n22/defs.asm delete mode 100644 avr/devices/n22/main/0BUILD delete mode 100644 avr/devices/n22/main/main.asm delete mode 100644 avr/devices/n23/.gitignore delete mode 100644 avr/devices/n23/0BUILD delete mode 100644 avr/devices/n23/README delete mode 100644 avr/devices/n23/aqua_n23.xml delete mode 100644 avr/devices/n23/boot/0BUILD delete mode 100644 avr/devices/n23/boot/boot.asm delete mode 100644 avr/devices/n23/defs.asm delete mode 100644 avr/devices/n23/main/0BUILD delete mode 100644 avr/devices/n23/main/data.asm delete mode 100644 avr/devices/n23/main/main.asm delete mode 100644 avr/devices/r02/.gitignore delete mode 100644 avr/devices/r02/0BUILD delete mode 100644 avr/devices/r02/boot.asm delete mode 100644 avr/devices/r02/defs.asm delete mode 100644 avr/devices/r02/main.asm delete mode 100644 avr/devices/r04/.gitignore delete mode 100644 avr/devices/r04/0BUILD delete mode 100644 avr/devices/r04/README delete mode 100644 avr/devices/r04/aqua_r04.xml delete mode 100644 avr/devices/r04/boot/0BUILD delete mode 100644 avr/devices/r04/boot/boot.asm delete mode 100644 avr/devices/r04/defs.asm delete mode 100644 avr/devices/r04/main/0BUILD delete mode 100644 avr/devices/r04/main/main.asm delete mode 100644 avr/devices/r04/test/0BUILD delete mode 100644 avr/devices/r04/test/main.asm delete mode 100644 avr/devices/x03/0BUILD delete mode 100644 avr/devices/x03/ccs811/0BUILD delete mode 100644 avr/devices/x03/ccs811/boot.asm delete mode 100644 avr/devices/x03/ccs811/defs.asm delete mode 100644 avr/devices/x03/ccs811/main.asm delete mode 100644 avr/devices/x03/uart/.gitignore delete mode 100644 avr/devices/x03/uart/0BUILD delete mode 100644 avr/devices/x03/uart/boot.asm delete mode 100644 avr/devices/x03/uart/defs.asm delete mode 100644 avr/devices/x03/uart/main.asm diff --git a/avr/devices/0BUILD b/avr/devices/0BUILD index 99d2668..be0570c 100644 --- a/avr/devices/0BUILD +++ b/avr/devices/0BUILD @@ -28,20 +28,15 @@ c02 n14 n16 - n19 - n20 n21 - n22 - n23 n24 n25 n26 n27 - r04 r05 r06 - t03 s03 + t03 diff --git a/avr/devices/n00/.gitignore b/avr/devices/n00/.gitignore deleted file mode 100644 index 8e0618c..0000000 --- a/avr/devices/n00/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.eep.hex -*.obj diff --git a/avr/devices/n00/0BUILD b/avr/devices/n00/0BUILD deleted file mode 100644 index aaaaf7e..0000000 --- a/avr/devices/n00/0BUILD +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - n00_main.asm - - - - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - n00_boot.asm - - - - - - - - - - - n00_defs.asm - - - - - - diff --git a/avr/devices/n00/n00_boot.asm b/avr/devices/n00/n00_boot.asm deleted file mode 100644 index 209cd84..0000000 --- a/avr/devices/n00/n00_boot.asm +++ /dev/null @@ -1,143 +0,0 @@ -; *************************************************************************** -; Source file for base system node on AtTiny 84 -; -; This is for the maintenance system (i.e. the flash loader). -; -; All definitions and changes should go into this file. -; *************************************************************************** - -.equ clock=1000000 ; Define the clock frequency - -.nolist -.include "include/tn84def.inc" ; Define device ATtiny84 -.list - -.include "./n00_defs.asm" -.include "defs_all.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - -.include "common/utils_wait.asm" -.include "modules/com2/defs.asm" -.include "modules/comproto/defs.asm" - - - -; --------------------------------------------------------------------------- -; firmware settings - -.equ FIRMWARE_VERSION_MAJOR = 0 -.equ FIRMWARE_VERSION_MINOR = 0 -.equ FIRMWARE_VERSION_PATCHLEVEL = 1 - - - -; --------------------------------------------------------------------------- -; LED - -.equ LED_DDR = DDRA -.equ LED_PORT = PORTA -.equ LED_PIN = PINA -.equ LED_PINNUM = PORTA3 - - -; *************************************************************************** -; code segment - -.cseg -.org 0x0000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors -; rjmp start ; Reset vector - rjmp main ; Reset vector - reti ; EXT_INT0 - reti ; PCI0 - reti ; PCI1 - reti ; WATCHDOG - reti ; ICP1 - reti ; OC1A - reti ; OC1B - reti ; OVF1 - reti ; OC0A - reti ; OC0B - reti ; OVF0 - reti ; ACI - reti ; ADCC - reti ; ERDY - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db 'N', 0 -devInfoVersion: .db 0, 1 ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_BOOT, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main ; will be overwritten when flashing - - - -; *************************************************************************** -; main code - - -.org BOOTLOADER_ADDR - - -main: - rjmp bootLoader ; this routine is in modules/flash/proto.asm - - - - -; *************************************************************************** -; includes - -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" - -.include "modules/flash/defs.asm" -.include "modules/flash/eeprom.asm" -.include "modules/flash/io.asm" -.include "modules/flash/io_attn.asm" -.include "modules/flash/io_bitbang.asm" -.include "modules/flash/flash1p.asm" -.include "modules/flash/flashprocess.asm" -.include "modules/flash/wait.asm" -.include "modules/bootloader/main.asm" -.include "modules/network/msg/defs.asm" -.include "modules/network/msg/crc.asm" - - - -systemSetSpeed: -.if clock == 8000000 - ldi r16, (1< - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - n06_main.asm - - - - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - n06_boot.asm - - - - - - - - - - - n06_defs.asm - - - - - - diff --git a/avr/devices/n06/n06_boot.asm b/avr/devices/n06/n06_boot.asm deleted file mode 100644 index cf83e97..0000000 --- a/avr/devices/n06/n06_boot.asm +++ /dev/null @@ -1,142 +0,0 @@ -; *************************************************************************** -; Source file for base system node on AtTiny 84 -; -; This is for the maintenance system (i.e. the flash loader). -; -; All definitions and changes should go into this file. -; *************************************************************************** - -.equ clock=1000000 ; Define the clock frequency - -.nolist -.include "include/tn84def.inc" ; Define device ATtiny84 -.list - -.include "./n06_defs.asm" -.include "defs_all.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - -.include "common/utils_wait.asm" -.include "modules/com2/defs.asm" -.include "modules/comproto/defs.asm" - - - -; --------------------------------------------------------------------------- -; firmware settings - -.equ FIRMWARE_VERSION_MAJOR = 0 -.equ FIRMWARE_VERSION_MINOR = 0 -.equ FIRMWARE_VERSION_PATCHLEVEL = 1 - - - -; --------------------------------------------------------------------------- -; LED - -.equ LED_DDR = DDRA -.equ LED_PORT = PORTA -.equ LED_PIN = PINA -.equ LED_PINNUM = PORTA3 - - -; *************************************************************************** -; code segment - -.cseg -.org 0x0000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors -; rjmp start ; Reset vector - rjmp main ; Reset vector - reti ; EXT_INT0 - reti ; PCI0 - reti ; PCI1 - reti ; WATCHDOG - reti ; ICP1 - reti ; OC1A - reti ; OC1B - reti ; OVF1 - reti ; OC0A - reti ; OC0B - reti ; OVF0 - reti ; ACI - reti ; ADCC - reti ; ERDY - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_BOOT, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main ; will be overwritten when flashing - - - -; *************************************************************************** -; main code - - -.org BOOTLOADER_ADDR - - -main: - rjmp bootLoader ; this routine is in modules/flash/proto.asm - - - - -; *************************************************************************** -; includes - -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" - -.include "modules/flash/defs.asm" -.include "modules/flash/eeprom.asm" -.include "modules/flash/io.asm" -.include "modules/flash/io_attn.asm" -.include "modules/flash/io_bitbang.asm" -.include "modules/flash/flash1p.asm" -.include "modules/flash/flashprocess.asm" -.include "modules/flash/wait.asm" -.include "modules/bootloader/main.asm" -.include "modules/network/msg/defs.asm" -.include "modules/network/msg/crc.asm" - - - -systemSetSpeed: -.if clock == 8000000 - ldi r16, (1< - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - n11_main.asm - - - - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - n11_boot.asm - - - - - - - - - - - n11_defs.asm - - - - - - diff --git a/avr/devices/n11/n11_boot.asm b/avr/devices/n11/n11_boot.asm deleted file mode 100644 index 5db7a4d..0000000 --- a/avr/devices/n11/n11_boot.asm +++ /dev/null @@ -1,142 +0,0 @@ -; *************************************************************************** -; Source file for base system node on AtTiny 84 -; -; This is for the maintenance system (i.e. the flash loader). -; -; All definitions and changes should go into this file. -; *************************************************************************** - -.equ clock=1000000 ; Define the clock frequency - -.nolist -.include "include/tn84def.inc" ; Define device ATtiny84 -.list - -.include "n11_defs.asm" -.include "defs_all.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - -.include "common/utils_wait.asm" -.include "modules/com2/defs.asm" -.include "modules/comproto/defs.asm" - - - -; --------------------------------------------------------------------------- -; firmware settings - -.equ FIRMWARE_VERSION_MAJOR = 0 -.equ FIRMWARE_VERSION_MINOR = 0 -.equ FIRMWARE_VERSION_PATCHLEVEL = 1 - - - -; --------------------------------------------------------------------------- -; LED - -.equ LED_DDR = DDRA -.equ LED_PORT = PORTA -.equ LED_PIN = PINA -.equ LED_PINNUM = PORTA3 - - -; *************************************************************************** -; code segment - -.cseg -.org 0x0000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors -; rjmp start ; Reset vector - rjmp main ; Reset vector - reti ; EXT_INT0 - reti ; PCI0 - reti ; PCI1 - reti ; WATCHDOG - reti ; ICP1 - reti ; OC1A - reti ; OC1B - reti ; OVF1 - reti ; OC0A - reti ; OC0B - reti ; OVF0 - reti ; ACI - reti ; ADCC - reti ; ERDY - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_BOOT, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main ; will be overwritten when flashing - - - -; *************************************************************************** -; main code - - -.org BOOTLOADER_ADDR - - -main: - rjmp bootLoader ; this routine is in modules/flash/proto.asm - - - - -; *************************************************************************** -; includes - -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" - -.include "modules/flash/defs.asm" -.include "modules/flash/eeprom.asm" -.include "modules/flash/io.asm" -.include "modules/flash/io_attn.asm" -.include "modules/flash/io_bitbang.asm" -.include "modules/flash/flash1p.asm" -.include "modules/flash/flashprocess.asm" -.include "modules/flash/wait.asm" -.include "modules/bootloader/main.asm" -.include "modules/network/msg/defs.asm" -.include "modules/network/msg/crc.asm" - - - -systemSetSpeed: -.if clock == 8000000 - ldi r16, (1< - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - n12_main.asm - - - - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - n12_boot.asm - - - - - - - - - - - n12_defs.asm - - - - - - diff --git a/avr/devices/n12/n12_boot.asm b/avr/devices/n12/n12_boot.asm deleted file mode 100644 index 58f20d8..0000000 --- a/avr/devices/n12/n12_boot.asm +++ /dev/null @@ -1,144 +0,0 @@ -; *************************************************************************** -; Source file for base system node on AtTiny 84 -; -; This is for the maintenance system (i.e. the flash loader). -; -; All definitions and changes should go into this file. -; -; -; *************************************************************************** - -.equ clock=1000000 ; Define the clock frequency - -.nolist -.include "include/tn84def.inc" ; Define device ATtiny84 -.list - -.include "n12_defs.asm" -.include "defs_all.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - -.include "common/utils_wait.asm" -.include "modules/com2/defs.asm" -.include "modules/comproto/defs.asm" - - -; --------------------------------------------------------------------------- -; firmware settings - -.equ FIRMWARE_VERSION_MAJOR = 0 -.equ FIRMWARE_VERSION_MINOR = 0 -.equ FIRMWARE_VERSION_PATCHLEVEL = 1 - - -; --------------------------------------------------------------------------- -; LED - -.equ LED_DDR = DDRA -.equ LED_PORT = PORTA -.equ LED_PIN = PINA -.equ LED_PINNUM = PORTA7 - - - -; *************************************************************************** -; code segment - -.cseg -.org 0x0000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors -; rjmp start ; Reset vector - rjmp main ; Reset vector - reti ; EXT_INT0 - reti ; PCI0 - reti ; PCI1 - reti ; WATCHDOG - reti ; ICP1 - reti ; OC1A - reti ; OC1B - reti ; OVF1 - reti ; OC0A - reti ; OC0B - reti ; OVF0 - reti ; ACI - reti ; ADCC - reti ; ERDY - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_BOOT, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main ; will be overwritten when flashing - - - -; *************************************************************************** -; main code - - -.org BOOTLOADER_ADDR - - -main: - rjmp bootLoader ; this routine is in modules/flash/proto.asm - - - - -; *************************************************************************** -; includes - -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" - -.include "modules/flash/defs.asm" -.include "modules/flash/eeprom.asm" -.include "modules/flash/io.asm" -.include "modules/flash/io_attn.asm" -.include "modules/flash/io_bitbang.asm" -.include "modules/flash/flash1p.asm" -.include "modules/flash/flashprocess.asm" -.include "modules/flash/wait.asm" -.include "modules/bootloader/main.asm" -.include "modules/network/msg/defs.asm" -.include "modules/network/msg/crc.asm" - - - -systemSetSpeed: -.if clock == 8000000 - ldi r16, (1< - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - n15_main.asm - - - - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - n15_boot.asm - - - - - - - - - - - n15_defs.asm - - - - - - diff --git a/avr/devices/n15/n15_boot.asm b/avr/devices/n15/n15_boot.asm deleted file mode 100644 index b64771d..0000000 --- a/avr/devices/n15/n15_boot.asm +++ /dev/null @@ -1,178 +0,0 @@ -; *************************************************************************** -; Source file for base system node on AtTiny 84 -; -; This is for the maintenance system (i.e. the flash loader). -; -; All definitions and changes should go into this file. -; *************************************************************************** - -.equ clock=1000000 ; Define the clock frequency - -.nolist -.include "include/tn84def.inc" ; Define device ATtiny84 -.list - -.include "n15_defs.asm" -.include "defs_all.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - -.include "common/utils_wait.asm" -.include "modules/com2/defs.asm" -.include "modules/comproto/defs.asm" - - - -; --------------------------------------------------------------------------- -; firmware settings - -.equ FIRMWARE_VERSION_MAJOR = 0 -.equ FIRMWARE_VERSION_MINOR = 0 -.equ FIRMWARE_VERSION_PATCHLEVEL = 1 - - - -; --------------------------------------------------------------------------- -; LED - -.equ LED_DDR = DDRA -.equ LED_PORT = PORTA -.equ LED_PIN = PINA -.equ LED_PINNUM = PORTA3 - - -; *************************************************************************** -; code segment - -.cseg -.org 0x0000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors -; rjmp start ; Reset vector - rjmp main ; Reset vector - reti ; EXT_INT0 - reti ; PCI0 - reti ; PCI1 - reti ; WATCHDOG - reti ; ICP1 - reti ; OC1A - reti ; OC1B - reti ; OVF1 - reti ; OC0A - reti ; OC0B - reti ; OVF0 - reti ; ACI - reti ; ADCC - reti ; ERDY - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_BOOT, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main ; will be overwritten when flashing - - - -; *************************************************************************** -; main code - - -.org BOOTLOADER_ADDR - - -main: - rjmp bootLoader ; this routine is in modules/flash/proto.asm - - - - -; *************************************************************************** -; includes - -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" - -.include "modules/flash/defs.asm" -.include "modules/flash/eeprom.asm" -.include "modules/flash/io.asm" -.include "modules/flash/io_attn.asm" -.include "modules/flash/io_bitbang.asm" -.include "modules/flash/flash1p.asm" -.include "modules/flash/flashprocess.asm" -.include "modules/flash/wait.asm" -.include "modules/bootloader/main.asm" -.include "modules/network/msg/defs.asm" -.include "modules/network/msg/crc.asm" - - - -systemSetSpeed: -.if clock == 8000000 - ldi r16, (1< - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - n17_main.asm - - - - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - n17_boot.asm - - - - - - - - - - - n17_defs.asm - - - - - - diff --git a/avr/devices/n17/n17_boot.asm b/avr/devices/n17/n17_boot.asm deleted file mode 100644 index 3730141..0000000 --- a/avr/devices/n17/n17_boot.asm +++ /dev/null @@ -1,178 +0,0 @@ -; *************************************************************************** -; Source file for base system node on AtTiny 84 -; -; This is for the maintenance system (i.e. the flash loader). -; -; All definitions and changes should go into this file. -; *************************************************************************** - -.equ clock=1000000 ; Define the clock frequency - -.nolist -.include "include/tn84def.inc" ; Define device ATtiny84 -.list - -.include "n17_defs.asm" -.include "defs_all.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - -.include "common/utils_wait.asm" -.include "modules/com2/defs.asm" -.include "modules/comproto/defs.asm" - - - -; --------------------------------------------------------------------------- -; firmware settings - -.equ FIRMWARE_VERSION_MAJOR = 0 -.equ FIRMWARE_VERSION_MINOR = 0 -.equ FIRMWARE_VERSION_PATCHLEVEL = 1 - - - -; --------------------------------------------------------------------------- -; LED - -.equ LED_DDR = DDRA -.equ LED_PORT = PORTA -.equ LED_PIN = PINA -.equ LED_PINNUM = PORTA3 - - -; *************************************************************************** -; code segment - -.cseg -.org 0x0000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors -; rjmp start ; Reset vector - rjmp main ; Reset vector - reti ; EXT_INT0 - reti ; PCI0 - reti ; PCI1 - reti ; WATCHDOG - reti ; ICP1 - reti ; OC1A - reti ; OC1B - reti ; OVF1 - reti ; OC0A - reti ; OC0B - reti ; OVF0 - reti ; ACI - reti ; ADCC - reti ; ERDY - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_BOOT, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main ; will be overwritten when flashing - - - -; *************************************************************************** -; main code - - -.org BOOTLOADER_ADDR - - -main: - rjmp bootLoader ; this routine is in modules/flash/proto.asm - - - - -; *************************************************************************** -; includes - -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" - -.include "modules/flash/defs.asm" -.include "modules/flash/eeprom.asm" -.include "modules/flash/io.asm" -.include "modules/flash/io_attn.asm" -.include "modules/flash/io_bitbang.asm" -.include "modules/flash/flash1p.asm" -.include "modules/flash/flashprocess.asm" -.include "modules/flash/wait.asm" -.include "modules/bootloader/main.asm" -.include "modules/network/msg/defs.asm" -.include "modules/network/msg/crc.asm" - - - -systemSetSpeed: -.if clock == 8000000 - ldi r16, (1< - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - main.asm - - - - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - boot.asm - - - - - - - - - - - defs.asm - - - - - - diff --git a/avr/devices/n18/boot.asm b/avr/devices/n18/boot.asm deleted file mode 100644 index d201486..0000000 --- a/avr/devices/n18/boot.asm +++ /dev/null @@ -1,140 +0,0 @@ -; *************************************************************************** -; Source file for base system node on AtTiny 85 -; -; This is for the maintenance system (i.e. the flash loader). -; -; All definitions and changes should go into this file. -; -; -; *************************************************************************** - -.equ clock=1000000 ; Define the clock frequency - -.nolist -.include "include/tn85def.inc" ; Define device ATtiny85 -.list - -.include "./defs.asm" -.include "defs_all.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - -.include "common/utils_wait.asm" -.include "modules/com2/defs.asm" -.include "modules/comproto/defs.asm" - - -; --------------------------------------------------------------------------- -; firmware settings - -.equ FIRMWARE_VERSION_MAJOR = 0 -.equ FIRMWARE_VERSION_MINOR = 0 -.equ FIRMWARE_VERSION_PATCHLEVEL = 1 - - -; --------------------------------------------------------------------------- -; LED - -.equ LED_DDR = DDRB -.equ LED_PORT = PORTB -.equ LED_PIN = PINB -.equ LED_PINNUM = PORTB3 - - - -; *************************************************************************** -; code segment - -.cseg -.org 0x0000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors - rjmp main ; Reset vector - reti ; EXT_INT0 - reti ; PCI0 - reti ; OC1A - reti ; OVF1 - reti ; OVF0 - reti ; ERDY - reti ; ACI - reti ; ADCC - reti ; OC1B - reti ; OC0A - reti ; OC0B - reti ; WATCHDOG - reti ; USI_STR - reti ; USI_OVF - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_BOOT, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main ; will be overwritten when flashing - - - -; *************************************************************************** -; main code - - -.org BOOTLOADER_ADDR - - -main: - rjmp bootLoader ; this routine is in modules/flash/proto.asm - - - - -; *************************************************************************** -; includes - -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" - -.include "modules/flash/defs.asm" -.include "modules/flash/eeprom.asm" -.include "modules/flash/io.asm" -.include "modules/flash/io_attn.asm" -.include "modules/flash/io_bitbang.asm" -.include "modules/flash/flash1p.asm" -.include "modules/flash/flashprocess.asm" -.include "modules/flash/wait.asm" -.include "modules/bootloader/main.asm" -.include "modules/network/msg/defs.asm" -.include "modules/network/msg/crc.asm" - - - -systemSetSpeed: -.if clock == 8000000 - ldi r16, (1< - - - - - boot - main - - - - defs.asm - README - - - - - diff --git a/avr/devices/n19/README b/avr/devices/n19/README deleted file mode 100644 index 4b8fb4d..0000000 --- a/avr/devices/n19/README +++ /dev/null @@ -1,13 +0,0 @@ - -N19 -=== - -- Role: Air quality and climate sensors -- MCU: AtTiny84 -- Connection: RJ45 -- Periphery: - - PIR sensor (AMN31112) - - TWI interface - - SI7021 temperature and humidity sensor - - CCS811 air quality sensor - diff --git a/avr/devices/n19/boot/0BUILD b/avr/devices/n19/boot/0BUILD deleted file mode 100644 index c0e7053..0000000 --- a/avr/devices/n19/boot/0BUILD +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - boot.asm - - - - - - - - - - - - - - - - diff --git a/avr/devices/n19/boot/boot.asm b/avr/devices/n19/boot/boot.asm deleted file mode 100644 index eb13227..0000000 --- a/avr/devices/n19/boot/boot.asm +++ /dev/null @@ -1,138 +0,0 @@ -; *************************************************************************** -; Source file for base system node on AtTiny 85 -; -; This is for the maintenance system (i.e. the flash loader). -; -; All definitions and changes should go into this file. -; -; -; *************************************************************************** - -.equ clock=1000000 ; Define the clock frequency - -.nolist -.include "include/tn85def.inc" ; Define device ATtiny85 -.list - -.include "../defs.asm" -.include "devices/all/defs.asm" -.include "common/calls.asm" -.include "common/utils_wait.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - - -; --------------------------------------------------------------------------- -; firmware settings - -.equ FIRMWARE_VERSION_MAJOR = 0 -.equ FIRMWARE_VERSION_MINOR = 0 -.equ FIRMWARE_VERSION_PATCHLEVEL = 1 - - -; --------------------------------------------------------------------------- -; LED - -.equ LED_DDR = DDRB -.equ LED_PORT = PORTB -.equ LED_PIN = PINB -.equ LED_PINNUM = PORTB3 - - - -; *************************************************************************** -; code segment - -.cseg -.org 0x0000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors - rjmp main ; Reset vector - reti ; EXT_INT0 - reti ; PCI0 - reti ; OC1A - reti ; OVF1 - reti ; OVF0 - reti ; ERDY - reti ; ACI - reti ; ADCC - reti ; OC1B - reti ; OC0A - reti ; OC0B - reti ; WATCHDOG - reti ; USI_STR - reti ; USI_OVF - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_BOOT, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main ; will be overwritten when flashing - - - -; *************************************************************************** -; main code - - -.org BOOTLOADER_ADDR - - -main: - rjmp bootLoader ; this routine is in modules/flash/proto.asm - - - - -; *************************************************************************** -; includes - -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" - -.include "modules/flash/defs.asm" -.include "modules/flash/eeprom.asm" -.include "modules/flash/io.asm" -.include "modules/flash/io_attn.asm" -.include "modules/flash/io_bitbang.asm" -.include "modules/flash/flash1p.asm" -.include "modules/flash/flashprocess.asm" -.include "modules/flash/wait.asm" -.include "modules/bootloader/main.asm" -.include "modules/network/msg/defs.asm" -.include "modules/network/msg/crc.asm" - - - -systemSetSpeed: -.if clock == 8000000 - ldi r16, (1< - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - main.asm - - - - - - - - - - - - - - - - - diff --git a/avr/devices/n19/main/main.asm b/avr/devices/n19/main/main.asm deleted file mode 100644 index 146038d..0000000 --- a/avr/devices/n19/main/main.asm +++ /dev/null @@ -1,176 +0,0 @@ -; *************************************************************************** -; copyright : (C) 2025 by Martin Preuss -; email : martin@libchipcard.de -; -; *************************************************************************** -; * This file is part of the project "AqHome". * -; * Please see toplevel file COPYING of that project for license details. * -; *************************************************************************** - - -; *************************************************************************** -; Source file for LED controller node on AtTiny 85 -; -; This is for the full system (i.e. not the boot loader). -; *************************************************************************** - -.equ clock=1000000 ; Define the clock frequency - - - -.nolist -.include "include/tn85def.inc" ; Define device ATtiny85 -.list - -.include "../defs.asm" -.include "devices/all/defs.asm" -.include "common/calls.asm" -.include "common/utils_io.asm" -.include "common/utils_wait.asm" ; wait macro - - - -; *************************************************************************** -; defines - - -.equ NET_BUFFERS_NUM = 6 - - -; --------------------------------------------------------------------------- -; firmware settings including list of modules used - -.equ FIRMWARE_VERSION_MAJOR = 0 -.equ FIRMWARE_VERSION_MINOR = 0 -.equ FIRMWARE_VERSION_PATCHLEVEL = 1 - -#define MODULES_CLOCK -#define MODULES_LED_SIMPLE -#define MODULES_NETWORK -#define MODULES_UART_BITBANG -#define MODULES_TWI_MASTER -#define MODULES_SI7021 -#define MODULES_CCS811 - -#define APPS_NETWORK -#define APPS_REPORTSENSORS -#define APPS_STATS - - - -; --------------------------------------------------------------------------- -; defines for modules - -.equ VALUE_ID_SI7021_TEMP = 0x01 -.equ VALUE_ID_SI7021_HUM = 0x02 - -.equ VALUE_ID_CO2 = 0x07 -.equ VALUE_ID_TVOC = 0x08 - -.equ VALUE_ID_DEBUG = 0x7f - -.equ VALUE_ID_LEDSIMPLE_TIMING = 0x88 - - -; *************************************************************************** -; code segment - -.cseg -.org 000000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors - - rjmp BOOTLOADER_ADDR ; Reset vector ; use this for flashed system - reti ; EXT_INT0 - rjmp UART_BitBang_PcintIsr ; PCI0 - reti ; OC1A - reti ; OVF1 - reti ; OVF0 - reti ; ERDY - reti ; ACI - reti ; ADCC - reti ; OC1B - rjmp baseTimerIrqOC0A ; OC0A - reti ; OC0B - reti ; WATCHDOG - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_MAIN, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: - rjmp main - - - -; --------------------------------------------------------------------------- -; @routine onSystemStart - -onSystemStart: - ret -; @end - - - -; --------------------------------------------------------------------------- -; @routine onMessageReceived -; -; Called on every message received - -onMessageReceived: - clc - ret -; @end - - - -; --------------------------------------------------------------------------- -; @routine onEvery100ms -; -; Called every 100ms. Add your routine calls here. No arguments, no results. - -onEvery100ms: -onEverySecond: -onEveryMinute: -onEveryHour: -onEveryDay: - ret -; @end - - - -; --------------------------------------------------------------------------- -; @routine onEveryLoop -; -; Called on every loop (i.e. after awakening from sleep). -; -onEveryLoop: - ret -; @end - - - -; *************************************************************************** -; includes - -.include "devices/all/hw_tn85.asm" -.include "devices/all/includes.asm" - - - -; --------------------------------------------------------------------------- -; defines for network interface - -.equ netInterfaceData = uart_bitbang_iface - - - diff --git a/avr/devices/n20/.gitignore b/avr/devices/n20/.gitignore deleted file mode 100644 index 8e0618c..0000000 --- a/avr/devices/n20/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.eep.hex -*.obj diff --git a/avr/devices/n20/0BUILD b/avr/devices/n20/0BUILD deleted file mode 100644 index be449f6..0000000 --- a/avr/devices/n20/0BUILD +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - boot - main - - - - defs.asm - README - - - - - diff --git a/avr/devices/n20/README b/avr/devices/n20/README deleted file mode 100644 index 60505df..0000000 --- a/avr/devices/n20/README +++ /dev/null @@ -1,13 +0,0 @@ - -N20 -=== - -- Role: Air quality and climate sensors -- MCU: AtTiny84 -- Connection: RJ45 -- Periphery: - - PIR sensor (AMN31112) - - TWI interface - - SI7021 temperature and humidity sensor - - CCS811 air quality sensor - diff --git a/avr/devices/n20/boot/0BUILD b/avr/devices/n20/boot/0BUILD deleted file mode 100644 index dec3837..0000000 --- a/avr/devices/n20/boot/0BUILD +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - boot.asm - - - - - - - - - - - - - - - - diff --git a/avr/devices/n20/boot/boot.asm b/avr/devices/n20/boot/boot.asm deleted file mode 100644 index df58b6f..0000000 --- a/avr/devices/n20/boot/boot.asm +++ /dev/null @@ -1,129 +0,0 @@ -; *************************************************************************** -; Source file for base system node on AtTiny 84 -; -; This is for the maintenance system (i.e. the flash loader). -; -; All definitions and changes should go into this file. -; *************************************************************************** - -.equ clock=1000000 ; Define the clock frequency - -.nolist -.include "include/tn84def.inc" ; Define device ATtiny84 -.list - -.include "version.asm" -.include "../defs.asm" -.include "devices/all/defs.asm" - -.include "common/calls.asm" -.include "common/utils_wait.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; LED - -.equ LED_DDR = DDRA -.equ LED_PORT = PORTA -.equ LED_PIN = PINA -.equ LED_PINNUM = PORTA3 - - -; *************************************************************************** -; code segment - -.cseg -.org 0x0000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors -; rjmp start ; Reset vector - rjmp main ; Reset vector - reti ; EXT_INT0 - reti ; PCI0 - reti ; PCI1 - reti ; WATCHDOG - reti ; ICP1 - reti ; OC1A - reti ; OC1B - reti ; OVF1 - reti ; OC0A - reti ; OC0B - reti ; OVF0 - reti ; ACI - reti ; ADCC - reti ; ERDY - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_BOOT, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main ; will be overwritten when flashing - - - -; *************************************************************************** -; main code - - -.org BOOTLOADER_ADDR - - -main: - rjmp bootLoader ; this routine is in modules/bootloader/main.asm - - - -; *************************************************************************** -; includes - -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" - -.include "modules/flash/defs.asm" -.include "modules/flash/eeprom.asm" -.include "modules/flash/io.asm" -.include "modules/flash/io_attn.asm" -.include "modules/flash/io_bitbang.asm" -.include "modules/flash/flash1p.asm" -.include "modules/flash/flashxp.asm" -.include "modules/flash/flashprocess.asm" -.include "modules/flash/wait.asm" -.include "modules/bootloader/main.asm" -.include "modules/network/msg/defs.asm" -.include "modules/network/msg/crc.asm" - - - -systemSetSpeed: -.if clock == 8000000 - ldi r16, (1< - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - main.asm - - - - - - - - - - - - - - - - - diff --git a/avr/devices/n20/main/main.asm b/avr/devices/n20/main/main.asm deleted file mode 100644 index fadb333..0000000 --- a/avr/devices/n20/main/main.asm +++ /dev/null @@ -1,222 +0,0 @@ -; *************************************************************************** -; copyright : (C) 2024 by Martin Preuss -; email : martin@libchipcard.de -; -; *************************************************************************** -; * This file is part of the project "AqHome". * -; * Please see toplevel file COPYING of that project for license details. * -; *************************************************************************** - - - - -; *************************************************************************** -; Source file for temperature sensor node on AtTiny 84 -; -; This is for the full system (i.e. not the boot loader). -; -; All definitions and changes should go into this file. -; -; -; *************************************************************************** - - -.equ clock=1000000 ; Define the clock frequency -;.equ clock=8000000 ; Define the clock frequency - - - -.nolist -.include "include/tn84def.inc" ; Define device ATtiny84 -.list - -.include "version.asm" -.include "../defs.asm" -.include "devices/all/defs.asm" - -.include "common/calls.asm" -.include "common/utils_io.asm" -.include "common/utils_wait.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - -.equ NET_BUFFERS_NUM = 4 - - - -; --------------------------------------------------------------------------- -; firmware settings including list of modules used - -; #define MODULES_TIMER -#define MODULES_CLOCK -#define MODULES_LED_SIMPLE -#define MODULES_NETWORK -#define MODULES_UART_BITBANG -#define MODULES_TWI_MASTER -;#define MODULES_LCD -;#define LCD_MINIMAL_FONT -#define MODULES_SI7021 -;#define MODULES_STATS -;#define MODULES_OWI_MASTER -;#define MODULES_DS18B20 -;#define MODULES_MOTION -;#define MODULES_TCRT1000 -#define MODULES_CCS811 - -#define APPS_NETWORK -;#define APPS_MOTION -;#define APPS_DOOR -#define APPS_REPORTSENSORS -#define APPS_STATS - - - -; --------------------------------------------------------------------------- -; defines for values - -.equ VALUE_ID_SI7021_TEMP = 0x01 -.equ VALUE_ID_SI7021_HUM = 0x02 - -.equ VALUE_ID_ADC = 0x03 -;.equ VALUE_ID_REED1 = 0x04 -;.equ VALUE_ID_REED2 = 0x05 -;.equ VALUE_ID_DS18B20_TEMP = 0x06 -.equ VALUE_ID_MOTION = 0x07 - -.equ VALUE_ID_CO2 = 0x08 -.equ VALUE_ID_TVOC = 0x09 - -;.equ VALUE_ID_REED_CONF = 0x81 - -.equ VALUE_ID_DEBUG = 0x7f - -.equ VALUE_ID_LEDSIMPLE_TIMING = 0x88 - - - -; *************************************************************************** -; code segment - -.cseg -.org 000000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors (will be removed as soon as we can flash data over COM) - -; rjmp main ; Reset vector - rjmp BOOTLOADER_ADDR ; Reset vector ; use this for flashed system - reti ; EXT_INT0 - rjmp UART_BitBang_PcintIsr ; PCI0 - reti ; PCI1 - reti ; WATCHDOG - reti ; ICP1 - reti ; OC1A - reti ; OC1B - reti ; OVF1 - rjmp baseTimerIrqOC0A ; OC0A - reti ; OC0B - reti ; OVF0 - reti ; ACI - reti ; ADCC - reti ; ERDY - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_TEMP_WINDOW, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -; --------------------------------------------------------------------------- -; @routine firmwareStart @global - -firmwareStart: - rjmp main -; @end - - - -; --------------------------------------------------------------------------- -; @routine onSystemStart - -onSystemStart: - ret -; @end - - - -; --------------------------------------------------------------------------- -; @routine onMessageReceived -; -; Called on every message received - -onMessageReceived: - clc - ret -; @end - - - -; --------------------------------------------------------------------------- -; @routine onEvery100ms -; -; Called every 100ms. Add your routine calls here. No arguments, no results. - -onEvery100ms: -onEverySecond: -onEveryMinute: -onEveryHour: -onEveryDay: - ret -; @end - - - -; --------------------------------------------------------------------------- -; @routine onEveryLoop -; -; Called on every loop (i.e. after awakening from sleep). -; -onEveryLoop: - ret -; @end - - - - - -; *************************************************************************** -; includes - -.include "devices/all/hw_tn84.asm" -.include "devices/all/includes.asm" - -;.include "common/debug.asm" - - - - -; --------------------------------------------------------------------------- -; defines for network interface - -.equ netInterfaceData = uart_bitbang_iface - - - - - - - - - diff --git a/avr/devices/n22/.gitignore b/avr/devices/n22/.gitignore deleted file mode 100644 index 8e0618c..0000000 --- a/avr/devices/n22/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.eep.hex -*.obj diff --git a/avr/devices/n22/0BUILD b/avr/devices/n22/0BUILD deleted file mode 100644 index be449f6..0000000 --- a/avr/devices/n22/0BUILD +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - boot - main - - - - defs.asm - README - - - - - diff --git a/avr/devices/n22/README b/avr/devices/n22/README deleted file mode 100644 index 95d68e6..0000000 --- a/avr/devices/n22/README +++ /dev/null @@ -1,15 +0,0 @@ - -N22 -=== - -- Role: LED strip controller -- MCU: AtTiny85 -- Connection: RJ45 -- Predecessor: N16 -- UART: uart_bitbang2 -- Periphery: - - LED strip connection (SK6812) - - OWI interface - - DS18B20 temperature sensor -- Modules: - - MA_LIGHT: motion activated light diff --git a/avr/devices/n22/boot/0BUILD b/avr/devices/n22/boot/0BUILD deleted file mode 100644 index 068003c..0000000 --- a/avr/devices/n22/boot/0BUILD +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - boot.asm - - - - - - - - - - - - - - - - diff --git a/avr/devices/n22/boot/boot.asm b/avr/devices/n22/boot/boot.asm deleted file mode 100644 index 2acc025..0000000 --- a/avr/devices/n22/boot/boot.asm +++ /dev/null @@ -1,129 +0,0 @@ -; *************************************************************************** -; Source file for base system node on AtTiny 85 -; -; This is for the maintenance system (i.e. the flash loader). -; -; All definitions and changes should go into this file. -; -; -; *************************************************************************** - -.equ clock=1000000 ; Define the clock frequency - -.nolist -.include "include/tn85def.inc" ; Define device ATtiny85 -.list - -.include "version.asm" -.include "../defs.asm" -.include "devices/all/defs.asm" - -.include "common/calls.asm" -.include "common/utils_wait.asm" -.include "modules/com2/defs.asm" -.include "modules/comproto/defs.asm" - - - -; *************************************************************************** -; defines - - -; --------------------------------------------------------------------------- -; LED - -.equ LED_DDR = DDRB -.equ LED_PORT = PORTB -.equ LED_PIN = PINB -.equ LED_PINNUM = PORTB4 - - - -; *************************************************************************** -; code segment - -.cseg -.org 0x0000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors - rjmp main ; Reset vector - reti ; EXT_INT0 - reti ; PCI0 - reti ; OC1A - reti ; OVF1 - reti ; OVF0 - reti ; ERDY - reti ; ACI - reti ; ADCC - reti ; OC1B - reti ; OC0A - reti ; OC0B - reti ; WATCHDOG - reti ; USI_STR - reti ; USI_OVF - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_BOOT, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main ; will be overwritten when flashing - - - -; *************************************************************************** -; main code - - -.org BOOTLOADER_ADDR - - -main: - rjmp bootLoader ; this routine is in modules/bootloader/main.asm - - - -; *************************************************************************** -; includes - -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" - -.include "modules/flash/defs.asm" -.include "modules/flash/eeprom.asm" -.include "modules/flash/io.asm" -.include "modules/flash/io_attn.asm" -.include "modules/flash/io_bitbang.asm" -.include "modules/flash/flashxp.asm" -.include "modules/flash/flash1p.asm" -.include "modules/flash/flashprocess.asm" -.include "modules/flash/wait.asm" -.include "modules/bootloader/main.asm" -.include "modules/network/msg/defs.asm" -.include "modules/network/msg/crc.asm" - - - -systemSetSpeed: -.if clock == 8000000 - ldi r16, (1< - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - main.asm - - - - - - - - - - - - - - - - - diff --git a/avr/devices/n22/main/main.asm b/avr/devices/n22/main/main.asm deleted file mode 100644 index 91c25da..0000000 --- a/avr/devices/n22/main/main.asm +++ /dev/null @@ -1,206 +0,0 @@ -; *************************************************************************** -; copyright : (C) 2024 by Martin Preuss -; email : martin@libchipcard.de -; -; *************************************************************************** -; * This file is part of the project "AqHome". * -; * Please see toplevel file COPYING of that project for license details. * -; *************************************************************************** - - -; *************************************************************************** -; Source file for LED controller node on AtTiny 85 -; -; This is for the full system (i.e. not the boot loader). -; *************************************************************************** - -.equ clock=8000000 ; Define the clock frequency - - - -.nolist -.include "include/tn85def.inc" ; Define device ATtiny85 -.list - -.include "version.asm" -.include "../defs.asm" -;.include "./data.asm" - -.include "devices/all/defs.asm" - -.include "common/calls.asm" -.include "common/utils_io.asm" -.include "common/utils_wait.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - -.equ NET_BUFFERS_NUM = 6 - - - -; --------------------------------------------------------------------------- -; firmware settings including list of modules used - -#define MODULES_CLOCK -#define MODULES_LED_SIMPLE -#define MODULES_NETWORK -#define MODULES_UART_BITBANG -#define MODULES_OWI_MASTER -#define MODULES_DS18B20 -#define MODULES_SK6812 -;#define MODULES_MOTION_LIGHT - -#define APPS_NETWORK -#define APPS_REPORTSENSORS -#define APPS_STATS -#define APPS_MA_LIGHT - - - -; --------------------------------------------------------------------------- -; defines for modules - -;.equ VALUE_ID_SI7021_TEMP = 0x01 -;.equ VALUE_ID_SI7021_HUM = 0x02 - -;.equ VALUE_ID_ADC = 0x03 -;.equ VALUE_ID_REED1 = 0x04 -;.equ VALUE_ID_REED2 = 0x05 -.equ VALUE_ID_DS18B20_TEMP = 0x06 - -;.equ VALUE_ID_REED_CONF = 0x81 -.equ VALUE_ID_LED_NUMLEDS = 0x82 -.equ VALUE_ID_LED_RGBW_VALUE = 0x83 -.equ VALUE_ID_MAL_RGBW_VALUE = 0x84 -.equ VALUE_ID_MAL_ONTIME = 0x85 -.equ VALUE_ID_MAL_SOURCE1 = 0x86 -.equ VALUE_ID_MAL_SOURCE2 = 0x87 - -.equ VALUE_ID_LEDSIMPLE_TIMING = 0x88 - - -; *************************************************************************** -; code segment - -.cseg -.org 000000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors - - rjmp BOOTLOADER_ADDR ; Reset vector ; use this for flashed system - reti ; EXT_INT0 - rjmp UART_BitBang_PcintIsr ; PCI0 - reti ; OC1A - reti ; OVF1 - reti ; OVF0 - reti ; ERDY - reti ; ACI - reti ; ADCC - reti ; OC1B - rjmp baseTimerIrqOC0A ; OC0A - reti ; OC0B - reti ; WATCHDOG - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_LEDSTRIPS, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -; --------------------------------------------------------------------------- -; @routine firmwareStart @global - -firmwareStart: - rjmp main -; @end - - - -; --------------------------------------------------------------------------- -; @routine onSystemStart - -onSystemStart: - ret -; @end - - - -; --------------------------------------------------------------------------- -; @routine onMessageReceived -; -; Called on every message received - -onMessageReceived: - clc - ret -; @end - - - -; --------------------------------------------------------------------------- -; @routine onEvery100ms -; -; Called every 100ms. Add your routine calls here. No arguments, no results. - -onEvery100ms: -onEveryMinute: -onEveryHour: -onEveryDay: - ret -; @end - -onEverySecond: - ret - ; debug - ldi r19, 0x00 ; G - ldi r18, 0xff ; R - ldi r20, 0x55 ; B - ldi r21, 0xaa ; W - rcall SK6812_SetAllColor ; r23 (r16, r17) - ret - - - -; --------------------------------------------------------------------------- -; @routine onEveryLoop -; -; Called on every loop (i.e. after awakening from sleep). -; -onEveryLoop: - ret -; @end - - - - - -; *************************************************************************** -; includes - -.include "devices/all/hw_tn85.asm" -.include "devices/all/includes.asm" -.include "common/debug.asm" - - - -; --------------------------------------------------------------------------- -; defines for network interface - -.equ netInterfaceData = uart_bitbang_iface - - - - diff --git a/avr/devices/n23/.gitignore b/avr/devices/n23/.gitignore deleted file mode 100644 index 8e0618c..0000000 --- a/avr/devices/n23/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.eep.hex -*.obj diff --git a/avr/devices/n23/0BUILD b/avr/devices/n23/0BUILD deleted file mode 100644 index bed977a..0000000 --- a/avr/devices/n23/0BUILD +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - boot - main - - - - aqua_n23.xml - - - - defs.asm - README - - - - - - diff --git a/avr/devices/n23/README b/avr/devices/n23/README deleted file mode 100644 index be29416..0000000 --- a/avr/devices/n23/README +++ /dev/null @@ -1,14 +0,0 @@ - -N23 -=== - -- Role: Air quality and climate sensors -- MCU: AtTiny84 -- Connection: RJ45 -- Predecessor: N19 -- Periphery: - - PIR sensor (AMN31112) - - TWI interface - - SI7021 temperature and humidity sensor - - CCS811 air quality sensor - diff --git a/avr/devices/n23/aqua_n23.xml b/avr/devices/n23/aqua_n23.xml deleted file mode 100644 index 2fd9f35..0000000 --- a/avr/devices/n23/aqua_n23.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - AQUA - N - 23 - - - - - - - - - - - - - - - - - - - - - - - diff --git a/avr/devices/n23/boot/0BUILD b/avr/devices/n23/boot/0BUILD deleted file mode 100644 index d266259..0000000 --- a/avr/devices/n23/boot/0BUILD +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - boot.asm - - - - - - - - - - - - - - - - diff --git a/avr/devices/n23/boot/boot.asm b/avr/devices/n23/boot/boot.asm deleted file mode 100644 index 39bb493..0000000 --- a/avr/devices/n23/boot/boot.asm +++ /dev/null @@ -1,134 +0,0 @@ -; *************************************************************************** -; Source file for base system node on AtTiny 84 -; -; This is for the maintenance system (i.e. the flash loader). -; -; All definitions and changes should go into this file. -; *************************************************************************** - -.equ clock=1000000 ; Define the clock frequency - -.nolist -.include "include/tn84def.inc" ; Define device ATtiny84 -.list - -.include "version.asm" -.include "../defs.asm" -.include "devices/all/defs.asm" - -.include "common/calls.asm" -.include "common/utils_wait.asm" - - -#define COM_ACCEPT_ALL_DEST - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; LED - -.equ LED_DDR = DDRA -.equ LED_PORT = PORTA -.equ LED_PIN = PINA -.equ LED_PINNUM = PORTA3 - - -; *************************************************************************** -; code segment - -.cseg -.org 0x0000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors -; rjmp start ; Reset vector - rjmp main ; Reset vector - reti ; EXT_INT0 - reti ; PCI0 - reti ; PCI1 - reti ; WATCHDOG - reti ; ICP1 - reti ; OC1A - reti ; OC1B - reti ; OVF1 - reti ; OC0A - reti ; OC0B - reti ; OVF0 - reti ; ACI - reti ; ADCC - reti ; ERDY - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_BOOT, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main ; will be overwritten when flashing - - - -; *************************************************************************** -; main code - - -.org BOOTLOADER_ADDR - - -main: - rjmp bootLoader ; this routine is in modules/bootloader/main.asm - - - -; *************************************************************************** -; includes - -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" - -.include "modules/flash/defs.asm" -.include "modules/flash/eeprom.asm" -.include "modules/flash/io.asm" -.include "modules/flash/io_attn.asm" -.include "modules/flash/io_bitbang.asm" -.include "modules/flash/flash1p.asm" -.include "modules/flash/flashxp.asm" -.include "modules/flash/flashprocess.asm" -.include "modules/flash/wait.asm" -.include "modules/bootloader/main.asm" -.include "modules/network/msg/defs.asm" -.include "modules/network/msg/crc.asm" - -;.include "common/debug.asm" - - - -systemSetSpeed: -.if clock == 8000000 - ldi r16, (1< - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - main.asm - - - - - - - - - - - - data.asm - - - - - - diff --git a/avr/devices/n23/main/data.asm b/avr/devices/n23/main/data.asm deleted file mode 100644 index 31ccc2f..0000000 --- a/avr/devices/n23/main/data.asm +++ /dev/null @@ -1,14 +0,0 @@ -; *************************************************************************** -; copyright : (C) 2025 by Martin Preuss -; email : martin@libchipcard.de -; -; *************************************************************************** -; * This file is part of the project "AqHome". * -; * Please see toplevel file COPYING of that project for license details. * -; *************************************************************************** - - - -.dseg - - diff --git a/avr/devices/n23/main/main.asm b/avr/devices/n23/main/main.asm deleted file mode 100644 index 895bb69..0000000 --- a/avr/devices/n23/main/main.asm +++ /dev/null @@ -1,221 +0,0 @@ -; *************************************************************************** -; copyright : (C) 2024 by Martin Preuss -; email : martin@libchipcard.de -; -; *************************************************************************** -; * This file is part of the project "AqHome". * -; * Please see toplevel file COPYING of that project for license details. * -; *************************************************************************** - - - - -; *************************************************************************** -; Source file for temperature sensor node on AtTiny 84 -; -; This is for the full system (i.e. not the boot loader). -; -; All definitions and changes should go into this file. -; -; -; *************************************************************************** - - -.equ clock=1000000 ; Define the clock frequency -;.equ clock=8000000 ; Define the clock frequency - - - -.nolist -.include "include/tn84def.inc" ; Define device ATtiny84 -.list - -.include "version.asm" -.include "../defs.asm" -.include "./data.asm" - -.include "devices/all/defs.asm" -.include "common/calls.asm" -.include "common/utils_io.asm" -.include "common/utils_wait.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - -.equ NET_BUFFERS_NUM = 6 - -.equ PROGRAM_SENSOR_INTERVAL_SECS = 60 -.equ PROGRAM_STATS_INTERVAL_MINS = 10 - - - -; --------------------------------------------------------------------------- -; firmware settings including list of modules used - -; #define MODULES_TIMER -#define MODULES_CLOCK -#define MODULES_LED_SIMPLE -#define MODULES_NETWORK -#define MODULES_UART_BITBANG -#define MODULES_TWI_MASTER -;#define MODULES_LCD -;#define LCD_MINIMAL_FONT -#define MODULES_SI7021 -#define MODULES_SGP30 -;#define MODULES_SGP40 -;#define MODULES_STATS -;#define MODULES_OWI_MASTER -;#define MODULES_DS18B20 -#define MODULES_MOTION -;#define MODULES_CCS811 - -#define APPS_NETWORK -#define APPS_MOTION -#define APPS_REPORTSENSORS -#define APPS_STATS - - - -; --------------------------------------------------------------------------- -; defines for values - -.equ VALUE_ID_SI7021_TEMP = 0x01 -.equ VALUE_ID_SI7021_HUM = 0x02 - -.equ VALUE_ID_ADC = 0x03 -;.equ VALUE_ID_DS18B20_TEMP = 0x06 -.equ VALUE_ID_MOTION = 0x07 - -.equ VALUE_ID_SGP40_TVOC = 0x08 - -.equ VALUE_ID_SGP30_TVOC = 0x09 -.equ VALUE_ID_SGP30_CO2 = 0x0a - -;.equ VALUE_ID_REED_CONF = 0x81 - -.equ VALUE_ID_DEBUG = 0x7f - -.equ VALUE_ID_LEDSIMPLE_TIMING = 0x88 - - - - - -; *************************************************************************** -; code segment - -.cseg -.org 000000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors (will be removed as soon as we can flash data over COM) - -; rjmp main ; Reset vector - rjmp BOOTLOADER_ADDR ; Reset vector ; use this for flashed system - reti ; EXT_INT0 - rjmp UART_BitBang_PcintIsr ; PCI0 - reti ; PCI1 - reti ; WATCHDOG - reti ; ICP1 - reti ; OC1A - reti ; OC1B - reti ; OVF1 - rjmp baseTimerIrqOC0A ; OC0A - reti ; OC0B - reti ; OVF0 - reti ; ACI - reti ; ADCC - reti ; ERDY - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_TEMP_WINDOW, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - - - -; --------------------------------------------------------------------------- -; @routine firmwareStart @global - -firmwareStart: - rjmp main -; @end - - - -; --------------------------------------------------------------------------- -; @routine onSystemStart - -onSystemStart: - ret -; @end - - - -; --------------------------------------------------------------------------- -; @routine onMessageReceived -; -; Called on every message received - -onMessageReceived: - clc - ret -; @end - - - -; --------------------------------------------------------------------------- -; @routine onEvery100ms -; -; Called every 100ms. Add your routine calls here. No arguments, no results. - -onEvery100ms: -onEverySecond: -onEveryMinute: -onEveryHour: -onEveryDay: - ret -; @end - - - -; --------------------------------------------------------------------------- -; @routine onEveryLoop -; -; Called on every loop (i.e. after awakening from sleep). -; -onEveryLoop: - ret -; @end - - - - - -; *************************************************************************** -; includes - -.include "devices/all/hw_tn84.asm" -.include "devices/all/includes.asm" - - - -; --------------------------------------------------------------------------- -; defines for network interface - -.equ netInterfaceData = uart_bitbang_iface - - - diff --git a/avr/devices/r02/.gitignore b/avr/devices/r02/.gitignore deleted file mode 100644 index 8e0618c..0000000 --- a/avr/devices/r02/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.eep.hex -*.obj diff --git a/avr/devices/r02/0BUILD b/avr/devices/r02/0BUILD deleted file mode 100644 index c82f090..0000000 --- a/avr/devices/r02/0BUILD +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - main.asm - - - - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - boot.asm - - - - - - - - - - - defs.asm - - - - - - diff --git a/avr/devices/r02/boot.asm b/avr/devices/r02/boot.asm deleted file mode 100644 index 5fb6ebe..0000000 --- a/avr/devices/r02/boot.asm +++ /dev/null @@ -1,163 +0,0 @@ -; *************************************************************************** -; Source file for base system node on AtTiny 84 -; -; This is for the maintenance system (i.e. the flash loader). -; -; All definitions and changes should go into this file. -; *************************************************************************** - -.equ clock=1000000 ; Define the clock frequency - -.nolist -.include "include/tn841def.inc" ; Define device ATtiny841 -.list - -.include "./defs.asm" -.include "defs_all.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - -.include "common/utils_wait.asm" -.include "modules/com2/defs.asm" -.include "modules/comproto/defs.asm" - - - -; --------------------------------------------------------------------------- -; firmware settings - -.equ FIRMWARE_VERSION_MAJOR = 0 -.equ FIRMWARE_VERSION_MINOR = 0 -.equ FIRMWARE_VERSION_PATCHLEVEL = 1 - - - -; --------------------------------------------------------------------------- -; LED - -.equ LED_DDR = DDRB -.equ LED_PORT = PORTB -.equ LED_PIN = PINB -.equ LED_PINNUM = PORTB2 - - -; *************************************************************************** -; code segment - -.cseg -.org 0x0000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors -; rjmp start ; Reset vector - rjmp main ; Reset vector - reti ; EXT_INT0 - reti ; PCI0 - reti ; PCI1 - reti ; WATCHDOG - reti ; ICP1 - reti ; OC1A - reti ; OC1B - reti ; OVF1 - reti ; OC0A - reti ; OC0B - reti ; OVF0 - reti ; ACI - reti ; ADCC - reti ; ERDY - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db 'R', 0 -devInfoVersion: .db 2, 0 ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_BOOT, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main ; will be overwritten when flashing - - - -; *************************************************************************** -; main code - - -.org BOOTLOADER_ADDR - - -main: -; rjmp debugStop - rjmp bootLoader ; this routine is in modules/flash/proto.asm - - - - -; *************************************************************************** -; includes - -.include "modules/uart_bitbang/bytelevel.asm" -.include "modules/uart_bitbang/packetlevel.asm" -.include "modules/com2/crc.asm" -.include "common/crc8.asm" -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" -.include "modules/flash/bootloader.asm" -.include "modules/flash/flash.asm" -.include "modules/flash/recv.asm" -.include "modules/flash/send.asm" -.include "modules/flash/wait.asm" -.include "modules/flash/hdl_flash_start.asm" -.include "modules/flash/hdl_flash_data.asm" -.include "modules/flash/hdl_flash_end.asm" -.include "modules/flash/flash_rsp.asm" -.include "modules/flash/flash_ready.asm" - - -#if 1 -debugStop: - cli - sbi LED_SIMPLE_DDR, LED_SIMPLE_PINNUM ; out - cbi LED_SIMPLE_PORT, LED_SIMPLE_PINNUM ; on - - cbi COM_ATTN_DDR, COM_ATTN_PIN ; set ATTN port as input - cbi COM_ATTN_OUTPUT, COM_ATTN_PIN ; disable internal pullup for ATTN - - ldi r18, 0 -test_loop1: - ldi r16, 100 -test_loop2: - ldi r17, 100 -test_loop3: - Utils_WaitNanoSecs 10000, 0, r22 - dec r17 - brne test_loop3 - dec r16 - brne test_loop2 - sbi LED_SIMPLE_PORTIN, LED_SIMPLE_PINNUM ; toggle - inc r18 - mov r19, r18 - andi r19, 1 - brne test1 - sbi COM_ATTN_DDR, COM_ATTN_PIN - cbi COM_ATTN_OUTPUT, COM_ATTN_PIN - rjmp test_loop1 -test1: - cbi COM_ATTN_DDR, COM_ATTN_PIN - cbi COM_ATTN_OUTPUT, COM_ATTN_PIN - - rjmp test_loop1 -#endif - - - diff --git a/avr/devices/r02/defs.asm b/avr/devices/r02/defs.asm deleted file mode 100644 index e331a5b..0000000 --- a/avr/devices/r02/defs.asm +++ /dev/null @@ -1,87 +0,0 @@ -; *************************************************************************** -; copyright : (C) 2024 by Martin Preuss -; email : martin@libchipcard.de -; -; *************************************************************************** -; * This file is part of the project "AqHome". * -; * Please see toplevel file COPYING of that project for license details. * -; *************************************************************************** - - -; *************************************************************************** -; -; AtTiny 841 -; ------- -; VCC 1 14 GND -; PB0 2 13 PA0 ATTN0 -; PB1 3 12 PA1 TXD0 (UART0) -; /RESET PB3 4 11 PA2 RXD0 (UART0) -; LED PB2 5 10 PA3 ATTN1 -; 1-wire PA7 6 9 PA4 RXD1 (UART1) [SCK, PRG] -; [MOSI,PRG] SDA (I2C) PA6 7 8 PA5 TXD1 (UART1) [MISO, PRG] -; ------- -; -; *************************************************************************** - - - -.equ BOOTLOADER_ADDR = 0xd00 - -.equ FIRMWARE_VARIANT_BOOT = 0 -.equ FIRMWARE_VARIANT_TEMP_WINDOW = 1 - - - -; --------------------------------------------------------------------------- -; LED module - -.equ LED_SIMPLE_ONTIME = 2 -.equ LED_SIMPLE_OFFTIME = 30 -.equ LED_SIMPLE_DDR = DDRB -.equ LED_SIMPLE_PORT = PORTB -.equ LED_SIMPLE_PORTIN = PINB -.equ LED_SIMPLE_PINNUM = PORTB2 - - - -; --------------------------------------------------------------------------- -; COM module - -.equ COM_BIT_LENGTH = 52000 ; 104000ns=9600, 52000ns=19200, 26000ns=38400 -.equ COM_HALFBIT_LENGTH = 26000 ; see https://de.wikipedia.org/wiki/Universal_Asynchronous_Receiver_Transmitter - -.equ COM_DATA_DDR = DDRA -.equ COM_DATA_INPUT = PINA -.equ COM_DATA_OUTPUT = PORTA -.equ COM_DATA_PIN = PORTA2 - -.equ COM_ATTN_DDR = DDRA -.equ COM_ATTN_INPUT = PINA -.equ COM_ATTN_OUTPUT = PORTA -.equ COM_ATTN_PIN = PORTA0 - -.equ COM_IRQ_ADDR_ATTN = PCMSK0 -.equ COM_IRQ_BIT_ATTN = PCINT0 ; bit 7 in PCMSK0 -.equ COM_IRQ_GIFR_ATTN = PCIF0 -.equ COM_IRQ_GIMSK_ATTN = PCIE0 - - - -; --------------------------------------------------------------------------- -; LCD module - -.equ LCD_TWI_ADDRESS = 0x3c - - - -; --------------------------------------------------------------------------- -; 1-Wire Master -; - -.equ OWI_DDR = DDRA -.equ OWI_PORTOUT = PORTA -.equ OWI_PORTIN = PINA -.equ OWI_PINNUM = PORTA7 - - - diff --git a/avr/devices/r02/main.asm b/avr/devices/r02/main.asm deleted file mode 100644 index cd2e59c..0000000 --- a/avr/devices/r02/main.asm +++ /dev/null @@ -1,448 +0,0 @@ -; *************************************************************************** -; copyright : (C) 2024 by Martin Preuss -; email : martin@libchipcard.de -; -; *************************************************************************** -; * This file is part of the project "AqHome". * -; * Please see toplevel file COPYING of that project for license details. * -; *************************************************************************** - - - - -; *************************************************************************** -; Source file for temperature sensor node on AtTiny 84 -; -; This is for the full system (i.e. not the boot loader). -; -; All definitions and changes should go into this file. -; -; -; *************************************************************************** - - -.equ clock=1000000 ; Define the clock frequency -;.equ clock=8000000 ; Define the clock frequency - - - -.nolist -.include "include/tn841def.inc" ; Define device ATtiny841 -.list - -.include "./defs.asm" -.include "defs_all.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - - -.include "common/utils_wait.asm" - - -; --------------------------------------------------------------------------- -; firmware settings including list of modules used - -.equ FIRMWARE_VERSION_MAJOR = 0 -.equ FIRMWARE_VERSION_MINOR = 0 -.equ FIRMWARE_VERSION_PATCHLEVEL = 1 - - -#define MODULES_TIMER -#define MODULES_COM -#define MODULES_COM_WITH_ADDR_PROTO -;#define MODULES_LED -#define MODULES_LED_SIMPLE -;#define MODULES_TWI_MASTER -;#define MODULES_LCD -#define LCD_MINIMAL_FONT -;#define MODULES_SI7021 -#define MODULES_STATS -;#define MODULES_CNY70 -;#define MODULES_REED -#define MODULES_OWI_MASTER -;#define MODULES_DS18B20 -;#define MODULES_MOTION - - - -; *************************************************************************** -; code segment - -.cseg -.org 000000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors (will be removed as soon as we can flash data over COM) - -; rjmp main ; Reset vector - rjmp BOOTLOADER_ADDR ; Reset vector ; use this for flashed system - reti ; EXT_INT0 - rjmp uartBitbangIsrPcint0 ; PCI0 - reti ; PCI1 - reti ; WATCHDOG - reti ; ICP1 - reti ; OC1A - reti ; OC1B - reti ; OVF1 - rjmp baseTimerIrqOC0A ; OC0A - reti ; OC0B - reti ; OVF0 - reti ; ACI - reti ; ADCC - reti ; ERDY - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db 'R', 0 -devInfoVersion: .db 2, 0 ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_TEMP_WINDOW, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main - - -; *************************************************************************** -; includes - -.include "common/utils.asm" -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" -.include "common/crc8.asm" - -.include "modules/basetimer/main.asm" - -#ifdef MODULES_TIMER - .include "modules/timer/main.asm" -#endif -#ifdef MODULES_LED -.include "modules/led/main.asm" -#endif -#ifdef MODULES_LED_SIMPLE -.include "modules/led_simple/main.asm" -#endif -#ifdef MODULES_COM - .include "modules/com2/defs.asm" - .include "modules/com2/main.asm" - .include "modules/com2/buffer.asm" - .include "modules/uart_bitbang/defs.asm" - .include "modules/uart_bitbang/main.asm" - .include "modules/uart_bitbang/bytelevel.asm" - .include "modules/uart_bitbang/packetlevel.asm" - #ifdef MODULES_COM_WITH_ADDR_PROTO - .include "modules/comproto/defs.asm" - .include "modules/comproto/main.asm" - .include "modules/comproto/addr.asm" - .include "modules/comproto/msg_recvstats.asm" - .include "modules/comproto/msg_sendstats.asm" - .include "modules/comproto/msg_sysstats.asm" - .include "modules/comproto/msg_memstats.asm" - .include "modules/comproto/msg_pong.asm" - .include "modules/comproto/msg_value.asm" - .include "modules/comproto/msg_device.asm" - .include "modules/comproto/msg_reboot.asm" - #endif - #ifdef MODULES_LCD - .include "modules/com2/screen.asm" - .include "modules/comproto/screen.asm" - #endif -#endif -#ifdef MODULES_TWI_MASTER - .include "modules/twimaster/main.asm" -#endif -#ifdef MODULES_OWI_MASTER - .include "modules/owimaster/main.asm" -#endif -#ifdef MODULES_LCD - .include "modules/lcd/main.asm" -#endif -#ifdef MODULES_SI7021 - .include "modules/si7021/main.asm" -#endif -#ifdef MODULES_DS18B20 - .include "modules/ds18b20/main.asm" -#endif -#ifdef MODULES_STATS - .include "modules/stats/main.asm" -#endif -#ifdef MODULES_CNY70 - .include "modules/cny70/main.asm" -#endif -#ifdef MODULES_REED - .include "modules/reed/main.asm" -#endif - -#ifdef MODULES_MOTION - .include "modules/motion/main.asm" -#endif - -; test -;#include "modules/uart_irq/defs.asm" -;#include "modules/uart_irq/iface.asm" -;#include "modules/uart_irq/iface1.asm" - - -; *************************************************************************** -; data in SRAM - -.dseg - -programRamBegin: -#ifdef MODULES_LCD - screenCounter: .byte 1 -#endif - -programRamEnd: - - - -#ifdef MODULES_LCD - sramTimerWriteStats: .byte 2 - sramTimerScreen: .byte 2 -#endif -#ifdef MODULES_SI7021 - sramTimerSI7021Measure: .byte 2 - sramTimerSI7021SendTemp: .byte 2 - sramTimerSI7021SendHumidity: .byte 2 -#endif -#ifdef MODULES_CNY70 - sramTimerCny70SendAdc: .byte 2 -#endif -#ifdef MODULES_LCD - sramPeriodicalLcdMark: .byte 2 -#endif -#ifdef MODULES_DS18B20 - sramDs18b20Timer: .byte 2 - sramSendDs18b20TempTimer: .byte 2 -#endif - - -; *************************************************************************** -; data in FLASH - -.cseg - - - -; --------------------------------------------------------------------------- -; timer list - - -timerList: -; SRAM variable/counter routine flags secs (0=don't start or restart) -#ifdef MODULES_COM_WITH_ADDR_PROTO - .dw cproAddresModeTimer, CPRO_Address_OnTimer, 0, 0 ; (no restart) -#endif -#ifdef MODULES_STATS - .dw statsSendTimer, Stats_Timer, TIMER_FLAGS_IF_ADDR, 9000 ; every 15m -#endif -#ifdef MODULES_LCD -; .dw sramPeriodicalLcdMark, periodicalLcdMark, 0, 20 ; every 2s -; .dw sramTimerWriteStats, writeStats, 0, 100 - .dw sramTimerScreen, printScreen, TIMER_FLAGS_IF_ADDR, 50 ; every 5s -#endif -#ifdef MODULES_SI7021 - .dw sramTimerSI7021Measure, SI7021_OnTimer, 0, 300 ; every 30s - .dw sramTimerSI7021SendTemp, sendSI7021Temp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s - .dw sramTimerSI7021SendHumidity, sendSI7021Humidity, TIMER_FLAGS_IF_ADDR, 600 ; every 60s -#endif -#ifdef MODULES_CNY70 - .dw sramTimerCny70SendAdc, CNY70_OnTimer, TIMER_FLAGS_IF_ADDR, 50 ; every 5s -#endif -#ifdef MODULES_DS18B20 - .dw sramDs18b20Timer, Ds18b20_OnTimer, 0, 300 ; every 30s - .dw sramSendDs18b20TempTimer, sendDs18b20Temp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s -#endif - .dw 0 ; end of list - - - - - -.include "main_all.asm" - - - -systemSetSpeed: -.if clock == 8000000 - ldi r16, (1< - - - - - boot - main - test - - - - defs.asm - README - - - - aqua_r04.xml - - - - - - diff --git a/avr/devices/r04/README b/avr/devices/r04/README deleted file mode 100644 index 388a291..0000000 --- a/avr/devices/r04/README +++ /dev/null @@ -1,13 +0,0 @@ - -R04 -=== - -- Role: Router -- MCU: AtTiny841 -- Connection: RJ45 -- Predecessor: none -- UART: comonuart0 (uart_hw2), comonuart1 (uart_hw2) -- Periphery: - - OWI interface - - DS18B20 temperature sensor - diff --git a/avr/devices/r04/aqua_r04.xml b/avr/devices/r04/aqua_r04.xml deleted file mode 100644 index a9b72ef..0000000 --- a/avr/devices/r04/aqua_r04.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - AQUA - R - 4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/avr/devices/r04/boot/0BUILD b/avr/devices/r04/boot/0BUILD deleted file mode 100644 index b2940e7..0000000 --- a/avr/devices/r04/boot/0BUILD +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - boot.asm - - - - - - - - - - - - - - - - diff --git a/avr/devices/r04/boot/boot.asm b/avr/devices/r04/boot/boot.asm deleted file mode 100644 index ac3da73..0000000 --- a/avr/devices/r04/boot/boot.asm +++ /dev/null @@ -1,152 +0,0 @@ -; *************************************************************************** -; Source file for base system node on AtTiny 84 -; -; This is for the maintenance system (i.e. the flash loader). -; -; All definitions and changes should go into this file. -; *************************************************************************** - -;.equ clock=1000000 ; Define the clock frequency -.equ clock=8000000 ; Define the clock frequency - -.nolist -.include "include/tn841def.inc" ; Define device ATtiny841 -.list - -.include "version.asm" -.include "../defs.asm" -.include "devices/all/defs.asm" - -.include "common/calls.asm" -.include "common/utils_wait.asm" - - - -; *************************************************************************** -; defines - - -;#define COM_ACCEPT_ALL_DEST 1 - - - -; --------------------------------------------------------------------------- -; LED - -.equ LED_DDR = DDRB -.equ LED_PORT = PORTB -.equ LED_PIN = PINB -.equ LED_PINNUM = PORTB2 - - - -; *************************************************************************** -; code segment - -.cseg -.org 0x0000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors - - rjmp main ; 1: RESET Reset vector use this for flashed system - reti ; 2: INT0 External Interrupt Request 0 - reti ; 3: PCINT0 Pin Change Interrupt 0 - reti ; 4: PCINT1 Pin Change Interrupt 1 - reti ; 5: WDT Watchdog Time-out - reti ; 6: TIM1_CAPT Timer/Counter1 Capture Event - reti ; 7: TIM1_COMPA (OC1A) Timer/Counter1 Compare Match A - reti ; 8: TIM1_COMPB (OC1B) Timer/Counter1 Compare Match B - reti ; 9: TIM1_OVF (OVF1) Timer/Counter1 Overflow - reti ; 10: TIM0_COMPA (OC0A) Timer/Counter0 Compare Match A - reti ; 11: TIM0_COMPB (OC0B) Timer/Counter0 Compare Match B - reti ; 12: TIM0_OVF (OVF0) Timer/Counter0 Overflow - reti ; 13: ANA_COMP0 Analog Comparator 0 - reti ; 14: ADC_READY ADC Conversion Complete - reti ; 15: EE_RDY (ERDY) EEPROM Ready - reti ; 16: ANA_COMP1 Analog Comparator 1 - reti ; 17: TIM2_CAPT Timer/Counter2 Capture Event - reti ; 18: TIM2_COMPA (OC2A) Timer/Counter2 Compare Match A - reti ; 19: TIM2_COMPB (OC2B) Timer/Counter2 Compare Match B - reti ; 20: TIM2_OVF (OVF2) Timer/Counter2 Overflow - reti ; 21: SPI SPI Serial Transfer Complete - reti ; 22: USART0_RXS USART0 Rx Start - reti ; 23: USART0_RXC USART0 Rx Complete - reti ; 24: USART0_DRE USART0 Data Register Empty - reti ; 25: USART0_TXC USART0 Tx Complete - reti ; 26: USART1_RXS USART1 Rx Start - reti ; 27: USART1_RXC USART1 Rx Complete - reti ; 28: USART1_DRE USART1 Data Register Empty - reti ; 29: USART1_TXC USART1 Tx Complete - reti ; 30: TWI Two-Wire-Interface - reti ; 31: RESERVED reserved - - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_BOOT, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: - rjmp main ; will be overwritten when flashing - - - -; *************************************************************************** -; main code - - -.org BOOTLOADER_ADDR - - -main: - rjmp bootLoader ; this routine is in modules/bootloader/main.asm - - - - -; *************************************************************************** -; includes - -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" - -.include "modules/flash/defs.asm" -.include "modules/flash/eeprom.asm" -.include "modules/flash/io.asm" -.include "modules/flash/io_attn.asm" -.include "modules/flash/io_bitbang.asm" -.include "modules/flash/flashxp.asm" -.include "modules/flash/flash4p.asm" -.include "modules/flash/flashprocess.asm" -.include "modules/flash/wait.asm" -.include "modules/bootloader/main.asm" -.include "modules/network/msg/defs.asm" -.include "modules/network/msg/crc.asm" - - - -systemSetSpeed: -.if clock == 1000000 - ldi r17, 0xd8 - ldi r16, (1< - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - main.asm - - - - - - - - - - - - - - - - - diff --git a/avr/devices/r04/main/main.asm b/avr/devices/r04/main/main.asm deleted file mode 100644 index 2aeb170..0000000 --- a/avr/devices/r04/main/main.asm +++ /dev/null @@ -1,418 +0,0 @@ -; *************************************************************************** -; copyright : (C) 2024 by Martin Preuss -; email : martin@libchipcard.de -; -; *************************************************************************** -; * This file is part of the project "AqHome". * -; * Please see toplevel file COPYING of that project for license details. * -; *************************************************************************** - - - - -; *************************************************************************** -; Source file for temperature sensor node on AtTiny 84 -; -; This is for the full system (i.e. not the boot loader). -; -; All definitions and changes should go into this file. -; -; -; *************************************************************************** - - -;.equ clock=1000000 ; Define the clock frequency -.equ clock=8000000 ; Define the clock frequency - - -.nolist -.include "include/tn841def.inc" ; Define device ATtiny841 -.list - -.include "../defs.asm" -.include "version.asm" -;.include "defs_all.asm" - -.include "devices/all/defs.asm" - -.include "common/calls.asm" -.include "common/utils_wait.asm" -.include "common/utils_io.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - -.equ COMONUART0_IFACENUM = 1 -.equ COMONUART1_IFACENUM = 2 - - -; --------------------------------------------------------------------------- -; firmware settings including list of modules used - - -#define MAIN_WITHOUT_MSG_HANDLING ; we do message handling ourselfes -#define APP_STATS_NETDEV2 - -#define MODULES_CLOCK -;#define MODULES_COM -;#define MODULES_COM_WITH_ADDR_PROTO -;#define MODULES_LED -#define MODULES_LED_SIMPLE -;#define MODULES_TWI_MASTER -;#define MODULES_LCD -;#define LCD_MINIMAL_FONT -;#define MODULES_SI7021 -;#define MODULES_STATS -;#define MODULES_CNY70 -;#define MODULES_REED -;#define MODULES_OWI_MASTER -;#define MODULES_DS18B20 -;#define MODULES_MOTION -#define MODULES_NETWORK -;#define MODULES_TTYONUART1 -#define MODULES_COMONUART0 -#define MODULES_COMONUART1 - -#define APPS_STATS -#define APPS_NETWORK -;#define APPS_REPORTSENSORS - - - -.equ NET_BUFFERS_NUM = 9 - -.equ UART_HW_MSGNUMINBUF_SIZE = 8 -.equ UART_HW_MSGNUMOUTBUF_SIZE = 8 - - - -; --------------------------------------------------------------------------- -; defines for values - -.equ VALUE_ID_DS18B20_TEMP = 0x06 - -.equ VALUE_ID_LEDSIMPLE_TIMING = 0x88 - - -; *************************************************************************** -; code segment - -.cseg -.org 000000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors - - rjmp BOOTLOADER_ADDR ; 1: RESET Reset vector use this for flashed system - reti ; 2: INT0 External Interrupt Request 0 - rjmp onAttnChangeIsr ; 3: PCINT0 Pin Change Interrupt 0 - reti ; 4: PCINT1 Pin Change Interrupt 1 - reti ; 5: WDT Watchdog Time-out - reti ; 6: TIM1_CAPT Timer/Counter1 Capture Event - reti ; 7: TIM1_COMPA (OC1A) Timer/Counter1 Compare Match A - reti ; 8: TIM1_COMPB (OC1B) Timer/Counter1 Compare Match B - reti ; 9: TIM1_OVF (OVF1) Timer/Counter1 Overflow - rjmp baseTimerIrqOC0A ; 10: TIM0_COMPA (OC0A) Timer/Counter0 Compare Match A - reti ; 11: TIM0_COMPB (OC0B) Timer/Counter0 Compare Match B - reti ; 12: TIM0_OVF (OVF0) Timer/Counter0 Overflow - reti ; 13: ANA_COMP0 Analog Comparator 0 - reti ; 14: ADC_READY ADC Conversion Complete - reti ; 15: EE_RDY (ERDY) EEPROM Ready - reti ; 16: ANA_COMP1 Analog Comparator 1 - reti ; 17: TIM2_CAPT Timer/Counter2 Capture Event - reti ; 18: TIM2_COMPA (OC2A) Timer/Counter2 Compare Match A - reti ; 19: TIM2_COMPB (OC2B) Timer/Counter2 Compare Match B - reti ; 20: TIM2_OVF (OVF2) Timer/Counter2 Overflow - reti ; 21: SPI SPI Serial Transfer Complete - reti ; 22: USART0_RXS USART0 Rx Start - rjmp ComOnUart0_RxCharIsr ; 23: USART0_RXC USART0 Rx Complete - rjmp ComOnUart0_TxUdreIsr ; 24: USART0_DRE USART0 Data Register Empty - rjmp ComOnUart0_TxCharIsr ; 25: USART0_TXC USART0 Tx Complete - reti ; 26: USART1_RXS USART1 Rx Start - rjmp ComOnUart1_RxCharIsr ; 27: USART1_RXC USART1 Rx Complete - rjmp ComOnUart1_TxUdreIsr ; 28: USART1_DRE USART1 Data Register Empty - rjmp ComOnUart1_TxCharIsr ; 29: USART1_TXC USART1 Tx Complete - reti ; 30: TWI Two-Wire-Interface - reti ; 31: RESERVED reserved - - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_TEMP_WINDOW, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - - - -; --------------------------------------------------------------------------- -; @routine firmwareStart @global - -firmwareStart: - rjmp main -; @end - - - -; --------------------------------------------------------------------------- -; @routine onSystemStart - -onSystemStart: - ; set interface number for UART0 - ldi r16, COMONUART0_IFACENUM - sts comOnUart0_iface+NET_IFACE_OFFS_IFACENUM, r16 - ; set interface number for UART1 - ldi r16, COMONUART1_IFACENUM - sts comOnUart1_iface+NET_IFACE_OFFS_IFACENUM, r16 - - ret -; @end - - - - - - - -onEvery100ms: -onEverySecond: -onEveryHour: -onEveryDay: - ret - - - -onEveryMinute: - rcall sendPacketsIface2In -; rcall sendErrorsIface2 - rcall sendDeviceUart1 - ret -; @end - - - -; --------------------------------------------------------------------------- -; @routine onEveryLoop -; -; Called on every loop (i.e. after awakening from sleep). - -onEveryLoop: - rcall checkRecvdMsg - ret -; @end - - - -; --------------------------------------------------------------------------- -; @routine onMessageReceived -; -; Called on every message received - -onMessageReceived: - clc - ret -; @end - - - -; --------------------------------------------------------------------------- -; @routine onAttnChange @global @isr -; -; Called whenever PCINT0 is activated. -; This code assumes that both ATTN pins are on the same port which is true for -; R04 nodes. - -onAttnChangeIsr: - push r15 - in r15, SREG - push r16 - inr r16, COM_ATTN1_INPUT - sbrs r16, COM_ATTN1_PIN - rcall ComOnUart1_HandleAttnChange ; (none) - - inr r16, COM_ATTN0_INPUT - sbrs r16, COM_ATTN0_PIN - rcall ComOnUart0_HandleAttnChange ; (none) - pop r16 - out SREG, r15 - pop r15 - reti -; @end - - - -; --------------------------------------------------------------------------- -; @routine checkRecvdMsg -; -; Read messages from either interface and forward to the other one. - -checkRecvdMsg: - rcall NET_PeekNextIncomingMsgNum ; check read queue (bufNum->r16) - brcc checkRecvdMsg_end ; no msg, jmp - rcall NET_Buffer_Locate ; (R17) - ; let system handle incoming messages - push r16 - push xl - push xh - adiw xh:xl, 1 - rcall letSysHandleMsg - pop xh - pop xl - pop r16 - - ; forward to other interface - ld r17, X - andi r17, (1< - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - main.asm - - - - - - - - - - - - - - - - - diff --git a/avr/devices/r04/test/main.asm b/avr/devices/r04/test/main.asm deleted file mode 100644 index 795a5e8..0000000 --- a/avr/devices/r04/test/main.asm +++ /dev/null @@ -1,259 +0,0 @@ -; *************************************************************************** -; copyright : (C) 2025 by Martin Preuss -; email : martin@libchipcard.de -; -; *************************************************************************** -; * This file is part of the project "AqHome". * -; * Please see toplevel file COPYING of that project for license details. * -; *************************************************************************** - - - - -; *************************************************************************** -; Source file for temperature sensor node on AtTiny 84 -; -; This is for the full system (i.e. not the boot loader). -; -; All definitions and changes should go into this file. -; -; -; *************************************************************************** - - -;.equ clock=1000000 ; Define the clock frequency -.equ clock=8000000 ; Define the clock frequency - - -.nolist -.include "include/tn841def.inc" ; Define device ATtiny841 -.list - -.include "../defs.asm" -.include "version.asm" -;.include "defs_all.asm" - -.include "devices/all/defs.asm" - -.include "common/calls.asm" -.include "common/utils_wait.asm" -.include "common/utils_io.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - -.equ COMONUART0_IFACENUM = 1 -.equ COMONUART1_IFACENUM = 2 - - -; --------------------------------------------------------------------------- -; firmware settings including list of modules used - - -;#define MAIN_WITHOUT_MSG_HANDLING ; we do message handling ourselfes -;#define APP_STATS_NETDEV2 - -#define MODULES_CLOCK -;#define MODULES_COM -;#define MODULES_COM_WITH_ADDR_PROTO -;#define MODULES_LED -#define MODULES_LED_SIMPLE -;#define MODULES_TWI_MASTER -;#define MODULES_LCD -;#define LCD_MINIMAL_FONT -;#define MODULES_SI7021 -;#define MODULES_STATS -;#define MODULES_CNY70 -;#define MODULES_REED -#define MODULES_OWI_MASTER -#define MODULES_DS18B20 -;#define MODULES_MOTION -#define MODULES_NETWORK -;#define MODULES_TTYONUART1 -;#define MODULES_COMONUART0 -#define MODULES_COMONUART1 - -#define APPS_STATS -#define APPS_NETWORK -#define APPS_REPORTSENSORS - - - -.equ NET_BUFFERS_NUM = 8 - -.equ UART_HW_MSGNUMINBUF_SIZE = 8 -.equ UART_HW_MSGNUMOUTBUF_SIZE = 8 - - - -; --------------------------------------------------------------------------- -; defines for values - -.equ VALUE_ID_DS18B20_TEMP = 0x06 - -.equ VALUE_ID_LEDSIMPLE_TIMING = 0x88 - - -; *************************************************************************** -; code segment - -.cseg -.org 000000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors - - rjmp BOOTLOADER_ADDR ; 1: RESET Reset vector use this for flashed system - reti ; 2: INT0 External Interrupt Request 0 - rjmp onAttnChangeIsr ; 3: PCINT0 Pin Change Interrupt 0 - reti ; 4: PCINT1 Pin Change Interrupt 1 - reti ; 5: WDT Watchdog Time-out - reti ; 6: TIM1_CAPT Timer/Counter1 Capture Event - reti ; 7: TIM1_COMPA (OC1A) Timer/Counter1 Compare Match A - reti ; 8: TIM1_COMPB (OC1B) Timer/Counter1 Compare Match B - reti ; 9: TIM1_OVF (OVF1) Timer/Counter1 Overflow - rjmp baseTimerIrqOC0A ; 10: TIM0_COMPA (OC0A) Timer/Counter0 Compare Match A - reti ; 11: TIM0_COMPB (OC0B) Timer/Counter0 Compare Match B - reti ; 12: TIM0_OVF (OVF0) Timer/Counter0 Overflow - reti ; 13: ANA_COMP0 Analog Comparator 0 - reti ; 14: ADC_READY ADC Conversion Complete - reti ; 15: EE_RDY (ERDY) EEPROM Ready - reti ; 16: ANA_COMP1 Analog Comparator 1 - reti ; 17: TIM2_CAPT Timer/Counter2 Capture Event - reti ; 18: TIM2_COMPA (OC2A) Timer/Counter2 Compare Match A - reti ; 19: TIM2_COMPB (OC2B) Timer/Counter2 Compare Match B - reti ; 20: TIM2_OVF (OVF2) Timer/Counter2 Overflow - reti ; 21: SPI SPI Serial Transfer Complete - reti ; 22: USART0_RXS USART0 Rx Start -; rjmp ComOnUart0_RxCharIsr ; 23: USART0_RXC USART0 Rx Complete - reti ; 23: USART0_RXC USART0 Rx Complete -; rjmp ComOnUart0_TxUdreIsr ; 24: USART0_DRE USART0 Data Register Empty - reti ; 24: USART0_DRE USART0 Data Register Empty -; rjmp ComOnUart0_TxCharIsr ; 25: USART0_TXC USART0 Tx Complete - reti ; 25: USART0_TXC USART0 Tx Complete - reti ; 26: USART1_RXS USART1 Rx Start - rjmp ComOnUart1_RxCharIsr ; 27: USART1_RXC USART1 Rx Complete -; reti ; 27: USART1_RXC USART1 Rx Complete - rjmp ComOnUart1_TxUdreIsr ; 28: USART1_DRE USART1 Data Register Empty -; reti ; 28: USART1_DRE USART1 Data Register Empty - rjmp ComOnUart1_TxCharIsr ; 29: USART1_TXC USART1 Tx Complete -; reti ; 29: USART1_TXC USART1 Tx Complete - reti ; 30: TWI Two-Wire-Interface - reti ; 31: RESERVED reserved - - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db DEVICEINFO_ID, 0 -devInfoVersion: .db DEVICEINFO_VERSION, DEVICEINFO_REVISION ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_TEMP_WINDOW, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - - - -; --------------------------------------------------------------------------- -; @routine firmwareStart @global - -firmwareStart: - rjmp main -; @end - - - -; --------------------------------------------------------------------------- -; @routine onSystemStart - -onSystemStart: - ; set interface number for UART0 -; ldi r16, COMONUART0_IFACENUM -; sts comOnUart0_iface+NET_IFACE_OFFS_IFACENUM, r16 - ; set interface number for UART1 - ldi r16, COMONUART1_IFACENUM - sts comOnUart1_iface+NET_IFACE_OFFS_IFACENUM, r16 - - ret -; @end - - - - - - - -onEvery100ms: -onEverySecond: -onEveryMinute: -onEveryHour: -onEveryDay: - ret - - - - -; --------------------------------------------------------------------------- -; @routine onEveryLoop -; -; Called on every loop (i.e. after awakening from sleep). - -onEveryLoop: - ret -; @end - - - -; --------------------------------------------------------------------------- -; @routine onMessageReceived -; -; Called on every message received - -onMessageReceived: - clc - ret -; @end - - - -; --------------------------------------------------------------------------- -; @routine onAttnChange @global @isr -; -; Called whenever PCINT0 is activated. -; This code assumes that both ATTN pins are on the same port which is true for -; R04 nodes. - -onAttnChangeIsr: - push r15 - in r15, SREG - rcall ComOnUart1_HandleAttnChange ; (none) -; rcall ComOnUart0_HandleAttnChange ; (none) - out SREG, r15 - pop r15 - reti -; @end - - - - -; *************************************************************************** -; includes - -.include "devices/all/hw_tn841.asm" -.include "devices/all/includes.asm" - - - - -; --------------------------------------------------------------------------- -; defines for network interface - -.equ netInterfaceData = comOnUart1_iface -;.equ netInterfaceData2 = comOnUart1_iface - - diff --git a/avr/devices/x03/0BUILD b/avr/devices/x03/0BUILD deleted file mode 100644 index b317b73..0000000 --- a/avr/devices/x03/0BUILD +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - uart - ccs811 - - - - diff --git a/avr/devices/x03/ccs811/0BUILD b/avr/devices/x03/ccs811/0BUILD deleted file mode 100644 index 6329fc6..0000000 --- a/avr/devices/x03/ccs811/0BUILD +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - main.asm - - - - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - boot.asm - - - - - - - - - - - defs.asm - - - - - - diff --git a/avr/devices/x03/ccs811/boot.asm b/avr/devices/x03/ccs811/boot.asm deleted file mode 100644 index b887867..0000000 --- a/avr/devices/x03/ccs811/boot.asm +++ /dev/null @@ -1,124 +0,0 @@ -; *************************************************************************** -; Source file for base system node on AtTiny 85 -; -; This is for the maintenance system (i.e. the flash loader). -; -; All definitions and changes should go into this file. -; -; -; *************************************************************************** - -.equ clock=1000000 ; Define the clock frequency - -.nolist -.include "include/tn84def.inc" ; Define device ATtiny84 -.list - -.include "./defs.asm" -.include "defs_all.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - -.include "common/utils_wait.asm" -.include "modules/com2/defs.asm" -.include "modules/comproto/defs.asm" - - -; --------------------------------------------------------------------------- -; firmware settings - -.equ FIRMWARE_VERSION_MAJOR = 0 -.equ FIRMWARE_VERSION_MINOR = 0 -.equ FIRMWARE_VERSION_PATCHLEVEL = 1 - - -; --------------------------------------------------------------------------- -; LED - -.equ LED_DDR = DDRA -.equ LED_PORT = PORTA -.equ LED_PIN = PINA -.equ LED_PINNUM = PORTA3 - - - -; *************************************************************************** -; code segment - -.cseg -.org 0x0000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors - rjmp main ; Reset vector - reti ; EXT_INT0 - reti ; PCI0 - reti ; OC1A - reti ; OVF1 - reti ; OVF0 - reti ; ERDY - reti ; ACI - reti ; ADCC - reti ; OC1B - reti ; OC0A - reti ; OC0B - reti ; WATCHDOG - reti ; USI_STR - reti ; USI_OVF - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db 'N', 0 -devInfoVersion: .db 14, 0 ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_BOOT, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main ; will be overwritten when flashing - - - -; *************************************************************************** -; main code - - -.org BOOTLOADER_ADDR - - -main: - rjmp bootLoader ; this routine is in modules/flash/proto.asm - - - - -; *************************************************************************** -; includes - -.include "modules/uart_bitbang/bytelevel.asm" -.include "modules/uart_bitbang/packetlevel.asm" -.include "modules/com2/crc.asm" -.include "common/crc8.asm" -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" -.include "modules/flash/bootloader.asm" -.include "modules/flash/flash.asm" -.include "modules/flash/recv.asm" -.include "modules/flash/send.asm" -.include "modules/flash/wait.asm" -.include "modules/flash/hdl_flash_start.asm" -.include "modules/flash/hdl_flash_data.asm" -.include "modules/flash/hdl_flash_end.asm" -.include "modules/flash/flash_rsp.asm" -.include "modules/flash/flash_ready.asm" - - - - diff --git a/avr/devices/x03/ccs811/defs.asm b/avr/devices/x03/ccs811/defs.asm deleted file mode 100644 index 9d7ae13..0000000 --- a/avr/devices/x03/ccs811/defs.asm +++ /dev/null @@ -1,134 +0,0 @@ -; *************************************************************************** -; copyright : (C) 2023 by Martin Preuss -; email : martin@libchipcard.de -; -; *************************************************************************** -; * This file is part of the project "AqHome". * -; * Please see toplevel file COPYING of that project for license details. * -; *************************************************************************** - - -; *************************************************************************** -; -; AtTiny84 -; -------- -; VCC 1 14 GND -; PB0 2 13 PA0 AUX-A0 -; PIR PB1 3 12 PA1 COM-DATA -; /RESET PB3 4 11 PA2 -; AUX-B2 PB2 5 10 PA3 LED -; COM_ATTN PA7 6 9 PA4 TWI-SCL -; TWI-SDA PA6 7 8 PA5 -; -------- -; -; *************************************************************************** - - - -.equ BOOTLOADER_ADDR = 0xd00 - -.equ FIRMWARE_VARIANT_BOOT = 0 -.equ FIRMWARE_VARIANT_MAIN = 1 - - - -; --------------------------------------------------------------------------- -; LED module - -.equ LED_SIMPLE_ONTIME = 1 ; shorter -.equ LED_SIMPLE_OFFTIME = 50 ; longer -.equ LED_SIMPLE_DDR = DDRA -.equ LED_SIMPLE_PORT = PORTA -.equ LED_SIMPLE_PORTIN = PINA -.equ LED_SIMPLE_PINNUM = PORTA3 - - -.equ LED_DEBUG_DDR = DDRA -.equ LED_DEBUG_PORT = PORTA -.equ LED_DEBUG_PORTIN = PINA -.equ LED_DEBUG_PINNUM = PORTA5 - - - -; --------------------------------------------------------------------------- -; COM module - -.equ COM_BIT_LENGTH = 52000 ; 104000ns=9600, 52000ns=19200, 26000ns=38400 -.equ COM_HALFBIT_LENGTH = 26000 ; see https://de.wikipedia.org/wiki/Universal_Asynchronous_Receiver_Transmitter - -.equ COM_DATA_DDR = DDRA -.equ COM_DATA_INPUT = PINA -.equ COM_DATA_OUTPUT = PORTA -.equ COM_DATA_PIN = PORTA1 - -.equ COM_ATTN_DDR = DDRA -.equ COM_ATTN_INPUT = PINA -.equ COM_ATTN_OUTPUT = PORTA -.equ COM_ATTN_PIN = PORTA7 - -.equ COM_IRQ_ADDR_ATTN = PCMSK0 -.equ COM_IRQ_BIT_ATTN = PCINT7 ; bit 7 in PCMSK0 -.equ COM_IRQ_GIFR_ATTN = PCIF0 -.equ COM_IRQ_GIMSK_ATTN = PCIE0 - - - -; --------------------------------------------------------------------------- -; TWI master module - -;.equ TWI_BIT_LENGTH = 10000 ; 100000 and 200000 works for display: 10000, 100000, 200000 -.equ TWI_BIT_LENGTH = 1 ; 10, 100, 500, 100000 and 200000 works for display: 10000, 100000, 200000 - -.equ TWI_DDR_SCL = DDRA -.equ TWI_PORT_SCL = PORTA -.equ TWI_PIN_SCL = PINA -.equ TWI_PINNUM_SCL = PORTA4 - -.equ TWI_DDR_SDA = DDRA -.equ TWI_PORT_SDA = PORTA -.equ TWI_PIN_SDA = PINA -.equ TWI_PINNUM_SDA = PORTA6 - - - -; --------------------------------------------------------------------------- -; LCD module - -.equ LCD_TWI_ADDRESS = 0x3c - - - -; --------------------------------------------------------------------------- -; SI 7021 - -.equ SI7021_ADDR = 0x40 - - - -; --------------------------------------------------------------------------- -; 1-Wire Master -; - -.equ OWI_DDR = DDRB -.equ OWI_PORTOUT = PORTB -.equ OWI_PORTIN = PINB -.equ OWI_PINNUM = PORTB2 - - - -; --------------------------------------------------------------------------- -; Motion Sensor -; - -.equ MOTION_DDR = DDRB -.equ MOTION_INPUT = PINB -.equ MOTION_OUTPUT = PORTB -.equ MOTION_PIN = PORTB1 - - - - -.equ CCS811_ADDR = 0x5a ; or 0x5b - - - diff --git a/avr/devices/x03/ccs811/main.asm b/avr/devices/x03/ccs811/main.asm deleted file mode 100644 index a6d0463..0000000 --- a/avr/devices/x03/ccs811/main.asm +++ /dev/null @@ -1,344 +0,0 @@ -; *************************************************************************** -; copyright : (C) 2024 by Martin Preuss -; email : martin@libchipcard.de -; -; *************************************************************************** -; * This file is part of the project "AqHome". * -; * Please see toplevel file COPYING of that project for license details. * -; *************************************************************************** - - -; *************************************************************************** -; Source file for LED controller node on AtTiny 85 -; -; This is for the full system (i.e. not the boot loader). -; *************************************************************************** - -.equ clock=1000000 ; Define the clock frequency - - - -.nolist -.include "include/tn84def.inc" ; Define device ATtiny84 -.list - -.include "./defs.asm" -.include "defs_all.asm" -.include "common/utils_wait.asm" ; wait macro - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; firmware settings including list of modules used - -.equ FIRMWARE_VERSION_MAJOR = 0 -.equ FIRMWARE_VERSION_MINOR = 0 -.equ FIRMWARE_VERSION_PATCHLEVEL = 1 - - -#define MODULES_TIMER -#define MODULES_COM -#define MODULES_COM_WITH_ADDR_PROTO -#define MODULES_LED_SIMPLE -#define MODULES_TWI_MASTER -;#define MODULES_SI7021 -#define MODULES_STATS -; #define MODULES_OWI_MASTER -; #define MODULES_DS18B20 -; #define MODULES_SK6812 -; #define MODULES_MOTION_LIGHT - -; #define COM_ACCEPT_ALL_DEST -#define MODULES_CCS811 - - -; --------------------------------------------------------------------------- -; defines for modules - -.equ VALUE_ID_CO2 = 0x07 -.equ VALUE_ID_TVOC = 0x08 - -.equ VALUE_ID_DEBUG = 0x7f - -;.equ VALUE_ID_SI7021_TEMP = 0x01 -;.equ VALUE_ID_SI7021_HUM = 0x02 - -;.equ VALUE_ID_ADC = 0x03 -;.equ VALUE_ID_REED1 = 0x04 -;.equ VALUE_ID_REED2 = 0x05 -;.equ VALUE_ID_DS18B20_TEMP = 0x06 - -;.equ VALUE_ID_LED_NUMLEDS = 0x82 -;.equ VALUE_ID_LED_RGBW_VALUE = 0x83 -;.equ VALUE_ID_MAL_RGBW_VALUE = 0x84 -;.equ VALUE_ID_MAL_ONTIME = 0x85 -;.equ VALUE_ID_MAL_SOURCE1 = 0x86 -;.equ VALUE_ID_MAL_SOURCE2 = 0x87 - - -; *************************************************************************** -; code segment - -.cseg -.org 000000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors - - rjmp BOOTLOADER_ADDR ; Reset vector ; use this for flashed system - reti ; EXT_INT0 - rjmp uartBitbangIsrPcint0 ; PCI0 - reti ; OC1A - reti ; OVF1 - reti ; OVF0 - reti ; ERDY - reti ; ACI - reti ; ADCC - reti ; OC1B - rjmp baseTimerIrqOC0A ; OC0A - reti ; OC0B - reti ; WATCHDOG - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db 'N', 0 -devInfoVersion: .db 18, 0 ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_MAIN, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main - - -; *************************************************************************** -; includes - -.include "common/utils.asm" -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" -.include "common/crc8.asm" - -.include "modules/basetimer/main.asm" - -#ifdef MODULES_TIMER - .include "modules/timer/main.asm" -#endif -#ifdef MODULES_LED_SIMPLE -.include "modules/led_simple/main.asm" -#endif -#ifdef MODULES_COM - .include "modules/com2/defs.asm" - .include "modules/com2/main.asm" - .include "modules/com2/buffer.asm" - #ifdef MODULES_STATS - .include "modules/comproto/msg_recvstats.asm" - .include "modules/comproto/msg_sendstats.asm" - .include "modules/comproto/msg_sysstats.asm" - .include "modules/comproto/msg_memstats.asm" - #endif - .include "modules/comproto/msg_pong.asm" - .include "modules/comproto/msg_value.asm" - .include "modules/comproto/msg_device.asm" - .include "modules/comproto/msg_reboot.asm" - .include "modules/uart_bitbang/defs.asm" - .include "modules/uart_bitbang/main.asm" - .include "modules/uart_bitbang/bytelevel.asm" - .include "modules/uart_bitbang/packetlevel.asm" - #ifdef MODULES_COM_WITH_ADDR_PROTO - .include "modules/comproto/defs.asm" - .include "modules/comproto/main.asm" - .include "modules/comproto/addr.asm" - #endif -#endif -#ifdef MODULES_STATS - .include "modules/stats/main.asm" -#endif -#ifdef MODULES_TWI_MASTER - .include "modules/twimaster/main.asm" -#endif -#ifdef MODULES_OWI_MASTER - .include "modules/owimaster/main.asm" -#endif -#ifdef MODULES_SI7021 - .include "modules/si7021/main.asm" -#endif -#ifdef MODULES_DS18B20 - .include "modules/ds18b20/main.asm" -#endif -#ifdef MODULES_SK6812 - .include "modules/sk6812/main.asm" -#endif -#ifdef MODULES_MOTION_LIGHT - .include "modules/ma_light/main.asm" -#endif -#ifdef MODULES_CCS811 - .include "modules/ccs811/main.asm" -#endif - - - -; *************************************************************************** -; data in SRAM - -.dseg - - -#ifdef MODULES_DS18B20 - sramDs18b20Timer: .byte 2 - sramSendDs18b20TempTimer: .byte 2 -#endif - - -; *************************************************************************** -; data in FLASH - -.cseg - - - -; --------------------------------------------------------------------------- -; timer list - - -timerList: -; SRAM variable/counter routine flags secs (0=don't start or restart) -#ifdef MODULES_COM_WITH_ADDR_PROTO - .dw cproAddresModeTimer, CPRO_Address_OnTimer, 0, 0 ; (no restart) -#endif -#ifdef MODULES_STATS - .dw statsSendTimer, Stats_Timer, TIMER_FLAGS_IF_ADDR, 9000 ; every 15m -#endif -#ifdef MODULES_DS18B20 - .dw sramDs18b20Timer, Ds18b20_OnTimer, 0, 300 ; every 30s - .dw sramSendDs18b20TempTimer, sendDs18b20Temp, TIMER_FLAGS_IF_ADDR, 600 ; every 60s -#endif - .dw 0 ; end of list - - - - - -.include "main_all.asm" - - -; --------------------------------------------------------------------------- -; Called early on system startup. No arguments, no results. - -systemSetSpeed: -.if clock == 8000000 - ldi r16, (1< - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - main.asm - - - - - - - - - - - -I $(builddir) - -I $(srcdir) - -I $(topsrcdir)/avr - -I $(topbuilddir)/avr - - - - - boot.asm - - - - - - - - - - - defs.asm - - - - - - diff --git a/avr/devices/x03/uart/boot.asm b/avr/devices/x03/uart/boot.asm deleted file mode 100644 index 8e833a4..0000000 --- a/avr/devices/x03/uart/boot.asm +++ /dev/null @@ -1,162 +0,0 @@ -; *************************************************************************** -; Source file for base system node on AtTiny 84 -; -; This is for the maintenance system (i.e. the flash loader). -; -; All definitions and changes should go into this file. -; *************************************************************************** - -.equ clock=1000000 ; Define the clock frequency - -.nolist -.include "include/tn84def.inc" ; Define device ATtiny84 -.list - -.include "defs_all.asm" -.include "./defs.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - -.include "common/utils_wait.asm" -.include "modules/com2/defs.asm" -.include "modules/comproto/defs.asm" - - - -; --------------------------------------------------------------------------- -; firmware settings - -.equ FIRMWARE_VERSION_MAJOR = 0 -.equ FIRMWARE_VERSION_MINOR = 0 -.equ FIRMWARE_VERSION_PATCHLEVEL = 1 - - - -; --------------------------------------------------------------------------- -; LED - -.equ LED_DDR = DDRA -.equ LED_PORT = PORTA -.equ LED_PIN = PINA -.equ LED_PINNUM = PORTA3 - - -; *************************************************************************** -; code segment - -.cseg -.org 0x0000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors -; rjmp start ; Reset vector - rjmp main ; Reset vector - reti ; EXT_INT0 - reti ; PCI0 - reti ; PCI1 - reti ; WATCHDOG - reti ; ICP1 - reti ; OC1A - reti ; OC1B - reti ; OVF1 - reti ; OC0A - reti ; OC0B - reti ; OVF0 - reti ; ACI - reti ; ADCC - reti ; ERDY - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db 'X', 0 -devInfoVersion: .db 3, 0 ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_BOOT, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main ; will be overwritten when flashing - - - -; *************************************************************************** -; main code - - -.org BOOTLOADER_ADDR - - -main: - rjmp bootLoader ; this routine is in modules/flash/proto.asm - - - - -; *************************************************************************** -; includes - -.include "modules/uart_bitbang/bytelevel.asm" -.include "modules/uart_bitbang/packetlevel.asm" -.include "modules/com2/crc.asm" -.include "common/crc8.asm" -.include "common/utils_wait_fixed.asm" -.include "common/utils_copy_from_flash.asm" -.include "common/utils_copy_sdram.asm" -.include "modules/flash/bootloader.asm" -.include "modules/flash/flash.asm" -.include "modules/flash/recv.asm" -.include "modules/flash/send.asm" -.include "modules/flash/wait.asm" -.include "modules/flash/hdl_flash_start.asm" -.include "modules/flash/hdl_flash_data.asm" -.include "modules/flash/hdl_flash_end.asm" -.include "modules/flash/flash_rsp.asm" -.include "modules/flash/flash_ready.asm" - - -#if 0 -debugStop: - cli - sbi LED_SIMPLE_DDR, LED_SIMPLE_PINNUM ; out - cbi LED_SIMPLE_PORT, LED_SIMPLE_PINNUM ; on - - cbi COM_ATTN_DDR, COM_ATTN_PIN ; set ATTN port as input - cbi COM_ATTN_OUTPUT, COM_ATTN_PIN ; disable internal pullup for ATTN - - ldi r18, 0 -test_loop1: - ldi r16, 100 -test_loop2: - ldi r17, 100 -test_loop3: - Utils_WaitNanoSecs 10000, 0, r22 - dec r17 - brne test_loop3 - dec r16 - brne test_loop2 - sbi LED_SIMPLE_PORTIN, LED_SIMPLE_PINNUM ; toggle - inc r18 - mov r19, r18 - andi r19, 1 - brne test1 - sbi COM_ATTN_DDR, COM_ATTN_PIN - cbi COM_ATTN_OUTPUT, COM_ATTN_PIN - rjmp test_loop1 -test1: - cbi COM_ATTN_DDR, COM_ATTN_PIN - cbi COM_ATTN_OUTPUT, COM_ATTN_PIN - - rjmp test_loop1 -#endif - - - diff --git a/avr/devices/x03/uart/defs.asm b/avr/devices/x03/uart/defs.asm deleted file mode 100644 index df7903b..0000000 --- a/avr/devices/x03/uart/defs.asm +++ /dev/null @@ -1,72 +0,0 @@ -; *************************************************************************** -; copyright : (C) 2023 by Martin Preuss -; email : martin@libchipcard.de -; -; *************************************************************************** -; * This file is part of the project "AqHome". * -; * Please see toplevel file COPYING of that project for license details. * -; *************************************************************************** - - -; *************************************************************************** -; -; AtTiny84 -; -------- -; VCC 1 14 GND -; PB0 2 13 PA0 COM_ATTN1 -; PB1 3 12 PA1 COM-DATA1 -; /RESET PB3 4 11 PA2 -; COM_ATTN2 PB2 5 10 PA3 LED -; COM_DATA2 PA7 6 9 PA4 -; PA6 7 8 PA5 -; -------- -; -; *************************************************************************** - - - -.equ BOOTLOADER_ADDR = 0xd00 - -.equ FIRMWARE_VARIANT_BOOT = 0 -.equ FIRMWARE_VARIANT_ROUTER = 1 - - - -; --------------------------------------------------------------------------- -; LED module - -.equ LED_SIMPLE_DDR = DDRA -.equ LED_SIMPLE_PORT = PORTA -.equ LED_SIMPLE_PORTIN = PINA -.equ LED_SIMPLE_PINNUM = PORTA3 - - - -; --------------------------------------------------------------------------- -; COM module - -.equ COM_BIT_LENGTH = 52000 ; 104000ns=9600, 52000ns=19200, 26000ns=38400 -.equ COM_HALFBIT_LENGTH = 26000 ; see https://de.wikipedia.org/wiki/Universal_Asynchronous_Receiver_Transmitter - -.equ COM_DATA_DDR = DDRA -.equ COM_DATA_INPUT = PINA -.equ COM_DATA_OUTPUT = PORTA -.equ COM_DATA_PIN = PORTA1 - -.equ COM_ATTN_DDR = DDRA -.equ COM_ATTN_INPUT = PINA -.equ COM_ATTN_OUTPUT = PORTA -.equ COM_ATTN_PIN = PORTA0 - -.equ COM_DATA2_DDR = DDRA -.equ COM_DATA2_INPUT = PINA -.equ COM_DATA2_OUTPUT = PORTA -.equ COM_DATA2_PIN = PORTA7 - -.equ COM_ATTN2_DDR = DDRB -.equ COM_ATTN2_INPUT = PINB -.equ COM_ATTN2_OUTPUT = PORTB -.equ COM_ATTN2_PIN = PORTB2 - - - diff --git a/avr/devices/x03/uart/main.asm b/avr/devices/x03/uart/main.asm deleted file mode 100644 index 1606d2c..0000000 --- a/avr/devices/x03/uart/main.asm +++ /dev/null @@ -1,221 +0,0 @@ -; *************************************************************************** -; copyright : (C) 2024 by Martin Preuss -; email : martin@libchipcard.de -; -; *************************************************************************** -; * This file is part of the project "AqHome". * -; * Please see toplevel file COPYING of that project for license details. * -; *************************************************************************** - - - - -; *************************************************************************** -; Source file for temperature sensor node on AtTiny 84 -; -; This is for the full system (i.e. not the boot loader). -; -; All definitions and changes should go into this file. -; -; -; *************************************************************************** - - -; .equ clock=1000000 ; Define the clock frequency -.equ clock=8000000 ; Define the clock frequency - - - -.nolist -.include "include/tn84def.inc" ; Define device ATtiny84 -.list - -.include "defs_all.asm" -.include "./defs.asm" - - - -; *************************************************************************** -; defines - -; --------------------------------------------------------------------------- -; generic - - -.include "common/utils_wait.asm" - - -; --------------------------------------------------------------------------- -; firmware settings including list of modules used - -.equ FIRMWARE_VERSION_MAJOR = 0 -.equ FIRMWARE_VERSION_MINOR = 0 -.equ FIRMWARE_VERSION_PATCHLEVEL = 1 - - - - -; *************************************************************************** -; code segment - -.cseg -.org 000000 - - - -; --------------------------------------------------------------------------- -; Reset and interrupt vectors (will be removed as soon as we can flash data over COM) - -; rjmp main ; Reset vector - rjmp BOOTLOADER_ADDR ; Reset vector ; use this for flashed system - reti ; EXT_INT0 - reti ; PCI0 - reti ; PCI1 - reti ; WATCHDOG - reti ; ICP1 - reti ; OC1A - reti ; OC1B - reti ; OVF1 - rjmp uartIrqIsrOC0A ; OC0A - reti ; OC0B - reti ; OVF0 - reti ; ACI - reti ; ADCC - reti ; ERDY - reti ; USI_STR - reti ; USI_OVF - - -devInfoBlock: ; 12 bytes -devInfoManufacturer: .db 'A', 'Q', 'U', 'A' -devInfoId: .db 'X', 0 -devInfoVersion: .db 3, 0 ; version, revision -firmwareVersion: .db FIRMWARE_VARIANT_ROUTER, FIRMWARE_VERSION_MAJOR - .db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL - -firmwareStart: rjmp main - - -; *************************************************************************** -; includes - -.include "common/utils.asm" -.include "common/utils_wait_fixed.asm" -;.include "common/utils_copy_from_flash.asm" -;.include "common/utils_copy_sdram.asm" -.include "common/crc8.asm" - -#include "modules/uart_irq/defs.asm" -#include "modules/uart_irq/iface.asm" -#include "modules/uart_irq/iface1.asm" -#include "modules/uart_irq/iface2.asm" - - -; *************************************************************************** -; data in SRAM - -.dseg - -programRamBegin: -ledTimer: .byte 1 -programRamEnd: - - - -; *************************************************************************** -; data in FLASH - -.cseg - - -main: - ldi xh, HIGH(programRamBegin) - ldi xl, LOW(programRamBegin) - clr r16 - ldi r17, (programRamEnd-programRamBegin) - rcall Utils_FillSram - rcall init - sbi LED_SIMPLE_DDR, LED_SIMPLE_PINNUM ; out - cbi LED_SIMPLE_PORT, LED_SIMPLE_PINNUM ; on - clr r16 - sts ledTimer, r16 - sei -main_loop: -; rcall writeTestByteToIface2 -; rcall copyFromIface1To2 -; brcc main_sleep -; rjmp main_loop - -main_sleep: - ; only modify SE, SM1 and SM0 - cli - in r16, MCUCR - ldi r17, (1<