From 7ea4e6e6e045ce70c0d6c543a410c8af92ea7f5b Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Sun, 28 Jul 2013 21:42:25 -0600 Subject: [PATCH] version used at 28 Jul scrimmage --- avr.h | 18 +++----- driver.fzz | Bin 42739 -> 51499 bytes main.c | 127 ++++++++++++++++++++++++++++------------------------- 3 files changed, 74 insertions(+), 71 deletions(-) diff --git a/avr.h b/avr.h index 4c2d5ce..0696089 100644 --- a/avr.h +++ b/avr.h @@ -7,19 +7,15 @@ #define bit(pin, bit, on) pin = (on ? (pin | bit) : (pin & ~bit)) -#define mode(on) bit(PORTA, _BV(0), on) -#define sin(on) bit(PORTA, _BV(1), on) -#define sclk(on) bit(PORTA, _BV(2), on) -#define xlat(on) bit(PORTA, _BV(3), on) -// Connect GSCLK to SCLK -// Connect BLANK to XLAT -// TRUST ME, THIS TOTALLY WORKS +#define sin(on) bit(PORTA, _BV(0), on) +#define sclk(on) bit(PORTA, _BV(1), on) +#define sltch(on) bit(PORTA, _BV(2), on) -#define NESOUT 6 -#define nesclk(on) bit(PORTA, _BV(4), on) -#define nesltch(on) bit(PORTA, _BV(5), on) +#define nesclk(on) bit(PORTA, _BV(3), on) +#define nesltch(on) bit(PORTA, _BV(4), on) +#define NESOUT 5 #define nesout() ((PINA & _BV(NESOUT)) << NESOUT) void init(void); -#endif \ No newline at end of file +#endif diff --git a/driver.fzz b/driver.fzz index b5b6a456c5feff489a1baba2272960cfc091230b..595fe357e2e6b962d8819e89085fc65004272bcd 100644 GIT binary patch delta 39989 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 delta 31071 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 0; i -= 1) { sin(number & (1 << i)); - - for (j = 0; j < 12; j += 1) { - pulse(); - } + pulse(); } } @@ -96,10 +93,15 @@ write_num(uint16_t number, int digits) for (i = 0; i < digits; i += 1) { uint8_t out = seven_segment_digits[number % 10]; - + // Overflow indicator if ((i == digits - 1) && (number > 9)) { - out ^= 0x80; + // Blink to indicate double-rollover + if ((number > 19) && (jiffies % 3 == 0)) { + // leave it blank + } else { + out ^= 0x80; + } } write(out); @@ -113,39 +115,51 @@ write_num(uint16_t number, int digits) void draw() { - uint16_t clk; - // XXX testing + uint16_t jclk; + uint16_t pclk; + bool blank = ((state == TIMEOUT) && (jiffies % 8 == 0)); + jclk = (abs(jam_clock / 600) % 10) * 1000; + jclk += abs(jam_clock) % 600; + pclk = (abs(period_clock / 10) / 60) * 100; + pclk += abs(period_clock / 10) % 60; + + // Score A write_num(score_b, 2); - if (state == SETUP) { + // Jam clock, least significant half + write_num(jclk % 100, 2); + + // Period clock + if (blank) { + write(0); + write(0); + write(0); + write(0); + } else if (state == SETUP) { write(setup_digits[2]); write(setup_digits[1]); write(setup_digits[1]); write(setup_digits[0]); } else { - clk = (abs(jam_clock / 600) % 10) * 1000; - clk += abs(jam_clock) % 600; - write_num(clk, 4); + write_num(pclk, 4); } - if ((state == TIMEOUT) && (jam_clock % 8 == 0)) { - // Blank it out - for (clk = 0; clk < 4; clk += 1) { - write(setup_digits[1]); - } - } else { - clk = (abs(period_clock / 10) / 60) * 100; - clk += abs(period_clock / 10) % 60; - write_num(clk, 4); - } - + // Jam clock, most significant half + write_num(jclk / 100, 2); + + // Score A write_num(score_a, 2); - - write_num(jiffies % 200, 2); - + + if (false) { + int i; + for (i = 0; i < 12; i += 1) { + write_num(jiffies / 10, 1); + } + } + // Tell chips to start displaying new values latch(); pulse(); } @@ -192,6 +206,10 @@ update_controller() last_change = jiffies; last_val = cur; } + // Select means subtract + if (cur & BTN_SELECT) { + inc = -1; + } if ((pressed & BTN_A) && ((state != JAM) || (jam_clock == 0))) { state = JAM; @@ -241,53 +259,42 @@ update_controller() void setup() { - int i; + // The TLC5941 required some setup. + // The TPIC doesn't. + // Hooray. - // TLC594 datasheet says you have to do this before DC initialization. - // In practice it doesn't seem to matter, but what the hey. - draw(); - - // Initialize dot correction logic - mode(true); - sin(true); - for (i = 0; i < nsr * 96; i += 1) { - pulse(); - } - latch(); - mode(false); + PORTB = 0xff; } void loop() { - uint32_t i; + update_controller(); if (tick) { tick = false; - update_controller(); - - if (jiffies % 10 == 0) { + if (jiffies % 5 == 0) { PORTB ^= 0xff; } switch (state) { - case SETUP: - break; - case JAM: - case LINEUP: - if (period_clock) { - period_clock += 1; - } - // fall through - case TIMEOUT: - if (jam_clock) { - jam_clock += 1; - } + case SETUP: + break; + case JAM: + case LINEUP: + if (period_clock) { + period_clock += 1; + } + // fall through + case TIMEOUT: + if (jam_clock) { + jam_clock += 1; + } } - - draw(); } + + draw(); } int