Changeset 423
- Timestamp:
- 02/21/09 22:24:50 (3 years ago)
- Location:
- trunk/electronics/avr/killswitch
- Files:
-
- 3 modified
-
killremote.c (modified) (5 diffs)
-
killrobot.c (modified) (1 diff)
-
mkfile (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/electronics/avr/killswitch/killremote.c
r414 r423 9 9 #define sbi(var, mask) ((var) |= (uint8_t)(1 << mask)) 10 10 #define cbi(var, mask) ((var) &= (uint8_t)~(1 << mask)) 11 12 int counter = 0; 11 13 12 14 static void serial_init(long baud) … … 30 32 } 31 33 34 static void timer_init() 35 { 36 TCCR0A = _BV(WGM01); 37 TCCR0B = _BV(CS00) | _BV(CS02); 38 OCR0A = 17; 39 TIMSK0 = _BV(OCIE0A); 40 } 41 32 42 static void io_init() 33 43 { 34 DDRB = 0x0 0;44 DDRB = 0x0F; 35 45 DDRC = 0x00; 36 46 DDRD = 0b11111110; … … 40 50 { 41 51 io_init(); 52 timer_init(); 42 53 serial_init(9600); 43 54 sei(); … … 46 57 47 58 while (1) { 59 uint8_t in = 'f'; 48 60 c = PINC; 49 61 c &= (1<<2); 50 62 usart_put(!c ? 's' : 'g'); 51 _delay_ms(50); 63 _delay_ms(100); 64 65 if(UCSR0A & (1<<7)) { 66 in = usart_get(); 67 if(in == 'c') PORTB |= 0x03; 68 counter = 500; 69 } 70 71 if(!counter) PORTB &= 0xFC; 72 if(!c) PORTB &= 0xF3; 73 else PORTB |= 0x0C; 74 52 75 } 53 76 … … 55 78 return 0; 56 79 } 80 81 ISR(TIMER0_COMPA_vect) 82 { 83 if(counter) counter--; 84 } -
trunk/electronics/avr/killswitch/killrobot.c
r418 r423 69 69 PORTB = 0x0F; 70 70 counter = 500; 71 usart_put('c'); 71 72 } 72 73 else if(in == 's' || !counter) { 73 74 PORTB = 0x00; 75 usart_put('c'); 74 76 } 75 77 in = 'f'; -
trunk/electronics/avr/killswitch/mkfile
r396 r423 3 3 <$RHRTELEC/avr/mkhdr 4 4 5 TARG=killr obot6 OFILES=killr obot.o5 TARG=killremote 6 OFILES=killremote.o 7 7 8 8 <$RHRTELEC/avr/mkcommon

