Skip to content
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

[Feature request] RMT driver. #2597

Open
0wwafa opened this issue Jan 15, 2025 · 3 comments
Open

[Feature request] RMT driver. #2597

0wwafa opened this issue Jan 15, 2025 · 3 comments

Comments

@0wwafa
Copy link

0wwafa commented Jan 15, 2025

I thought it was implemented but it's not :(

var rmt = require("rmt");

var rmt_rx = rmt.create({
  pin: D16,
  channel: 0,
  clkDiv: 80, // 80MHz clock divided by 80 gives 1MHz (1us resolution)
  memBlocks: 1,
  filter: true,
  filterThreshold: 100,
  idleThreshold: 0xFFFF,
  rx: true
});
@0wwafa
Copy link
Author

0wwafa commented Jan 15, 2025

RMT is extremely useful not only for infrared transmit/receive but to accurately read the length of PWM pulses up to a resolution of 12.5 nanoseconds (80 Mhz, divisor =1)

@gfwilliams
Copy link
Member

Is this for ESP32 or some other board?

You're welcome to contribute code to do this if you want - but Espruino is Open Source, we make zero money out of ESP32 and Espressif provides us with no support, so this isn't something that's likely to be implemented unless you're willing to do it.

@0wwafa
Copy link
Author

0wwafa commented Jan 17, 2025

ESP32:
In micropython it's implemented only for sending.
in circuitpython is not implemented at all.
It's a shame because it's one of the coolest features!

Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants