// public functions void DebugCommHw_Init(DebugCommHw* p_this) { BufferedIoEvent events; events.EventWrite = DebugCommHw_OnBufferedIoWrite; DebugComm_Init(&p_this->base, &events); CircleBuffer_Init(&rx_, rx_raw_, 64); CircleBuffer_Init(&tx_, tx_raw_, 64); DebugCommHw_ConfigUsart(); SET_BIT(uart_handle.Instance->CR1, USART_CR1_RXNEIE); SET_BIT(uart_handle.Instance->CR3, USART_CR3_EIE); }
// SD Specification: https://www.sdcard.org/downloads/pls/simplified_specs/part1_410.pdf bool SD_Init(SdInterface* self) { CircleBuffer_Init(&self->buffer); self->state = SDS_TRANSMIT; self->timeoutCount = 0; self->flow_type = SDF_IDLE; self->flow_state = 0; }
void UART_Init(UartBuffer* self, mailbox_t onRX) { CircleBuffer_Init(&self->rx); CircleBuffer_Init(&self->tx); self->onRX = onRX; }