From a54ad9edce697133a024aff096e50f7e4f389d5b Mon Sep 17 00:00:00 2001 From: Florent Duchon Date: Sun, 18 Mar 2012 12:22:02 +0100 Subject: digital/beacon: import Zigbit stack (bitcloud) & avr sources --- digital/beacon/src/timer.c | 139 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 digital/beacon/src/timer.c (limited to 'digital/beacon/src/timer.c') diff --git a/digital/beacon/src/timer.c b/digital/beacon/src/timer.c new file mode 100644 index 00000000..1892c65f --- /dev/null +++ b/digital/beacon/src/timer.c @@ -0,0 +1,139 @@ +#include +// #include +// #include +#include +#include +// #include +// #include +// #include + +/* + + +extern uint8_t usartTxBuffer[APP_USART_TX_BUFFER_SIZE]; +extern HAL_UsartDescriptor_t appUsartDescriptor; +extern AppState_t appState; +extern unsigned int counter_top_tour; +extern int security_ils;*/ + +unsigned int top_tour = 0; +unsigned int timer3_overflow = 0; +int nb_top = 0; +long last_seen_laser = 0; + +void init_timer3(void) +{ + + //Fpwm = f_IO / (prescaler * (1 + TOP)) = 7200 Hz. */ + OCR3A = 0; //Motor speed = 0 + + /* Fast PWM 10bits with TOP=0x03FF */ + TCCR3A |= (1< old_time) +// { +// diff_time = current_time-old_time; +// } +// else +// { +// diff_time = (65535 - old_time) + current_time; +// } + diff_time = current_time - old_time; + + /* Check if it's not a glitch, ie at least 1 timer3 overflow occured */ + /* If it's not a glitch and it's a rising edge, it's the reflector */ +// if((TCCR3B&0x40) && ((timer3_overflow - timer3_overflow_old) > 6)) +// { +// nb_top++; +// sprintf(usartTxBuffer,"nb top=%d\r\n\0",nb_top); +// WRITE_USART(&appUsartDescriptor,usartTxBuffer,strlen(usartTxBuffer)); +// timer3_overflow_old = timer3_overflow; +// old_time = current_time; +// } + + /* Invert the edge capture of the interrupt */ + if((TCCR3B&0x40)) + { + TCCR3B &= 0b10111111; + } + else + { + TCCR3B |= (1< 5) +// { +// security_ils = 1; +// counter_security_ils = 0; +// } +// else +// { +// counter_security_ils++; +// } +// } + } +} + + -- cgit v1.2.3