-
-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiple Universes on a ESP32 Dev #156
Comments
Can you share your setup ? |
Hi, it seems to work in this way but the system freezes randomly. :( #include <Arduino.h> // Definizione dei pin int transmitPin2 = 17; // Porta DMX da utilizzare // Buffer per i dati DMX // Intervallo di aggiornamento void setup() { void loop() {
} void configureDMX(int transmitPin, int enablePin) { |
I found that after some second I get this error: |
Sorry, this is the last code version I have, the error is the same I posted before. `#include <Arduino.h> // configurazoine conteggio FPS // Definizione dei pin int transmitPin2 = 17; // Porta DMX da utilizzare // Buffer per i dati DMX // Intervallo di aggiornamento void setup() { void loop() {
} void configureDMX(int transmitPin, int enablePin) {
} void countCallsPerSecond() { // Incrementa il conteggio ogni volta che questa funzione viene chiamata // Controlla se sono passati 5 secondi dall'ultimo report
} |
NEW UPDATE: I'm using this code now, it works (I mean it doesn't crashes) but it seems to send same data to both the pins gorups: #include <Arduino.h> // configurazoine conteggio FPS void countCallsPerSecond(); // Definizione dei pin int transmitPin2 = 17; // Porta DMX da utilizzare // Buffer per i dati DMX // Intervallo di aggiornamento void setup() void loop()
} void configureDMX(int transmitPin, int enablePin) dmx_set_pin(dmxPort, transmitPin, -1, enablePin); void countCallsPerSecond() { // Incrementa il conteggio ogni volta che questa funzione viene chiamata // Controlla se sono passati 5 secondi dall'ultimo report
} |
You have a single dmxPort, you should have one by uarts, init both in your setup, then use dmx_write and use each dmxport as first variable of it. Check this : #52 |
I know, but if I use uarts I can't use the serial for communicating with other systems. |
I don't know, but you should try to use dmx_driver_delete(dmxPort); then reinit your dmx driver and assign your pins. Maybe it can work. |
Thanks for your reply, I tried but the system crashed often id I use the delete. |
I think it is a limit. As you need to wait it is fully sent, you will always divide the fps for 1 universe, by the numbers of universe you send. You could check others libraries, see if they allow what you want to do. |
See #150 there is a problem with using uart2 |
I use UART2 with this code, and #150 <#150> is the fix
Since I changed this init, I no longer have any issues with UART2
From: Ben Suffolk ***@***.***>
Sent: Tuesday, June 11, 2024 6:15 PM
To: someweisguy/esp_dmx ***@***.***>
Cc: Subscribed ***@***.***>
Subject: Re: [someweisguy/esp_dmx] Multiple Universes on a ESP32 Dev (Issue #156)
Hi all, I'm trying to handle 2 RS485 on the same ESP32 Dev using port1 and port2 but as soon as the dmx_driver_install(dmxPort2, &config, personalities, personality_count); is executed the system crashes. Would it be possible to handle different (even more than 2) RS485 just uninstalling the driver and reinstalling it with different pins and same UART port at each loop?
See #150 <#150> there is a problem with using uart2
—
Reply to this email directly, view it on GitHub <#156 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/ABIKT5WZTIJHWVOQAXCERLDZG5ZGZAVCNFSM6AAAAABJBCV3O2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRRGY4TEMZSGY> .
You are receiving this because you are subscribed to this thread. <https://github.com/notifications/beacon/ABIKT5ULHBCBR7LBIAH7VUTZG5ZGZA5CNFSM6AAAAABJBCV3O2WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTUA3DHKM.gif> Message ID: ***@***.*** ***@***.***> >
|
You may try pulling the latest commit on |
Wow! It seems to work! thank you!!! |
Hi all, I'm trying to handle 2 RS485 on the same ESP32 Dev using port1 and port2 but as soon as the dmx_driver_install(dmxPort2, &config, personalities, personality_count); is executed the system crashes.
Would it be possible to handle different (even more than 2) RS485 just uninstalling the driver and reinstalling it with different pins and same UART port at each loop?
The text was updated successfully, but these errors were encountered: