Driver Display Software

!! Important: Driver display is different from infotainment !!

Driver display is the screen the driver can see speed, charge, drive state, and other driver-critical information on. The software will be run on a raspberry pi zero and be connected to a small 7” display.

Architecture

The software will be split into three parts:

  1. Python module to collect CAN messages, via mcp2515 over SPI or otherwise, and transmit them via websocket to the app.

    • Note: may need to ping center console to request drive state upon startup to ensure it starts synced up

  2. Python module to serve the app. Note: may not be necessary.

  3. A native flutter Linux app that displays all relevant information in a user friendly way.

Requirements

  • Upon being powered, the RPI should load the python script and app (in full screen) automatically, with no user input

  • The app must display:

    • Speed - speedometer

    • SOC

      • Range

      • Percent

      • Time to full charge (When Charging)

    • Turn Indicators

    • Cruze Control Status

    • Warning Symbols

    • Drive Mode (PNRD)

Designs

Overdrive / Errors

Normal Drive

Charging

Driver Display with Flutter

Resources

Resource

Notes

Resource

Notes

Display specs - specifically, NHD-7.0-HDMI-N-RSXN

http://www.newhavendisplay.com/userguides/NHD-7.0-HDMI-N_User_Guide.pdf

Outdated interiors page

Driver Interface

Jira Epic

https://uwmidsun.atlassian.net/browse/SOFT-176

Flutter on RPi

GitHub - ardera/flutter-pi: A light-weight Flutter Engine Embedder for Linux Embedded that runs without X11 or Wayland.