Hirdetés
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
its_grandpa
tag
Amíg "debuggoltam" írtatok párat de sebaj, azért ezt most csak itt hagyom

Jogos, nem emlékeztem rá de most megnéztem.
Viszont azt gondolom megtaláltam és vesszek meg ha értem másnak miért működik.
Esp32_radio_init.ino 28. sor preferences.clear() , töröl mindent.
Ezután kiírja kódból az összeset,nézzük a 49. sort. preferences.putString ( "preset", "6" ) ;Ezt látjuk a hibaüzenetben:
:58:11.630 -> D: nvs_get_str failed 1102 for key preset, keylen is 6, len is 150!A kulcs hossza 6 ("preset" sztring hossza) de mi 150-et akarunk olvasni.
Ennek oka a main.cpp 708. sorától az nvsgetstr ( const char* key ) függvény és a 145. sor#define NVSBUFSIZE 150 // Max size of a string in NVSA nvsgetstr fv. első 5 sora :
static char nvs_buf[NVSBUFSIZE] ; // Buffer for contentssize_t len = NVSBUFSIZE ; // Max length of the string, later real lengthnvsopen() ; // Be sure to open nvsnvs_buf[0] = '\0' ; // Return empty string on errornvserr = nvs_get_str ( nvshandle, key, nvs_buf, &len ) ;Megnyitjuk, a 150 hosszú nvs_buf 0. pozijára beírjuk a C sztring szeparátort, eddig OK.
Ezután viszont vissza akarjuk olvasni a kulcsot ( a mi esetünkben ez a "preset") , a 150 hosszú nvs_buf-ba, de mindig 150 hosszan mert a len változó értéke az bizony 150.
Ez így - szerintem - sose fog menni,hibaüzenet lesz a 718. sorban.
Ha minden igaz a kulcs valódi hosszát így lehet(ne) kideríteni.size_t real_len = 0;nvs_get_str ( nvshandle, key, nullptr , &real_len );
Ezután kellene beolvasni a kulcsot a tényleges hossz ismeretében.nvserr = nvs_get_str ( nvshandle, key, nvs_buf, &real_len ) ;Itt egy jó példa fv. a tényleges hossz megállapítására [link]
Új hozzászólás Aktív témák
- GYÖNYÖRŰ iPhone 12 Mini 128GB Blue-1 ÉV GARANCIA -Kártyafüggetlen, MS4209, 94% Akksi
- Apple iPhone 14 Pro 128GB,Újszerű,Dobozával,12 hónap garanciával
- Apple iPhone 14 128GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 9 5900X 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- új HP HyperX Cloud III S headset gamer Fejhallgató
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

ekkold

