RoboImplant

Android Console

The clinician-facing tablet app. Connects to the controller over Bluetooth SPP, runs a lengthening procedure, and displays live telemetry against a 3D render of the spine and rod.

Eclipse ADT project, package edu.ucsf.roboimplantconsole, circa 2012–2013.

→ Browse this directory on GitHub · src/

       
Procedure screen with dosage entry, 3D spine render, and coupling indicator. Service terminal with live current and voltage plots. Calibration console with adjustment sequences. Per-patient adjustment history.
AdjustmentActivity ServiceTerminal CalibrationActivity AdjustmentListActivity

Running on a Nexus 7 under Android 4.x. Sample patient data is fictitious.

   
minSdkVersion 14 (Android 4.0)
targetSdkVersion 15
Compile target Google Inc.:Google APIs:16
Transport Bluetooth RFCOMM/SPP, UUID 00001101-0000-1000-8000-00805F9B34FB

⚠️ Does not build as shipped

Two dependencies are referenced by absolute path on the original developer’s machine and are not included in this repository:

.classpath  →  /home/ariemeir/unison-root/dev/android/achartengine/achartengine-1.0.0.jar
.project    →  /home/ariemeir/dev/min3d/src   (linked source folder "min3d")

Building requires obtaining both and fixing the paths. The project also targets the Google APIs add-on for API 16, not the plain android-16 platform, so project.properties needs editing to build against a stock SDK. Preserved unmodified as a historical snapshot rather than retrofitted to Gradle.

Structure

Two package trees, reflecting two development phases:

edu.ucsf.roboimplantconsole — device communication and the procedure itself.

Class Role
AdjustmentActivity Launcher. The procedure screen — dosage entry, live telemetry, 3D view
MessageDispatcher Parses bt* telemetry, fans out to RoboMessageListeners and static UI hooks
CalibrationActivity Captures no-load / loaded current and speed calibration points
ServiceTerminal Engineering view — raw terminal and graphs
RoboImplantPreferences Settings
SoundNotifier Audio cues for procedure events
bluetooth/BluetoothSerialService Connection state machine (AOSP-derived)
bluetooth/DeviceListActivity Device picker
bluetooth/BlueTerm Singleton terminal-services wrapper — see ../NOTICE.md

edu.ucsf.roboimplant — patient records and UI scaffolding. menu/ (patient and adjustment lists, tabs), ui/ (patient and adjustment screens), db/ (SQLite adapters), data/, generic/, calib/.

Notes on the code

See ../README.md for the serial protocol both sides implement.