Trying to get DMX running on an rev4.
avr/io.h is putting up a fight.
The board is listed with a "-" on this page:
Am I out of luck? Do I need to shift to a Rev3 board?
Trying to get DMX running on an rev4.
avr/io.h is putting up a fight.
The board is listed with a "-" on this page:
Am I out of luck? Do I need to shift to a Rev3 board?
Hello, and welcome.
Why? Is there some feature on an R4 that's not available on an R3 that you need for your application?
That's not surprising. The R4 is not an AVR board.
Ask yourself the question: is your purpose to learn about the R4, or to get your shield working with minimum fuss?
Up and running is the goal.
I think I have a Rev3 board across the city.
Attempting tonight -- hopefully that will be painless.
Do you expect DMX libs for Rev4 are just going to take time, or is there something inherent about it that won't easily support DMX or old shields?
The R4s aren't even 6 months old; they're still bleeding edge and the software is going to take time to catch up. They haven't even ironed all the wrinkles out of the core code yet. So I imagine that a whole lot of libraries haven't even been looked at so far - a category that your DMX shield seems to fall into.
The DMX Master library is very unmaintained,
with the last commit made 10 years ago almost to the day.
Unfortunately it is heavily reliant on AVR, and it was never ported to Arduino API
#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega168P__) || defined(__AVR_ATmega328P__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#define TIMER2_INTERRUPT_ENABLE() TIMSK2 |= _BV(TOIE2)
#define TIMER2_INTERRUPT_DISABLE() TIMSK2 &= ~_BV(TOIE2)
#elif defined(__AVR_ATmega32U4__)
#define TIMER2_INTERRUPT_ENABLE() TIMSK3 |= _BV(TOIE3)
#define TIMER2_INTERRUPT_DISABLE() TIMSK3 &= ~_BV(TOIE3)
#elif defined(__AVR_ATmega8__)
#define TIMER2_INTERRUPT_ENABLE() TIMSK |= _BV(TOIE2)
#define TIMER2_INTERRUPT_DISABLE() TIMSK &= ~_BV(TOIE2)
#else
#define TIMER2_INTERRUPT_ENABLE()
#define TIMER2_INTERRUPT_DISABLE()
I don't believe it would take much to adapt it, but if the maintainer is AWOL I doubt anyone will.
Try open an issue on their repo and see if anyone responds, but I really doubt as there's an unanswered issue from 2016.
On the other hand, a quick search brought up SparkFun's DMX Library which seems to be based on Arduino API and maybe that one works if you wanna give it a try.
good luck
u.
I ordered a Sparkfun ESP32 DMX shield but it looks like that is not what is needed?
You were suggesting a library not the shield I guess.
I also got the TinkerKit shield working on the r3 but I’m missing a cable to test it.
I’ll try the Sparkfun library when the cable arrives today.
Cable arrived and lighting is a-go.
I’m looking to play back a score of ~512 channels of 24fps DMX.
Is there enough memory on the rev3 to store a minute or two?
I’m working from a Jetson Orin.
Is there a data transfer protocol from the Jetson to the Arduino that you would recommend for streaming the data in realtime if it can’t be stored?
Did anyone get to the bottom of this! I’d really like to be able to use a DMX shield with the UNO R4 for the increased memory for neopixels