ESP32 – die neusten Beiträge

ESP32 Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled?

Hallo,

ich habe ein Problem mit meinem Code auf einem ESP32.
ich habe einen array von struct, welchen ich beschreiben möchte:

file_1.c

typedef struct{
  uint8_t green;
  uint8_t red;
  uint8_t blue;
}ledStrip_ts;
... ... ...
static ledStrip_ts lightbar_as[100];
... ... ...
      if (true == getPixelData_b(&graphicData_s.numOfCols_u32, &graphicData_s.numOfRows_u32, (uint8_t*)&lightbar_as[0]))... ... ...  

file_2.c:

bool getPixelData_b(uint32_t* numOfCols_pu32, uint32_t* numOfRows_pu32, uint8_t* pixelData_pu8)
{
.... .... ....
                bmpColorData_ps = bmpGetGraphicData_v(numOfCols_pu32, numOfRows_pu32);
                ESP_LOGI(TAG, "%p    numOfCols_pu32: %lu  numOfRows_pu32: %lu", bmpColorData_ps, *numOfCols_pu32, *numOfRows_pu32);
... ... ...
                uint32_t counter1 = 0;
                uint32_t counter2 = 0;
                uint32_t counter3 = 0;
                uint32_t y = 0;
                for(uint32_t x=0; x<(*numOfRows_pu32); x++)
                {
                    for(y=0; y<(*numOfCols_pu32); y++)
                    {
                        pixelData_pu8[counter1++] = bmpColorData_ps[counter2].green;
                        pixelData_pu8[counter1++] = bmpColorData_ps[counter2].red;
                        pixelData_pu8[counter1++] = bmpColorData_ps[counter2].blue;
                        ESP_LOGI(TAG, "r: 0x%02X    g: 0x%02X    b: 0x%02X", pixelData_pu8[counter3+1], pixelData_pu8[counter3], pixelData_pu8[counter3+2]);
                        counter2++;
                        counter3+=3;
                    }
                    counter2 += (4 - (y%4));    // Compression = 0 (BI_RGB): Bilddaten sind unkomprimiert, bedeutet
                                                // "Jede Bildzeile ist durch rechtsseitiges Auffüllen mit Nullen auf ein 
                                                // ganzzahliges Vielfaches von 4 Bytes ausgerichtet." (Wikipedia)
                }
... ... ...

Laut Ausgabe (und das ist richtig, sind es 14x14 pixel.
105 Elemente werden geschrieben, dann bekomme ich den Error.
Doch eigentlich ist mein Buffer doch 100 Elemente * 3 Byte (uint8_t red, green, blue). Also 300 Byte.

Als Ausgabe bekomme ich dann:

I (1414) GRAPHIC: r: 0xFF    g: 0xFF    b: 0xFF
I (1414) GRAPHIC: r: 0xFF    g: 0xFF    b: 0xED
Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.


Core  0 register dump:
PC      : 0x400d836e  PS      : 0x00060730  A0      : 0x800d7e4e  A1      : 0x3ffbcf70
A2      : 0x3ffb2e38  A3      : 0x0000013b  A4      : 0x3ffb2e3c  A5      : 0x00000007
A6      : 0x00000077  A7      : 0x0000013b  A8      : 0x0000013d  A9      : 0x3ffb2f74
A10     : 0x00000165  A11     : 0x3ffb2f78  A12     : 0xc0ee0164  A13     : 0x00000586
A14     : 0x3f403a78  A15     : 0x000000ff  SAR     : 0x00000004  EXCCAUSE: 0x0000001c
EXCVADDR: 0xc0ee0164  LBEG    : 0x400014fd  LEND    : 0x4000150d  LCOUNT  : 0xfffffffd




Backtrace: 0x400d836b:0x3ffbcf70 0x400d7e4b:0x3ffbcfc0 0x400d7f3c:0x3ffbcff0 0x40088075:0x3ffbd020
--- 0x400d836e: getPixelData_b at C:/Projekte/ESP32/leuchtstab/main/graphic.c:101


--- 0x400014fd: strlen in ROM
--- 0x4000150d: strlen in ROM


--- 0x400d836b: getPixelData_b at C:/Projekte/ESP32/leuchtstab/main/graphic.c:101
--- 0x400d7e4b: lightbarExec_v at C:/Projekte/ESP32/leuchtstab/main/lightbar.c:116
--- 0x400d7f3c: lightbarTask_v at C:/Projekte/ESP32/leuchtstab/main/lightbar.c:184 (discriminator 1)
--- 0x40088075: vPortTaskWrapper at C:/Espressif/frameworks/esp-idf-v5.4/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:139

Wenn ich nur ein 3x2 pixel bild nehme, funktioniert es ohne probleme.

Code, C (Programmiersprache), ESP32

NRF24 Modul für den Flipper Zero?

Hey, bin auf der Suche nach einem Leistungsstarken (Entfernung) NRF24 Modul für den Flipper Zero. Ich habe eines auf Amazon gefunden, bin mir aber nicht wirklich im klaren mit was für einer Reichweite ich hier zu rechnen habe bzw. ob es bessere oder günstigere Alternativen dazu gibt.

https://www.amazon.de/Flipper-Zero-High-Gain-Nrf24l01-Erweiterungsplatine/dp/B0D238ND46/ref=sr_1_12?dib=eyJ2IjoiMSJ9.b8Y4Db0YwKblZKGz4d4DIP171dxAojKZTfgHqIjgqZmeLqsDk7mu9DK_fYO5DeFvED6nEee17AbG_gGWUkfm-XNhuDc5Y-txz-rWLCG9GCNZwG_Rx1Rv4ZMLrjWgU1MUGsR8RQVp_yNbxXN5dvjx4wb_J6AV9KfCuij6F_8souvWh0j9b8X_umegyYg0qGpg_Ej8peOHZB2Jf7BagXrtyaM_3F-JJTo-ej0qBILPOSA.33CGunx-ZvnsiGrC8iE0b1Phqw4-dMtmaOb2QauX5vg&dib_tag=se&keywords=nrf24+flipper+zero&qid=1741268921&sr=8-12#productDetails

Habe vor allem speziell zu diesem Board auch nirgends sonst was im Internet gefunden. Bin außerdem im Besitz des ESP32 wifi dev boards für den Flipper, falls man da ein NRF24 board dranklemmen kann. Evtl. dieses Board?

https://www.amazon.com/HiLetgo®-NRF24L01-Wireless-Transceiver-Compatible/dp/B00WG9HO6Q?crid=U9JUWIJG5KW5&dib=eyJ2IjoiMSJ9.2EXgIVXwdTwcDljfO1DWB0ZfEN6Je570-0X9RvAR6QVWL4OH8n7-hqUnpavVAg434il3IdacWyuyEDQwsDF3pJwfPZNlQeUETmAFbSjs-cp_FPWv6JzK1DxR_-tU5SwqHFjFHQudH59SDc_5gECyxLo2i2oO6eSSnJn1YorRBju_mAaotLznk23wNwJhy79O2FSpI-nFgx8TACYqN8lbwmlXS2S6JaMTVCWO3I7DjkM.WgikQbjcsKNLcGjQcbnaPE-dyE5qx1-BKK_D6j1l4fQ&dib_tag=se&keywords=nrf24l01&qid=1740311725&sprefix=nrf24,aps,454&sr=8-1-spons&sp_csd=d2lkZ2V0TmFtZT1zcF9hdGY&psc=1&linkCode=sl1&tag=yellowpurple-20&linkId=00bd1742d0dd11e9d589639f80976621&language=en_US&ref_=as_li_ss_tl

Bin noch relativ neu dabei was den Flipper angeht und weiß daher nicht besonders gut über die Zusatzplatinen bescheid.

PC, Elektronik, Reichweite, Platine, ESP32, Flipper Zero

Infrarotfernbedienung mit Arduino kopieren?

Hi,

da die Fernbedienung meiner Klimaanlage in letzter Zeit immer häufiger den Geist aufgibt und ich sie auch gerne übers Wlan ansteuern würde, bin ich gerade dabei eine Ersatzfernbedienung mit einem Arduino UNO (später rüste ich auf einen ESP32 auf) zu bauen. Hierfür habe ich mithilfe des (Arduino) IR Reveivers und der IRLib2 libary, die Rohdaten des Fernbedienungssignals zum An- und Ausschalten der Klimaanlage ausgelesen und gespeichert.

Das Signal sieht folgendermaßen aus (in verkürzter Version):

#define RAW_DATA_LEN 100

uint16_t rawData[RAW_DATA_LEN]={

6342, 3218, 390, 886, 390, 886, 390, 2158, 514, 2038, 514, 1000};

Anschließend habe ich eine Schaltung mit einer IR LED, einem P2N2222A Transistor, 2 Widerständen und meinem Arduino Uno aufgebaut um das Signal senden zu können.

Da die Klimaanlage nicht angesprungen ist, hab ich meinen IR Receiver an einen zweiten Arduino UNO angeschlossen, um zu testen ob das IR Signal von Arduino 1 empfangen wird.

Obwohl die Länge bei jedem Test 100 entspricht, weichen die empfangenen Werte sehr stark von den gesendeten ab (zb 600 statt 6000) und nur jedes zwanzigste mal kommen ungefähr die richtigen Werte an.

Also habe ich das ganze mit der Fernbedienung meines Bose Soundtouch Lautsprechers probiert (mit einer Rohdaten Länge von nur 36) und nicht nur Arduino 2 hat die richtigen Rohdaten erhalten, sondern ich war auch in der Lage, meine Bose Box an- und ausschalten zu können.

Ich habe schon viel versucht aber bis jetzt habe ich noch keine funktionierende Lösung gefunden und hoffe daher, dass einer von euch eine Lösung für mein kleines Problem hat (ich tippe auf einen Fehlerhaften Code).

Vielen Dank im Voraus,

Sneax

(Senden des Signals an meine Bose Box)

(Empfangen von IR Signalen)

Bild zum Beitrag
PC, Computer, Lampe, Elektrik, Licht, Elektrotechnik, Mikrocontroller, Spannung, Arduino, Elektrizität, LED, Mikroelektronik, Schaltung, Widerstand, Transistor, Arduino Uno, Arduino Nano, Arduino IDE, ESP32

Leuchtbumerang - Aufbau und Komponenten?

Projektidee: regelbares Licht in einem Bumerang

Ich werfe seit vielen Jahren Bumerang und seit einiger Zeit bau ich sie auch selbst.

Auf dem Weg einen Bumerang zu bauen der auch im Dunkeln funktioniert habe ich von Wunderkerzen und Mini-Knicklichtern über fluoreszierende Materialien und Mini LED aus dem Angelsport bis hin zu batteriebetriebenen LED mit Magnetschalter schon ein paar leuchtende Bumerangs gebaut, die durchaus gute Flugeigenschaften haben.

Langzeitbelichtung - Bumerangflug

Mein Ziel ist nun aber ein steuerbares Licht einzubauen bei dem man Farbe, Helligkeit und eventuell auch verschiedene Effekte regeln kann. Da es sich um ein Wurfgerät handelt, muss alles batteriebetrieben werden.

Ob es mit SP110e über Bluetooth oder über eingebaute Membran-Folientasten oder über wlan mit esp32 und wled gesteuert wird ist nicht ausschlaggebend.

Wichtig ist die Funktionalität und Vielseitigkeit der Steuerung.

Dafür suche ich nach Ideen für den Aufbau bzw. die Schaltung und benötige auch euere Erfahrung welche die geeigneten Komponenten sind. Dabei ist die Stromversorgung auch ein nicht ganz einfach zu lösender Faktor. Am liebsten wäre mir eine Lösung bei der Akku-Monozellen direkt geladen werden könnten ohne sie rausnehmen zu müssen.

Dem ganzen sind gewichtstechnisch Grenzen gesetzt aber es ist davon auszugehen das 6xMonozelle CR 2032 (bzw. die Akkuvariante IL2032) + ein ca. 40cm LED Streifen oder 4x neopixel ring 8 + ein Controller und Kabel auf jeden Fall machbar sind. Jedes Einzelteil darf höchstens 5mm hoch sein und eine Fläche von ca. 5x5cm nicht überschreiten.

Alles so klein wie möglich.
Wie das alles in dem Bumerang verbaut wird ist nicht die Frage, sonder was soll ich verbauen.

Wie baue ich das ganze am besten auf und welche Einzelkomponenten schlägt die Community vor?

Ich würde mich sehr über spannende Ideen der Umsetzung freuen.

Bild zum Beitrag
Elektronik, Licht, Spannung, Arduino, LED, Schaltung, Raspberry Pi, ESP32

Meistgelesene Beiträge zum Thema ESP32