fix(lua): Re-implement luaSetSerialBaudrate (#4501)

This commit is contained in:
Raphael Coeffic
2024-01-03 13:29:02 +10:00
committed by GitHub
parent 34913d9e95
commit 317766dab7
7 changed files with 51 additions and 32 deletions
+32
View File
@@ -379,6 +379,38 @@ void serialSetPower(uint8_t port_nr, bool enabled)
}
#endif
uint32_t serialGetBaudrate(uint8_t port_nr)
{
auto state = getSerialPortState(port_nr);
if (!state || !state->port || !state->usart_ctx)
return 0;
auto port = state->port;
if (!port->uart || !port->uart->getBaudrate) return 0;
return port->uart->getBaudrate(state->usart_ctx);
}
void serialSetBaudrate(uint8_t port_nr, uint32_t baudrate)
{
auto state = getSerialPortState(port_nr);
if (!state || !state->port || !state->usart_ctx)
return;
auto port = state->port;
if (!port->uart || !port->uart->setBaudrate) return;
port->uart->setBaudrate(state->usart_ctx, baudrate);
}
int serialGetModePort(int mode)
{
for (int p = 0; p < MAX_SERIAL_PORTS; p++) {
if (serialGetMode(p) == mode) return p;
}
return -1;
}
void serialInit(uint8_t port_nr, int mode)
{
auto state = getSerialPortState(port_nr);