Revo 1 Advanced
Revo 1 Advanced maps to Revo1Advanced in the SDK. The capacitive-touch variant maps to Revo1AdvancedTouch. This page explains device identification, example selection, and API capability checks.
Before integration
- Check the device model, complete serial number, supply range, and physical communication interface. See the Revo 1 specifications.
- Install
bc-stark-sdkand connect through the unified automatic-discovery entry point. - Get device information through the SDK. The SDK identifies the model from the device SN and returns the result in
DeviceInfo.hardware_type. Confirm that the result isRevo1AdvancedorRevo1AdvancedTouch, and check the serial number and firmware version. Applications do not need to parse the SN themselves. - Read device state before sending motion commands. Keep people and obstacles outside the hand's motion area during the first motion test.
Do not implement Revo 1 Advanced control by copying the public Modbus register table for Revo 1 Basic. Before bypassing the SDK, ask BrainCo technical support to confirm the target device, firmware, interface, and protocol revision.
Motor API compatibility
The Motor API for Revo 1 Advanced is the same as the Revo 2 Motor API. Both use the Revo 2 motor-command family in the SDK. After reading DeviceInfo and confirming that info.uses_revo2_motor_api() returns true, an application can use the corresponding position, velocity, current, status, and action-sequence APIs.
This compatibility applies only to the Motor API. Continue to handle device type, communication interfaces and settings, firmware, touch APIs, and mechanical specifications as Revo 1 Advanced properties. Do not hard-code Revo1Advanced or Revo1AdvancedTouch as a Revo 2 device.
SDK capability classification
| SDK type | Motor API check | Touch API check | Meaning |
|---|---|---|---|
Revo1Advanced | info.uses_revo2_motor_api() returns true | No touch | Advanced motor control |
Revo1AdvancedTouch | info.uses_revo2_motor_api() returns true | info.uses_revo1_touch_api() returns true | Advanced motor control with Revo 1 capacitive touch |
info.uses_revo2_motor_api() identifies the underlying motor-command family. It does not reclassify the product as Revo 2. Select APIs from discovery results and capability checks.
Select examples
Start with the unified automatic-discovery examples in brainco-hand-sdk:
- Python:
python/demo/hand_demo.py - Python monitoring:
python/demo/hand_monitor.py - C/C++:
c/demo/hand_demo.cpp - C/C++ monitoring:
c/demo/hand_monitor.cpp
Do not copy older examples that select a device only from the directory name. The unified examples read the hardware type first, allowing the SDK to select the correct motor and touch API families.
Advanced APIs
Use the common DeviceContext methods for position, velocity, current, status, device configuration, and action sequences. The Advanced motor API also supports position commands with a duration or speed:
ctx.set_finger_position_with_millis()stark_set_finger_position_with_millis()ctx.set_finger_position_with_speed()stark_set_finger_position_with_speed()ctx.set_finger_positions_and_durations()stark_set_finger_positions_and_durations()ctx.set_finger_positions_and_speeds()stark_set_finger_positions_and_speeds()Use the main_mod.pyi download on the Python SDK page for complete Python types and signatures. Use the stark-sdk.h download on the C/C++ SDK page for the complete C ABI. Parameter ranges, return values, and error behavior are defined by the matching files in the current SDK package. Do not mix libraries, stubs, or headers from different releases.
Touch variant
Revo1AdvancedTouch uses the Revo 1 capacitive-touch API. It exposes sensor enable state, firmware versions, raw data, parsed touch status, setup, reset, and calibration. Check info.uses_revo1_touch_api() before calling these methods. Do not send touch commands to a device without that capability.