I am continuing our discussion about remote-controlled toy car project
Main goal is to understand how many tasks needs to creates and which tool required mutex or semaphore or message queue for resources sharing
Please let me know if you need more specific Details.
I have put together a set of hypothetical requirements for a remote-controlled toy car:
- Video Data Transmission (High Priority):
- The car collects and processes data from the front and rear video cameras for real-time position tracking and obstacle avoidance. The collected video data is transmitted to a remote control unit for real-time monitoring and control.
- Priority: High priority due to its direct impact on real-time user experience and control.
- Deadline: Video data transmission should have minimal latency to ensure real-time control. It is not acceptable if there is a delay of more than 100 milliseconds, as this would impact the user’s ability to control the car effectively.
- Receive Command and Control Car (High Priority):
- The car collects input from the remote control, translates it into motor control actions, and ensures the car can move left, right, forward, and backward based on the commands received. It also responds accurately to the commands received from the remote control. This task also includes controlling front and rear LED lights for improved visibility and activating a horn for audio alerts.
- Priority: High priority as it directly relates to user control and functionality.
- Deadline for Received Command Acceptance and Action: The car must accept received commands from the remote control unit within a maximum time of 50 milliseconds from the moment they are received. Furthermore, the car should respond to accepted commands with actions (movement, lighting control, horn activation) within a maximum time of 100 milliseconds. Quick response times are crucial to ensure a seamless and responsive user experience. If a command is not received within 50 milliseconds or is corrupted, it should not be accepted for action.
- Battery Monitoring (Medium Priority):
- The car continuously monitors the battery to prevent abrupt shutdowns.
- Priority: Medium priority as it ensures reliable operation but may not directly impact user experience.
- Deadline: The monitoring of the battery should be continuous and in real-time, ensuring that battery status is checked at intervals no longer than every 5 minutes. Delays in battery monitoring beyond 5 minutes are not acceptable.
- Server Transmission (Lower Priority):
- The car sends data on distance, time, temperature, and humidity to a remote server for analysis and storage.
- Priority: Lower priority as it’s important for data analysis but not as time-sensitive as real-time control and monitoring.
- Deadline: Data should be transmitted to the server within a reasonable time frame, aiming for an average delay of no more than 2 minutes for the data to reach the server for analysis. This timeframe ensures that data is available for analysis without significant delays