Hi Stefan,
You need the TaskId from xTaskCreatePinnedToCore - to pass to notify..
I think it is the last but one parameter - and you'll need to pass the address of a FC variable..
So if the variable is SaveToSDTask (needs to be a UINT32) - then pass &FCV_SAVETOSDTASK - the 'drag' variable to the C block is good here....
& - gets the address..
If you use Notify to wake the task then it shouldn'tneed a delay....
Martin
ESP32 read i2c or i3c in IRQ macro
-
- Valued Contributor
- Posts: 1453
- http://meble-kuchenne.info.pl
- Joined: Wed Dec 09, 2020 9:37 pm
- Has thanked: 135 times
- Been thanked: 707 times
-
- Valued Contributor
- Posts: 997
- Joined: Wed Dec 02, 2020 10:53 am
- Has thanked: 190 times
- Been thanked: 217 times
Re: ESP32 read i2c or i3c in IRQ macro
Hi Martin
Yes I dont need a delay and there is no watchdog fired. Just change the command like this.
The cornumber needs to be on the end and the variable b4. working program:
Yes I dont need a delay and there is no watchdog fired. Just change the command like this.
The cornumber needs to be on the end and the variable b4. working program:
-
- Valued Contributor
- Posts: 1453
- Joined: Wed Dec 09, 2020 9:37 pm
- Has thanked: 135 times
- Been thanked: 707 times
Re: ESP32 read i2c or i3c in IRQ macro
For interest - I wanted to see if the accelerometer is returning 'meaningful' data....
I added a 'SaveData' macro - although in this case it outputs the first 4 6 value samples from the save buffer to UART... I went with using accel_data[0..499] as buffer 0 and [500.999] as buffer 1.
The ReadSample macro - notifies the SaveData macro when a buffer is full.
The values change more dramatically when I move the sensor - but I'm not much the wiser?
Martin
I added a 'SaveData' macro - although in this case it outputs the first 4 6 value samples from the save buffer to UART... I went with using accel_data[0..499] as buffer 0 and [500.999] as buffer 1.
The ReadSample macro - notifies the SaveData macro when a buffer is full.
The values change more dramatically when I move the sensor - but I'm not much the wiser?
Martin
- Attachments
-
- lsdm3_int.fcfx
- (27.54 KiB) Downloaded 11 times
-
- Valued Contributor
- Posts: 997
- Joined: Wed Dec 02, 2020 10:53 am
- Has thanked: 190 times
- Been thanked: 217 times
Re: ESP32 read i2c or i3c in IRQ macro
Your IRQ handling is working fine. And reading faster I2C also!
I adjust for my hardware and let it run
If the sensor is flat on the table the z-axis has +16400 digit If I turn it 90 deg an other axis goes to -16300 and z-axis goes to zero so I turn 180 deg axis goes to goes to +16300 mod program to send String to uart
I adjust for my hardware and let it run
If the sensor is flat on the table the z-axis has +16400 digit If I turn it 90 deg an other axis goes to -16300 and z-axis goes to zero so I turn 180 deg axis goes to goes to +16300 mod program to send String to uart
-
- Valued Contributor
- Posts: 1453
- Joined: Wed Dec 09, 2020 9:37 pm
- Has thanked: 135 times
- Been thanked: 707 times
Re: ESP32 read i2c or i3c in IRQ macro
Just tested - and yes. The results look sensible...
Saving buffer 0 - (182,1678,-16281)
Saving buffer 1 - (154,652,-15675)
Saving buffer 0 - (-16348,436,500)
Saving buffer 1 - (-16326,482,950)
Saving buffer 0 - (-34,16344,-922)
Saving buffer 1 - (2,16330,-965)
With the board 'aligned' in each of the 3 planes. I set the delay between samples to 10ms - to allow a more sedate update rate...
Martin
Saving buffer 0 - (182,1678,-16281)
Saving buffer 1 - (154,652,-15675)
Saving buffer 0 - (-16348,436,500)
Saving buffer 1 - (-16326,482,950)
Saving buffer 0 - (-34,16344,-922)
Saving buffer 1 - (2,16330,-965)
With the board 'aligned' in each of the 3 planes. I set the delay between samples to 10ms - to allow a more sedate update rate...
Martin