Revision 267 trunk/cardbox/main.c
| main.c (revision 267) | ||
|---|---|---|
| 16 | 16 |
* Copyright 2009 Kevin Woo <kwoo@2ndt.com> |
| 17 | 17 |
* |
| 18 | 18 |
********/ |
| 19 |
#include <util/delay.h> |
|
| 20 |
#include "rs485_int.h" |
|
| 21 |
#include <avr/interrupt.h> |
|
| 22 |
#include <avr/io.h> |
|
| 19 |
#include "main.h" |
|
| 23 | 20 |
|
| 24 |
#include <tooltron.h> |
|
| 25 |
#include "timer.h" |
|
| 26 |
#include "packet.h" |
|
| 27 |
|
|
| 28 | 21 |
/***** Keypad definitions ******/ |
| 29 | 22 |
#define KEYPORT PORTB |
| 30 | 23 |
#define KEYPIN PINB |
| ... | ... | |
| 46 | 39 |
/** @brief COL4 of the keypad */ |
| 47 | 40 |
#define COL1 (_BV(PB7)) |
| 48 | 41 |
|
| 49 |
/***** LED definitions *****/ |
|
| 50 |
#define LEDPORT PORTC |
|
| 51 |
#define LEDDDR DDRC |
|
| 52 |
#define LED_RED (_BV(PC5)) |
|
| 53 |
#define LED_YELLOW (_BV(PC4)) |
|
| 54 |
#define LED_GREEN (_BV(PC3)) |
|
| 55 |
|
|
| 56 | 42 |
#define ADDR 2 |
| 57 | 43 |
|
| 58 | 44 |
/***** Global variables *****/ |
| ... | ... | |
| 177 | 163 |
rs485_init(BAUD9600); |
| 178 | 164 |
init_pins(); |
| 179 | 165 |
init_timer(); |
| 166 |
card_reader_setup(); |
|
| 180 | 167 |
sei(); |
| 181 | 168 |
|
| 169 |
toggle_led(LED_GREEN|LED_YELLOW|LED_RED, OFF); |
|
| 170 |
read_card = 0; |
|
| 171 |
rs485_send_byte('s');
|
|
| 172 |
|
|
| 182 | 173 |
while(1) {
|
| 174 |
while(1) {
|
|
| 175 |
read_card = 1; |
|
| 176 |
if (cr_flag != CR_NONE) {
|
|
| 177 |
read_card = 0; |
|
| 183 | 178 |
|
| 179 |
//if (cr_flag == CR_GOOD) {
|
|
| 180 |
for (c = 0; c < cr_buf_idx; c++) {
|
|
| 181 |
rs485_send_byte(cr_buf[c]); |
|
| 182 |
} |
|
| 183 |
/* |
|
| 184 |
} else {
|
|
| 185 |
toggle_led(LED_YELLOW|LED_RED, ON); |
|
| 186 |
_delay_ms(1000); |
|
| 187 |
toggle_led(LED_YELLOW|LED_RED, OFF); |
|
| 188 |
}*/ |
|
| 189 |
|
|
| 190 |
cr_flag = CR_NONE; |
|
| 191 |
} |
|
| 192 |
} |
|
| 193 |
|
|
| 194 |
|
|
| 195 |
|
|
| 184 | 196 |
switch(state) {
|
| 185 | 197 |
case req: |
| 186 | 198 |
toggle_led(LED_RED|LED_GREEN|LED_YELLOW, OFF); |
Also available in: Unified diff