Commit Graph

1040 Commits

Author SHA1 Message Date
Dean Lee
ce4fda1f92 system/ui: add minimum WIFI password length validation (#35190)
* add minimum WIFI password length validation

* add min text size to keyboard

* disable enter if text size<min size

* add MAX_PASSWORD_LENGTH

* disable enter key

* set min_text_size for demo
2025-05-12 19:01:25 +01:00
Dean Lee
8c995ab26d system/ui: implement CameraView widget (#35185)
* initial commit

* run at 60hz, nonblock

* graceful cleanup

* re-position

* rename

---------

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
2025-05-12 17:32:20 +01:00
Dean Lee
02125f6862 system/ui: fix cursor position in inputBox mouse click handler (#35189)
fix cursor position in inputBox mouse click handler
2025-05-12 16:59:00 +01:00
Cameron Clough
43054a56c2 system/ui: fix tethering ssid (#35188)
system/ui: fix tethering ssid when no params
2025-05-12 15:39:48 +01:00
Cameron Clough
59fbeb6070 system/ui: keyboard demo script 2025-05-12 15:28:36 +01:00
Dean Lee
2b32325be1 system/ui: Full-Featured InputBox Component (#35178)
custom input box component
2025-05-12 15:21:12 +01:00
Adeeb Shihadeh
35dbdf9124 raylib: fwd everything to cloudlog 2025-05-11 11:08:50 -07:00
Dean Lee
e62b6a38e9 system/ui: set keyboard to use full window area (#35181)
set keyboard to use full window area
2025-05-11 11:06:04 -07:00
Dean Lee
bfadab078e system/ui: set log level to WARNING to reduce noise (#35180)
* set log level to WARNING to reduce noise

* custom callback handling for raylib logs
2025-05-11 11:05:59 -07:00
Dean Lee
01867f1b2b system/ui: integrate WifiManagerUI into Updater (#35177)
integrate WifiManagerUI into Updater
2025-05-11 14:40:06 +01:00
Dean Lee
bbeb37d726 system/ui: add MultiOptionDialog for selection from scrollable lists (#35176)
* add MultiOptionDialog for selection from scrollable lists

* mv

---------

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
2025-05-11 08:43:23 +01:00
Dean Lee
f1760e63d3 system/ui: performance optimizations for WiFi Manager with cached network data (#35170)
Performance optimizations for WiFi Manager with cached network data
2025-05-11 08:26:25 +01:00
Dean Lee
eaa595958c system/ui: prevent duplicate WiFi connections when retrying with new password (#35174)
Prevent duplicate WiFi connections when retrying with new password
2025-05-10 14:22:06 -07:00
Dean Lee
7147c26954 system/ui: fix WIFI authentication callback and connection tracking (#35169)
fix authentication callback and state handling
2025-05-10 10:00:28 -07:00
Dean Lee
3b94e6f92f system/ui: add tethering support to WifiManager (#35167)
add tethering support to WifiManager
2025-05-10 09:59:42 -07:00
Shane Smiskol
db855d56d3 Log Hexagon DSP temperature (#35166)
* add hexagon dsp temp

* log

* whoops
2025-05-09 15:18:52 -07:00
Dean Lee
908ea36126 ui(raylib): add thread-safe property access to WifiManagerWrapper (#35162)
* Add thread-safe property access to WifiManagerWrapper

* cleanup

* type-safe manager, always specify default

* import

---------

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
2025-05-09 16:23:37 +01:00
Cameron Clough
4bbbe3d2d1 ui(raylib): revert fps to 60 (#35163)
bump default fps
2025-05-08 22:22:53 +01:00
Dean Lee
33849245d8 uploader.py: fix empty string handing in AthenadRecentlyViewedRoutes parameter (#35139)
Fix empty strings in AthenadRecentlyViewedRoutes parameter
2025-05-08 16:31:06 +01:00
Cameron Clough
73ee0c022f Reapply "ui(raylib): create BaseWindow (#35074)" (#35077)
* Reapply "ui(raylib): create BaseWindow (#35074)"

This reverts commit 83b84a5bec.

* correct title

* error msg

* cloudlog
2025-05-08 16:18:01 +01:00
Dean Lee
e7f7675458 micd: fix thread safety by adding locking for shared state (#35148)
* fix thread safety by adding locking for shared state

* Update system/micd.py

---------

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
2025-05-08 16:09:44 +01:00
Maxime Desroches
52669b6ad2 AGNOS 12.1 (#35154)
12.1
2025-05-07 20:34:08 -07:00
Maxime Desroches
47ed90c6cf Reapply "Mypy: Got passing on macos (#34591)" (#35126) (#35153)
* Mypy: Got passing on macos (#34591)

* Mypy: Got mypy passing on macos

* common/realtime.py refactor

* Mypy: mypy passing on darwin

* Refactor: Removed else: pass statement

* Refactor: Removed unnecessary check

* added xattr to pyproject

* loggerd: switched to xatter module

* loggerd: removed unused module in xattr_cache.py

* UV: update uv.lock

* Update system/athena/athenad.py



* athenad: fixed blank lines

* loggerd: refactor of xattr_cache

* cleanup

---------



* fix getxattr no attribute on macOS

* try fixing missing ENOATTR on Linux

---------

Co-authored-by: Andrei Radulescu <andi.radulescu@gmail.com>
Co-authored-by: BrainLess <116778989+BrainLessPea@users.noreply.github.com>
2025-05-07 19:11:37 -07:00
Maxime Desroches
2451d70408 AGNOS 12 (#35151)
agnos 12
2025-05-07 18:21:53 -07:00
Maxime Desroches
36ff474bc8 remove numpy.core usage (#35152)
fix
2025-05-07 16:44:20 -07:00
Dean Lee
7c16e65347 loggerd: remove redundant Params Construction (#35138)
remove redundant Params Construction
2025-05-07 16:39:05 +01:00
Maxime Desroches
aa1b790708 revert agnos 12 2025-05-06 21:38:50 -07:00
Andrei Radulescu
bbf37ae5c7 Reapply "Mypy: Got passing on macos (#34591)" (#35126)
* Mypy: Got passing on macos (#34591)

* Mypy: Got mypy passing on macos

* common/realtime.py refactor

* Mypy: mypy passing on darwin

* Refactor: Removed else: pass statement

* Refactor: Removed unnecessary check

* added xattr to pyproject

* loggerd: switched to xatter module

* loggerd: removed unused module in xattr_cache.py

* UV: update uv.lock

* Update system/athena/athenad.py

Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>

* athenad: fixed blank lines

* loggerd: refactor of xattr_cache

* cleanup

---------

Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>

* fix getxattr no attribute on macOS

* try fixing missing ENOATTR on Linux

---------

Co-authored-by: BrainLess <116778989+BrainLessPea@users.noreply.github.com>
Co-authored-by: Maxime Desroches <desroches.maxime@gmail.com>
2025-05-06 21:09:59 -07:00
Maxime Desroches
b400312042 agnos 12 (#35133)
* new

* all

* prod

* both

* 12

* version

* update
2025-05-06 20:37:09 -07:00
Dean Lee
9622b6f8bd ui(raylib): add a simple toggle component (#35128)
* simple toggle

* Update system/ui/lib/toggle.py

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>

* cleanup

---------

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
2025-05-06 10:25:51 -07:00
Dean Lee
c33e5b3209 python ui: wifi manager (#34814)
* python wifi manager

* fix ui

* need auth callback

* move to widgets

* confirm forgot

* add drag detection

* improve keyboard & list

* remove duplicate

* typos

* use gui_app render

* refactor

* cleanup

* cleanup

* shutdown

* fix types

* revert

* scroll panel cleanup

* reset is_dragging on mouse release

* Revert "reset is_dragging on mouse release"

This reverts commit ff5e51cf6f00848d93aa3ce0bab16602fea7a319.

* unformat

* cleanup

* update state when connecting

* forgotten callback

* maybe fix? first tap didn't work

* Revert "maybe fix? first tap didn't work"

This reverts commit 739f0e3bd37323d10479b081a20d05c7fdff5495.

* remove set_target_fps

* Revert "remove set_target_fps"

This reverts commit 96f74553ef6fa2ab2a4d1a07880175e7da628c9f.

---------

Co-authored-by: Cameron Clough <cameronjclough@gmail.com>
2025-05-05 16:28:12 +01:00
Cameron Clough
9d17c73f6b avoid importing Raylib UI (#35078) 2025-04-25 19:09:19 -07:00
Cameron Clough
83b84a5bec Revert "ui(raylib): create BaseWindow (#35074)"
This reverts commit 124198460b.
2025-04-26 01:20:58 +01:00
Cameron Clough
124198460b ui(raylib): create BaseWindow (#35074)
* ui(raylib): create BaseWindow

* test without typing

* revert

* Revert "test without typing"

This reverts commit c8a5e1b8322bb7250ede540d7b6d25eefa72cef1.

* lines
2025-04-25 23:33:32 +01:00
Cameron Clough
362ddfc0c7 ui: replace qt text window with raylib (#35064)
* remove qt text window

* use wrapper, render text window in thread

* add wait_for_exit method

* update imports
2025-04-25 14:17:47 +01:00
Cameron Clough
7eb1c31d72 ui(raylib/text): spacing between button and scrollbar (#35069) 2025-04-25 14:06:37 +01:00
Cameron Clough
92ada2170f ui(raylib): start scroll at bottom of text window (#35068) 2025-04-25 14:00:31 +01:00
Cameron Clough
c961fb095f ui(raylib): preserve whitespace in wrapped text (#35067)
* ui(raylib): preserve whitespace in wrapped text

* lint
2025-04-25 13:57:04 +01:00
Cameron Clough
3ee2882093 ui: replace qt spinner with raylib (#35059)
* use raylib spinner

* remove qt spinner

* use wrapper, render spinner in thread

* english

* fix?

* match Qt font size more closely
2025-04-24 21:16:38 +01:00
Cameron Clough
7c223e5586 ui(raylib): decrease target FPS to 30 (#35062) 2025-04-24 21:00:48 +01:00
Cameron Clough
8088438bd6 hardware: make set_display_power not abstract (#35061)
hardware: make set_dispaly_power not abstract

follow-up to https://github.com/commaai/openpilot/pull/35060#discussion_r2058829397
2025-04-24 20:18:31 +01:00
Cameron Clough
196848c023 ui(raylib): set display power and brightness on init (#35060)
* add set_display_power to hardware.py

* set display power and brightness on app init
2025-04-24 15:55:15 +01:00
ZwX1616
e85d833a80 Revert "Revert "OS04C10: use IFE downscaler for road cameras"" (#35047)
* Revert "Revert "OS04C10: use IFE downscaler for road cameras" (#35046)"

This reverts commit aaaa2d0dd0.

* fixed

* patch it here

* surely
2025-04-23 21:09:22 -07:00
Cameron Clough
281a72780b Reapply "ui(raylib): "exit" btn in text window on PC" (#35053)
* ui(raylib): "exit" btn in text window on PC

* unused import

* request close

* this was missing
2025-04-23 14:06:09 +01:00
Cameron Clough
754f5aa955 Revert "ui(raylib): "exit" btn in text window on PC (#35052)"
This reverts commit f9767d2650.
2025-04-22 22:30:20 +01:00
Cameron Clough
f9767d2650 ui(raylib): "exit" btn in text window on PC (#35052)
* ui(raylib): "exit" btn in text window on PC

* unused import
2025-04-22 22:07:47 +01:00
Cameron Clough
c9259a9bcf ui(raylib): update spinner vertical pos (#35051)
Adjust the spinner vertical position when displaying text or a progress bar

- When displaying the progress bar, center the comma logo and spinner in the middle of the screen
- When displaying text, center the entire content vertically

Also updated `wrap_text` to not include an empty line in the array if it's the first line, so that `wrap_text("")` always returns `[]`
2025-04-22 20:54:36 +01:00
Cameron Clough
651ff78cb0 ui(raylib): increase font size and wrap text in spinner (#35049)
- Wrap text onto separate lines
- Increase font size to be closer to Qt
- Remove extra letter spacing - 0.0 should use font default spacing, and this is used in `wrap_text`

Will fix vertical alignment separately, as both the text and progress bar layouts need to be considered
2025-04-22 16:07:05 +01:00
Cameron Clough
23524e2038 ui(raylib): reduce spinner rotation artifact (#35048)
* ui(raylib): reduce spinner rotation artifact

A visual artifact (white pixels) appeared on the edge of the
rotating spinner track texture, likely due to RGB color bleed during
bilinear filtering in Raylib.

Pre-multiplying the alpha channel of the spinner track image using
`rl.image_alpha_premultiply` significantly reduces the visibility of the
artifact.

* lint
2025-04-22 15:28:54 +01:00
ZwX1616
aaaa2d0dd0 Revert "OS04C10: use IFE downscaler for road cameras" (#35046)
Revert "OS04C10: use IFE downscaler for road cameras (#35023)"

This reverts commit 3b60b22cee.
2025-04-21 17:02:36 -07:00