Commit Graph

14258 Commits

Author SHA1 Message Date
Jason Wen a47a992871 map: less 2024-07-27 23:27:46 -04:00
Jason Wen b9785e33e7 use sp's 2024-07-27 23:26:16 -04:00
DevTekVE 0894686bb5 Refactor brightness update logic in DeviceSP
Remove redundant brightness calculation from DeviceSP by leveraging Device's implementation. Introduce a conditional return to handle Sunnypilot-specific logic cleanly.
2024-07-27 23:09:30 +02:00
DevTekVE f242f6b55d No more rave 2024-07-27 23:07:19 +02:00
DevTekVE 3c8acc8c77 Add override to updateBrightness in DeviceSP
Implemented an override for the updateBrightness function in DeviceSP. This ensures proper handling of UIState type by dynamically casting it to UIStateSP.
2024-07-27 22:47:52 +02:00
Jason Wen 9d0ba054f3 make sure map rendering is compiled 2024-07-27 15:08:39 -04:00
Jason Wen c10121b570 unused 2024-07-27 14:40:50 -04:00
Jason Wen bc40052344 make sure to use our UI 2024-07-27 01:49:57 -04:00
DevTekVE 7f90846971 Refactor conditional process management for external scripts
Refactor the way external scripts 'gitlab_runner.sh' and 'sunnylink_uploader.py' are included in the process list based on their existence. This improves code readability and ensures that the inclusion checks are performed at a single point.
2024-07-26 19:19:37 +02:00
DevTekVE d20010ee31 Refactor option flag for UI customization
Changed the build option flag from '--sunnypilot' to '--stock-ui' to improve clarity. Updated related conditions and defaults in 'selfdrive/ui/SConscript' and 'SConstruct' files for consistency. Removed unused internal developer check logic from 'SConstruct'.
2024-07-26 17:35:45 +02:00
DevTekVE 0e499aa2c1 Merge branch 'refs/heads/master-priv' into ui-sp-split 2024-07-26 11:25:04 +02:00
DevTekVE 7b8a03b5f2 Add new parameters for enabling GitLab runner and Sunnylink uploader 2024-07-26 09:24:27 +00:00
Jason Wen e8ca47ebfa Enhance chevron display with additional lead car metrics
Added a third chevron type to display Time-to-Collision (TTC) metrics for the lead car. Modified logic to handle the new metrics type, allowing for comprehensive data on distance, speed, and TTC. Adjusted text box dimensions as needed for the additional information.
2024-07-26 10:17:05 +02:00
DevTekVE 11059efa39 Merge branch 'refs/heads/master-priv' into ui-sp-split
# Conflicts:
#	selfdrive/ui/qt/onroad/annotated_camera.cc
#	selfdrive/ui/sunnypilot/qt/offroad/settings/visuals_settings.cc
2024-07-26 10:15:03 +02:00
Jason Wen c7f2f15950 MADS: Use modern button events parsing 2024-07-25 17:23:33 +00:00
Jason Wen 97f0178d5e ui: Lead car chevron: Time to Lead Car 2024-07-25 17:16:57 +00:00
DevTekVE 274f994fbe Merge remote-tracking branch 'refs/remotes/origin/master-priv' into ui-sp-split 2024-07-24 21:17:32 +02:00
DevTekVE f55febc855 remove sp_priv from the names
Renamed files by removing sp_priv_ prefix
2024-07-24 21:15:39 +02:00
DevTekVE b8a2efcb52 delting comment 2024-07-24 17:07:07 +00:00
DevTekVE 1ec52f1707 makin a nice commit from github 2024-07-24 18:58:36 +02:00
DevTekVE ff5e9840bc cleaning up 2024-07-24 18:52:40 +02:00
DevTekVE 598e9b48db New branch from github 2024-07-24 16:46:21 +00:00
DevTekVE 3683e9eb0a git-crypt blacklist .git-crypt folder on the release_files.py 2024-07-24 10:14:13 +02:00
DevTekVE 353b22168f Refactor networking files and include network UI for SunnyPilot
This commit refactors the networking files and includes a SunnyPilot network UI. Changes in existing files result in the removal of some features not required for SunnyPilot while retaining others. For instance, the 'ToggleControl' functionality for Sunnypilot was removed as Sunnypilot does not require this feature. Other changes include adjustments to the network's user interface layout and the removal of unnecessary widgets.

