Accurate Timing System

I currently am doing my final year engineering project. I have been asked to develop a Timing system that involves the following features: –    Sensor Mat (Switch) –    LED & Buzzer Feedback –    Wireless communication (or) RS232 Communication The company currently has wireless units with photocells. So basically the only change is from a photocell to sensor mat (switch). The firmware on the current units is difficult to read, difficult to upgrade and debug and very unreliable. I have suggested going to a RTOS (freeRTOS). I am asking anyone for any suggestion or design considerations that I should look into I plan to use a 32.468KHz crystal for the timing clock, and use a ATMEGA64 running at 8MHz. The sensor mat is connected to a interrupt. A few questions: –    Am I right that the RTOS sometimes disables all interrupts? This could be a huge problem if the mat stimulated during this time (interrupts work on rising and falling edge) –    Since I plan to use a separate timer for the timing of the clock I would have the same problem with the interrupts being disabled. How can I get around this? I have developed modules for the LED/Buzzer and Communications on previous projects but I have never programmed freeRTOS in a sports timing systems before. If anyone has any suggesting please tell. Or link to other discussion in this forum. Thanks Murray

Accurate Timing System

All OS’s will disable interrupts to some degree.  Interrupts should be held pending unti they are reenabled I think. Is there enough ram on your prcessor.  You might like to try using the co-routine features.

Accurate Timing System

OK, if the interrupts remain pending then all I have to worry about is the maximum time that the interrupts are disabled. RAM, well from my initial calculations I should have enough. I have 1x Task controlling my LED’s 1x Task for the Buzzer, 1x Task for receiving, 1x transmitting, 1x decoding packets, 1x interrupt control (taking care of switch bounce etc) and 1 x health check. 7 tasks most are minimum stack. If I do run into problems then I will group some function into the co-routine features.