Search found 35 matches

by Greg Corson
Tue May 21, 2019 5:28 pm
Forum: ESP32 Arduino
Topic: Changing UDP packet fragmenting (lwip) configuration in Arduino
Replies: 1
Views: 4560

Changing UDP packet fragmenting (lwip) configuration in Arduino

I found that the build of the Arduino platform seems to have UDP packet fragmentation support turned off for send and receive. How do I go about turning packet fragmentation support on? Is there an API call or does the whole Arduino-ESP32 package have to be recompiled? Without fragmentation support ...
by Greg Corson
Tue May 21, 2019 5:20 pm
Forum: ESP32 Arduino
Topic: DRAM segment data does not fit?
Replies: 2
Views: 12823

Re: DRAM segment data does not fit?

Thanks! I'll give this a try.

It's an easy change because these were ping-pong buffers and are already referenced through pointers everywhere else in the code.
by Greg Corson
Tue May 21, 2019 5:17 pm
Forum: ESP-IDF
Topic: Reading from SPI Accelerometer and networking out data at 2000hz
Replies: 11
Views: 14258

Re: Reading from SPI Accelerometer and networking out data at 2000hz

What I ended up doing was setting up interrupt routines for each IMU that read whenever data is ready and pack it into a buffer. So far this is taking from 40-90us depending on the device using 5mhz spi clock. The setup is double buffered, one buffer dedicated to reading the IMU while the other is b...
by Greg Corson
Mon May 20, 2019 11:35 pm
Forum: ESP32 Arduino
Topic: DRAM segment data does not fit?
Replies: 2
Views: 12823

DRAM segment data does not fit?

Hi, I have some fairly simple Arduino code that is allocating a couple of buffer structures like this: typedef struct { int len; uint8_t buff[INTERRUPT_BUFFER_SIZE]; } Buffer, *Buffer_ptr; Buffer bufferA, bufferB; When INTERRUPT_BUFFER_SIZE is 42000 I get the following info from the compile which se...
by Greg Corson
Mon May 20, 2019 11:09 pm
Forum: ESP32 Arduino
Topic: SPI Hardware Chip Select, how to use?
Replies: 0
Views: 3944

SPI Hardware Chip Select, how to use?

I've got some SPI code that works, flipping the CS pin manually. I'd like to see how the "hardware chip select" feature performs but I can't get it to work. I've been hunting for example code but can't find any. I setup SPI like this ICM40605_SPI->begin(ICM40605_SCK, ICM40605_MISO, ICM40605_MOSI, IC...
by Greg Corson
Tue Apr 30, 2019 8:46 am
Forum: ESP-IDF
Topic: Reading from SPI Accelerometer and networking out data at 2000hz
Replies: 11
Views: 14258

Re: Reading from SPI Accelerometer and networking out data at 2000hz

This is part of an imu test rig so it needs to work with a variety of imu. This rig needs to sample several imu at once so they can be compared Regardless, even fifos generate an interrupt and then need to be read on a fairly regular schedule (when the sample rate is 2k) so I’m wondering if the read...
by Greg Corson
Tue Apr 30, 2019 12:15 am
Forum: ESP-IDF
Topic: Reading from SPI Accelerometer and networking out data at 2000hz
Replies: 11
Views: 14258

Reading from SPI Accelerometer and networking out data at 2000hz

I'm working on a setup to get data from an SPI accelerometer/gyro chip (IMU) and send the data out on WiFi over UDP or TCP. The main issue is I need to read from the SPI IMU at around 2000hz, these reads take 40-100us. I'm seeing non-blocking calls to TCP or UDP taking 500us to 1500us, so obviously ...
by Greg Corson
Thu Apr 25, 2019 11:00 pm
Forum: ESP-IDF
Topic: UDP packet fragmentation problem
Replies: 0
Views: 3762

UDP packet fragmentation problem

I found this using the ESP32 arduino setup, but I think it will apply to the ESP IDF as well so I posted it here. The issue is how large UDP packets are being handled. When a UDP packet is bigger than the MTU (around 1.4k) it is supposed to be broken into fragments, sent over the net, and reassemble...
by Greg Corson
Thu Apr 25, 2019 10:33 am
Forum: ESP-IDF
Topic: How to schedule task to run at 2000hz?
Replies: 2
Views: 6726

How to schedule task to run at 2000hz?

I need to read an accelerometer at 2000hz with a small task that runs every 500us, reads the data from spi and saves it to a buffer. The read takes less than 50us. What is a good way to schedule this task? Seems like FreeRTOS is limited to 1ms schedules. The code needs to read the accelerometer at 2...
by Greg Corson
Tue Apr 23, 2019 8:51 pm
Forum: ESP-IDF
Topic: Do non-blocking TCP send calls work?
Replies: 1
Views: 5453

Do non-blocking TCP send calls work?

So I'm trying to send some 59 byte binary messages over TCP at between 100 and 1000hz. Eventually this will read an accelerometer/gyro at this rate and send the results over the network. For now I'm having issues with timing so I put together a quick test program using the tcpserver.c example. When ...