This refactor was necessitated by the need to provide slightly different functionalities between Comma's default UI and the Sunnypilot UI while avoiding code duplication whenever possible.

The newly created files sp_priv_networking.{c,h} include the relevant elements of the network UI specifically modified for SunnyPilot. These modifications are expected to enhance the overall user experience and usability of the network interface in the SunnyPilot UI.

Please note that the 'ngrok' and 'hotspotOnBoot' functionalities have been excluded from Sunnypilot as they are not required in its use case.

The SConscript file has also been updated accordingly to include the required configurations for the new network UI files.
2024-07-23 11:40:10 +02:00
DevTekVE 223cfd2c34 Refactor map helper includes for SunnyPilot
This update refactors the inclusion of map helper files in various source files for compatibility with SunnyPilot. This involves changes like replacing "#include selfdrive/ui/qt/maps/map_helpers.h" with "#include selfdrive/ui/sunnypilot/qt/maps/sp_priv_map_helpers.h". Added logging information in "sp_priv_onroad_home.cc" to debug the creation of map widgets. This refactoring is necessary to support map related functionalities in the SunnyPilot environment.
2024-07-23 11:40:10 +02:00
DevTekVE 09068fc34e cleaning up 2024-07-23 11:40:10 +02:00
DevTekVE 5bcd0a2d3d Refactor onboarding process and terms page in Sunnypilot
The code modifications refactor the onboarding window and terms page in Sunnypilot. It includes moving OnboardingWindow to the protective area, and changing OnboardingWindowSP into a subclass of OnboardingWindow, which enhances code encapsulation and reusability. The expressions for the terms agreement pages are also refined for better readability.

initial onboarding
2024-07-23 11:40:10 +02:00
DevTekVE 47420fda5d Improve HttpRequest class for QT and refactor associated classes
The presented change refactors the HttpRequest class in the QT API for the OpenPilot project. Unused OpenSSL libraries were removed, and the HttpRequest class was modified to improve readability. The HttpRequest::sendRequest method was refactored, and the logic to prepare the network request was extracted to a new method called HttpRequest::prepareRequest. In addition, the user agent retrieval logic was encapsulated within the HttpRequest class.

The RequestRepeater class was similarly refactored. Timer connection and cache processing logic were moved into separate methods for better code organization.

