6.4.7 The Terminal Receive Task

The ISR puts the received USART data on a stream buffer called terminal_rx_buffer. The terminal receive task is then taking the received data on the terminal_rx_buffer, and based on the received message, calls an update time function unless a time-out has occurred. The terminal receive task reports back to the terminal transmit task via the terminal_tx_buffer about the latest event, whether the time was set or if the request timed out. Refer to the figure below for the UML diagram.

Figure 6-10. Terminal Receive Task

The figure below shows a more in-depth description of the “receive bytes and update new_time” block.

Figure 6-11. Receive Bytes and Update Time

The communication between the two terminal tasks as well as the USART communication is described in the figure below.

Figure 6-12. Communication Between the Terminal Transmit Task and the Terminal Receive Task