JeeGit 官方论坛

找回密码
立即注册
搜索
热搜: 活动 交友 discuz
发新帖

1

收听

0

听众

192

主题
发表于 2023-12-18 11:02:03 | 查看: 505| 回复: 15

官方文档  
https://www.allxianfei.com/h-pd-90.html


Z-6C 高倍变焦可见光吊舱
分享
Z-6C_Ver3.0.0高倍变焦可见光吊舱,支持20倍光学变倍、75倍数字变倍、1500倍混合变倍,总像素2035万,能将几百米之外的景物清晰呈现在眼前;支持星光级夜视功能,即使在微光的夜间也能拍摄到清晰的图像。吊舱采用专业的三轴机械增稳技术,稳像精度达±0.01°。支持远程投屏和对接指挥平台。支持与无人飞行器通过快拆接口连接,可应用于消防、森林公安、公安监控、搜寻救援、环保执法等多个行业。





网口、串口通讯助手。使用TCP/IP、RS232进行文本通讯。
https://gitee.com/funjoo/CommunicationTools?_from=gitee_search
https://www.allxianfei.com/
官方教程:https://www.allxianfei.com/h-col ... =wx866b1ce089e4458c

C++ 源码
体验地址: https://pan.baidu.com/s/1d7TH GEY15n0ecuNIWJJ7g 提取码:01
jf 文件: bin_video system

视频演示: https://www.bilibili.com/video/BV1Jg4y1P7ER
产品大全: https://blog.csdn.net/feiyangqingyun/article/details/97565
652

在线文档: https://feiyangqingyun.gitee.io/qwidgetdemo/video system/
作者个人主页
国内站点:https://gitee.com/feiyangqingyun
国际站点:https://github.com/feiyangqingyun
个人主页:https://blog.csdn.net/feiyangqingyun

发表于 2023-12-24 16:25:56
5倍

  1. A8 E5 4B 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 25 FF CE FF DA 36
复制代码



10

  1. A8 E5 4B 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 25 FF 9C FF B2 EB
复制代码



15
  1. A8 E5 4B 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 25 FF 6A FF 0B 8C
复制代码



20

  1. A8 E5 4B 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 25 FF 38 FF 63 51
复制代码

回复 显示全部楼层 道具 举报

发表于 2023-12-21 12:18:35
点击返回

  1. 8A 5E 49 00 00 10 00 18 00 00 00 00 2C 00 E5 00 D8 8B FE FF FC FF 9C 71 00 00 02 00 FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 00 AF A7

复制代码


焦点返回

  1. 8A 5E 49 00 00 10 00 18 00 00 00 00 B8 7A AC 00 C6 16 FE FF 21 13 9A 88 00 00 01 00 02 00 00 00 00 00 00 00 00 01 1A 25 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A 00 0A 00 00 00 00 00 00 00 10 00 B9 71
复制代码

回复 显示全部楼层 道具 举报

发表于 2023-12-21 11:09:08
8A 5E 49 00 00 11 00 18 00 00 00 00 CA 00 2C 00 80 8C E4 FF E7 FF 5F 2A FF FF 03 00 00 00 00 00 00 00 00 00 00 01 1A 25 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A 00 0A 00 00 00 00 00 00 00 11 00 B8 F1
8A 5E 49 00 00 11 00 18 00 00 00 00 8A 8C C1 00 F9 85 02 00 00 00 93 26 01 00 00 00 00 00 00 00 00 00 00 00 00 01 1A 25 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 00 0A 00 00 00 00 00 00 00 24 00 F7 4F

0A 10 倍

14 20 倍


8A 5E 49 00 00 11 00 18 00 00 00 00 77 8C C0 00 1F 85 00 00 00 00 93 26 01 00 01 00 FE FF 00 00 00 00 00 00 00 01 1A 25 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 00 0A 00 00 00 00 00 00 00 22 00 94 4B

11

8A 5E 49 00 00 11 00 18 00 00 00 00 61 8C B1 00 B5 83 00 00 00 00 96 26 02 00 00 00 FE FF 00 00 00 00 00 00 00 01 1A 25 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 98 3A 0A 00 00 00 00 00 00 00 22 00 77 6D
1500

回复 显示全部楼层 道具 举报

发表于 2023-12-19 21:56:37

回复 显示全部楼层 道具 举报

发表于 2023-12-19 21:46:27
  1. ushort CalculateCrc16(byte[] ptr, byte len)
  2. {
  3.     ushort crc;
  4.     byte da;
  5.     ushort[] crc_ta = { 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7,
  6.                         0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef };
  7.    
  8.     crc = 0;
  9.     while (len-- != 0)
  10.     {
  11.         da = (byte)(crc >> 12);
  12.         crc <<= 4;
  13.         crc ^= crc_ta[da ^ (ptr[0] >> 4)];
  14.         da = (byte)(crc >> 12);
  15.         crc <<= 4;
  16.         crc ^= crc_ta[da ^ (ptr[0] & 0x0F)];
  17.         ptr++;
  18.     }
  19.     return (crc);
  20. }
