Since we implemented our driver with a stream buffer, if we are interested in having more than one task write to it, access to the stream buffer must be protected by a mutex. Most of the other FreeRTOS primitives, such as queues, don't have this limitation; they are safe to use across multiple tasks without any additional effort. Let's take a look at what would be required to extend VirtualCommDriver to make it usable by more than one task.
Using mutexes for access control
Extending VirtualCommDriver
To make usage for the users of VirtuCommPortDriver as easy as possible, we can incorporate all of the mutex handling within the function call itself, rather than requiring users of the function to manage the mutex.
An...