Search found 11 matches
- 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 ...
- 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 ...
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 ...
- 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 ...
- 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 ...
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 ...
- 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 ...
But. I found that RMT totally unuseable in this case ...
- 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.
- 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 ...
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 ...
- 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 ...
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 ...
- 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 ...
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 ...
- 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
https://docs.espressif.com/projects/esp ... g-range-lr