How os-vector/wire-os works
WireOS is custom firmware for the Anki Vector robot: its principal user workflow is to select a dev or OSKR build, obtain the OTA, and install it on an unlocked robot through recovery. The README describes the resulting OS base, Qualcomm kernel, and Vector software, plus robot capabilities such as wake-word configuration and a web server. The supplied tree is only a partial view and does not include the main Yocto layers, OTA builder, or most Vector application code; paths below are limited to listed files or directories, and the capability branches rely on README descriptions.
Main entry points: msm-4.9 Qualcomm kernel · android_compat Android compatibility · init Qualcomm init · ankibluetoothd Bluetooth daemon
Components 18
Firmware delivery
- Recovery mode
- WireOS OTA
OS platform
- Yocto OS base
- Android compatibility
android_compat - Qualcomm init
android_compat/device/qcom/common/init
Robot software
- Bluetooth daemon
anki/anki-ble/ankibluetoothd - Wake-word engine
- Face recognition
- Configuration webserver
- C++ update engine
Kernel services
- Qualcomm kernel
kernel/msm-4.9 - USB PD policy
kernel/msm-4.9/drivers/usb/pd/policy_engine.c - DMA engine
kernel/msm-4.9/drivers/dma/dmaengine.c - Crypto engine
kernel/msm-4.9/crypto/crypto_engine.c - USB mass storage
kernel/msm-4.9/drivers/usb/gadget/function/f_mass_storage.c
Other components
- Vector owner
- Vector robot
- OTA distribution
Connections 18
- Vector owner → Recovery mode: enters
- Vector owner → OTA distribution: selects firmware
- OTA distribution → WireOS OTA: provides
- Recovery mode → Vector robot: installs OTA
- Yocto OS base → WireOS OTA: produces OS image
- Android compatibility → Yocto OS base: supports platform
- Qualcomm init → Vector robot: initializes platform
- Qualcomm kernel → Vector robot: runs on
- USB PD policy → Qualcomm kernel: manages USB power
- DMA engine → Qualcomm kernel: provides transfers
- Crypto engine → Qualcomm kernel: provides crypto
- USB mass storage → Qualcomm kernel: provides USB storage
- Bluetooth daemon → Vector robot: provides BLE
- Wake-word engine → Vector robot: recognizes wake words
- Configuration webserver → Wake-word engine: configures
- Configuration webserver → Vector robot: configures options
- Face recognition → Vector robot: detects faces
- C++ update engine → Vector robot: updates firmware