/**@brief Function for the handling of the ON_UART_PUT event when application has put data in the TX buffer. */ static void on_uart_put(void) { if (m_current_state == UART_READY) { action_tx_send(); } }
/**@brief Function for the handling of the ON_CTS_LOW event. */ static void on_cts_low(void) { switch (m_current_state) { case UART_OFF: NRF_UART0->ENABLE = (UART_ENABLE_ENABLE_Enabled << UART_ENABLE_ENABLE_Pos); NRF_UART0->TASKS_STARTRX = 1; if (FIFO_LENGTH(m_tx_fifo) != 0) { action_tx_send(); } else { m_current_state = UART_READY; } break; case UART_WAIT_CLOSE: m_current_state = UART_ON; break; default: // Nothing to do. break; } }
static void action_tx_ready() { // Get next byte from FIFO. if (FIFO_LENGTH(m_tx_fifo) != 0) { action_tx_send(); } else { action_tx_stop(); } }
/**@brief Handling of the ON_TX_READY event. */ static void on_tx_ready(void) { switch (m_current_state) { case UART_WAIT_CLOSE: action_uart_deactivate(); break; case UART_ON: case UART_READY: action_tx_send(); break; default: // Nothing to do. break; } }