I’m trying to receive DMX and send 9 channels through ESP-NOW.
I bought a SparkFun DMX Thing and connected it to an ESP32 Thing (not plus)
First I tried the SparkFun DMX Lib but got the same issues as several other with shifted data and/or complete wrong data.
Because of the issues forum in that lib I found ESP32-DMX-RX lib (GitHub - luksal/ESP32-DMX-RX: Example code for receiving DMX512 with ESP32 and RS485 transceiver IC like MAX485 or isolated ADM2486) and want to give it a try but I can’t even compile it. I downloaded it from github as zip and used the import lib by zip function in arduino IDE (1.8.12).
When I try to compile the SimpleRX example I get “error: ‘uint8_t’ does not name a type” and several others. What am I doing wrong?
A few errors from my output (for full output see `In file included from C:\Users\markus\Documents\Arduino\libraries\ESP32DMXRX\sr - Pastebin.com):
`In file included from C:\Users\markus\Documents\Arduino\libraries\ESP32DMXRX\src\dmx.cpp:1:0: C:\Users\markus\Documents\Arduino\libraries\ESP32DMXRX\src/dmx.h:9:16: error: "uint8_t" does not name a type static uint8_t Read(uint16_t channel); // returns the dmx value for the givven address (values from 1 to 512) ^ C:\Users\markus\Documents\Arduino\libraries\ESP32DMXRX\src/dmx.h:16:16: error: "QueueHandle_t" does not name a type static QueueHandle_t dmx_rx_queue; // queue for uart rx events ^ C:\Users\markus\Documents\Arduino\libraries\ESP32DMXRX\src/dmx.h:18:16: error: "SemaphoreHandle_t" does not name a type static SemaphoreHandle_t sync_dmx; // semaphore for syncronising access to dmx array ^ C:\Users\markus\Documents\Arduino\libraries\ESP32DMXRX\src/dmx.h:22:16: error: "uint16_t" does not name a type static uint16_t current_rx_addr; // last received dmx channel ^ C:\Users\markus\Documents\Arduino\libraries\ESP32DMXRX\src\dmx.cpp:25:15: error: "uint16_t DMX::current_rx_addr" is not a static data member of "class DMX" uint16_t DMX::current_rx_addr = 0; ^ C:\Users\markus\Documents\Arduino\libraries\ESP32DMXRX\src\dmx.cpp:29:26: error: "uint8_t DMX::dmx_data " is not a static data member of "class DMX" uint8_t DMX::dmx_data; ^ C:\Users\markus\Documents\Arduino\libraries\ESP32DMXRX\src\dmx.cpp: In static member function "static void DMX::Initialize()": C:\Users\markus\Documents\Arduino\libraries\ESP32DMXRX\src\dmx.cpp:54:72: error: "dmx_rx_queue" was not declared in this scope uart_driver_install(DMX_UART_NUM, BUF_SIZE * 2, BUF_SIZE * 2, 20, &dmx_rx_queue, 0); ^