Search found 11 matches

by imShara
Fri May 09, 2025 11:47 pm
Forum: ESP-IDF
Topic: Could RMT split "rmt_symbols" by time, not by level change?
Replies: 13
Views: 343

Re: Could RMT split "rmt_symbols" by time, not by level change?

And one more problem. When I push code into real enviroment with wifi an others - it seems like portENTER_CRITICAL not works as expected. Here is example - left side of clock is 24 bit read, right side - three bits for next conversion selection. And between this loops there is a long delay. Even if ...
by imShara
Fri May 09, 2025 8:23 pm
Forum: ESP-IDF
Topic: Could RMT split "rmt_symbols" by time, not by level change?
Replies: 13
Views: 343

Re: Could RMT split "rmt_symbols" by time, not by level change?

I'd suggest using SPI in 'polling' mode.


Thanks, will check it.

I made ≈333ns this way:
It's possible to down it to ~250ns, but not stable.


333us.png




portMUX_TYPE my_mux = portMUX_INITIALIZER_UNLOCKED;
...

portENTER_CRITICAL(&mux);

// Set PD_SCK to HI level by bit set
GPIO.out_w1ts ...
by imShara
Fri May 09, 2025 5:35 pm
Forum: ESP-IDF
Topic: Could RMT split "rmt_symbols" by time, not by level change?
Replies: 13
Views: 343

Re: Could RMT split "rmt_symbols" by time, not by level change?



I need to read [...] in non blocking mode.

Maybe you don't. At 5MHz clock frequency, transferring 27 bits takes ~5.4 micro-seconds, or ~1300 CPU cycles @ 240MHz. This may be less than the overhead incurred (context switching,...) for an asynchronous transfer.



What kind of code you suggest ...
by imShara
Fri May 09, 2025 1:23 pm
Forum: ESP-IDF
Topic: Could RMT split "rmt_symbols" by time, not by level change?
Replies: 13
Views: 343

Re: Could RMT split "rmt_symbols" by time, not by level change?

Hmm.. I'm using interruption, but ok RMT could detect DOUT low as [HI=0 LO=0], but what should it gave? Time between DOUT turns low and SCK starts transmission is variable.


RMT impossible signal2.png


Thre is only 2 SPI channels and 8 (could be 1TX 7RX) RMT
i2s can't be used too - it starts ...
by imShara
Fri May 09, 2025 10:00 am
Forum: ESP-IDF
Topic: Could RMT split "rmt_symbols" by time, not by level change?
Replies: 13
Views: 343

Re: Could RMT split "rmt_symbols" by time, not by level change?

Thank you for answer. ~5.4 micro-seconds of blocked core - it's ideal value for single cell and high-end rates cpu/adc datarate possibilities, recommended speed from datasheet is 1µs for single bit - its reasonable to make system reliable.

But. I found that RMT totally unuseable in this case ...
by imShara
Tue May 06, 2025 1:05 pm
Forum: ESP-IDF
Topic: Could RMT split "rmt_symbols" by time, not by level change?
Replies: 13
Views: 343

Re: Could RMT split "rmt_symbols" by time, not by level change?

o are you sending the clock signal?

Yes, I'm sending the clock signal. It's HX711 ADC (datasheet) ADC and I need to read different channels of couple ACDS in non blocking mode.

diagram.png
diagram.png (37.86 KiB) Viewed 213 times
by imShara
Tue May 06, 2025 5:13 am
Forum: ESP-IDF
Topic: Could RMT split "rmt_symbols" by time, not by level change?
Replies: 13
Views: 343

Re: Could RMT split "rmt_symbols" by time, not by level change?

No, it's not an i2s, its just simple bit-banging protocol - it responds with a bit for every raising edge you transmit until word ends.

I solve it by counting low levels instead hi-levels and parse RMT output in that way:



// I set rx resolution to make rmt_symbols[i].duration = signal_level ...
by imShara
Sun May 04, 2025 6:57 am
Forum: ESP-IDF
Topic: Could RMT split "rmt_symbols" by time, not by level change?
Replies: 13
Views: 343

Re: Could RMT split "rmt_symbols" by time, not by level change?

I can restore value by some calculations


No, I cant, because If there will be multiple high level bits at the end of word, rmt won't calculate them because there is no falling edge after last bit... You can assume that there is high level bits if rmt symbols not enough. But it looks like a bad ...
by imShara
Sat May 03, 2025 4:58 pm
Forum: ESP-IDF
Topic: Could RMT split "rmt_symbols" by time, not by level change?
Replies: 13
Views: 343

Could RMT split "rmt_symbols" by time, not by level change?

I need to decode custom protocol in non-blocking mode. The data looks like this:


data.png


With RMT I can receive symbols with level and duration .


https://docs.espressif.com/projects/esp-idf/en/stable/esp32/_images/blockdiag-ebc76989fd5a53e06d27d868912afef738b39887.png

I can restore value ...
by imShara
Wed Feb 19, 2020 4:50 pm
Forum: General Discussion
Topic: Is there way to use AP lr + STA b/g/n simultaneously
Replies: 1
Views: 2029

Re: Is there way to use AP lr + STA b/g/n simultaneously

While post was in pending state, I found thai it should be possible
https://docs.espressif.com/projects/esp ... g-range-lr

Go to advanced search