avr: moved defs to correct files.
This commit is contained in:
@@ -4,22 +4,9 @@
|
|||||||
; This is for the maintenance system (i.e. the flash loader).
|
; This is for the maintenance system (i.e. the flash loader).
|
||||||
;
|
;
|
||||||
; All definitions and changes should go into this file.
|
; All definitions and changes should go into this file.
|
||||||
;
|
|
||||||
;
|
|
||||||
; AtTiny84
|
|
||||||
; --------
|
|
||||||
; VCC 1 14 GND
|
|
||||||
; PB0 2 13 PA0
|
|
||||||
; PB1 3 12 PA1 COM-DATA
|
|
||||||
; /RESET PB3 4 11 PA2
|
|
||||||
; KEY1 PB2 5 10 PA3 LED
|
|
||||||
; COM_ATTN PA7 6 9 PA4
|
|
||||||
; PA6 7 8 PA5
|
|
||||||
; --------
|
|
||||||
;
|
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
|
|
||||||
|
.equ clock=1000000 ; Define the clock frequency
|
||||||
|
|
||||||
.nolist
|
.nolist
|
||||||
.include "include/tn84def.inc" ; Define device ATtiny84
|
.include "include/tn84def.inc" ; Define device ATtiny84
|
||||||
@@ -36,9 +23,6 @@
|
|||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; generic
|
; generic
|
||||||
|
|
||||||
.equ clock=1000000 ; Define the clock frequency
|
|
||||||
|
|
||||||
|
|
||||||
.include "common/utils_wait.asm"
|
.include "common/utils_wait.asm"
|
||||||
.include "modules/com2/defs.asm"
|
.include "modules/com2/defs.asm"
|
||||||
.include "modules/comproto/defs.asm"
|
.include "modules/comproto/defs.asm"
|
||||||
@@ -48,35 +32,14 @@
|
|||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; firmware settings
|
; firmware settings
|
||||||
|
|
||||||
#define FW_TYPE AQHOME_FW_TYPE_ATT84_BASE
|
.equ FIRMWARE_VERSION_MAJOR = 0
|
||||||
#define FW_VERSION 0x0001
|
.equ FIRMWARE_VERSION_MINOR = 0
|
||||||
|
.equ FIRMWARE_VERSION_PATCHLEVEL = 1
|
||||||
|
|
||||||
#define BASE_SYSTEM
|
|
||||||
#define WITH_FLASH
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; COM module
|
; LED
|
||||||
|
|
||||||
.equ COM_BIT_LENGTH = 52000 ; 104000=9600, 52000=19200, 26000=38400
|
|
||||||
|
|
||||||
.equ COM_DDR_DATA = DDRA
|
|
||||||
.equ COM_PORT_DATA = PORTA
|
|
||||||
.equ COM_PIN_DATA = PINA
|
|
||||||
.equ COM_PINNUM_DATA = PORTA1
|
|
||||||
|
|
||||||
.equ COM_DDR_ATTN = DDRA
|
|
||||||
.equ COM_PORT_ATTN = PORTA
|
|
||||||
.equ COM_PIN_ATTN = PINA
|
|
||||||
.equ COM_PINNUM_ATTN = PORTA7
|
|
||||||
|
|
||||||
.equ COM_IRQ_ADDR_ATTN = PCMSK0
|
|
||||||
.equ COM_IRQ_BIT_ATTN = 7 ; bit 7 in PCMSK0
|
|
||||||
.equ COM_IRQ_GIFR_ATTN = PCIF0
|
|
||||||
.equ COM_IRQ_GIMSK_ATTN = PCIE0
|
|
||||||
|
|
||||||
|
|
||||||
.equ LED_DDR = DDRA
|
.equ LED_DDR = DDRA
|
||||||
.equ LED_PORT = PORTA
|
.equ LED_PORT = PORTA
|
||||||
@@ -114,10 +77,12 @@
|
|||||||
reti ; USI_OVF
|
reti ; USI_OVF
|
||||||
|
|
||||||
|
|
||||||
devInfoBlock:
|
devInfoBlock: ; 12 bytes
|
||||||
devInfoManufacturer: .db 'A', 'Q', 'U', 'A'
|
devInfoManufacturer: .db 'A', 'Q', 'U', 'A'
|
||||||
devInfoId: .db 'N', 0
|
devInfoId: .db 'N', 0
|
||||||
devInfoVersion: .db 1, 0 ; version, revision
|
devInfoVersion: .db 1, 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
|
firmwareStart: rjmp main ; will be overwritten when flashing
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,136 @@
|
|||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
|
|
||||||
|
|
||||||
|
; ***************************************************************************
|
||||||
|
;
|
||||||
|
; AtTiny84
|
||||||
|
; --------
|
||||||
|
; VCC 1 14 GND
|
||||||
|
; PB0 2 13 PA0 REED_OUT
|
||||||
|
; PB1 3 12 PA1 COM-DATA
|
||||||
|
; /RESET PB3 4 11 PA2 REED_IN1
|
||||||
|
; [KEY1] PB2 5 10 PA3 LED
|
||||||
|
; COM_ATTN PA7 6 9 PA4 TWI-SCL
|
||||||
|
; TWI-SDA PA6 7 8 PA5 REED_IN2
|
||||||
|
; --------
|
||||||
|
;
|
||||||
|
; ***************************************************************************
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.equ BOOTLOADER_ADDR = 0xd00
|
.equ BOOTLOADER_ADDR = 0xd00
|
||||||
|
|
||||||
|
.equ FIRMWARE_VARIANT_BOOT = 0
|
||||||
|
.equ FIRMWARE_VARIANT_TEMP_WINDOW = 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; LED module
|
||||||
|
|
||||||
|
.equ LED_SIMPLE_ONTIME = 3
|
||||||
|
.equ LED_SIMPLE_OFFTIME = 30
|
||||||
|
.equ LED_SIMPLE_DDR = DDRA
|
||||||
|
.equ LED_SIMPLE_PORT = PORTA
|
||||||
|
.equ LED_SIMPLE_PINNUM = PORTA7
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; COM module
|
||||||
|
|
||||||
|
.equ COM_BIT_LENGTH = 52000 ; 104000=9600, 52000=19200, 26000=38400
|
||||||
|
|
||||||
|
.equ COM_DDR_DATA = DDRA
|
||||||
|
.equ COM_PORT_DATA = PORTA
|
||||||
|
.equ COM_PIN_DATA = PINA
|
||||||
|
.equ COM_PINNUM_DATA = PORTA1
|
||||||
|
|
||||||
|
.equ COM_DDR_ATTN = DDRA
|
||||||
|
.equ COM_PORT_ATTN = PORTA
|
||||||
|
.equ COM_PIN_ATTN = PINA
|
||||||
|
.equ COM_PINNUM_ATTN = PORTA7
|
||||||
|
|
||||||
|
.equ COM_IRQ_ADDR_ATTN = PCMSK0
|
||||||
|
.equ COM_IRQ_BIT_ATTN = 7 ; bit 7 in PCMSK0
|
||||||
|
.equ COM_IRQ_GIFR_ATTN = PCIF0
|
||||||
|
.equ COM_IRQ_GIMSK_ATTN = PCIE0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; TWI master module
|
||||||
|
|
||||||
|
.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
|
||||||
|
#define LCD_MINIMAL_FONT
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; BMP 280
|
||||||
|
|
||||||
|
.equ BMP280_ADDR = 0x76
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; SI 7021
|
||||||
|
|
||||||
|
.equ SI7021_ADDR = 0x40
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; ADC/CNY70
|
||||||
|
|
||||||
|
|
||||||
|
.equ CNY70_PORT_LED = PORTB1
|
||||||
|
.equ CNY70_DDR_LED = DDRB
|
||||||
|
.equ CNY70_PINNUM_LED = PORTB1
|
||||||
|
|
||||||
|
.equ CNY70_PORT_ADC = PORTA5 ; adc5
|
||||||
|
.equ CNY70_DDR_ADC = DDRB
|
||||||
|
.equ CNY70_PINNUM_ADC = PORTA5
|
||||||
|
.equ CNY70_MUX_ADC = MUX5
|
||||||
|
.equ CNY70_ADCSRB_ADC = ADC5D
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; Reed
|
||||||
|
;
|
||||||
|
|
||||||
|
.equ REEDOUT_DDR = DDRA
|
||||||
|
.equ REEDOUT_PORT = PORTA
|
||||||
|
.equ REEDOUT_PIN = PINA
|
||||||
|
.equ REEDOUT_PINNUM = PORTA0
|
||||||
|
|
||||||
|
.equ REED1_DDR = DDRA
|
||||||
|
.equ REED1_PORT = PORTA
|
||||||
|
.equ REED1_PIN = PINA
|
||||||
|
.equ REED1_PINNUM = PORTA2
|
||||||
|
|
||||||
|
.equ REED2_DDR = DDRA
|
||||||
|
.equ REED2_PORT = PORTA
|
||||||
|
.equ REED2_PIN = PINA
|
||||||
|
.equ REED2_PINNUM = PORTA5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -18,20 +18,12 @@
|
|||||||
; All definitions and changes should go into this file.
|
; All definitions and changes should go into this file.
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
; AtTiny84
|
|
||||||
; --------
|
|
||||||
; VCC 1 14 GND
|
|
||||||
; PB0 2 13 PA0 REED_OUT
|
|
||||||
; PB1 3 12 PA1 COM-DATA
|
|
||||||
; /RESET PB3 4 11 PA2 REED_IN1
|
|
||||||
; [KEY1] PB2 5 10 PA3 LED
|
|
||||||
; COM_ATTN PA7 6 9 PA4 TWI-SCL
|
|
||||||
; TWI-SDA PA6 7 8 PA5 REED_IN2
|
|
||||||
; --------
|
|
||||||
;
|
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
|
|
||||||
|
|
||||||
|
.equ clock=1000000 ; Define the clock frequency
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.nolist
|
.nolist
|
||||||
.include "include/tn84def.inc" ; Define device ATtiny84
|
.include "include/tn84def.inc" ; Define device ATtiny84
|
||||||
@@ -48,7 +40,6 @@
|
|||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; generic
|
; generic
|
||||||
|
|
||||||
.equ clock=1000000 ; Define the clock frequency
|
|
||||||
|
|
||||||
.include "common/utils_wait.asm"
|
.include "common/utils_wait.asm"
|
||||||
|
|
||||||
@@ -56,6 +47,11 @@
|
|||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; firmware settings including list of modules used
|
; 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_TIMER
|
||||||
#define MODULES_COM
|
#define MODULES_COM
|
||||||
#define MODULES_COM_WITH_ADDR_PROTO
|
#define MODULES_COM_WITH_ADDR_PROTO
|
||||||
@@ -70,10 +66,7 @@
|
|||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; defines for modules
|
; defines for values
|
||||||
|
|
||||||
#define LCD_MINIMAL_FONT
|
|
||||||
|
|
||||||
|
|
||||||
.equ VALUE_ID_TEMP1 = 0x01
|
.equ VALUE_ID_TEMP1 = 0x01
|
||||||
.equ VALUE_ID_HUM1 = 0x02
|
.equ VALUE_ID_HUM1 = 0x02
|
||||||
@@ -83,102 +76,6 @@
|
|||||||
.equ VALUE_ID_REED2 = 0x05
|
.equ VALUE_ID_REED2 = 0x05
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
; COM module
|
|
||||||
|
|
||||||
.equ COM_BIT_LENGTH = 52000 ; 104000=9600, 52000=19200, 26000=38400
|
|
||||||
|
|
||||||
.equ COM_DDR_DATA = DDRA
|
|
||||||
.equ COM_PORT_DATA = PORTA
|
|
||||||
.equ COM_PIN_DATA = PINA
|
|
||||||
.equ COM_PINNUM_DATA = PORTA1
|
|
||||||
|
|
||||||
.equ COM_DDR_ATTN = DDRA
|
|
||||||
.equ COM_PORT_ATTN = PORTA
|
|
||||||
.equ COM_PIN_ATTN = PINA
|
|
||||||
.equ COM_PINNUM_ATTN = PORTA7
|
|
||||||
|
|
||||||
.equ COM_IRQ_ADDR_ATTN = PCMSK0
|
|
||||||
.equ COM_IRQ_BIT_ATTN = 7 ; bit 7 in PCMSK0
|
|
||||||
.equ COM_IRQ_GIFR_ATTN = PCIF0
|
|
||||||
.equ COM_IRQ_GIMSK_ATTN = PCIE0
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
; TWI master module
|
|
||||||
|
|
||||||
.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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
; BMP 280
|
|
||||||
|
|
||||||
.equ BMP280_ADDR = 0x76
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
; SI 7021
|
|
||||||
|
|
||||||
.equ SI7021_ADDR = 0x40
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
; ADC/CNY70
|
|
||||||
|
|
||||||
|
|
||||||
.equ CNY70_PORT_LED = PORTB1
|
|
||||||
.equ CNY70_DDR_LED = DDRB
|
|
||||||
.equ CNY70_PINNUM_LED = PORTB1
|
|
||||||
|
|
||||||
.equ CNY70_PORT_ADC = PORTA5 ; adc5
|
|
||||||
.equ CNY70_DDR_ADC = DDRB
|
|
||||||
.equ CNY70_PINNUM_ADC = PORTA5
|
|
||||||
.equ CNY70_MUX_ADC = MUX5
|
|
||||||
.equ CNY70_ADCSRB_ADC = ADC5D
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
; Reed
|
|
||||||
;
|
|
||||||
|
|
||||||
.equ REEDOUT_DDR = DDRA
|
|
||||||
.equ REEDOUT_PORT = PORTA
|
|
||||||
.equ REEDOUT_PIN = PINA
|
|
||||||
.equ REEDOUT_PINNUM = PORTA0
|
|
||||||
|
|
||||||
.equ REED1_DDR = DDRA
|
|
||||||
.equ REED1_PORT = PORTA
|
|
||||||
.equ REED1_PIN = PINA
|
|
||||||
.equ REED1_PINNUM = PORTA2
|
|
||||||
|
|
||||||
.equ REED2_DDR = DDRA
|
|
||||||
.equ REED2_PORT = PORTA
|
|
||||||
.equ REED2_PIN = PINA
|
|
||||||
.equ REED2_PINNUM = PORTA5
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
; code segment
|
; code segment
|
||||||
@@ -215,10 +112,12 @@
|
|||||||
reti ; USI_OVF
|
reti ; USI_OVF
|
||||||
|
|
||||||
|
|
||||||
devInfoBlock:
|
devInfoBlock: ; 12 bytes
|
||||||
devInfoManufacturer: .db 'A', 'Q', 'U', 'A'
|
devInfoManufacturer: .db 'A', 'Q', 'U', 'A'
|
||||||
devInfoId: .db 'N', 0
|
devInfoId: .db 'N', 0
|
||||||
devInfoVersion: .db 1, 0 ; version, revision
|
devInfoVersion: .db 1, 0 ; version, revision
|
||||||
|
firmwareVersion: .db FIRMWARE_VARIANT_BOOT, FIRMWARE_VERSION_MAJOR
|
||||||
|
.db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL
|
||||||
|
|
||||||
firmwareStart: rjmp main
|
firmwareStart: rjmp main
|
||||||
|
|
||||||
@@ -238,6 +137,9 @@ firmwareStart: rjmp main
|
|||||||
#ifdef MODULES_LED
|
#ifdef MODULES_LED
|
||||||
.include "modules/led/main.asm"
|
.include "modules/led/main.asm"
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef MODULES_LED_SIMPLE
|
||||||
|
.include "modules/led_simple/main.asm"
|
||||||
|
#endif
|
||||||
#ifdef MODULES_COM
|
#ifdef MODULES_COM
|
||||||
.include "modules/com2/defs.asm"
|
.include "modules/com2/defs.asm"
|
||||||
.include "modules/com2/main.asm"
|
.include "modules/com2/main.asm"
|
||||||
@@ -418,6 +320,10 @@ onEvery100ms:
|
|||||||
rcall Led_Tick
|
rcall Led_Tick
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef MODULES_LED_SIMPLE
|
||||||
|
rcall LedSimple_Every100ms
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef MODULES_CNY70
|
#ifdef MODULES_CNY70
|
||||||
rcall CNY70_Every100ms
|
rcall CNY70_Every100ms
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
;
|
;
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
|
|
||||||
|
.equ clock=1000000 ; Define the clock frequency
|
||||||
|
|
||||||
.nolist
|
.nolist
|
||||||
.include "include/tn84def.inc" ; Define device ATtiny84
|
.include "include/tn84def.inc" ; Define device ATtiny84
|
||||||
@@ -25,47 +25,21 @@
|
|||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; generic
|
; generic
|
||||||
|
|
||||||
.equ clock=1000000 ; Define the clock frequency
|
|
||||||
|
|
||||||
|
|
||||||
.include "common/utils_wait.asm"
|
.include "common/utils_wait.asm"
|
||||||
.include "modules/com2/defs.asm"
|
.include "modules/com2/defs.asm"
|
||||||
.include "modules/comproto/defs.asm"
|
.include "modules/comproto/defs.asm"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; firmware settings
|
; firmware settings
|
||||||
|
|
||||||
#define FW_TYPE AQHOME_FW_TYPE_ATT84_BASE
|
.equ FIRMWARE_VERSION_MAJOR = 0
|
||||||
#define FW_VERSION 0x0001
|
.equ FIRMWARE_VERSION_MINOR = 0
|
||||||
|
.equ FIRMWARE_VERSION_PATCHLEVEL = 1
|
||||||
|
|
||||||
#define BASE_SYSTEM
|
|
||||||
#define WITH_FLASH
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; COM module
|
; LED
|
||||||
|
|
||||||
.equ COM_BIT_LENGTH = 52000 ; 104000=9600, 52000=19200, 26000=38400
|
|
||||||
|
|
||||||
.equ COM_DDR_DATA = DDRA
|
|
||||||
.equ COM_PORT_DATA = PORTA
|
|
||||||
.equ COM_PIN_DATA = PINA
|
|
||||||
.equ COM_PINNUM_DATA = PORTA0
|
|
||||||
|
|
||||||
.equ COM_DDR_ATTN = DDRA
|
|
||||||
.equ COM_PORT_ATTN = PORTA
|
|
||||||
.equ COM_PIN_ATTN = PINA
|
|
||||||
.equ COM_PINNUM_ATTN = PORTA1
|
|
||||||
|
|
||||||
.equ COM_IRQ_ADDR_ATTN = PCMSK0
|
|
||||||
.equ COM_IRQ_BIT_ATTN = 1 ; bit 1 in PCMSK0
|
|
||||||
.equ COM_IRQ_GIFR_ATTN = PCIF0
|
|
||||||
.equ COM_IRQ_GIMSK_ATTN = PCIE0
|
|
||||||
|
|
||||||
|
|
||||||
.equ LED_DDR = DDRA
|
.equ LED_DDR = DDRA
|
||||||
.equ LED_PORT = PORTA
|
.equ LED_PORT = PORTA
|
||||||
@@ -73,6 +47,7 @@
|
|||||||
.equ LED_PINNUM = PORTA7
|
.equ LED_PINNUM = PORTA7
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
; code segment
|
; code segment
|
||||||
|
|
||||||
@@ -103,10 +78,12 @@
|
|||||||
reti ; USI_OVF
|
reti ; USI_OVF
|
||||||
|
|
||||||
|
|
||||||
devInfoBlock:
|
devInfoBlock: ; 12 bytes
|
||||||
devInfoManufacturer: .db 'A', 'Q', 'U', 'A'
|
devInfoManufacturer: .db 'A', 'Q', 'U', 'A'
|
||||||
devInfoId: .db 'N', 0
|
devInfoId: .db 'N', 0
|
||||||
devInfoVersion: .db 11, 0 ; version, revision
|
devInfoVersion: .db 11, 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
|
firmwareStart: rjmp main ; will be overwritten when flashing
|
||||||
|
|
||||||
|
|||||||
@@ -26,3 +26,114 @@
|
|||||||
|
|
||||||
.equ BOOTLOADER_ADDR = 0xd00
|
.equ BOOTLOADER_ADDR = 0xd00
|
||||||
|
|
||||||
|
|
||||||
|
.equ FIRMWARE_VARIANT_BOOT = 0
|
||||||
|
.equ FIRMWARE_VARIANT_TEMP_WINDOW = 1
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; LED module
|
||||||
|
|
||||||
|
.equ LED_SIMPLE_ONTIME = 3
|
||||||
|
.equ LED_SIMPLE_OFFTIME = 30
|
||||||
|
.equ LED_SIMPLE_DDR = DDRA
|
||||||
|
.equ LED_SIMPLE_PORT = PORTA
|
||||||
|
.equ LED_SIMPLE_PINNUM = PORTA7
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; COM module
|
||||||
|
|
||||||
|
.equ COM_BIT_LENGTH = 52000 ; 104000=9600, 52000=19200, 26000=38400
|
||||||
|
|
||||||
|
.equ COM_DDR_DATA = DDRA
|
||||||
|
.equ COM_PORT_DATA = PORTA
|
||||||
|
.equ COM_PIN_DATA = PINA
|
||||||
|
.equ COM_PINNUM_DATA = PORTA1
|
||||||
|
|
||||||
|
.equ COM_DDR_ATTN = DDRA
|
||||||
|
.equ COM_PORT_ATTN = PORTA
|
||||||
|
.equ COM_PIN_ATTN = PINA
|
||||||
|
.equ COM_PINNUM_ATTN = PORTA7
|
||||||
|
|
||||||
|
.equ COM_IRQ_ADDR_ATTN = PCMSK0
|
||||||
|
.equ COM_IRQ_BIT_ATTN = 7 ; bit 7 in PCMSK0
|
||||||
|
.equ COM_IRQ_GIFR_ATTN = PCIF0
|
||||||
|
.equ COM_IRQ_GIMSK_ATTN = PCIE0
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; TWI master module
|
||||||
|
|
||||||
|
.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
|
||||||
|
#define LCD_MINIMAL_FONT
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; BMP 280
|
||||||
|
|
||||||
|
.equ BMP280_ADDR = 0x76
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; SI 7021
|
||||||
|
|
||||||
|
.equ SI7021_ADDR = 0x40
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; ADC/CNY70
|
||||||
|
|
||||||
|
|
||||||
|
.equ CNY70_PORT_LED = PORTB1
|
||||||
|
.equ CNY70_DDR_LED = DDRB
|
||||||
|
.equ CNY70_PINNUM_LED = PORTB1
|
||||||
|
|
||||||
|
.equ CNY70_PORT_ADC = PORTA5 ; adc5
|
||||||
|
.equ CNY70_DDR_ADC = DDRB
|
||||||
|
.equ CNY70_PINNUM_ADC = PORTA5
|
||||||
|
.equ CNY70_MUX_ADC = MUX5
|
||||||
|
.equ CNY70_ADCSRB_ADC = ADC5D
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ---------------------------------------------------------------------------
|
||||||
|
; Reed
|
||||||
|
;
|
||||||
|
|
||||||
|
.equ REEDOUT_DDR = DDRA
|
||||||
|
.equ REEDOUT_PORT = PORTA
|
||||||
|
.equ REEDOUT_PIN = PINA
|
||||||
|
.equ REEDOUT_PINNUM = PORTA0
|
||||||
|
|
||||||
|
.equ REED1_DDR = DDRA
|
||||||
|
.equ REED1_PORT = PORTA
|
||||||
|
.equ REED1_PIN = PINA
|
||||||
|
.equ REED1_PINNUM = PORTA2
|
||||||
|
|
||||||
|
.equ REED2_DDR = DDRA
|
||||||
|
.equ REED2_PORT = PORTA
|
||||||
|
.equ REED2_PIN = PINA
|
||||||
|
.equ REED2_PINNUM = PORTA5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -8,29 +8,14 @@
|
|||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
; Source file for temperature sensor node on AtTiny 84
|
; Source file for temperature sensor node on AtTiny 84
|
||||||
;
|
;
|
||||||
; This is for the full system (i.e. not the boot loader).
|
; This is for the full system (i.e. not the boot loader).
|
||||||
;
|
|
||||||
; All definitions and changes should go into this file.
|
|
||||||
;
|
|
||||||
;
|
|
||||||
; AtTiny84
|
|
||||||
; --------
|
|
||||||
; VCC 1 14 GND
|
|
||||||
; PB0 2 13 PA0 REED_OUT
|
|
||||||
; PB1 3 12 PA1 COM-DATA
|
|
||||||
; /RESET PB3 4 11 PA2 REED_IN1
|
|
||||||
; [KEY1] PB2 5 10 PA3 LED
|
|
||||||
; COM_ATTN PA7 6 9 PA4 TWI-SCL
|
|
||||||
; TWI-SDA PA6 7 8 PA5 REED_IN2
|
|
||||||
; --------
|
|
||||||
;
|
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
|
|
||||||
|
.equ clock=1000000 ; Define the clock frequency
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.nolist
|
.nolist
|
||||||
@@ -39,27 +24,26 @@
|
|||||||
|
|
||||||
.include "n12_defs.asm"
|
.include "n12_defs.asm"
|
||||||
.include "defs.asm"
|
.include "defs.asm"
|
||||||
|
.include "common/utils_wait.asm" ; wait macro
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
; defines
|
; defines
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
; generic
|
|
||||||
|
|
||||||
.equ clock=1000000 ; Define the clock frequency
|
|
||||||
|
|
||||||
.include "common/utils_wait.asm"
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; firmware settings including list of modules used
|
; 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_TIMER
|
||||||
#define MODULES_COM
|
#define MODULES_COM
|
||||||
#define MODULES_COM_WITH_ADDR_PROTO
|
#define MODULES_COM_WITH_ADDR_PROTO
|
||||||
#define MODULES_LED
|
;#define MODULES_LED
|
||||||
|
#define MODULES_LED_SIMPLE
|
||||||
#define MODULES_TWI_MASTER
|
#define MODULES_TWI_MASTER
|
||||||
;#define MODULES_LCD
|
;#define MODULES_LCD
|
||||||
#define MODULES_SI7021
|
#define MODULES_SI7021
|
||||||
@@ -71,9 +55,6 @@
|
|||||||
; ---------------------------------------------------------------------------
|
; ---------------------------------------------------------------------------
|
||||||
; defines for modules
|
; defines for modules
|
||||||
|
|
||||||
#define LCD_MINIMAL_FONT
|
|
||||||
|
|
||||||
|
|
||||||
.equ VALUE_ID_TEMP1 = 0x01
|
.equ VALUE_ID_TEMP1 = 0x01
|
||||||
.equ VALUE_ID_HUM1 = 0x02
|
.equ VALUE_ID_HUM1 = 0x02
|
||||||
|
|
||||||
@@ -82,102 +63,6 @@
|
|||||||
.equ VALUE_ID_REED2 = 0x05
|
.equ VALUE_ID_REED2 = 0x05
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
; COM module
|
|
||||||
|
|
||||||
.equ COM_BIT_LENGTH = 52000 ; 104000=9600, 52000=19200, 26000=38400
|
|
||||||
|
|
||||||
.equ COM_DDR_DATA = DDRA
|
|
||||||
.equ COM_PORT_DATA = PORTA
|
|
||||||
.equ COM_PIN_DATA = PINA
|
|
||||||
.equ COM_PINNUM_DATA = PORTA1
|
|
||||||
|
|
||||||
.equ COM_DDR_ATTN = DDRA
|
|
||||||
.equ COM_PORT_ATTN = PORTA
|
|
||||||
.equ COM_PIN_ATTN = PINA
|
|
||||||
.equ COM_PINNUM_ATTN = PORTA7
|
|
||||||
|
|
||||||
.equ COM_IRQ_ADDR_ATTN = PCMSK0
|
|
||||||
.equ COM_IRQ_BIT_ATTN = 7 ; bit 7 in PCMSK0
|
|
||||||
.equ COM_IRQ_GIFR_ATTN = PCIF0
|
|
||||||
.equ COM_IRQ_GIMSK_ATTN = PCIE0
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
; TWI master module
|
|
||||||
|
|
||||||
.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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
; BMP 280
|
|
||||||
|
|
||||||
.equ BMP280_ADDR = 0x76
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
; SI 7021
|
|
||||||
|
|
||||||
.equ SI7021_ADDR = 0x40
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
; ADC/CNY70
|
|
||||||
|
|
||||||
|
|
||||||
.equ CNY70_PORT_LED = PORTB1
|
|
||||||
.equ CNY70_DDR_LED = DDRB
|
|
||||||
.equ CNY70_PINNUM_LED = PORTB1
|
|
||||||
|
|
||||||
.equ CNY70_PORT_ADC = PORTA5 ; adc5
|
|
||||||
.equ CNY70_DDR_ADC = DDRB
|
|
||||||
.equ CNY70_PINNUM_ADC = PORTA5
|
|
||||||
.equ CNY70_MUX_ADC = MUX5
|
|
||||||
.equ CNY70_ADCSRB_ADC = ADC5D
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ---------------------------------------------------------------------------
|
|
||||||
; Reed
|
|
||||||
;
|
|
||||||
|
|
||||||
.equ REEDOUT_DDR = DDRA
|
|
||||||
.equ REEDOUT_PORT = PORTA
|
|
||||||
.equ REEDOUT_PIN = PINA
|
|
||||||
.equ REEDOUT_PINNUM = PORTA0
|
|
||||||
|
|
||||||
.equ REED1_DDR = DDRA
|
|
||||||
.equ REED1_PORT = PORTA
|
|
||||||
.equ REED1_PIN = PINA
|
|
||||||
.equ REED1_PINNUM = PORTA2
|
|
||||||
|
|
||||||
.equ REED2_DDR = DDRA
|
|
||||||
.equ REED2_PORT = PORTA
|
|
||||||
.equ REED2_PIN = PINA
|
|
||||||
.equ REED2_PINNUM = PORTA5
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
; code segment
|
; code segment
|
||||||
@@ -214,10 +99,12 @@
|
|||||||
reti ; USI_OVF
|
reti ; USI_OVF
|
||||||
|
|
||||||
|
|
||||||
devInfoBlock:
|
devInfoBlock: ; 12 bytes
|
||||||
devInfoManufacturer: .db 'A', 'Q', 'U', 'A'
|
devInfoManufacturer: .db 'A', 'Q', 'U', 'A'
|
||||||
devInfoId: .db 'N', 0
|
devInfoId: .db 'N', 0
|
||||||
devInfoVersion: .db 12, 0 ; version, revision
|
devInfoVersion: .db 12, 0 ; version, revision
|
||||||
|
firmwareVersion: .db FIRMWARE_VARIANT_TEMP_WINDOW, FIRMWARE_VERSION_MAJOR
|
||||||
|
.db FIRMWARE_VERSION_MINOR, FIRMWARE_VERSION_PATCHLEVEL
|
||||||
|
|
||||||
firmwareStart: rjmp main
|
firmwareStart: rjmp main
|
||||||
|
|
||||||
@@ -237,6 +124,9 @@ firmwareStart: rjmp main
|
|||||||
#ifdef MODULES_LED
|
#ifdef MODULES_LED
|
||||||
.include "modules/led/main.asm"
|
.include "modules/led/main.asm"
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef MODULES_LED_SIMPLE
|
||||||
|
.include "modules/led_simple/main.asm"
|
||||||
|
#endif
|
||||||
#ifdef MODULES_COM
|
#ifdef MODULES_COM
|
||||||
.include "modules/com2/defs.asm"
|
.include "modules/com2/defs.asm"
|
||||||
.include "modules/com2/main.asm"
|
.include "modules/com2/main.asm"
|
||||||
@@ -417,6 +307,11 @@ onEvery100ms:
|
|||||||
rcall Led_Tick
|
rcall Led_Tick
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef MODULES_LED_SIMPLE
|
||||||
|
rcall LedSimple_Every100ms
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef MODULES_CNY70
|
#ifdef MODULES_CNY70
|
||||||
rcall CNY70_Every100ms
|
rcall CNY70_Every100ms
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
12
avr/main.asm
12
avr/main.asm
@@ -8,18 +8,6 @@
|
|||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
|
|
||||||
|
|
||||||
; ***************************************************************************
|
|
||||||
; data in SRAM
|
|
||||||
|
|
||||||
.dseg
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef MODULES_LED
|
|
||||||
ledA3Sram: .byte LED_SRAM_SIZE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
; code
|
; code
|
||||||
|
|
||||||
|
|||||||
@@ -26,6 +26,15 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ***************************************************************************
|
||||||
|
; data
|
||||||
|
|
||||||
|
.dseg
|
||||||
|
|
||||||
|
ledA3Sram: .byte LED_SRAM_SIZE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ***************************************************************************
|
; ***************************************************************************
|
||||||
|
|||||||
Reference in New Issue
Block a user