I apologize for replying so late!! I participated as junior team member in the competition last year few days after my first post and saw the systems of other teams , no team centralized their systems ever so even I am thinking of leaving the idea of systems centralization and I am running short of time for that. After that I was more into implementing all the basic stuff required for different modules and learning a lot for the same!
(Till date I have got good success in CAN communication and GLCD for the dashboard, data acquisition has about 10 to 11 sensors which I have implemented satisfactorily)
But whatever little I could read and learn about RTOS in all these days I think it would make sense to implement it in Automatic gear shifting system.
Now what I aim to implement here is :
1) This systems will use data from two important sensors required for gear shifts Gear Position Sensor and RPM sensor.
2)Since the system has two sensors in it I intend to use it also as a node for the CAN network in the car.(the CAN network has PIC18f and mcp2551 for the physical layer , am not using CAN kingdom or CANopen and just communicating between different nodes by CAN protocol)So it will also send the sensor data whenever requested by the LCD controller on the dashboard.
3)It will "continuously monitor" the RPM from the engine(for this there is already a VR sensor on the engine ) and make upshift or downshift according to the algorithm .
4)I am using solenoid actuator for the gear lever and for clutch I haven't got any actuator yet but mostly I will be using a DC motor with threaded shaft for linear gradual actuation which is required for clutch.
5)If I use the gear actuator (which i think is requisite for making the system fully automatic)then I also intend use a potentiometric type sensor to give feedback to the controller about the actuation of the clutch (I dont want to just depend on the delay routine in the code and assume the that the clutch lever must have actuated)
Please tell me that will it be a good idea to implement a RTOS here (or something like scheduler) since the more I work on the algo and think about all different possibilities of automatic gear shifts in a race car I feel that all the actions must be taken by the controller at critical timings.
Or should I just stick to serial method of checking the RPM and shifting and then again start checking it ?
I am using mikroC these days but I am ready to shift to mplab anytime if it is required.
(please keep in mind while answering that am very new with RTOS and know only about some basics stuff from wiki, rest I have a got good experience of PIC18f458 in all these days)