.equ BUTTON_B = 0 .equ BUTTON_G = 1 .equ BUTTON_R = 2 .equ BUTTON_SET = 3 .equ BUTTON_CLR = 4 .equ BUTTON_SEL = 5 .equ BUTTON_NONE = 6 .equ CS_RTC = 0 ; states .equ SYSTEM_STARTUP = 0 .equ SYSTEM_SET_CLOCK = 1 .equ SYSTEM_RUNNING = 2 ; events .equ FADE_EVENT = 1 .equ STARTUP_EVENT = 2 .equ COLOR_ADJUST_EVENT = 3 .equ FADE_INIT_EVENT = 4 ; for offset adressing .equ RED = 0 .equ GREEN = 1 .equ BLUE = 2 ; value of leds when on / off (LSB must always be 0) .equ LED_ON_RED = 0x00 .equ LED_ON_GREEN = 0x00 .equ LED_ON_BLUE = 0x00 .equ LED_OFF = 0xFF ; for color adjustment .equ WHITE_R = 0xE0 .equ WHITE_G = 0x0 .equ WHITE_B = 0xD0 .equ CYAN_R = 0xFF .equ CYAN_G = 0x0 .equ CYAN_B = 0x0 .equ MAGENTA_R = 0x0 .equ MAGENTA_G = 0xFF .equ MAGENTA_B = 0x0 .equ YELLOW_R = 0xB0 .equ YELLOW_G = 0x0 .equ YELLOW_B = 0xFF ; adressing config space .equ SIZE_CONFIG_MAP = 0x12 .equ CONFIG_OFFSET_STATE_STARTUP = 0x00 .equ CONFIG_OFFSET_STATE_SET_CLOCK = 0x06 .equ CONFIG_OFFSET_STATE_RUNNING = 0x0C .equ CONFIG_OFFSET_FADE_TMR = 0x00 .equ CONFIG_OFFSET_DEBOUNCE_FADE = 0x02 .equ CONFIG_OFFSET_DEBOUNCE_IDLE = 0x04 .equ BOUNCE_TOP = 0x0F .equ BOUNCE_BOTTOM = 0x0F ; reg defs .def NULL = r0 .def LED0R = r1 .def LED0G = r2 .def LED0B = r3 .def LED1R = r4 .def LED1G = r5 .def LED1B = r6 .def LED2R = r7 .def LED2G = r8 .def LED2B = r9 .def LED3R = r10 .def LED3G = r11 .def LED3B = r12 ; Free registers 13:14 .def ACTIVE_LED = r15 .def SCRATCH = r16 .def STATE = r17 .def EVENTS = r18 .def BUTTON = r19 .def SECONDS = r20 .def MINUTES = r21 .def HOURS = r22 .def TSCRATCH = r23