From ff9d0d4fd476bc3ba00e6506d115f1195b9db037 Mon Sep 17 00:00:00 2001 From: Tester23 <85486843+openshwprojects@users.noreply.github.com> Date: Sat, 13 Sep 2025 22:49:15 +0200 Subject: [PATCH] test 2x --- src/driver/drv_dmx512.c | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/src/driver/drv_dmx512.c b/src/driver/drv_dmx512.c index 6db2ef3c3..de5b1f989 100644 --- a/src/driver/drv_dmx512.c +++ b/src/driver/drv_dmx512.c @@ -49,30 +49,32 @@ void DMX_Show() { if (g_dmxBuffer == 0) { return; } + for (int i = 0; i < 2; i++) { #if WINDOWS - // BREAK: pull TX low manually - HAL_PIN_Setup_Output(dmx_pin); - HAL_PIN_SetOutputValue(dmx_pin, 0); - HAL_Delay_us(120); // ≥88µs - HAL_PIN_SetOutputValue(dmx_pin, 1); - HAL_Delay_us(12); // MAB ≥8µs + // BREAK: pull TX low manually + HAL_PIN_Setup_Output(dmx_pin); + HAL_PIN_SetOutputValue(dmx_pin, 0); + HAL_Delay_us(120); // ≥88µs + HAL_PIN_SetOutputValue(dmx_pin, 1); + HAL_Delay_us(12); // MAB ≥8µs #else #define DMX_BREAK_DURATION_MICROS 88 - uint32_t breakBaud = 1000000 * 8 / DMX_BREAK_DURATION_MICROS; - HAL_SetBaud(breakBaud); - HAL_UART_SendByte(0); - HAL_UART_Flush(); - HAL_SetBaud(250000); + uint32_t breakBaud = 1000000 * 8 / DMX_BREAK_DURATION_MICROS; + HAL_SetBaud(breakBaud); + HAL_UART_SendByte(0); + HAL_UART_Flush(); + HAL_SetBaud(250000); #endif - //HAL_UART_Init(250000, 2, false); - // restore UART and send DMX data - for (int i = 0; i < DMX_BUFFER_SIZE; i++) { - HAL_UART_SendByte(g_dmxBuffer[i]); + //HAL_UART_Init(250000, 2, false); + // restore UART and send DMX data + for (int i = 0; i < DMX_BUFFER_SIZE; i++) { + HAL_UART_SendByte(g_dmxBuffer[i]); + } + //Serial485.begin(250000, SERIAL_8N2, RS485_RX_PIN, RS485_TX_PIN); + ////Serial485.write(dmxBuffer, sizeof(dmxBuffer)); + //Serial485.flush(); } - //Serial485.begin(250000, SERIAL_8N2, RS485_RX_PIN, RS485_TX_PIN); - ////Serial485.write(dmxBuffer, sizeof(dmxBuffer)); - //Serial485.flush(); } byte DMX_GetByte(uint32_t idx) {