diff --git a/python/README.md b/python/README.md
index 4f71200..9ade17e 100644
--- a/python/README.md
+++ b/python/README.md
@@ -1,57 +1,43 @@
-# 总线伺服舵机SDK使用手册(Python)
-请注意,本python手册暂未更新完成,如有疑问可联系我们。
+# 总线伺服舵机 Python SDK 开发指南
-## 1.概述
+## 1. 概述
-本SDK内容有
+本 SDK 基于 Fashion Star 总线伺服舵机的 [UART/RS485 通信协议](https://wiki.fashionstar.com.hk/uart-servo/protocols/uart-rs485-protocol.md) 开发,提供 Python API,适用于全系列舵机型号。
-- 基于[总线伺服舵机通信协议](https://wiki.fashionrobo.com/uartbasic/uart-protocol/)的Python的API函数,适用于所有总线伺服舵机型号。
-### 1.1.上位机软件
+## 2. 准备工作
-上位机软件可以调试总线伺服舵机,测试总线伺服舵机的功能。
+### 2.1 物理接线
-- 上位机软件:[FashionStar UART总线伺服舵机上位机软件](https://fashionrobo.com/downloadcenter)
+请按照以下顺序完成舵机与电脑的硬件连接:
-- 使用说明:[总线伺服舵机上位机软件使用说明](https://wiki.fashionrobo.com/uartbasic/uart-servo-software/)
+1. 用数据线连接舵机与转接板;
+2. 接通舵机外部电源;
+3. 使用 USB 数据线将转接板连接至电脑。
+
+> [!WARNING]
+> - 转接板输入电压必须与舵机电源输入范围一致,否则会触发电压保护,设备将无法正常使用。
+> - 请[下载](https://file.wch.cn/download/file?id=5)并安装USB转TTL模块的驱动程序。
-### 1.2.图例
+### 2.2 总线伺服舵机调试软件
+- 请参考《[总线伺服舵机调试软件](https://wiki.fashionstar.com.hk/uart-servo/software/pc-config-software.md)》提前分配 ID 或修改配置参数。
-HP8-U45-M总线伺服舵机
-
-
-
-总线伺服舵机转接板UC-01
-
-
-
-
-
-
-
-## 2.接线说明
-
-1. 安装USB转TTL模块的驱动程序。
-2. 将TTL/USB调试转换板UC-01与控制器、总线伺服舵机以及电源连接。
-
-
-**安装方法**
+### 2.3 安装方法
```shell
-
pip install fashionstar-uart-sdk
```
-## 3.创建总线伺服舵机管理器
+## 3. 创建总线伺服舵机管理器
-然后使用的过程中一般需要导入如下依赖
+- 然后使用的过程中一般需要导入如下依赖
```python
import time
@@ -59,7 +45,7 @@ import serial
import fashionstar_uart_sdk as uservo
```
-接下来要创建串口对象,指定相关的参数
+- 接下来要创建串口对象,指定相关的参数
```python
@@ -73,11 +59,11 @@ control = uservo.UartServoManager(uart)
```
-## 4.舵机通信检测
+## 4. 舵机通信检测
-### 4.1.API-`ping`
+### 4.1 API-`ping`
调用舵机的`ping()` 函数用于舵机的通信检测, 判断舵机是否在线。
@@ -98,11 +84,11 @@ def ping(self, servo_id:int):
-## 5.舵机阻尼模式
+## 5. 舵机阻尼模式
-### 5.1.API-`set_damping`
+### 5.1 API-`set_damping`
设置舵机为阻尼模式。
@@ -123,7 +109,7 @@ def set_damping(self, servo_id, power=0):
-### 5.2.例程源码
+### 5.2 例程源码
```python
'''
@@ -151,8 +137,8 @@ SERVO_ID = 0 # 舵机的ID号
# 初始化串口
uart = serial.Serial(port=SERVO_PORT_NAME, baudrate=SERVO_BAUDRATE,\
- parity=serial.PARITY_NONE, stopbits=1,\
- bytesize=8,timeout=0)
+ parity=serial.PARITY_NONE, stopbits=1,\
+ bytesize=8,timeout=0)
# 初始化舵机管理器
uservo = UartServoManager(uart)
@@ -162,11 +148,11 @@ uservo.set_damping(SERVO_ID, power)
-## 6.舵机角度查询
+## 6. 舵机角度查询
-### 6.1.API-`query_servo_angle`
+### 6.1 API-`query_servo_angle`
**函数原型**
@@ -182,18 +168,16 @@ def query_servo_angle(self, servo_id):
* `angle` : 舵机角度(单圈/多圈)
-**注意事项**
-
-注意这里返回的角度是多圈模式的角度还是单圈模式的角度,取决于上次控制舵机的角度的指令是单圈模式还是/多圈模式, 默认为单圈。
+> [!NOTE]
+> - 注意这里返回的角度是多圈模式还是单圈模式,取决于上次控制舵机的角度指令是单圈模式还是多圈模式,默认为单圈。
+> - 如需手动指定查询多圈/单圈,请在查询前设置 `uservo.servos[servo_id].is_mturn`:
+> - `is_mturn=True`:返回多圈角度
+> - `is_mturn=False`:返回单圈角度
-如果想人为的设定查询多圈/单圈,可以在查询之前设定`uservo.servos[servo_id].is_mturn` 这个布尔值。
-* `is_mturn=True` : 返回多圈角度
-* `is_mturn=False`: 返回单圈角度
-
-### 6.2.例程源码
+### 6.2 例程源码
设置舵机为阻尼模式,转动舵机 1s打印一下当前的角度。
@@ -225,8 +209,8 @@ SERVO_ID = 0 # 舵机的ID号
# 初始化串口
uart = serial.Serial(port=SERVO_PORT_NAME, baudrate=SERVO_BAUDRATE,\
- parity=serial.PARITY_NONE, stopbits=1,\
- bytesize=8,timeout=0)
+ parity=serial.PARITY_NONE, stopbits=1,\
+ bytesize=8,timeout=0)
# 初始化舵机管理器
uservo = UartServoManager(uart)
@@ -242,9 +226,9 @@ while True:
-## 7.设置舵机角度
+## 7. 设置舵机角度
-### 7.1.API-`set_servo_angle`
+### 7.1 API-`set_servo_angle`
设置舵机角度,这个API包含了6种舵机角度控制模式,通过传入不同的参数调用不同的指令。
@@ -275,7 +259,7 @@ def set_servo_angle(self, servo_id:int, angle:float, is_mturn:bool=False, interv
-### 7.2.API-`wait`
+### 7.2 API-`wait`
等待所有的舵机到达目标角度。
@@ -293,7 +277,7 @@ def wait(self, timeout=None):
* 无
-### 7.3.例程源码
+### 7.3 例程源码
```python
'''
@@ -322,8 +306,8 @@ SERVO_ID = 0 # 舵机的ID号
# 初始化串口
uart = serial.Serial(port=SERVO_PORT_NAME, baudrate=SERVO_BAUDRATE,\
- parity=serial.PARITY_NONE, stopbits=1,\
- bytesize=8,timeout=0)
+ parity=serial.PARITY_NONE, stopbits=1,\
+ bytesize=8,timeout=0)
# 初始化舵机管理器
uservo = UartServoManager(uart, is_debug=True)
@@ -366,7 +350,7 @@ print("-> {}".format(uservo.query_servo_angle(SERVO_ID)))
```
-## 8.清除多圈圈数
+## 8. 清除多圈圈数
该API用于清除多圈圈数,须在失锁状态下使用。
@@ -388,177 +372,13 @@ def reset_multi_turn_angle(self, servo_id:int):
-## 9.轮转模式(316版本以及后续版本已弃用)
-
-
-
-### 9.1.API-`wheel_stop`
-
-轮转模式停止转动。
-
-**函数原型**
-
-```python
-def wheel_stop(self, servo_id):
-```
-
-**输入参数**
-
-* `servo_id`: 舵机ID
-
-**输出参数**
-
-* 无
-
-
-
-### 9.2.API-`set_wheel_norm`
-
-设置轮转普通模式,转速单位: °/s
-
-**函数原型**
-
-```python
-def set_wheel_norm(self, servo_id, is_cw=True, mean_dps=None)
-```
-
-**输入参数**
-
-* `servo_id`: 舵机ID
-* `is_cw`: 是否是顺时针:`True`: 顺时针,`False`: 逆时针
-* `mean_dps`: 平均转速
-
-**输出参数**
-
-* 无
-
-
-
-### 9.3.API-`set_wheel_turn`
-
-轮转模式,让舵机旋转特定的圈数。
-
-**函数原型**
-
-```python
-def set_wheel_turn(self, servo_id, turn=1, is_cw=True, mean_dps=None, is_wait=True):
-```
-
-**输入参数**
-
-* `servo_id` : 舵机ID
-* `turn`: 目标要旋转的圈数
-* `is_cw`: 旋转方向,是否为顺时针
- * `True`: 顺时针
- * `False`: 逆时针
-* `mean_dps`: 平均转速
-* `is_wait`: 是否是阻塞式等待
-
-**输出参数**
-
-* 无
-
-
-
-### 9.4.API-`set_wheel_time`
-
-轮转模式,旋转特定的时间。
-
-**函数原型**
-
-```python
-def set_wheel_time(self, servo_id, interval=1000, is_cw=True, mean_dps=None, is_wait=True):
-```
-
-**输入参数**
-
-* `servo_id` : 舵机ID
-* `interval`: 目标要旋转的时间, 单位ms
-* `is_cw`: 旋转方向,是否为顺时针
- * `True`: 顺时针
- * `False`: 逆时针
-* `mean_dps`: 平均转速, 单位dps
-* `is_wait`: 是否是阻塞式等待
-
-**输出参数**
-
-* 无
-
-
-
-### 9.5.例程源码
-
-`src/wheel.py`
-
-```python
-'''
-伺服总线舵机
-> Python SDK 舵机轮转模式测试 <
---------------------------------------------------
- * 作者: 深圳市华馨京科技有限公司
- * 网站:https://fashionrobo.com/
- * 更新时间: 2023/03/13
---------------------------------------------------
-'''
-# 添加uservo.py的系统路径
-import sys
-sys.path.append("../../src")
-# 导入依赖
-import time
-import serial
-from uservo import UartServoManager
-
-# 参数配置
-# 角度定义
-SERVO_PORT_NAME = 'COM7' # 舵机串口号
-SERVO_BAUDRATE = 115200 # 舵机的波特率
-SERVO_ID = 0 # 舵机的ID号
-
-# 初始化串口
-uart = serial.Serial(port=SERVO_PORT_NAME, baudrate=SERVO_BAUDRATE,\
- parity=serial.PARITY_NONE, stopbits=1,\
- bytesize=8,timeout=0)
-# 初始化舵机管理器
-uservo = UartServoManager(uart)
-
-print("测试常规模式")
-
-# 设置舵机为轮转普通模式
-# 旋转方向(is_cw) : 顺时针
-# 角速度(mean_dps) : 单位°/s
-uservo.set_wheel_norm(SERVO_ID, is_cw=True, mean_dps=200.0)
-
-# 延时5s然后关闭
-time.sleep(5.0)
-
-# 停止
-uservo.wheel_stop(SERVO_ID)
-
-time.sleep(1)
-
-# 定圈模式
-print("测试定圈模式")
-uservo.set_wheel_turn(SERVO_ID, turn=5, is_cw=False, mean_dps=200.0)
-
-# 定时模式
-print("测试定时模式")
-uservo.set_wheel_time(SERVO_ID, interval=5000, is_cw=True, mean_dps=200.0)
-
-```
-
-
-
-## 10.用户自定义参数修改
-
-
|
-
-**注意事项:**
+## 9. 用户自定义参数修改
-- 如有修改用户自定义参数的需要,可以在上位机进行,更加方便,直观。
+> [!NOTE]
+> **注意事项:**
+> 如需修改用户自定义参数,建议在上位机中操作,更加方便直观。
- |
-
-### 10.1.API-`reset_user_data`
+### 9.1 API-`reset_user_data`
重置用户数据表, 恢复默认值。
@@ -578,7 +398,7 @@ def reset_user_data(self, servo_id):
-### 10.2.API-`read_data`
+### 9.2 API-`read_data`
读取数据。
@@ -599,7 +419,7 @@ def read_data(self, servo_id, address):
-### 10.3.API-`write_data`
+### 9.3 API-`write_data`
写入数据。
@@ -621,7 +441,7 @@ def write_data(self, servo_id, address, content):
-### 10.4.例程源码-重置用户数据表
+### 9.4 例程源码-重置用户数据表
`example/reset_user_data.py`
@@ -660,8 +480,8 @@ SOFTSTART_CLOSE = 0 # 上电缓启动-关闭
# 初始化串口
uart = serial.Serial(port=SERVO_PORT_NAME, baudrate=SERVO_BAUDRATE,\
- parity=serial.PARITY_NONE, stopbits=1,\
- bytesize=8,timeout=0)
+ parity=serial.PARITY_NONE, stopbits=1,\
+ bytesize=8,timeout=0)
# 初始化舵机管理器
uservo = UartServoManager(uart, is_debug=True)
# 重置用户数据
@@ -690,7 +510,7 @@ print("舵机扫描结束, 舵机列表: {}".format(servo_list))
-### 10.5.例程源码-读取内存表
+### 9.5 例程源码-读取内存表
`example/read_data.py`
@@ -723,8 +543,8 @@ ADDRESS_VOLTAGE = 1 # 总线电压值的地址
# 初始化串口
uart = serial.Serial(port=SERVO_PORT_NAME, baudrate=SERVO_BAUDRATE,\
- parity=serial.PARITY_NONE, stopbits=1,\
- bytesize=8,timeout=0)
+ parity=serial.PARITY_NONE, stopbits=1,\
+ bytesize=8,timeout=0)
# 初始化舵机管理器
uservo = UartServoManager(uart)
@@ -742,7 +562,7 @@ print("总线电压 {} mV".format(voltage))
-### 10.6.例程源码-写入内存表
+### 9.6 例程源码-写入内存表
`example/write_data.py`
@@ -778,8 +598,8 @@ SOFTSTART_CLOSE = 0 # 上电缓启动-关闭
# 初始化串口
uart = serial.Serial(port=SERVO_PORT_NAME, baudrate=SERVO_BAUDRATE,\
- parity=serial.PARITY_NONE, stopbits=1,\
- bytesize=8,timeout=0)
+ parity=serial.PARITY_NONE, stopbits=1,\
+ bytesize=8,timeout=0)
# 初始化舵机管理器
uservo = UartServoManager(uart)
@@ -795,11 +615,11 @@ print("缓启动数据写入是否成功: {}".format(ret))
-## 11.系统状态查询
+## 10. 系统状态查询
-### 11.1.API-`query_voltage`
+### 10.1 API-`query_voltage`
查询当前的电压
@@ -819,7 +639,7 @@ def query_voltage(self, servo_id)
-### 11.2.API-`query_current`
+### 10.2 API-`query_current`
查询当前的电流
@@ -839,7 +659,7 @@ def query_current(self, servo_id):
-### 11.3.API-`query_power`
+### 10.3 API-`query_power`
查询当前的功率
@@ -859,7 +679,7 @@ def query_power(self, servo_id)
-### 11.4.API-`query_temperature`
+### 10.4 API-`query_temperature`
查询舵机当前的温度
@@ -877,7 +697,7 @@ def query_temperature(self, servo_id)
* `temperature`: 温度,ADC值
-### 11.5.API-`query_status`
+### 10.5 API-`query_status`
查询舵机当前的工作状态
@@ -907,7 +727,7 @@ def query_status(self, servo_id)
* `status`: 8位工作状态标志位
-### 11.6.例程源码
+### 10.6 例程源码
`example/servo_status.py`
@@ -940,8 +760,8 @@ SERVO_ID = 0 # 舵机的ID号
# 初始化串口
uart = serial.Serial(port=SERVO_PORT_NAME, baudrate=SERVO_BAUDRATE,\
- parity=serial.PARITY_NONE, stopbits=1,\
- bytesize=8,timeout=0)
+ parity=serial.PARITY_NONE, stopbits=1,\
+ bytesize=8,timeout=0)
# 初始化舵机管理器
uservo = UartServoManager(uart)
@@ -956,14 +776,14 @@ def log_servo_status():
# 读取温度
temp = uservo.query_temperature(SERVO_ID)
# 舵机工作状态标志位
- # BIT[0] - 执行指令置1,执行完成后清零。
- # BIT[1] - 执行指令错误置1,在下次正确执行后清零。
- # BIT[2] - 堵转错误置1,解除堵转后清零。
- # BIT[3] - 电压过高置1,电压恢复正常后清零。
- # BIT[4] - 电压过低置1,电压恢复正常后清零。
- # BIT[5] - 电流错误置1,电流恢复正常后清零。
- # BIT[6] - 功率错误置1,功率恢复正常后清零。
- # BIT[7] - 温度错误置1,温度恢复正常后清零。
+ # BIT[0] - 执行指令置1,执行完成后清零。
+ # BIT[1] - 执行指令错误置1,在下次正确执行后清零。
+ # BIT[2] - 堵转错误置1,解除堵转后清零。
+ # BIT[3] - 电压过高置1,电压恢复正常后清零。
+ # BIT[4] - 电压过低置1,电压恢复正常后清零。
+ # BIT[5] - 电流错误置1,电流恢复正常后清零。
+ # BIT[6] - 功率错误置1,功率恢复正常后清零。
+ # BIT[7] - 温度错误置1,温度恢复正常后清零。
status = uservo.query_status(SERVO_ID)
print("Voltage: {:4.1f}V; Current: {:4.1f}A; Power: {:4.1f}W; T: {:2.0f}; Status: {:08b}".format(voltage, current, power, temp,status), end='\r')
@@ -983,17 +803,12 @@ while True:
time.sleep(1)
```
-## 12.舵机失锁
-
-|
+## 11. 舵机失锁
-**注意事项:**
+> [!WARNING]
+> - 失锁状态下,舵机仍会响应指令。
-- 失锁状态下,舵机仍会响应指令。
-
- |
-
-### 12.1.API-`disable_torque`
+### 11.1 API-`disable_torque`
**函数原型**
@@ -1009,22 +824,17 @@ def disable_torque(self, servo_id:int):
* 无
-## 13.原点设置
-
-|
-
-**注意事项**:
-
-- 仅适用于无刷磁编码舵机
-- 需要在失锁状态下使用本API
+## 12. 原点设置
- |
+> [!WARNING]
+> - 仅适用于使用绝对值编码器的舵机(型号尾缀 -M )。
+> - 需要在失锁状态下使用本 API。
-### 13.1.API-`set_origin_point`
+### 12.1 API-`set_origin_point`
**函数原型**
-```C
+```python
uservo.set_origin_point(self, servo_id:int):
```
@@ -1036,7 +846,7 @@ uservo.set_origin_point(self, servo_id:int):
* 无
-### 13.2.例程源码
+### 12.2 例程源码
`example/set_origin_point.py`
@@ -1068,8 +878,8 @@ SERVO_ID = 0 # 舵机的ID号
# 初始化串口
uart = serial.Serial(port=SERVO_PORT_NAME, baudrate=SERVO_BAUDRATE,\
- parity=serial.PARITY_NONE, stopbits=1,\
- bytesize=8,timeout=0)
+ parity=serial.PARITY_NONE, stopbits=1,\
+ bytesize=8,timeout=0)
# 初始化舵机管理器
uservo = UartServoManager(uart)
@@ -1090,7 +900,7 @@ print("设置新的原点后舵机角度: {:4.1f} °".format(angle), end='\n')
```
-## 14.同步命令
+## 13. 同步命令
> 注:**仅适用于无刷磁编码舵机V316及之后的版本**
@@ -1106,7 +916,7 @@ print("设置新的原点后舵机角度: {:4.1f} °".format(angle), end='\n')
| 15 | MoveOnMultiTurnAngleModeExByVelocity | 多圈角度控制(基于目标速度) |
| 22 | ServoMonitor | 舵机数据监控 |
-### 14.1.API-`send_sync_angle`
+### 13.1 API-`send_sync_angle`
**函数原型**
@@ -1124,7 +934,7 @@ def send_sync_angle(self, command_id, servo_num, command_data_list):
- 无
-### 14.2.API-`send_sync_anglebyinterval`
+### 13.2 API-`send_sync_anglebyinterval`
**函数原型**
@@ -1142,7 +952,7 @@ def send_sync_anglebyinterval(self, command_id, servo_num, command_data_list):
- 无
-### 14.3.API-`send_sync_anglebyvelocity`
+### 13.3 API-`send_sync_anglebyvelocity`
**函数原型**
@@ -1160,7 +970,7 @@ def send_sync_anglebyvelocity(self, command_id, servo_num, command_data_list):
- 无
-### 14.4.API-`send_sync_multiturnangle`
+### 13.4 API-`send_sync_multiturnangle`
**函数原型**
@@ -1178,7 +988,7 @@ def send_sync_multiturnangle(self, command_id, servo_num, command_data_list):
- 无
-### 14.5.API-`send_sync_multiturnanglebyinterval`
+### 13.5 API-`send_sync_multiturnanglebyinterval`
**函数原型**
@@ -1198,11 +1008,11 @@ def send_sync_multiturnanglebyinterval(self, command_id, servo_num, command_data
-
-### 14.6.API-`send_sync_multiturnanglebyvelocity`
+### 13.6 API-`send_sync_multiturnanglebyvelocity`
**函数原型**
-```c
+```python
uservo.set_origin_point(self, servo_id:int):
```
@@ -1216,7 +1026,7 @@ uservo.set_origin_point(self, servo_id:int):
- 无
-### 14.7.API-`send_sync_servo_monitor`
+### 13.7 API-`send_sync_servo_monitor`
**函数原型**
@@ -1241,7 +1051,7 @@ def send_sync_servo_monitor(self, servo_ids):
- 角度
- 圈数
-### 14.8.例程源码
+### 13.8 例程源码
`example/sync_mode`
@@ -1350,8 +1160,8 @@ SERVO_ID = 0 # 舵机的ID号
# 初始化串口
uart = serial.Serial(port=SERVO_PORT_NAME, baudrate=SERVO_BAUDRATE,\
- parity=serial.PARITY_NONE, stopbits=1,\
- bytesize=8,timeout=0)
+ parity=serial.PARITY_NONE, stopbits=1,\
+ bytesize=8,timeout=0)
# 初始化舵机管理器
uservo = UartServoManager(uart)
@@ -1370,11 +1180,11 @@ for servo_id, info in servo_monitor_data.items():
-## 15.异步命令
+## 14. 异步命令
> 注:**仅适用于无刷磁编码舵机V316及之后的版本**
-### API-`begin_async`
+### 14.1 API-`begin_async`
开始异步指令,对下一个接收到的指令进行缓存,仅支持角度指令。
@@ -1394,7 +1204,7 @@ def begin_async(self):
-### API-`end_async`
+### 14.2 API-`end_async`
结束异步指令,立即执行缓存指令。若参数 cancel 不为0,則清除缓存缓存。
@@ -1412,7 +1222,7 @@ def end_async(self,cancel=0):
- 无
-### 例程源码
+### 14.3 例程源码
`example/async_mode`
@@ -1443,8 +1253,8 @@ SERVO_BAUDRATE = 115200 # 舵机的波特率 请根据实际波特率进行修
SERVO_ID = 0 #舵机ID
# 初始化串口
uart = serial.Serial(port=SERVO_PORT_NAME, baudrate=SERVO_BAUDRATE,\
- parity=serial.PARITY_NONE, stopbits=1,\
- bytesize=8,timeout=0)
+ parity=serial.PARITY_NONE, stopbits=1,\
+ bytesize=8,timeout=0)
# 初始化舵机管理器
uservo = UartServoManager(uart, is_debug=True)
uservo.begin_async() # 开始异步命令
@@ -1457,11 +1267,11 @@ uservo.end_async(0) # 结束异步命令 0:執行; 1:取消
-## 16.数据监控
+## 15. 数据监控
> 注:**仅适用于无刷磁编码舵机V316及之后的版本**
-### API-`query_servo_monitor`
+### 15.1 API-`query_servo_monitor`
获取舵机数据。
@@ -1485,7 +1295,7 @@ def query_servo_monitor(self,servo_id=0):
- `angle`:舵机角度(单圈/多圈)
- `turn`:圈数
-### 例程源码
+### 15.2 例程源码
`example/servo_monitor`
@@ -1515,8 +1325,8 @@ servo_id = 0 # 监控的舵机id号
# 初始化串口
uart = serial.Serial(port=SERVO_PORT_NAME, baudrate=SERVO_BAUDRATE,\
- parity=serial.PARITY_NONE, stopbits=1,\
- bytesize=8,timeout=0)
+ parity=serial.PARITY_NONE, stopbits=1,\
+ bytesize=8,timeout=0)
# 初始化舵机管理器
uservo = UartServoManager(uart, is_debug=True)
servo_info = uservo.query_servo_monitor(servo_id=0)
@@ -1529,11 +1339,11 @@ print("舵机电压: {:.2f}V, 电流: {:.2f}A, 功率: {:.2f}W, 温度: {:.2f}°
-## 17.控制模式停止指令
+## 16. 控制模式停止指令
> 注:**仅适用于无刷磁编码舵机V316及之后的版本**
-### API-`stop_on_control_mode`
+### 16.1 API-`stop_on_control_mode`
使舵机停止后保持不同状态模式。
@@ -1553,7 +1363,7 @@ def stop_on_control_mode(self,servo_id, method, power):
- 无
-### 例程源码
+### 16.2 例程源码
`example/stop_on_control_mode`
@@ -1598,7 +1408,7 @@ uservo.stop_on_control_mode(servo_id, method=0x12, power=500)
***注:ADC转换为摄氏度值公式***
-
+
| 温度(℃) | ADC | 温度(℃) | ADC | 温度(℃) | ADC |
| ------- | ---- | ------- | ---- | ------- | ---- |
diff --git a/python/images/pc-config-software-02.png b/python/images/pc-config-software-02.png
new file mode 100644
index 0000000..8a8c872
Binary files /dev/null and b/python/images/pc-config-software-02.png differ