The Cars Dashboard Written in C++ With Qt Framework
For initial installation, visit here: https://nerdocs.atlassian.net/wiki/x/CIBORQ
Clone This repository to a directory of your choosing
Select the cmakelists.txt file inside the NERO Development to open in qt creator
It should generate the project
Select the kit for your respective desktop and press build and run
- Start mock telemetry (Docker required)
docker compose -f compose.nero-dev.yml up -d-
Run NERO in Qt Creator
-
Stop when mock data when done
docker compose -f compose.nero-dev.yml downMake sure you don't have any env vars set if running locally.
# View logs
docker compose -f compose.nero-dev.yml logs -f
# Check status
docker ps | grep neroWe use clang-format and QML format for formatting our files
brew install clang-format
sudo apt-get install clang-format
Visit the LLVM Download page: https://releases.llvm.org/download.html Choose the appropriate version for Windows. Look for the "Pre-Built Binaries" section. Download the Windows installer (MSVC) for the desired LLVM version.
Follow the installation instructions. You can usually go with the default settings, but make sure to select "clang-format" as one of the components to install.
Right-click on "This PC" (or "Computer") on your desktop or in the File Explorer. Choose "Properties" from the context menu. Click on "Advanced system settings" on the left sidebar. In the System Properties window, click the "Environment Variables" button. Under "System variables," find and select the "Path" variable, then click the "Edit" button. Click the "New" button and add the path to the bin directory of your LLVM installation (e.g., C:\Program Files\LLVM\bin). Click OK to close all the windows.
Type clang-format --version and press Enter. You should see the version information for clang-format if the installation was successful.
git ls-files "*.cpp" "*.h" ":!deps/*" | xargs clang-format -igit ls-files "*.qml" ":!deps/*" | xargs ~/Qt/6.8.3/macos/bin/qmlformat -ifor /f %f in ('git ls-files "*.cpp" "*.h" ":!deps/*"') do clang-format -i "%f"for /f %f in ('git ls-files "*.qml" ":!deps/*"') do C:\Qt\6.8.3\mingw_64\bin\qmlformat.exe -i "%f"MQTT topic Wheel/Buttons/button_id carries the 0-indexed button ordinal,
matching the VCU button_t enum in Cerberus-2.0/Core/Inc/u_buttons.h.
| 0 | ESC | | 1 | LEFT | | 2 | LAUNCH_CONTROL_TOGGLE | | 3 | UP_REGEN | | 4 | DOWN_REGEN | | 5 | ENTER | | 6 | RIGHT | | 7 | TRACTION_CONTROL_TOGGLE | | 8 | UP_TORQUE | | 9 | DOWN_TORQUE |
Confluence reference (silkscreen is 1-indexed; wire = silkscreen − 1): https://nerdocs.atlassian.net/wiki/spaces/NER/pages/1526988828/Button+IO+25
Go into Projects, go into Run, go into Enviornment, and add variables named ClIENT1_PORT and CLIENT2_PORT.
Then, change the option from Build Enviornment to System Enviornment.
Finally, save and run it.
Capture any page as a PNG without a display. Both modes do nothing unless their env vars are set.
Commands are bash. On Windows use Git Bash or the Qt Creator run config.
Capture a single page and exit
QT_QPA_PLATFORM=offscreen NERO_SCREENSHOT=PERFORMANCE NERO_SCREENSHOT_OUT=perf.png ./NEROAppKeep the app running and capture on demand
# Enable watch mode, trigger file defaults to /tmp/nero-shot
NERO_SCREENSHOT_WATCH=1 ./NEROApp &
# Or point it at a specific trigger file
NERO_SCREENSHOT_WATCH=1 NERO_SCREENSHOT_WATCH_PATH=/tmp/nero-shot ./NEROApp &
# Saves performance.png next to the trigger file
echo PERFORMANCE > /tmp/nero-shot
# Optional second word picks the output path
echo "ENDURANCE /tmp/out.png" > /tmp/nero-shotPage labels match the top-level menu and are case-insensitive. Use HOME to capture the menu screen.
First, ssh into godzilla: ssh [email protected] password <LINUX SERVER PASSWORD>
Next, update the NERO code: ./update_bin.sh nero <ODY_TPU_ROOT_PASSWORD>
After it's updated, exit out and ssh into the car: ssh [email protected], use <ODY_TPU_ROOT_PASSWORD>
Then, nano into the ENV variables: nano /etc/init.d/S99nero2
Then, go to the ENV variables and change CLIENT1_PORT, CLIENT2_PORT, and HOST.
(Correct: CLIENT1_PORT=1883, CLIENT2_PORT=1882, HOST="92.168.100.12")
After, exit out and save all the changed variables.
Then, exit out of the car. In ~/Projects/Odysseus, run ./update_bin.sh nero <ODY_TPU_ROOT_PASSWORD>.
If correct port and host variables, buttons should work. Else, no buttons should work.