复制代码
The main changes are:
  • Use C# data types like ushort, byte[] instead of C++ types
  • Access array elements with [ ] instead of *
  • No need for explicit type casting with (byte) and (ushort)
Let me know if you have any other questions!


把下面代码用c# 语言重写一份
uint16_t CalculateCrc16(uint8_t *ptr,uint8_t len) {
uint16_t crc; uint8_t da;
uint16_t crc_ta[16]={ 0x0000,0x1021,0x2042,0x3063,0x4084,0x50a5,0x60c6,0x70e7, 0x8108,0x9129,0xa14a,0xb16b,0xc18c,0xd1ad,0xe1ce,0xf1ef, };
crc=0; while(len--!=0) {
da=crc>>12; crc<<=4;
crc^=crc_ta[da^(*ptr>>4)]; da=crc>>12;
crc<<=4; crc^=crc_ta[da^(*ptr&0x0F)]; ptr++;
} return(crc);
}

回复 显示全部楼层 道具 举报

发表于 2023-12-19 20:11:07
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CarEyePlayerDemo.Tang
{
    class Tang
    {
        /// <summary>
        /// 空命令
        /// </summary>
        public static  string 空命令 = "A8 E5 48 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 28 B2";
        /// <summary>
        /// 俯仰控制(保持当前控制模式,控制量 100)
        /// </summary>
        public static string 俯仰控制100 = "A8 E5 48 00 01 00 00 64 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 32 3E";
        /// <summary>
        /// 俯仰控制(保持当前控制模式,控制量 -100)
        /// </summary>
        public static string 俯仰控制_100 = "A8 E5 48 00 01 00 00 9C FF 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DA AF";

        /// <summary>
        ///指向控制(保持当前控制模式,控制量 1000)
        /// </summary>
        public static string 指向控制1000 = "A8 E5 48 00 01 00 00 00 00 E8 03 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 C8";
        /// <summary>
        /// 回中
        /// </summary>
        public static string 回中 = " A8 E5 48 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 18 D1";

        /// <summary>
        /// FPV(滚转 0°,俯仰 0°,指向 0°)
        /// </summary>
        public static string FPVX0Y0Z0 = "A8 E5 48 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 D4 27";
        /// <summary>
        /// FPV(滚转 0°,俯仰 45°,指向 60°)
        /// </summary>
        public static string FPVX0Y45Z60 = "A8 E5 48 00 01 00 00 94 11 70 17 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 9F F2";
        /// <summary>
        /// FPV(滚转 20°,俯仰 0°,指向 0°)
        /// </summary>
        public static string FPVX20Y0Z0 = "A8 E5 48 00 01 D0 07 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 D0 56";
        /// <summary>
        /// 锁定
        /// </summary>
        public static string 锁定 = "A8 E5 48 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 2A A2";
        /// <summary>
        /// 切换至锁定模式,同时指向控制(控制量 1000)
        /// </summary>
        public static string 切换至锁定模式_同时指向控制1000 = "A8 E5 48 00 01 00 00 00 00 E8 03 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 0B D8";
        /// <summary>
        /// 跟随
        /// </summary>
        public static string 跟随 = "A8 E5 48 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 1A C1";
        /// <summary>
        /// 俯拍
        /// </summary>
        public static string 俯拍 = "A8 E5 48 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 13 0A E0";
        /// <summary>
        /// 欧拉角控制
        /// </summary>
        public static string 欧拉角控制X0Y0Z0 = " A8 E5 48 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 94 A3";

        /// <summary>
        ///  欧拉角控制(滚转 0°,俯仰 -45°,指向 0°)
        /// </summary>
        public static string 欧拉角控制X0Y_45Z0 = "A8 E5 48 00 01 00 00 6C EE 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 70 CB";

        /// <summary>
        /// 进入跟踪(X0=100,Y0=100,X1=105,Y1=105)
        /// </summary>
        public static string 进入跟踪X0_100Y0_100X1105Y1105 = "A8 E5 52 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17 01 01 64 00 64 00 69 00 69 00 13 F0";
        /// <summary>
        /// 退出跟踪
        /// </summary>
        public static string 退出跟踪 = "A8 E5 52 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17 01 00 64 00 64 00 69 00 69 00 F8 D3";

      
        /// <summary>
        /// 指点平移 (X=100(0x64),Y=100(0x64))
        /// </summary>
        public static string 指点平移X100Y100 = "A8 E5 4D 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 01 64 00 64 00 C0 D8";

        /// <summary>
        /// 指点平移 (X=5000(0x1388),Y=5000(0x1388))
        /// </summary>
        public static string 指点平移X5000Y5000 = "A8 E5 52 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 17 01 00 64 00 64 00 69 00 69 00 F8 D3";

        /// <summary>
        /// 指点平移 (X=10000(0x2710),Y=10000(0x2710))
        /// </summary>
        public static string 指点平移X10000Y10000 = "A8 E5 4D 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 01 10 27 10 27 DB 12";

        /// <summary>
        /// 指点平移 (X=10000(0x2710),Y=5000(0x1388))
        /// </summary>
        public static string 指点平移X10000Y5000 = " A8 E5 4D 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1A 01 10 27 88 13 3C 87";

        /// <summary>
        /// 拍照
        /// </summary>
        public static string 拍照 = "A8 E5 49 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 01 61 B4";

        /// <summary>
        /// 录像开始 / 停止
        /// </summary>
        public static string 录像开始_停止 = "A8 E5 49 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 21 01 52 85";


        /// <summary>
        /// 1 号相机连续放大
        /// </summary>
        public static string 号1相机连续放大 = "A8 E5 49 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 22 01 07 D6";


        /// <summary>
        /// 1 号相机连续缩小
        /// </summary>
        public static string 号1相机连续缩小 = "A8 E5 49 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 23 01 34 E7";


        /// <summary>
        /// 1 号相机停止变倍
        /// </summary>
        public static string 号1相机停止变倍 = " A8 E5 49 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 01 AD 70";


        /// <summary>
        /// 指定 1 号相机倍率(5000,对应最大倍率的一半)
        /// </summary>
        public static string 号1相机倍率5000 = " A8 E5 4B 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 25 01 88 13 D3 27";



        /// <summary>
        /// 指定所有相机倍率(-10(1.0x))
        /// </summary>
        public static string 指定所有相机倍率_10= "A8 E5 4B 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 25 FF F6 FF 56 0A";

        /// <summary>
        /// 指定所有相机倍率 (-55(5.5x))
        /// </summary>
        public static string 指定所有相机倍率_55= "A8 E5 4B 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 25 FF C9 FF 43 A1";


        /// <summary>
        /// 指定 1 号相机倍率 (-603,(60.3x))
        /// </summary>
        public static string 指定号相机倍率_603=  "A8 E5 4B 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 25 01 A5 FD D5 F7";

        /// <summary>
        /// 聚焦
        /// </summary>
        public static string 聚焦 = "A8 E5 49 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 26 01 CB 12";

        /// <summary>
        /// 切换调色盘
        /// </summary>
        public static string 切换调色盘 = "A8 E5 4A 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2A 02 00 C4 FF";


        /// <summary>
        /// 夜视开
        /// </summary>
        public static string 夜视开 = "A8 E5 4A 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2B 01 01 B6 BD";
        /// <summary>
        /// 夜视关
        /// </summary>
        public static string 夜视关 = "A8 E5 4A 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2B 01 00 A6 9C";

        /// <summary>
        /// 补光开(255)
        /// </summary>
        public static string 补光开255= "A8 E5 49 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 FF 72 1B";


        /// <summary>
        /// 补光关(0)
        /// </summary>
        public static string 补光关0 = "A8 E5 49 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 6C EB";

        /// <summary>
        /// 连续测距开
        /// </summary>
        public static string 连续测距开 = "A8 E5 49 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 81 02 7F 98";

        /// <summary>
        /// 连续测距关
        /// </summary>
        public static string 连续测距关 = "A8 E5 49 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 81 00 5F DA";


        /// <summary>
        /// OSD 开
        /// </summary>
        public static string OSD开= "A8 E5 49 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 73 01 82 B8";

        /// <summary>
        /// OSD 关
        /// </summary>
        public static string OSD关= "A8 E5 49 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 73 00 92 99";

        /// <summary>
        /// 画中画轮流切换
        /// </summary>
        public static string 画中画轮流切换 = "A8 E5 49 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 74 00 B3 EE";


    }
}

