diff options
author | Daniel Friesel <derf@finalrewind.org> | 2013-10-10 09:46:37 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2013-10-10 09:46:37 +0200 |
commit | 90ed08ac01eaa52692e20a4c8dafda88f40333d9 (patch) | |
tree | 05e31c37f9c496df80074fdc90bfe1e580729047 /main.c | |
parent | 256330fd58afa814fba5eb45d0a6b6ded9174b87 (diff) |
add preprocessor alias for EEAR
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 24 |
1 files changed, 15 insertions, 9 deletions
@@ -53,8 +53,6 @@ * * LCNT = r28 (YL), r29 (YH) */ - - #define LCNTH GPIOR2 #define LCNTL GPIOR1 @@ -64,6 +62,14 @@ #define POS OCR1A #define APOS OCR1B #define BYTE EEDR +#define SEARCHSTEP EEAR + +#define CMD_READROM 0x33 +#define CMD_SEARCHROM 0xf0 + +#define SEARCHSTEP_BIT 0 +#define SEARCHSTEP_INV 1 +#define SEARCHSTEP_DIRECTION 2 #define delay_us_Y(delay) \ @@ -176,7 +182,7 @@ ISR(INT1_vect) POS = 1; APOS = 0; BYTE = ~ADDR8; - EEAR = 0; + SEARCHSTEP = SEARCHSTEP_BIT; EIFR |= _BV(INTF1); } } @@ -253,8 +259,8 @@ ISR(INT1_vect) } else if (LASTCMD == 0xf0) { - if (((EEAR == 0) && (BYTE & POS)) - || ((EEAR == 1) && !(BYTE & POS))) { + if (((SEARCHSTEP == SEARCHSTEP_BIT) && (BYTE & POS)) + || ((SEARCHSTEP == SEARCHSTEP_INV) && !(BYTE & POS))) { DDRD = _BV(PD3); delay_us_Y(15); @@ -263,15 +269,15 @@ ISR(INT1_vect) asm volatile ("wdr"); EIFR |= _BV(INTF1); } - if (EEAR < 2) { - EEAR++; + if (SEARCHSTEP < SEARCHSTEP_DIRECTION) { + SEARCHSTEP++; } else if (POS != 0x80) { POS <<= 1; - EEAR = 0; + SEARCHSTEP = SEARCHSTEP_BIT; } else { - EEAR = 0; + SEARCHSTEP = SEARCHSTEP_BIT; POS = 1; /* |