Several other classes that depend on HttpRequest and RequestRepeater were modified to reflect these changes. Handled security-related changes for SunnyPilot. Added a new file `sp_priv_api.cc` for Sunnylink-specific API operations. Removed unnecessary includes and updated SConscript accordingly.
2024-07-23 11:40:09 +02:00
DevTekVE cc43701808 Refactor code related to Sunnypilot's special utilities
This commit updates various scripts involved in Sunnypilot's special utilities. Modifications primarily include simplification of several functions in 'util.cc', addition of required exports in 'SConscript', and restructuring `getUserAgent`, `getDongleId`, and `getCarNames` methods under `sp_priv_util.h` and `sp_priv_util.cc`. The changes help segregate Sunnypilot specific utility functions, resulting in cleaner and more maintainable code.
2024-07-23 11:40:09 +02:00
DevTekVE 99b0276913 Add conditional compilation for 'sunnypilot' in SConscript
This commit introduces a conditional compilation for 'sunnypilot' within the SConscript file. It also adds a new 'sp_priv_text.cc' file for 'sunnypilot' and performs a significant cleanup on the existing 'text.cc' file, removing unneeded commands. This change helps to customize the build process based on the specific feature flags such as 'sunnypilot'.
2024-07-23 11:40:09 +02:00
DevTekVE 8e5e4a611f Update mousePressEvent behavior in HomeWindowSP
This update stops calling the parent mousePressEvent function in HomeWindowSP due to conflicts with sidebar code. Previous implementation led to undesired sidebar behaviour following a tap beyond the 300px of the left. Added debug logging to provide more context on the behavior of sidebar and screen wake timeout.
2024-07-22 10:22:39 +02:00
DevTekVE d164bf2f02 Fixed bug where the toggles were on the parent's instance as opposed to the derived class instance and fixed the index as well 2024-07-21 16:10:54 +02:00
DevTekVE 08abc5c9eb map stuff 2024-07-21 15:35:09 +02:00
DevTekVE 1edda9eadb Merge branch 'refs/heads/master-priv' into ui-sp-split
# Conflicts:
#	selfdrive/ui/sunnypilot/SConscript
2024-07-21 15:19:40 +02:00
DevTekVE 8865950499 Update definitions for compatibility in SunnyPilot UI
The commit introduces several definitions under the SUNNYPILOT flag in different files for compatibility. These changes are meant to make sure controls previously relying on other labels now properly use specifically defined SunnyPilot labels. The update reduces confusion and enhances code clarity.
2024-07-21 15:16:31 +02:00
DevTekVE b7b813c531 Update UI components with new SP controls
Replaced several different ButtonControl, ToggleControl, and LabelControl instances with their corresponding SP versions across various sections of the UI. This improves the consistency of the user interface and lays the groundwork for further enhancements.
2024-07-21 15:04:53 +02:00
DevTekVE 69a2408c44 Update self-driving UI for SunnyPilot behavior
Modified the self-driving UI components to better accommodate SunnyPilot's custom behavior. Changes include the reduction of EXTRA_UI_STATES, addition of early returns in updates if in SunnyPilot mode, and revisions in UIStateSP update methods. The refactoring also includes rearrangement of car status updates and removal of duplicate parameters acquisition.
2024-07-21 13:44:48 +02:00
DevTekVE fa668e786c Implemented a window update for SunnyPilot mode
The code was tailored to work with SunnyPilot mode. It includes various changes, such as adding logic to the main window to include SunnyPilot's window when it's active and making changes to the MainWindow constructor for compatibility with SunnyPilot. Additional changes were made to various UI elements to ensure compatibility with the different mode. This update provides a more seamless user experience when switching between the two modes, SunnyPilot and standard.
2024-07-21 12:42:51 +02:00
Jason Wen 8b6e403996 Driving Model Selector v5: Bug fixes 2024-07-20 13:06:34 +00:00
DevTekVE 0f2e56a203 [sunnypilot] Forcing SConstruct to assume always sunnypilot developer true until we actually encrypt things 2024-07-20 12:00:52 +02:00
DevTekVE 8735a0a776 Refactor MainWindow and add support for SunnyPilot
The MainWindow constructor now accepts optional parameters to allow for more flexibility in window management. This enabled us to add support for a variant of the UI called SunnyPilot. Separate header and source files `sp_priv_window.h` and `sp_priv_window.cc` have been created for this variant, which has its own logic but inherits from the same MainWindow class.
2024-07-20 11:57:56 +02:00
Jason Wen ee229c2b70 maps: Use UIStateSP and disconnect 2024-07-19 15:52:19 -04:00
DevTekVE 62e8791b1e Update UIState references in Sunnypilot code
Updated to use new UIStateSP class in Sunnypilot's map and onroad functionality. The previous UIState class has been replaced, to fall in line with other changes in the Sunnypilot system, adapting the function arguments and variable assignments accordingly.
2024-07-19 18:51:42 +02:00
DevTekVE fcd0dc2874 Refactor and enhance UI state and device classes for both base and sunny pilot
Various improvements have been made to UI state and device classes in both base and sunny pilot. This includes better organization of code, addition of new functionalities and removal of unused code and libraries.

Each UI state update now also updates the sockets and the state itself. Conditions for brightness updates in deviceSP's methods are also simplified. This results in a more streamlined update process.

Changes have been made to update the device brightness according to the specified parameters. If the screen is expected to be off, the brightness is set to 0. Otherwise, the brightness is set to a level according to the onroadScreenOffBrightness parameter.

The rest of the changes involve cleaning up redundant code, updating includes, and removing unnecessary typecasts and conversions. The parameters updating are now handled more succinctly.

Overall, the updated code provides a cleaner, more efficient implementation of the UI and devices.
2024-07-19 18:28:05 +02:00
Jaosn Wen 522d42500e maps: split 2024-07-18 11:17:07 -04:00
DevTekVE cbb30cd8c5 Back to using reference on pipeline 2024-07-18 09:08:52 +02:00
Jaosn Wen eb0ced8040 ui: header imports 2024-07-17 23:07:32 -04:00
Jaosn Wen f6ee3d69f4 ui.h rename (WIP) 2024-07-17 22:53:42 -04:00
Jaosn Wen fd64c79d35 ui.cc|h: init 2024-07-17 22:48:54 -04:00
Jaosn Wen b12e82adc7 controls: Keep stock as stock as possible 2024-07-17 20:39:00 -04:00