回复 显示全部楼层 道具 举报

发表于 2023-12-19 19:23:57
  1.    [global::System.Configuration.UserScopedSettingAttribute()]
  2.             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  3.             [global::System.Configuration.DefaultSettingValueAttribute("TCP Client")]
  4.             public string ProtocolType
  5.             {
  6.                 get
  7.                 {
  8.                     return ((string)(this["ProtocolType"]));
  9.                 }
  10.                 set
  11.                 {
  12.                     this["ProtocolType"] = value;
  13.                 }
  14.             }

  15.             [global::System.Configuration.UserScopedSettingAttribute()]
  16.             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  17.             [global::System.Configuration.DefaultSettingValueAttribute("192.168.1.121")]
  18.             public string ProtocolIP
  19.             {
  20.                 get
  21.                 {
  22.                     return ((string)(this["ProtocolIP"]));
  23.                 }
  24.                 set
  25.                 {
  26.                     this["ProtocolIP"] = value;
  27.                 }
  28.             }

  29.             [global::System.Configuration.UserScopedSettingAttribute()]
  30.             [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
  31.             [global::System.Configuration.DefaultSettingValueAttribute("2332")]
  32.             public string ProtocolPort
  33.             {
  34.                 get
  35.                 {
  36.                     return ((string)(this["ProtocolPort"]));
  37.                 }
  38.                 set
  39.                 {
  40.                     this["ProtocolPort"] = value;
  41.                 }
  42.             }
复制代码

回复 显示全部楼层 道具 举报

发表于 2023-12-19 13:09:54
else if (this.cbxProtocolType.Text.ToLower() == "TCP Client".ToLower())
txtIPString   192.168.1.121  
txtPort   2332
btnConnect BtnConnect_Click

回复 显示全部楼层 道具 举报

发表于 2023-12-19 11:32:21
总述
协议通信逻辑为问答模式,上位机首先发送数据包,GCU 接收到正确的数据包后
会发送返回数据包。一个完整的数据包由协议头、包长度、数据主帧、数据副帧、控
制命令或命令反馈及 CRC 校验数据组成。数据包总长度为 S 字节。其中控制命令
或命令反馈部分长度可变。
控制命令或反馈包含指令和参数两部分,不同的指令对应的参数不同,详见本文档
《数据帧》部分。如连续发送带有相同指令的控制命令(即使参数不同),GCU 只会
执行一次操作,如要多次触发相同的功能,需要使用含有空命令的数据包隔开 (“外
部图像跟踪”命令除外 )。
数据包结构如下表所示。

微信图片_20231219113340.png

.
上位机发送数据主帧格式
字节
内容
说明
5~6
滚转控制量,仅在 FPV 模式及欧拉角控制模式生效,其他模式下此值无效
S16。控制量为期望角速率时,数据范围 [-1500,1500],分辨率为 0.1/ 当前主画面倍数(° /s);控制量为期望欧拉角时,数据范围 [-18000,18000],分辨率 0.01°;控制量为吊舱与载机的期望相对角度时,数据范围[-18000,18000],分辨率 0.01°
7~8
俯仰控制量
9~10
偏航控制量
11
状态标志
B7~B3:预留B2:0- 控制量无效;1- 控制量有效B1:预留B0:0- 载机惯导数据无效;1- 载机惯导数据有效
12~13
载机绝对滚转角
S16,[-18000,18000),分辨率 0.01deg
载机坐标系定义详见附录 2
14~15
载机绝对俯仰角
S16,[-9000,9000],分辨 率 0.01deg
16~17
载机绝对偏航角
U16,[0,36000),分辨率 0.01deg
18~19
载机北向加速度
S16,分辨率 0.01m/s2,北向为正
载机静止或匀速直线飞行时,三个加速度均为零
20~21
载机东向加速度
S16,分辨率 0.01m/s2,东向为正
22~23
载机天向加速度
S16,分辨率 0.01m/s2,天向为正
24~25
载机北向速度
S16,分辨率 0.01m/s,北向为正
26~27
载机东向速度
S16,分辨率 0.01m/s,东向为正
28~29
载机天向速度
S16,分辨率 0.01m/s,天向为正
30
GCU 返回数据副帧请求码
填写需要返回的副帧帧头,如不需要请求副帧,此处为 0x00
31~36
预留
12~29 位数据非常重要,不正确的数据会导致吊舱姿态计算错误。

上位机发送数据副帧格式
字节
内容
说明
37
0x01
副帧帧头
38~41
载机经度
S32,分辨率 1e-7deg
42~45
载机纬度
S32,分辨率 1e-7deg
46~49
载机海拔高度
S32,分辨率 1mm
50
载机卫星数
U8
51~54
载机 GNSS 毫秒数
U32
55~56
载机 GNSS 周数
S16
57~60
相对高度
S32,分辨率 1mm,如不需要可为 0
61~68
预留
如无副帧数据,则 37~68 字节均为 0x00。
GCU 返回数据主帧格式

回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 立即注册

QQ|Archiver|手机版|小黑屋|JeeGit 官方论坛 ( 吉ICP备19001578号-2|吉B2-20200006 )

GMT+8, 2024-5-2 07:24 , Processed in 0.034633 second(s), 21 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表