uart-dshot-debug.ino
UART configuration for serial echo, useful for debugging or DShot protocol.
Uses 'arduino_serial' alias. Enables RX interrupts. Echo code tests serial link. For DShot, replace echo with precise pulse generation via PWM/Timer.
uart-dshot-debug.ino
#include <zephyr/kernel.h>
#include <zephyr/drivers/uart.h>
#define UART_NODE DT_ALIAS(arduino_serial)
static const struct device *uart_dev = DEVICE_DT_GET(UART_NODE);
void uart_cb(const struct device *dev, void *user_data) {
uint8_t c;
while (uart_fifo_read(dev, &c, 1) > 0) {
uart_poll_out(dev, c); // Echo
}
}
void main(void) {
if (!device_is_ready(uart_dev)) return;
uart_irq_callback_user_data_set(uart_dev, uart_cb, NULL);
uart_irq_rx_enable(uart_dev);
printk("QuadESC Ready\n");
while (1) { k_msleep(1000); } // Keep alive
}