This is an old revision of the document!
DRV versions table
Current DRV firmware versions used throughout the production branch.
Ninebot ESx: DRV120 ; DRV133 ; DRV139 ; DRV150 ; DRV151(default)
Ninebot Max: DRV126
Xiaomi 1S: DRV221
Xiaomi Pro 1: DRV155
Xiaomi Pro 2: DRV223 (default), DRV224
If the Version spoofing patch is in use, the version number retrieved by apps will be shifted up by 400. This requires no modification to the “version” field so make sure to only use the above values.
Direct power control state table
Case sensitive.
None/“off”: Doesn't change default firmware behavior. For all currently supported firmware versions, the throttle function forces its register value at 0, making DPC inaccessible.
“reg”: Allows switching between DPC and speed-based throttle by writing either 1 or 0 to register 0x76. The register doesn't retain its value after reboot and defaults at 0/off. For the end-user, this would mainly be intended for use within an app such as GM Free.
“dyn”: With this patch, holding the brake lever upon boot (like you'd do for error 15) enables DPC. The regular startup sequence keeps the speed-based throttle.
“on”: DPC is always on.