Skip to main content

Jumpstarter driver for Qualcomm RideSX

Project description

RideSX driver

jumpstarter-driver-ridesx provides functionality for Qualcomm RideSX devices, supporting fastboot flashing operations and power control through serial communication.

This is mainly tailored towards images that were produced using automotive-image-builder:

automotive-image-builder build --target ridesx4 --export aboot.simg --mode package manifest.aib.yml ridesx.img

Installation

:substitutions:
$ pip3 install --extra-index-url {{index_url}} jumpstarter-driver-ridesx

Configuration

The RideSX driver supports two main components:

Storage and Flashing Configuration

Example configuration for the RideSX driver:

  storage:
    type: "jumpstarter_driver_ridesx.driver.RideSXDriver"
    config:
    children:
      # fastboot management serial port
      serial:
        type: "jumpstarter_driver_pyserial.driver.PySerial"
        config:
          url: "/dev/serial/by-id/usb-QUALCOMM_Inc._Embedded_Power_Measurement__EPM__device_98000205101B0224-if01"
          baudrate: 115200
  power:
    type: "jumpstarter_driver_ridesx.driver.RideSXPowerDriver"
    config:
    children:
      serial:
        type: "jumpstarter_driver_pyserial.driver.PySerial"
        config:
          url: "/dev/serial/by-id/usb-QUALCOMM_Inc._Embedded_Power_Measurement__EPM__device_98000205101B0224-if01"
          baudrate: 115200
  serial:
    type: "jumpstarter_driver_pyserial.driver.PySerial"
    config:
      url: "/dev/serial/by-id/usb-FTDI_Qualcomm_AIR_8775_AI208U7YXA-if01-port01"
      baudrate: 115200

CLI usage

$ jmp shell -l board=qc-ridesx4
# Flash the device using the artifacts from automotive-image-builder, this uses 3 partition file systems
$$ j storage flash --target system_a:rootfs.simg --target system_b:qm_var.simg --target boot_a:aboot.img
$$ j power on
$$ j serial start-console

By default the device is powered off after flashing. Use --no-power-off to leave it on.

Config parameters

RideSXDriver

Parameter Description Type Required Default
storage_dir Directory to store firmware images and temporary files str no /var/lib/jumpstarter/ridesx

RideSXPowerDriver

The power driver requires a serial child instance for communication.

Required Children

Both drivers require:

Child Description Required
serial PySerial driver instance for communicating with the device yes

API Reference

RideSXClient

.. autoclass:: jumpstarter_driver_ridesx.client.RideSXClient()
    :members: flash, flash_images, boot_to_fastboot, cli

RideSXPowerClient

.. autoclass:: jumpstarter_driver_ridesx.client.RideSXPowerClient()
    :members: on, off, cycle, rescue, serial

Usage Examples

Flash Single Partition

# Flash a single partition (paths must exist; flash runs fastboot on the exporter)
ridesx_client.flash("/path/to/boot.img", target="boot")

Flash Multiple Partitions

# Flash multiple partitions
partitions = {
    "boot": "/path/to/boot.img",
    "system": "/path/to/system.img",
    "userdata": "/path/to/userdata.img"
}
ridesx_client.flash(partitions)

Flash with Compressed Images

The driver automatically handles compressed images (.gz, .gzip, .xz):

# Flash compressed images - decompression is automatic
ridesx_client.flash("/path/to/boot.img.gz", target="boot")

Power Control

# Turn device power on
power_client.on()

# Turn device power off
power_client.off()

# Power cycle the device
power_client.cycle(wait=5)  # Wait 5 seconds between off/on

Features

  • Fastboot Support: Automatically detects fastboot devices and flashes partitions
  • Compression Handling: Supports automatic decompression of .gz, .gzip, and .xz files
  • Power Control: Serial-based power control with on/off/cycle operations
  • Storage Management: Built-in storage for firmware images with upload/download capabilities
  • Serial Communication: Direct access to underlying serial interface for custom commands

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jumpstarter_driver_ridesx-0.8.1.tar.gz (16.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jumpstarter_driver_ridesx-0.8.1-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file jumpstarter_driver_ridesx-0.8.1.tar.gz.

File metadata

File hashes

Hashes for jumpstarter_driver_ridesx-0.8.1.tar.gz
Algorithm Hash digest
SHA256 03a3ed07f0b0ae3def8c87699234952621c37bf3d8deed2ebf42815dc8c818ea
MD5 1a663d0efcb06dd78da6410acbf3f43a
BLAKE2b-256 783207ac1ba84a6ca8fcc7b785231bf801863e4c099eadeb144cf2bd1983d01e

See more details on using hashes here.

File details

Details for the file jumpstarter_driver_ridesx-0.8.1-py3-none-any.whl.

File metadata

File hashes

Hashes for jumpstarter_driver_ridesx-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2580d58575e88f73c5106a1c4223257dc166c9ca9b1e99e1ea6cbdf2ebd2ae6e
MD5 81c3fe5dc24bb31761d350807b5296c6
BLAKE2b-256 2736427992bc4fa17f19368b42e8fd57feb965868ae70f65bddfd77ed2b0134e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page