managed components purge

This commit is contained in:
Thaddeus Hughes
2026-03-12 08:53:01 -05:00
parent 35b7074e81
commit 18faa5b83d
294 changed files with 19 additions and 59603 deletions

View File

@@ -41,6 +41,16 @@ See `README.md` for full project documentation (hardware, architecture, protocol
---
## Managed Components
Only **mdns** is used. The TCA9555 is driven by a custom raw I2C driver in `i2c.c` (not the `esp-idf-lib/tca95x5` library). LittleFS is not used.
`idf_component.yml` pins mdns to `~1.9.1` (compatible patch updates only). If adding a new component, pin it with `~` (e.g. `"~1.2.0"`) to allow patches but not breaking changes.
After changing `idf_component.yml`, run `idf.py reconfigure` to update `managed_components/`.
---
## Conventions
- **Naming:** `snake_case` functions with module prefix (`fsm_init`, `i2c_poll_buttons`); `UPPER_SNAKE_CASE` constants/enums

View File

@@ -6,7 +6,7 @@
- [clauded] Verify `CONFIG_ESP_SYSTEM_PANIC_PRINT_REBOOT` — confirmed active
- [clauded] Confirm brownout detector level — ~2.43V is correct (ESP32 rail protection; battery low-V handled by FSM's `LOW_PROTECTION_V`)
- [clauded] Research sdkconfig management best practices — documented in CLAUDE.md "sdkconfig Management" section
2. - [ ] Fix managed_components: remove unused deps, pin versions in `idf_component.yml`; document in CLAUDE.md
2. - [clauded] Fix managed_components: removed unused `littlefs` and `tca95x5` deps, pinned `mdns` to `~1.9.1`, bumped IDF min to `>=5.0`; documented in CLAUDE.md
3. - [ ] OTA rollback via consecutive-reset counter
- [ ] Add `RTC_DATA_ATTR uint8_t reset_counter` — increment on boot, clear after successful health check
- [ ] On counter ≥ 5, call `esp_ota_mark_app_invalid_rollback_and_reboot()`
@@ -15,8 +15,8 @@
4. - [ ] Critical init failures (ADC, storage, log, I2C, FSM, sensors) should `esp_restart()` — this feeds the OTA rollback reset counter
5. - [ ] Non-critical init failures (wifi, webserver, RF, BT) should log a `LOG_TYPE_ERROR` entry and attempt retry
- [ ] WiFi/BT already have restart paths (`webserver_restart_wifi()`, `bt_hid_resume()`) — wire these into a retry-on-failure path at boot, not just soft idle exit
6. - [ ] Power-on self-test (POST) — run after all inits, before FSM starts; log results; feed OTA health check
- [ ] ADC: read all 4 channels twice with short delay, flag if frozen or out of range (battery 525V, currents 0150A)
6. - [ ] Power-on self-test (POST) — run as a part of all inits. Calling init should result in a 3-try effort to do the init if there are issues, then reset.
- [ ] ADC: read all 4 channels twice with short delay, flag if frozen or out of range (currents -150A to 150A)
- [ ] I2C: verify TCA9555 responds (read port 0)
- [ ] Flash: write-read-verify test on last sector of storage partition
7. - [ ] Parameter validation

View File

@@ -1,70 +1,4 @@
dependencies:
esp-idf-lib/esp_idf_lib_helpers:
component_hash: 689853bb8993434f9556af0f2816e808bf77b5d22100144b21f3519993daf237
dependencies: []
source:
registry_url: https://components.espressif.com
type: service
targets:
- esp32
- esp32c2
- esp32c3
- esp32c5
- esp32c6
- esp32c61
- esp32h2
- esp32p4
- esp32s2
- esp32s3
version: 1.4.0
esp-idf-lib/i2cdev:
component_hash: 4f3838b2e68ab2b77fd43737139fa97dd0243b46af7b4a04588c67ff6b275ba1
dependencies:
- name: esp-idf-lib/esp_idf_lib_helpers
registry_url: https://components.espressif.com
require: private
version: '*'
source:
registry_url: https://components.espressif.com
type: service
targets:
- esp32
- esp32c2
- esp32c3
- esp32c5
- esp32c6
- esp32c61
- esp32h2
- esp32p4
- esp32s2
- esp32s3
version: 2.1.0
esp-idf-lib/tca95x5:
component_hash: 4bbdbd82828cf1fd5c03fd07e3ea2cb0f36daf16cb3ac7219d1e5decb9ec04ee
dependencies:
- name: esp-idf-lib/esp_idf_lib_helpers
registry_url: https://components.espressif.com
require: private
version: '*'
- name: esp-idf-lib/i2cdev
registry_url: https://components.espressif.com
require: private
version: '*'
source:
registry_url: https://components.espressif.com/
type: service
targets:
- esp32
- esp32c2
- esp32c3
- esp32c5
- esp32c6
- esp32c61
- esp32h2
- esp32p4
- esp32s2
- esp32s3
version: 1.0.7
espressif/mdns:
component_hash: 29e47564b1a7ee778135e17fbbf2a2773f71c97ebabfe626c8eda7c958a7ad16
dependencies:
@@ -79,21 +13,9 @@ dependencies:
source:
type: idf
version: 5.3.1
joltwallet/littlefs:
component_hash: 1808d73e99168f6f3c26dd31799a248484762b3a320ec4962dec11a145f4277f
dependencies:
- name: idf
require: private
version: '>=5.0'
source:
registry_url: https://components.espressif.com/
type: service
version: 1.20.3
direct_dependencies:
- esp-idf-lib/tca95x5
- espressif/mdns
- idf
- joltwallet/littlefs
manifest_hash: c3a20310a8ecc5e8e0221a7589abf8d2e372eb48f06d6b6fbb3fbf5f48a61aaf
manifest_hash: 7677ef9427111d5bfe7e9d00453defd2f35330f3a0aefe9690b0a5f577f93b06
target: esp32
version: 2.0.0

View File

@@ -1,19 +1,6 @@
## IDF Component Manager Manifest File
dependencies:
espressif/mdns: "*"
joltwallet/littlefs: "==1.20.3"
esp-idf-lib/tca95x5: "*"
espressif/mdns: "~1.9.1"
## Required IDF version
idf:
version: ">=4.1.0"
# # Put list of dependencies here
# # For components maintained by Espressif:
# component: "~1.0.0"
# # For 3rd party components:
# username/component: ">=1.0.0,<2.0.0"
# username2/component2:
# version: "~1.0.0"
# # For transient dependencies `public` flag can be set.
# # `public` flag doesn't have an effect dependencies of the `main` component.
# # All dependencies of `main` are public by default.
# public: true
version: ">=5.0"

File diff suppressed because one or more lines are too long

View File

@@ -4,7 +4,7 @@
#include <Arduino.h>
const unsigned char PROGMEM html_content_gz[] = {
0x1f, 0x8b, 0x08, 0x00, 0xdf, 0x91, 0xb1, 0x69, 0x02, 0xff, 0xed, 0x3d, 0xfb, 0x5b, 0xdb, 0x48,
0x1f, 0x8b, 0x08, 0x00, 0xd7, 0xc3, 0xb2, 0x69, 0x02, 0xff, 0xed, 0x3d, 0xfb, 0x5b, 0xdb, 0x48,
0x92, 0x3f, 0xef, 0xfc, 0x15, 0x0d, 0x93, 0x21, 0x52, 0x10, 0xb2, 0x0d, 0x64, 0x66, 0xd6, 0x46,
0x66, 0x09, 0x38, 0x3b, 0x4c, 0x12, 0xe0, 0xc3, 0x90, 0xcc, 0x1c, 0xc7, 0x87, 0x64, 0xab, 0x8d,
0x35, 0xc8, 0x92, 0x57, 0x92, 0x21, 0x5e, 0xe3, 0xff, 0xfd, 0xaa, 0xfa, 0x21, 0xb5, 0x1e, 0x36,

Some files were not shown because too many files have changed in this diff Show More