[Solved] Using the RMT peripheral ...

jimbob
Posts: 29
Joined: Fri Aug 05, 2016 10:47 pm

Re: Using the RMT peripheral ...

Postby jimbob » Tue Nov 01, 2016 9:46 am

Did you (or anyone one else) make any progress on this? I was thinking of picking it up.

Do we need to fiddle with these bits to make the state machine work?

DPORT_RMT_CLK_EN
DPORT_RMT_CLK_RST

Specifically to those who have access to the detailed docs of the internals, can you tell us if there is anything else we need to do?

User avatar
kolban
Posts: 1683
Joined: Mon Nov 16, 2015 4:43 pm
Location: Texas, USA

Re: Using the RMT peripheral ...

Postby kolban » Tue Nov 01, 2016 2:33 pm

In the end I did not make any further progress on this. However, from this post here ....

http://esp32.com/viewtopic.php?f=10&t=375

we see this line item:

New peripheral drivers: uart/timer 1&2/sigmadelta/pluse CNT/i2c/rmt/rtc gpio/epwm/adc/dac/touch/spi/motor pwm/i2s/uhci.

And with an availability date of the end of the month, I think we just need to be patient a little while longer and the drivers will be here.
Free book on ESP32 available here: https://leanpub.com/kolban-ESP32

jimbob
Posts: 29
Joined: Fri Aug 05, 2016 10:47 pm

Re: Using the RMT peripheral ...

Postby jimbob » Thu Nov 03, 2016 5:04 pm

Thanks, I'd seen the list -- I was trying to finish my hardware design and qualify the ESP32 to sign off as a suitable part and wondered if I could save some time! It's also a very big list which I'd be impressed if all of it came out by end of Nov! -- Though what Espressif are doing and have achieved so far is impressive!

ESP_igrr
Posts: 2072
Joined: Tue Dec 01, 2015 8:37 am

Re: Using the RMT peripheral ...

Postby ESP_igrr » Tue Nov 08, 2016 6:40 am

FYI, there is a bug in the definition of rmt_mem_t structure.
The fix should reach master soon, but until then, here's the correct definition:

Code: Select all

typedef volatile struct {
    struct {
        union {
            struct {
                uint32_t duration0:    15;
                uint32_t level0:       1;
                uint32_t duration1:    15;
                uint32_t level1:       1;
            };
            uint32_t val;
        } data[64];
    } chan[8];
} rmt_mem_t;

lbruder
Posts: 14
Joined: Sat Nov 12, 2016 1:51 am

Re: Using the RMT peripheral ...

Postby lbruder » Mon Nov 21, 2016 9:15 pm

looks like RMT just got merged into master in the past few days

ESP_Angus
Posts: 2344
Joined: Sun May 08, 2016 4:11 am

Re: Using the RMT peripheral ...

Postby ESP_Angus » Tue Nov 22, 2016 12:10 am

This is correct! There is also an example that uses the new driver:
https://github.com/espressif/esp-idf/tr ... _nec_tx_rx

jimbob
Posts: 29
Joined: Fri Aug 05, 2016 10:47 pm

Re: [Solved] Using the RMT peripheral ...

Postby jimbob » Tue Nov 22, 2016 8:41 am

super thanks!

uhrheber
Posts: 16
Joined: Sat Nov 12, 2016 12:07 pm

Re: [Solved] Using the RMT peripheral ...

Postby uhrheber » Tue Nov 22, 2016 11:58 am

Can the RMT be used to generate a video signal?
Or at least unburden the processor while generating one?

(Not that I'd really need this, besides for getting mentioned on hackaday).

ESP_Sprite
Posts: 9757
Joined: Thu Nov 26, 2015 4:08 am

Re: [Solved] Using the RMT peripheral ...

Postby ESP_Sprite » Wed Nov 23, 2016 3:17 am

Depends on how creative you are with abusing the peripheral :P I'm sure you can get something working. I'd think VGA may be a bit hard, though, because the channels in the RMT aren't entirely independent (they can't access the memory at the same time) so you will have some pixel skew between the r, g and b lines; you may be better off using the (still to be documented) parallel output mode of the I2S peripheral for that. I'm pretty sure things like composite should be entirely doable, though.

Who is online

Users browsing this forum: No registered users and 305 guests