Comments (4)
Thanks for the feedback!
It sounds like you are using the DMXRead example with a few modifications; namely the switch-case code in the Packet Status section of the readme. This would mean that you are getting a DMX_ERR_IMPROPER_SLOT
status code. This error code gets assigned in the DMX interrupt handler as the result of the UART hardware interrupt status. The line is here, if you're interested. The hardware interrupt that is triggered is the UART_FRM_ERR_INT
(I call it UART_INTR_FRAM_ERR
in this library) interrupt. The documentation isn't very clear on what causes this interrupt to fire. In my experimentation, I've found that missing start or stop bits in the DMX data is what causes this to fire. In other words, you should be getting this error code due to the ESP32 hardware signaling that it is not getting the proper number of start or stop bits.
To sum up the error you are receiving, you are saying that when your fader is between 0% to approximately 20%, you receive DMX data. When you set your fader to approximately 20% to 50%, you can no longer receive data. But between 50% and 70%, you receive data again. And then anything above 70%, you don't receive data.
A few questions for you:
- Before you get the malformed slot error, is the DMX data that the ESP32 receives accurate? In other words, when you set the fader to 0 what DMX value are you receiving on that address? Is the data also 0, or is it some other value?
- When you set your fader to approximately 20%, what is the last DMX value that the ESP32 receives before it reports the error?
- Which lighting console are you using to send data to the ESP32?
from esp_dmx.
Thanks for the long anwser, yes I added the switch statements to the read example.
To your questions:
- from around 0% - 20% the values go down from 0xFE to around 0x00, its a bit hard to tell the exact end point but it looks like it goes towards 0x00 and the "overflows" or something.
- around 0x00
- its an old zero88 jester 12/24, https://zero88.com/control/jester
I should have time tomorrow to dive deeper into this, thanks for the help
from esp_dmx.
Oh, cool console!
I think the polarity of your DMX receiver board may be reversed. With the fader at 0%, I would expect to see 0x00 on the ESP32, not 0xFE. But if your polarity is reversed, it is possible for the ESP32 UART hardware to interpret 0x00 as 0xFE.
I would check to see if pins 2 and 3 are swapped in your XLR cable. If not, try swapping them. I've used alligator clips to do this. You can just unscrew the XLR connector and clip onto the appropriate pins where they are soldered, and then clip into you board..
from esp_dmx.
Jup, I soldered the 2 data pins the wrong way round 🤦.
Work great now, thanks so much for the great help
from esp_dmx.
Related Issues (20)
- dmx timing HOT 1
- Compile errors version 2 and up HOT 8
- Troubles with ETC Express HOT 6
- RDM discovery controller HOT 12
- Error on Sample DMX Sniffer HOT 1
- DMX read example - 'isr_handle' undeclared in arduino 2.14 HOT 1
- DMX Output randomly stops for a few seconds HOT 1
- Interrupt conflict HOT 1
- rdm_register_dmx_personality missing in 3.1.0 HOT 4
- DMX Read - Unstable packet.size depends on the number of DMX channels HOT 3
- compiling error with 3.10 but not with 3.0.3-beta HOT 3
- Bug string constant to 'char*' [-Wwrite-strings] HOT 2
- Send SET RDM_PID_IDENTIFY_DEVICE argument error
- RDM controller requests are not copying parameter data HOT 2
- dmx_get_personality_description() does not work HOT 1
- ESP32-S3 RDM issues with UART0 HOT 5
- Start Address Not Saving Via RDM HOT 8
- Compile Warning
- Problem with installing DMX on UART2 HOT 5
- ESP32-C6 incompatibility HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from esp_dmx.