Przeszukaj forum
Pokazywanie wyników dla tagów 'esp32-Pico_D4'.
Znaleziono 1 wynik
-
- mam stacje pogodową w zegarku opartym na wyswietlaczu GC9A01 i Esp32 Pico D4. - korzystam z Arduino IDE 2.3.5 oraz Esp32 board wersja 2.0.17. - ilośc flasha 4MB, pamieć RAM 340 kB. - mam dwie partycje NVS, 20 kB oraz 24kB. - w tej pierwszej są dane pogodowe aktualne, w drugiej dane pogodowe z trzech kolejnych dni. - program posiada dwa wątki, muteksa, 4 timery, wszystko działa. - czasami podczas odczytu z tych partycji dane są przekłamane. - dlatego chciałem zastosować semafory, podczas odczytu danych z partycji NVS. - jednak po zastosowaniu semafora, program staje w miejscu gdzie jest semafor. - coś jest żle tylko gdzie, jak to szukać. - wartość wolnego stosu oscyluje na poziomie 100 - 150 kB. - tak jest na dwóch egzemplarzach tych urządzeń. // --------------------- void odczyt_NVS2() // [] { Serial.println(" _3765_ odczyt NVS2 --> tablicy F"); // ----------------------------------- RO_MODE ------------------------------- nvs_open_from_partition("nvs2", "stuff", NVS_READONLY, &handle); // ### 2 //nvs_close(handle); for(;;); // ----------------------- fIcon[] -odczyt--------------------- LockPrefs(); // [880] UnlockPrefs(); // [990] for (int r = 0; r < max_readings; r++) { key = "fIkon" + String(r); nvs_get_str(handle, key.c_str(), NULL, &required_size); // pobierz rozmiar nvs_get_str(handle, key.c_str(), FIcon[r], &required_size); // char[] String // error: incompatible types in assignment of 'float' to 'char [4]' } // ------------------- void odczyt_NVS1() // [4125] --> debug_Tablice { Serial.println(" _3710_ odczyt NVS --> tablicy a"); // ----------------------------------- RO_MODE ------------------------------- mySketchPrefs.begin("myprefs", RO_MODE); // reopen it in RO mode. // mySketchPrefs.end(); for(;;); mySketchPrefs.getBool("nvsInit", false); // read from nvs. // Serial.printf(" err: %d", mySketchPrefs.getBool("nvsaktualne", false)); // zapisano NVS, NVS2 aktualneSVN = mySketchPrefs.getBool("nvsaktualne", false); // zapisano NVS, NVS2 Serial.printf(" aktualneSVN: %d\n", aktualneSVN); // -------------------------- //LockPrefs(); // [885] //UnlockPrefs(); // [990] mySketchPrefs.getFloat("alat", alat); mySketchPrefs.getFloat("alon", alon); mySketchPrefs.getInt("aYy", aYy); mySketchPrefs.getString("aPeriod", aPeriod); mySketchPrefs.getString("aTrend", aTrend); mySketchPrefs.getString("aIcon", aIcon); mySketchPrefs.getString("aMain0", aMain0); mySketchPrefs.getString("aForecast0", aForecast0); mySketchPrefs.getString("aCountry", aCountry);
