Skip to content

Tracking issue for new Driver Station software and OS on REV Driver Hub #308

Description

@qwertychouskie

Unlike the legacy Driver Station that was an Android app, the new Driver Station software is not planned to ever have an Android release. In order to run the new Driver Station software, a custom build of embedded Linux is being built for the REV Driver Hub, to replace the Android OS build originally made for the device.

This issue tracks both Driver Station software issues specific to usage on the Driver Hub, and issues with the new OS build for the Driver Hub itself.

DS app

  • Add tab/menu/such to control Wi-Fi configuration
    • Consider Bluetooth as well; might be nice to save the USB ports some wear/damage when around the lab, and avoids annoying wires as well
  • Fix "About" button crashing the DS (tries to open dialog, which is not a thing with embedded)
  • Fix some missing icons on the on-screen keyboard (probably need to include a font with these icons)
  • Replace Exit button with something a bit more fitting (e.g. shut down)
  • Don't show setting for docked vs windowed on dhub (doesn't actually do anything)
  • Add volume control to DS app
  • Figure out rhythmic once-per-second or so CPU usage spikes when DS has been running a very long time
  • Add some sort of first-boot wizard; at a minimum, country needs to be set for Wi-Fi purposes (currently this is hard-coded to US in the relevant network config file)
  • Further work on general DS-side performance issues (e.g. try the new stencil buffer option just merged into Avalonia)

OS

  • Implement stop-gap solution for configuring Wi-Fi
  • Create and/or document a simple way to flash the new OS image
  • Fix dhub battery monitoring (/sys/class/power_supply/ is currently empty; probably the devicetree not being correct; may or may not also be DS issues)
  • Make power button shutdown dhub when held for a second or so (rn you have to hold for like 10 seconds to hard-power-off)
  • Investigate whether sleep is possible (may not be possible on mainline Linux), implement some sort of pseudo-sleep if not (e.g. turn screen off, force CPU/GPU to lowest clocks, etc)
  • Implement some sort of auto-shutdown when idle for long enough (e.g. if not connected to robot, and idle for 1 hour, shut down)
  • Expand rootfs/fix GPT table on first boot
  • Fix sound issues
    • Fix no sound device
    • Fix sound being slowed down
    • Fix sound top volume being very quiet
  • Enhancement: Include DS config json in OS image with FTC-specific defaults, like match time settings. (People probably aren't using a dhub for FRC, so running on a dhub is a good indicator to use FTC defaults. And in the rare occasion that someone is using a dhub for FRC, they can easily reset things to FRC defaults anyways.)
  • Enhancement: Experiment with/implement USB tethering for sharing the robot network to a computer
  • Enhancement: Try systemd for parallel init (might be able to save another second or so during bootup vs sequential loading)
  • Enhancement: Experiment with potential further OS-side performance enhancements/fixes (e.g. try a Git version of Mesa for the recent Transaction Elimination optimizations in Panfrost)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions