I am newbie I do not have good experience on freeRTOS. after spending a lot of time on internet I came with result
RTOS ensures that each task can not run for longer than some maximum time interval.
consider one example, small blots are coming one by one on the conveyor and we need to sort good and bad faulty bolt. good bolt will goes to collection bin while faulty bolt will goes to rejection bin.
speed of conveyor is fast and camera has to work with short period of time and system has to provide result with specific time
I am sure I need rtos for this system Does this example need rtos ?
First, FreeRTOS does NOT impose an limit on a task running for more than a defined time period. What an RTOS does is it allows you to establish rules to control which task runs, and in what order, to try to schedule things so that operations that have short deadlines get completed within their time limits, while operations that might take longer continue, and finish within their deadlines.
You example might not need an RTOS, as you only really have one task described as operating, taking a camera picture, analyzing it to see if it is good or bad and then signaling good or reject. That could all be just a single task running with any OS at all.
Now, if you add that in addition, you need to keep a count of good and bad, and periodically need to send a report somewhere, or maybe take samples of the bad bolts for additional analysis to figure out what is wrong, now you have things with different sorts of schedules that will have overlapping execution, and thus could use an RTOS.
Ok i modified it a little bit
- Run conveyor belt motor. belt may be start and stop using buttons
- When conveyor is on turn on green Light and when it is stop turn on the RED light
- Camera will take image of bolt and decide it’s good or bad as per camera programming
- sensor will detect bolt if there is bolt then camera will activate other wise camera will stop
- Pusher will push bad bolt in rejection bin
- Count good and bad bolt
- when something bad happen in sorting machine operator will press panic button so buzzer will ring and system should be shutdown automatically
- When temperature of system exceed more then 42 c shutdown system automatically
all the task may be ready to execute it mean tasks are ready to execute on processor but currently not executing on the processor
theoretically I understand meaning of "task is read to execute " What is meaning of "task is read to execute " in the context of my given example ?