diff --git a/工作/艾航/星基/星基御3通信协议.md b/工作/艾航/星基/星基御3通信协议.md
new file mode 100644
index 0000000..c07a0b7
--- /dev/null
+++ b/工作/艾航/星基/星基御3通信协议.md
@@ -0,0 +1,109 @@
+## mavlink_msg MISSION_HEAD
+***航线基础数据***
+
+| 元素 | 名称 | 类型 | 单位 | 取值与释义 | 是否必需(默认值) |
+| ------------ | ------ | ---------- | --- | -------------------------------------------- | --------- |
+| missionId | 任务Id | uint32_t | - | 任务id | 必需元素 |
+| lineId | 航线id | uint32_t | - | | |
+| pointCount | 航点数量 | uint32_t | 个 | | 必需元素 |
+| finishAction | 结束动作 | 枚举-int | - | 0:返航
1:原地降落
2:悬停 | 必需元素 |
+| isRecord | 是否录像 | 枚举-int | | 0:不录像
1:录像 | 必需元素 |
+| ImgSaveType | 图片保存模式 | uint8_t[3] | - | 三个int依次表示
变焦
广角
红外
0:不存储
1:存储 | 必需元素 |
+## mavlink_msg WAYPOINT
+
+***每个航点的信息***
+
+| 元素 | 名称 | 类型 | 单位 | 取值与释义 | 是否必需 |
+| ---------------- | ------- | ----------- | --- | ------------------------------------------------------------------------------------- | ---- |
+| index | 航点索引 | uint32_t | - | 从1开始依次递增 | 必需 |
+| longitude | 经度 | double | 度 | 航点经度 | 必需 |
+| latitude | 纬度 | double | 度 | 航点纬度 | 必需 |
+| relativeHeight | 相对高度 | float | 米 | 相对高度 | 必需 |
+| absoluteHeight | 海拔高度 | float | 米 | 海拔高度 | 必需 |
+| speed | 航点速度 | uint8_t | m/s | 航点飞行速度 | 必需 |
+| waypointHeadMode | 偏航角模式 | 枚举-int | - | 0:跟随航线方向
1:锁定当前偏航角 | 必需 |
+| waypointHead | 偏航角 | int16_t | 度 | 无人机偏航角 | 必需 |
+| action_count | 航点动作数量 | uint8_t | 个 | 航点动作数量统计 | 必需 |
+| action_types | 航点动作类型 | 枚举-int | - | 1:单拍
2:开始录像
3:结束录像
4:对焦
5:变焦
6:旋转云台
7:飞行器偏航
8:悬停等待 | 必需 |
+| action_param1 | 航点动作参数1 | int16_t[10] | | 数组第一个为第一个动作的参数以此类推 | 必需 |
+| action_param2 | 航点动作参数2 | int16_t[10] | | 数组第一个为第一个动作的参数以此类推 | 必需 |
+| action_param3 | 航点动作参数3 | int8_t[10] | | 数组第一个为第一个动作的参数以此类推 | 必需 |
+| action_param4 | 航点动作参数4 | int8_t[10] | | 数组第一个为第一个动作的参数以此类推 | 必需 |
+| action_param5 | 航点动作参数5 | int8_t[10] | | 数组第一个为第一个动作的参数以此类推 | 必需 |
+
+#### action 单拍
+| 元素 | 名称 | 类型 | 单位 | 取值与释义 | 是否必需 |
+| ------------- | --- | ------- | --- | ----- | ---- |
+| action_param1 | | int16_t | | | 非必需 |
+| action_param2 | | int16_t | | | 非必需 |
+| action_param3 | | int8_t | | | 非必需 |
+| action_param4 | | int8_t | | | 非必需 |
+| action_param5 | | int8_t | | 相机位置 | 必需 |
+
+#### action 开始录像
+
+| 元素 | 名称 | 类型 | 单位 | 取值与释义 | 是否必需 |
+| ------------- | --- | ------- | --- | ----- | ---- |
+| action_param1 | | int16_t | | | 非必需 |
+| action_param2 | | int16_t | | | 非必需 |
+| action_param3 | | int8_t | | | 非必需 |
+| action_param4 | | int8_t | | | 非必需 |
+| action_param5 | | int8_t | | 相机位置 | 必需 |
+#### action 结束录像
+| 元素 | 名称 | 类型 | 单位 | 取值与释义 | 是否必需 |
+| ------------- | --- | ------- | --- | ----- | ---- |
+| action_param1 | | int16_t | | | 非必需 |
+| action_param2 | | int16_t | | | 非必需 |
+| action_param3 | | int8_t | | | 非必需 |
+| action_param4 | | int8_t | | | 非必需 |
+| action_param5 | | int8_t | | 相机位置 | 必需 |
+#### action 对焦
+| 元素 | 名称 | 类型 | 单位 | 取值与释义 | 是否必需 |
+| ------------- | --- | ------- | --- | ----- | ---- |
+| action_param1 | | int16_t | | | 非必需 |
+| action_param2 | | int16_t | | | 非必需 |
+| action_param3 | | int8_t | | | 非必需 |
+| action_param4 | | int8_t | | | 非必需 |
+| action_param5 | | int8_t | | 相机位置 | 必需 |
+#### action 变焦
+
+| 元素 | 名称 | 类型 | 单位 | 取值与释义 | 是否必需 |
+| ------------- | --- | ------- | --- | ----- | ---- |
+| action_param1 | | int16_t | | 0.1倍 | 非必需 |
+| action_param2 | | int16_t | | | 非必需 |
+| action_param3 | | int8_t | | | 非必需 |
+| action_param4 | | int8_t | | | 非必需 |
+| action_param5 | | int8_t | | 相机位置 | 必需 |
+
+#### action 旋转云台
+
+| 元素 | 名称 | 类型 | 单位 | 取值与释义 | 是否必需 |
+| ------------- | ------ | ------- | ---- | ----------------- | ---- |
+| action_param1 | 云台俯仰角度 | int16_t | 0.1度 | 如果取值大于1800 则不使能俯仰 | 必需 |
+| action_param2 | 云台偏航角度 | int16_t | 0.1度 | 如果取值大于1800 则不使能偏航 | 必需 |
+| action_param3 | 云台旋转时间 | int8_t | 0.1秒 | | 非必需 |
+| action_param4 | | int8_t | | | 非必需 |
+| action_param5 | | int8_t | | 相机位置 | 必需 |
+#### action 飞行器偏航
+| 元素 | 名称 | 类型 | 单位 | 取值与释义 | 是否必需 |
+| ------------- | -------- | ------- | ------ | ------------------ | ---- |
+| action_param1 | 飞行器目标偏航角 | int16_t | 0.1度 | [-180, 180] | 必需 |
+| action_param2 | | int16_t | | | 非必需 |
+| action_param3 | | int8_t | | | 非必需 |
+| action_param4 | | int8_t | | | 非必需 |
+| action_param5 | 偏航角模式 | int8_t | 枚举-int | 0顺时针旋转
1逆时针旋转 | 必需 |
+#### action 悬停等待
+
+| 元素 | 名称 | 类型 | 单位 | 取值与释义 | 是否必需 |
+| ------------- | ---- | ------- | ---- | ------- | ---- |
+| action_param1 | 悬停时间 | int16_t | 0.1秒 | 飞行器悬停时间 | 必需 |
+| action_param2 | | int16_t | | | 非必需 |
+| action_param3 | | int8_t | | | 非必需 |
+| action_param4 | | int8_t | | | 非必需 |
+| action_param5 | | int8_t | | | 非必需 |
+## mavlink_msg MISSION_END
+***任务数据发送结束,收到后停止解析接收对应任务数据***
+
+| 元素 | 名称 | 类型 | 单位 | 取值与释义 | 是否必需 |
+| ------------- | ---- | -------- | --- | ----- | ---- |
+| missionId | 任务id | uint32_t | | | 必需 |
diff --git a/工作/艾航/星基/星基接口文档.md b/工作/艾航/星基/星基接口文档.md
new file mode 100644
index 0000000..c007c42
--- /dev/null
+++ b/工作/艾航/星基/星基接口文档.md
@@ -0,0 +1,190 @@
+# M300,M350版本
+## psdk -> msdk 心跳
+### sample
+
+```json
+{"d":[101.41,0.0,30.308899902,119.93859993],"e":[0,0,0,0,4,15,1730951069]}
+```
+### 字段解析
+
+| 字段名 | 字段值介绍 | 字段类型 | 是否必填 |
+| --- | --------- | ------ | ---- |
+| d | 无人机当前坐标信息 | 数组 | 是 |
+| » | 海拔高度 | float | 是 |
+| » | 相对高度 | float | 是 |
+| » | 纬度 | double | 是 |
+| » | 经度 | double | 是 |
+| e | 无人机当前状态 | 数组 | 是 |
+| » | 指令类型 | int | 是 |
+| » | 无人机当前任务id | int | 是 |
+| » | 无人机当前任务状态 | int | 是 |
+| » | 无人机当前航点进度 | int | 是 |
+| » | 无人机rtk 状态 | int | 是 |
+| » | 无人机搜星数量 | int | 是 |
+| » | 无人机当前系统时间 | long | 是 |
+
+## msdk -> psdk 任务指令
+
+```json
+[
+ {
+ "absoluteHeight": 108.24,
+ "actionList": [
+ {
+ "param": "{\"speed\":12}",
+ "type": "speed"
+ },
+ {
+ "param": "{\"aircraftHeading\":0.1}",
+ "type": "heading"
+ },
+ {
+ "param": "{\"gimbalPitchRotateAngle\":0.0,\"gimbalPitchRotateEnable\":true,\"gimbalRollRotateAngle\":0,\"gimbalRollRotateEnable\":false,\"gimbalRotateMode\":\"absoluteAngle\",\"gimbalRotateTime\":0,\"gimbalRotateTimeEnable\":false,\"gimbalYawRotateAngle\":-5.599999904632568,\"gimbalYawRotateEnable\":true,\"payloadPositionIndex\":0}",
+ "type": "angle"
+ },
+ {
+ "param": "{\"focalLength\":47,\"focalTimes\":2.0,\"payloadPositionIndex\":0,\"zoomType\":1}",
+ "type": "zoomMultiple"
+ },
+ {
+ "param": "{\"hoverTime\":1.0}",
+ "type": "hover"
+ },
+ {
+ "param": "{\"payloadPositionIndex\":0}",
+ "type": "isPhoto"
+ }
+ ],
+ "droneLocationLat": 30.308944909,
+ "droneLocationLng": 119.938599702,
+ "flyHeight": 8.1,
+ "index": 0,
+ "isJumpFly": false,
+ "is_add_point": false,
+ "jumpHeight": 0,
+ "noseDirection": 0,
+ "pointId": -1
+ },
+ {
+ "absoluteHeight": 108.29,
+ "actionList": [
+ {
+ "param": "{\"speed\":12}",
+ "type": "speed"
+ },
+ {
+ "param": "{\"aircraftHeading\":0.0}",
+ "type": "heading"
+ },
+ {
+ "param": "{\"gimbalPitchRotateAngle\":-84.69999694824219,\"gimbalPitchRotateEnable\":true,\"gimbalRollRotateAngle\":0,\"gimbalRollRotateEnable\":false,\"gimbalRotateMode\":\"absoluteAngle\",\"gimbalRotateTime\":0,\"gimbalRotateTimeEnable\":false,\"gimbalYawRotateAngle\":-6.604998588562012,\"gimbalYawRotateEnable\":true,\"payloadPositionIndex\":0}",
+ "type": "angle"
+ },
+ {
+ "param": "{\"focalLength\":47,\"focalTimes\":2.0,\"payloadPositionIndex\":0,\"zoomType\":1}",
+ "type": "zoomMultiple"
+ },
+ {
+ "param": "{\"hoverTime\":1.0}",
+ "type": "hover"
+ },
+ {
+ "param": "{\"payloadPositionIndex\":0}",
+ "type": "isPhoto"
+ }
+ ],
+ "droneLocationLat": 30.308980327,
+ "droneLocationLng": 119.938601212,
+ "flyHeight": 8.15,
+ "index": 0,
+ "isJumpFly": false,
+ "is_add_point": false,
+ "jumpHeight": 0,
+ "noseDirection": 0,
+ "pointId": -1
+ },
+ {
+ "absoluteHeight": 108.3,
+ "actionList": [
+ {
+ "param": "{\"speed\":12}",
+ "type": "speed"
+ },
+ {
+ "param": "{\"aircraftHeading\":0.0}",
+ "type": "heading"
+ },
+ {
+ "param": "{\"gimbalPitchRotateAngle\":-57.70000076293945,\"gimbalPitchRotateEnable\":true,\"gimbalRollRotateAngle\":0,\"gimbalRollRotateEnable\":false,\"gimbalRotateMode\":\"absoluteAngle\",\"gimbalRotateTime\":0,\"gimbalRotateTimeEnable\":false,\"gimbalYawRotateAngle\":-6.605701923370361,\"gimbalYawRotateEnable\":true,\"payloadPositionIndex\":0}",
+ "type": "angle"
+ },
+ {
+ "param": "{\"focalLength\":47,\"focalTimes\":2.0,\"payloadPositionIndex\":0,\"zoomType\":1}",
+ "type": "zoomMultiple"
+ },
+ {
+ "param": "{\"hoverTime\":1.0}",
+ "type": "hover"
+ },
+ {
+ "param": "{\"payloadPositionIndex\":0}",
+ "type": "isPhoto"
+ }
+ ],
+ "droneLocationLat": 30.309235505,
+ "droneLocationLng": 119.938600115,
+ "flyHeight": 8.16,
+ "index": 0,
+ "isJumpFly": false,
+ "is_add_point": false,
+ "jumpHeight": 0,
+ "noseDirection": 0,
+ "pointId": -1
+ }
+]
+
+
+```
+### 参数
+
+| 名称 | 类型 | 必选 | 约束 | 中文名 | 说明 |
+| ---------------- | -------- | ---- | ---- | ------ | ---- |
+| absoluteHeight | number | true | none | 海拔高度 | none |
+| actionList | [object] | true | none | 航点动作列表 | none |
+| » param | string | true | none | 航点动作参数 | none |
+| » type | string | true | none | 航点动作类型 | none |
+| droneLocationLat | number | true | none | 航点纬度 | none |
+| droneLocationLng | number | true | none | 航点经度 | none |
+| flyHeight | number | true | none | 相对高度 | none |
+| index | integer | true | none | 航点索引 | none |
+| isJumpFly | boolean | true | none | 是否为跳飞点 | none |
+| is_add_point | boolean | true | none | | none |
+| jumpHeight | integer | true | none | 跳飞高度 | none |
+| noseDirection | integer | true | none | | none |
+| pointId | integer | true | none | 航点ID | none |
+
+# M3T M30 版本
+
+## psdk -> msdk 心跳
+### sample
+
+```json
+{"d":[101.41,0.0,30.308899902,119.93859993],"e":[0,0,0,0,4,15,1730951069]}
+```
+### 字段解析
+
+| 字段名 | 字段值介绍 | 字段类型 | 是否必填 |
+| --- | --------- | ------ | ---- |
+| d | 无人机当前坐标信息 | 数组 | 是 |
+| » | 海拔高度 | float | 是 |
+| » | 相对高度 | float | 是 |
+| » | 纬度 | double | 是 |
+| » | 经度 | double | 是 |
+| e | 无人机当前状态 | 数组 | 是 |
+| » | 指令类型 | int | 是 |
+| » | 无人机当前任务id | int | 是 |
+| » | 无人机当前任务状态 | int | 是 |
+| » | 无人机当前航点进度 | int | 是 |
+| » | 无人机rtk 状态 | int | 是 |
+| » | 无人机搜星数量 | int | 是 |
+| » | 无人机当前系统时间 | long | 是 |