Warning
This documentation is actively being updated as the project evolves and may not be complete in all areas.
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¶
$ pip3 install --extra-index-url https://pkg.jumpstarter.dev/simple jumpstarter-driver-ridesx
Configuration¶
The RideSX driver supports two main components:
Storage and Flashing Configuration¶
Example configuration for the RideSX driver:
export:
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
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¶
- class jumpstarter_driver_ridesx.client.RideSXClient¶
Client for RideSX
- flash(path: str | Dict[str, str], *, partition: str | None = None, operator: Operator | Dict[str, Operator] | None = None, compression=None)¶
Flash image to DUT
- flash_images(partitions: Dict[str, str], operators: Dict[str, Operator] | None = None)¶
Flash images to specified partitions
- Args:
partitions: Dictionary mapping partition names to file paths operators: Optional dictionary mapping partition names to operators
RideSXPowerClient¶
Examples¶
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
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)
Power Control¶
# Turn device power on
ridesx_power_client.on()
# Turn device power off
ridesx_power_client.off()
# Power cycle the device
ridesx_power_client.cycle(wait=5) # Wait 5 seconds between off/on