After each command input the client processes and forwards them to the server. The task launched manages the actions needed to move the motors. Besides a movement command, the user may have requested a state request or a state assignment. In this case the same driver responds the request either by reading or writing to the global state variables respectively. The global variables are allocated in a memory space shared by all the real-time tasks and the driver.
Global variables allow for a simple and fast communication between tasks.
The watchdog, among other things, takes care of notifying the server of any relevant change in the vehicle state, as well as any possible anomalous situations. Software Architecture - System Tasks Conclusions A system architecture based on the PC has advantages like the low cost, easy upgradability of both hardware and software, flexibility due to the large amount of software available and power in terms of the capacity to perform operations. Moreover the hardware never becomes obsolete because its replacement by a similar one of the next generation is immediate and preserves compatibility with the existing software. RT-Linux was a very fortunate decision. The integrity of the software used during this project is in the public domain, so the sources were available to us all the time.