-
Notifications
You must be signed in to change notification settings - Fork 16
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
'RMT' was not declared in this scope #12
Comments
The reason for this is that Espressif changed the API in their latest version of the IDE/SDK - and I’ve not yet updated the code for this newer API.
Easiest is to go back to version 2.0.17 - i.e the most recent version 2 (as opposed to version 3.x).
|
Hi,
If you are interested, I can prepare a PR to replace the RMT logic with that Timer. |
Thanks - that looks lovely.
Before you go to the trouble of making PR though - feel free to sent me a private copy (dirkx(at)webweaving(dot)org) -- as I'd like to see if this is 'stable' enough.
My original looked virtually identical to yours -- that technically worked.
But tiny timing differences every 10-30 seconds would throuw the master-sync off enough to cause the red LED on the clock to go flashing.
On the scope showed these errors to be in the order of about 0.1 to 0.02 of a percent (and rock solid the rest of the time).
So that is why I switched to RMT.
|
On 4 Nov 2024, at 01:34, vdeconinck ***@***.***> wrote:
Among the changes, I also removed the FIDDLE_BUFFER_DELAY because AFAICT it was only needed for RMT (or I didn't understand its goal :-))
No correct - it is only needed for RMT -- and is there as you have to fill up the buffer ahead of time - so you are stuffing it for 'the future'.
|
Hi, So clearly, you're right, that timer solution is not 100% reliable, It's a pity it worked flawlessly on an Arduino Nano, but admittedly the Nano didn't manage tons of tasks in parallel :-)... I am surprised that the Leitch clock does not have a better PLL to "stick" to the incoming signal, even if 1 or 2% off. Manchester encoding is designed for that and they don't seem to leverage it... Anyway. If I have time, I'll try to see if the new RMT interface is an option, but knowing they call it "work in progress", and the use of RMT in this context is already a bit of a hack, I'm not sure it's worth it... KR, Vincent |
I can't compile this for the ESP32-S3, por likely due to changes in interrupts. Unfortunately, I am not proficient in handling this on ESP32.
C:\Users\seeb7\Documents\Arduino\SMPTE-EBU-TimecodeGenerator-ESP32-master\SMPTEGenerator\RMT.ino: In function 'void rmt_isr_handler(void*)':
RMT:104:3: error: 'RMT' was not declared in this scope
104 | RMT.int_clr.ch0_tx_thr_event = 1;
C:\Users\seeb7\Documents\Arduino\SMPTE-EBU-TimecodeGenerator-ESP32-master\SMPTEGenerator\RMT.ino: In function 'void fill()':
RMT:196:5: error: 'RMTMEM' was not declared in this scope
196 | RMTMEM.chan[RMT_TX_CHANNEL].data32[at].val = w.val;
| ^~~~~~
exit status 1
'RMT' was not declared in this scope
The text was updated successfully, but these errors were encountered: