GTT2.5协议开发者手册解读
一、GTT2.5协议简介
GTT 2.5命令协议是面向对象软件设计的一次进化。它允许用户通过在RAM中存储值,动态修改各种对象属性,如值、字符串和颜色设置等。与旧的GTT 2.0命令集相比,GTT 2.5协议为开发者在人机界面(HMI)设计中提供了更大的灵活性和控制力。不过,GTT 2.5协议并没有完全取代GTT 2.0命令集,所有GTT 2.0命令仍可与GTT 2.5命令结合使用。在升级到包含2.5协议的较新固件时,GTT 2.0命令的功能依然保留,基于GTT 2.0命令开发的GTT Designer项目也保持兼容,且GTT 2.5命令在运行固件1.10及以上版本中可用。
文件下载:GTT29A-TPN-BLM-B0-H1-CS-VPT.pdf
二、GTT2.5协议元素
(一)对象(Objects)
- 对象类型:屏幕上显示的每个元素都被表示为一个对象,每个对象都属于特定类型,并被分配一个唯一的标识符。常见的对象类型包括GTT25Gauge(值为3)、Label(值为9)、Slider(值为10)、Button(值为21)等。
- 创建对象:创建对象的方法由一系列字节组成,在设置对象的相关属性之前,必须先创建对象。对象创建后,其相关属性会被赋予默认值,用户可以使用相应的设置或获取方法来设置或检索这些属性。
(二)属性(Properties)
- 属性类型:每个对象都可以有多个不同的属性,不同对象有其独特的属性集。例如,Gauge对象的常见属性类型包括MinValue、MaxValue、Value等;Label对象的常见属性类型有BackgroundR、BackgroundG、ForegroundR等。
- 设置属性值:设置对象字节长度属性值的方法由一系列字节组成,某些属性(如基于文本的属性)可能需要不同的数据类型。GTT Designer生成的项目报告将包含更详细的信息,说明设置特定属性所需的数据类型以及屏幕上每个特定对象类型可用的属性。
- 获取属性值:获取对象字节长度属性值的方法也由一系列字节组成,所有GTT 2.5属性值都可以使用相应的获取属性命令进行读取,包括文本字符串、按钮状态以及条形图和仪表值等。
- 返回消息:执行获取对象字节长度属性值的命令后,返回消息的字节组成会根据返回的属性信息类型而有所不同。例如,文本属性在读取时可能返回一串字符。如果主机不读取返回消息,可能会导致GTT的返回缓冲区填满,从而使GTT重启。可以通过将通信通道设置为None来关闭GTT的返回消息。
- 状态代码:在GTT 2.5命令协议中,每个命令都会生成一个状态返回,常见的状态代码包括FileNotFound、InvalidBitmapFileFormat等。
(三)事件(Events)
- 事件类型:许多事件由字节组合表示,如按钮点击、属性更改成功和属性反馈等事件会报告给主机,并通过特定的事件字节组合进行区分。常见的事件类型有GTT25BaseObject_OnPropertyChange、GTT25VisualObject_OnKey、Button_Click等。
- 事件消息:事件反馈遵循类似的消息格式,但可能会根据返回的数据类型有所不同。事件发生后,GTT会立即生成事件消息并返回给主机,主机可以根据事件类型、对象ID和值来确定发生了什么,并采取相应的行动。
(四)方法(Methods)
除了用于属性的基本获取和设置方法外,一些对象还有独特的方法,如动画对象的Start方法。
三、资源
(一)GTT Designer报告
GTT Designer生成的Report.txt文件列出了所有对象以及获取和设置相关属性的方法。该文件位于项目生成完成后的Output目录中,在开发过程中可直接参考,它会突出显示哪些对象属性可以更改,并提供修改对象属性时要发送和期望接收的数据类型信息。
(二)GTT2.5代码库
GTT 2.5命令协议允许开发者使用一套生成的代码库将GTT项目轻松连接到主机设备。代码库包括特定于GTT项目的.c/.h文件、用于打包数据的工作函数以及特定于主机设备的接口库。
- Designer .c/.h项目文件:位于项目生成完成后的Output目录中,提供了所有对象标识符的列表以及用于获取和设置这些对象相关属性的简单函数。
- GTT客户端库:GTT Designer创建的.c和.h项目文件需要一些支持代码才能正确运行,这些支持代码包含在GTT客户端库中,该库可在GTT的固件下载文件夹中找到。
- 接口库:在使用新的主机设备进行开发时,可能需要创建一个接口库。该接口库至少应包含一个从GTT模块读取字节到设备的函数和一个从设备向GTT写入字节的函数。同时,还需要在接口库中定义输入和输出缓冲区,并配置GTT设备结构,使其包含指向读写函数以及输入和输出缓冲区的指针。
四、附录
(一)数据类型
手册中使用的数据类型可以用常见编程语言中的原生数据类型来表示,如U8对应ANSI C/C++中的unsigned char、C#中的byte、Visual Basic中的Byte;U16对应ANSI C/C++中的unsigned short等。需要注意的是,多字节值的传输采用大端(MSB优先)顺序。
五、联系信息
如果在使用GTT2.5协议过程中遇到问题或有相关需求,可以通过以下方式联系:
- 销售:电话403.229.2737,邮箱sales@matrixorbital.ca
- 支持:电话403.229.2737,邮箱support@matrixorbital.ca
- 设计:电话403.229.2737,邮箱design@matrixorbital.ca
- 在线购买:www.matrixorbital.com
- 在线支持:www.matrixorbital.ca
大家在实际开发中是否遇到过GTT2.5协议相关的难题呢?不妨在评论区分享一下,我们一起探讨解决方案。
发布评论请先 登录
2025华为开发者大赛暨开发者年度会议成功举办
2025开源鸿蒙开发者激励计划正式启动
2025 NVIDIA中国开发者日圆满落幕
元服务发布配置开发者服务信息
QCon·上海站HarmonyOS开发者技术分论坛:共探鸿蒙开发新机遇
2025开放原子开发者大会11月启幕
芯科科技2025年Works With开发者大会深圳站Matter技术专场前瞻
NVIDIA DRIVE AGX Thor开发者套件重磅发布
曙光网络SugonRI开发者社区正式上线
HarmonyOSAI编程智能代码解读
矽速科技正式入驻 RuyiSDK 开发者社区,共建 RISC-V 开发者生态!
GTT2.5协议开发者手册解读
评论