* param to control stock vs sp ui
* init styles
* SP Toggles
* Lint
* optimizations
* Panels. With Icons. And Scroller.
* patience, grasshopper
* more patience, grasshopper
* sp raylib preview
* fix callback
* fix ui preview
* add ui previews
* dialog txt
* compare vs what used to be done before InputDialog
* introducing ui_state_sp for py
* param to control stock vs sp ui
* better
* add ui_update callback
* better padding
* this
* listitem -> listitemsp
* Revert "add ui_update callback"
This reverts commit 4da32cc009.
* add show_description method
* remove padding from line separator.
like, WHY? 😩😩
* scroller -> scroller_tici
* scroller -> scroller_tici
* ui: `GuiApplicationExt`
* add to readme
* use gui_app.sunnypilot_ui()
* use gui_app.sunnypilot_ui()
* use gui_app.sunnypilot_ui()
* lint
* no fancy toggles :(
* match them
* mici scroller - no touchy
* no
* more
* size adjustments
* fix scroller. yay
* ui vehicle panel: platform selector
* platform selector
* bruh
* ui_state_sp
* huh
* rebase
* rebae
* vic
* # Conflicts:
# system/ui/sunnypilot/lib/styles.py
# system/ui/sunnypilot/widgets/helpers/fuzzy_search.py
* loathing loathing, unadulterated loathing, i loathe it all
* more changes!
* Update styles.py
* add padding
* use symlink on sp side
* use make from json and show all actual makes
* all done!
* Revert "all done!"
This reverts commit 595c45f057.
* reimpl onroad/offroad confirmation
* use global offroad directly
* ui: highlight on pressed, and less indent
* inherit MultiOptionDialog main buttons
* align top level folders to the edge properly
* lint
* lint
* handle folder presses too
* ui: overridable title and subtitle for `TreeOptionDialog`
* override TreeOptionDialog title and subtitle
* lint
* more
* ui: magnifying glass icon and new search bar style in `TreeDialog`
* cleanup
* ui: recreate search dialog with the latest query
* make model year but display as platform
* move into settings directory
* move into dir
---------
Co-authored-by: nayan <nayan8teen@gmail.com>
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* ui: highlight on pressed, and less indent
* inherit MultiOptionDialog main buttons
* align top level folders to the edge properly
* lint
* handle folder presses too
---------
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* param to control stock vs sp ui
* init styles
* SP Toggles
* Lint
* optimizations
* sp raylib preview
* fix callback
* fix ui preview
* dialog txt
* compare vs what used to be done before InputDialog
* merge origin raylib toggles
* tree dialog
* less trees for the planet
* the heck
* save the trees we got icons
* Update process.py
* Remove 'sunnypilot_ui'
Removed 'sunnypilot_ui' parameter from params_keys.h
* Update raylib_screenshots.py
Removed the parameter setting for 'sunnypilot_ui' in the test.
* ui: fuzzy search helper
* better tree. fully dynamic and stuff
* rm
* more indent
* only show if fav_param is used in the call
* conditional for mypy
* sunny's new x,y makes this even easier!
* loathing loathing, unadulterated loathing, i loathe it all
* more changes!
* more changes!
* Update BUTTON_DISABLED_BG_COLOR to a lighter shade
* Update tree_dialog.py
* final
---------
Co-authored-by: nayan <nayan8teen@gmail.com>
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>
* ui: add debug to display mouse coordinates
* cleanup
* use mouse x and y directly
* even less
* try this out
* ui: increase `scroll` delay in UI Preview
* sleep for clicks too
* don't lol
* try 1 secs
* try this out
* wait a sec before doing a screenshot
* nah
* sunnylink: add statsd process and related telemetry logging infrastructure
- Introduced `statsd_sp` process for handling Sunnylink-specific stats.
- Enhanced metrics logging with improved directory structure and data handling.
* sunnylink: re-enable and refine stat_handler for telemetry processing
- Reactivated `stat_handler` thread with improved path handling.
- Made `stat_handler` more flexible by allowing directory injection.
* statsd: fix formatting issue in telemetry string generation
- Corrected missing comma between `sunnylink_dongle_id` and `comma_dongle_id`.
* update statsd_sp process configuration for enhanced readiness logic
- Modified `statsd_sp` initialization to include `always_run` alongside `sunnylink_ready_shim`.
- Ensures robust process activation conditions.
* refactor(statsd): enhance and unify StatLogSP implementation
- Replaced custom `StatLogSP` in sunnylink with centralized implementation from `system.statsd`.
- Ensures consistent logic for StatLogSP handling across modules.
* fix
* refactor(statsd): add intercept parameter to StatLogSP for configurable logging
- Introduced optional `intercept` parameter to `StatLogSP` to manage `comma_statlog` initialization.
- Updated usage in `sunnylink` to disable interception where unnecessary.
* Dont complain
* feat(statsd): add raw metric type and SunnyPilot-specific stats collection
- Introduced `METRIC_TYPE.RAW` for base64-encoded raw data metrics.
- Added `sp_stats` thread to export SunnyPilot params as raw metrics.
- Enhanced telemetry handling with decoding and serialization updates.
* refactor(statsd): improve `sp_stats` error handling and param processing
- Enhanced exception handling for `params.get` to prevent crashes.
- Added support for nested dict values to be included in stats.
* refactor(statsd): adjust imports and minor code formatting updates
- Updated `Ratekeeper` import path for consistency with the `openpilot` module structure.
- Fixed minor formatting for improved readability.
* refactor(statsd): update typings and remove unused NoReturn annotation
- Removed unnecessary `NoReturn` typing for `stats_main` to simplify function definition.
- Adjusted `get_influxdb_line_raw` to refine typing for `value` parameter.
* cleanup
* init
* init
* slightly more
* staticmethod
* handle them all
* get them models
* log with route
* more
* car
* Revert "car"
This reverts commit fe1c90cf4d.
* handle capnp
* Revert "handle capnp"
This reverts commit c5aea68803.
* 1 more time
* Revert "1 more time"
This reverts commit a364474fa5.
* Cleaning to expose wider
* feat(interfaces, statsd): log car params to stats system
- Added `STATSLOGSP` import and logging to capture `carFingerprint` in metrics.
- Improved error handling in `get_influxdb_line_raw` for robust metric generation.
* refactor(interfaces): streamline car params logging to stats
- Simplified logging by directly converting `CP` to a dictionary.
- Removed legacy stats aggregation for clarity.
* feat(sunnylink): enable compression for stats in SunnyLink
- Added optional compression for stats payload to support large data.
- Updated `stat_handler` to handle compression and base64 encoding.
* fix(statsd): filter complex types in `get_influxdb_line_raw`
- Skips unsupported types (dict, list, bytes) to prevent formatting errors.
- Simplifies type annotation for `value` parameter.
* fix(statsd): use `json.dumps` for string conversion in `get_influxdb_line_raw`
- Ensures proper handling of special characters in values.
- Prevents potential formatting issues with raw `str()` conversion.
* refactor(interfaces, statsd): update parameter keys for stats logging
- Renamed logged keys for better clarity (`sunnypilot_params` → `sunnypilot.car_params`, `device_params`).
- Ensures consistency across data logs.
* bet
---------
Co-authored-by: Jason Wen <haibin.wen3@gmail.com>