Przeszukaj forum
Pokazywanie wyników dla tagów 'ESP32-C3'.
Znaleziono 2 wyniki
-
Mam do wykonania logger parametrów pewnego urządzenia, wymaganie jest między innymi takie aby po włożeniu pamięci pendrive logowanie zaczynało się automatycznie. Logger buduję w oparciu o esp32s3 który ma wsparcie sprzętowe USB msc, aby zapoznać się z komponentem udostępnionym przez espressif korzystam i ich przykładu https://components.espressif.com/components/espressif/usb_host_msc https://github.com/espressif/esp-idf/tree/master/examples/peripherals/usb/host/msc Urządzenie ma być bezobsługowe, czyli użytkownik wkłada pamięć -> esp sprawdza czy istnieje folder ze specyficzną nazwą powiązaną z jego MAC adres, jeśli taki istnieje to tworzy w tym folderze plik z bieżącą datą i czasem oraz zaczyna zapisywanie danych. -> jeśli folder nie istnieje to musi go założyć i przejść powyższe kroki, ścieżkę buduję w taki sposób: uint8_t chipid[6]; esp_efuse_mac_get_default(chipid); char makedir[128]; sprintf(makedir,"/usb/LOGGER_%02X%02X%02X%02X%02X%02X",chipid[0], chipid[1], chipid[2], chipid[3], chipid[4], chipid[5]); bool directory_exists = stat(makedir, &s)==0; if (!directory_exists) { if (mkdir(makedir, 0775) != 0) { ESP_LOGE(TAG, "mkdir failed with errno: %s", strerror(errno)); } } Następnie plik z oznaczony aktualnym czasem np: 22082024_1444.csv i do niego zapisuje kolejne rekordy danych. Sprawa która mnie zastanawia to właśnie ten moment kiedy ktoś podejdzie i wyjmie pendrive z urządzenia, log będzie co sekundę, można liczyć że akurat pendrive zostanie wyjęty pomiędzy kolejnymi zapisami, ale co jeśli trafi akurat w moment dodawania wpisu do pliku? Można w programowy sposób na to zareagować lub muszę wykombinować jakiś mechanizm aby plik został poprawnie zamknięty przed wyjęciem pamięci z gniazda?
-
Witam serdecznie, pracuję nad pewnym projektem i ze względu na niedostateczne umiejętności programowania w C, postanowiłem wykorzystać ArduinoIDE z bliblioteką esp32 do zaprogramowania układu ESP32-C3, zamiast dedykowanego przez producenta frameworka ESP-IDF. Tutaj pojawia się moje pytanie, w jaki sposób przebiega kompilacja takiego projektu w ArduinoIDE ? Czy projekt, który wgrywamy po przez ArduinoIDE de facto też jest zcustomizowanym firmwarem ? czy może to jest instrukcje w c++ uruchamiane są na dedykowanym firmwarze ? Kolejna sprawa: czy gdy wgrywamy nasz program do pamięci płytki to z każdym razem wgrywany jest nowy firmware, czy tylko podmieniany jakiś segment pamięci ? Niestety nie mam specjalistycznej wiedzy w tej materii, dlatego zależy mi na wyjaśnieniu tej kwestii.