主题
WARNING
当前项目已放弃维护,相关功能已迁移至 PIVOTECH 的子功能。
SGate MMC
南天门 - 单片机菜单控制器
SGate - MCU Menu Controller
用户手册
总版本 v.1.0-2026.06.01
电导不是韩导@bilibili 2025年6月1日
概述
SGate是一款基于UART/USB通信协议的嵌入式(MCU)菜单控制设备,内置预编译型菜单框架。
用户通过可视化界面构建交互逻辑,其设计数据可通过串口或USB接口以原始通信协议直接传输至设备存储单元,通过对配置数据的解码,自动生成可操作的菜单界面,实现设备参数的动态调整与指令输出功能。
设备集成硬件驱动接口,可接收用户输入指令并通过内置声光模块输出状态反馈信号。
该项目由 电导不是韩导@Bilibili 创作,源代码保留所有权利。
个人用户免费使用所有功能。严禁用于商业用途。
鸣谢
- 开源项目 Raspberry Pi/pico-examples 为本项目开发提供了重要帮助;
- 使用了团队 @MCD Application Team 提供多个字库;
- 由 @AstraThreshold(无理造物@bilibili)所作astraLauncher项目的动画效果受到很大启发;
- 由 @Baohan 所作Easy-UI项目的链表结构和item类型受到很大的启发;
- 参考了 @createskyblue 和 @OpenT12 所写的项目UI;
- 参考了 @Zhewana 和 @CommonKey 所写的按键库;
赞赏
如果南天门确实帮助到你且觉得南天门还不错的话,万分感谢你赞赏的一杯奶茶。该项目由个人独立完成,不少疏漏还请谅解。后续会继续推出新的固件更新,敬请关注 电导不是韩导@bilibili 的图文推送。
B站二维码 微信赞赏码
快速使用向导
SGate项目内容包含:
- 用户手册(PDF文件格式),即当前文件;
- 硬件(EPRO文件、物料清单等资料),需购买材料和焊接装配;
- 固件(UF2文件格式),用于上载至Pico板;
- 菜单生成工具(XLSM文件格式),用于生成菜单配置内容;
- 配置工具(EXE格式),用于发送至Pico板完成配置;
A.用户手册:
即当前文件。描述开发规范与技术标准,涵盖框架、功能模块与版本管理。软件部分定义通信协议、菜单逻辑、配置标准及声光反馈机制,硬件列明组件参数与设计文件、装配方法。
B.硬件:
HW.v.1.0-2025.06.01
SGate的硬件设计资料。epro文件需使用嘉立创EDA(专业版)打开,装配过程可查看B站教程视频。
- 首次使用/装配时:
参考下方设计图,焊接各个零件。装配过程可查看B站教程视频。建议焊点均在元件的另一面,推荐焊接顺序:
- S8050(完成后剪去多余的引脚长度)
- LED(焊接时需注意标注背面的“+”正极位置,完成后剪去多余引脚的长度)
- ‘RESTART’一个按键;
- 蜂鸣器(焊接时需注意标注的“+”正极位置);
- XH2.54 4P端子;
- ‘UP’、‘DOWN’、‘OK’、‘CAN’四个按键;
- 0.96寸SSD1306 OLED屏幕(需确保引脚顺序为GND-VCC-SCL-SDA);
- Raspberry Pi Pico板(装配在顶层,需确保方向正确);
硬件装配图(顶层):
硬件装配图(底层):
C.固件:
SW.v.1.0-2025.06.01
用于上载至Raspberry Pi Pico运行的UF2固件文件。
- 首次使用时:
C.1.1.1在先按住Pico上的**‘BOOTSEL’按键的情况下,通过USB接口连接至计算机并松开‘BOOTSEL’按键**,此时Pico 会被识别为大容量存储设备,将UF2固件文件复制(拖拽)至RPI-RP2 卷上, Pico 将自动重启运行SGate固件程序。
C.1.1.2首次启动时自动进入测试页面,你可以测试各个输入按键和LED或蜂鸣器的效果,同时长按‘UP’和‘OK’三秒退出测试页面。
C.1.1.3在菜单设置进入**‘Load Config’,选择导入来源(如果是UART导入还需选择波特率),向Pico发送SGateConfig配置文本**(使用D.菜单生成工具生成)后,Pico将保存配置信息并开始使用。
D.菜单生成工具:
Gen.v.1.0-2025.06.01
在Excel中可视化生成SGate Config配置文本。
菜单生成工具窗口:
- 详细内容请查阅查阅本文档的D.菜单生成工具详细说明 部分:
D.3.1 在SGate中选择进入**“Load Config”,屏幕提示"Waiting for SGate Config. Please send!"**,下一步;
D.3.2 请单击上方橙色框,将自动复制并打开配置工具,在配置工具中根据提示选择对应端口,将自动开始配置,等待配置完成,若失败请尝试:
D.3.2.(1) 若未执行自动配置工具(Excel依赖的VBA未正常运行),请手动复制上方SGateConfig内容,手动打开配置工具;
D.3.2.(2) 若不在Win平台配置或配置工具无法使用,请手动复制上方SGateConfig内容,通过串口调试工具向SGate发送配置文本,等待返回信息完成配置;
D.3.3 SGate屏幕提示**"Load Successful!"且配置工具提示配置成功时,此时按下SGate背面“RESTART”**后开始使用,完成配置。
E.配置工具:
Cfg.v.1.0-2025.06.01
用于自动向SGate发送配置内容的exe程序。
一般情况下,该配置工具会由D.菜单生成工具 的VBA自动调用并执行,若失败请尝试上方的D.3.2.(1) 和 D3.2.(2)。
B.硬件详细说明
SGate的硬件设计资料。epro文件需使用嘉立创EDA(专业版)打开,装配过程可查看B站教程视频。
B.1硬件清单:
| 名称 | 参数 | 数量 | 备注 |
| SGate PCB板 | 尺寸:50.9x30.7mm | 1 | 详见SGate PCB图纸 |
| Raspberry Pi Pico开发板(RP2040) | 1 | 需焊接好的版本,或自行准备至少1个1x20P 2.54mm 排针焊接 | |
| SSD1306 0.96寸 IIC OLED显示屏模块 | 驱动芯片:SSD1306 接口:IIC 分辨率:128*64 管脚数:4(GND-VCC-SCL-SDA) | 1 | 1.需注意管脚顺序为GND-VCC-SCL-SDA 2.需焊接好的直排针版本,或自行准备1x4P 2.54mm 排针焊接 |
| 2*3*4mm LED方形灯头 | 灯头类型:2*3*4mm方形灯头 发光颜色:白发黄光 引脚间距:2.5mm | 1 | 可根据需求更改发光颜色 |
| 9042无源蜂鸣器 | 驱动方式:无源(外部驱动) 构造类型:电磁式 额定电压:3.3V 直径:9mm 高度:4.2mm 引脚间距:4mm | 1 | |
| S8050 直插NPN型二极管 | 晶体管类型:NPN 安装方式:直插 | 1 | |
| 6*6*5mm直插按键开关 | 电路结构:单刀单掷 安装方式:直插 开关长度:6mm 开关宽度:6mm 开关高度:5mm 引脚数量:4脚 | 4 | |
| 3*6*4.3mm直插按键开关 | 电路结构:单刀单掷 安装方式:直插 开关长度:6mm 开关宽度:3mm 开关高度:4.3mm 引脚数量:2脚 | 1 | |
| XH2.54-4PWZ弯插针座 | 插针结构:1x4P 间距:2.54mm 安装方式:弯插 参考系列:XH 总PIN数:4P 排数:1 | 1 | |
| XH2.54-4P公头单头 端子线 | 插针结构:1x4P 间距:2.54mm 参考系列:XH 端子线长度:200mm | 1 | 可根据需求更改另一端的类型、端子线长度 |
| 2.54mm 4P 单排母座 | 排母结构:1x4P 间距:2.54mm | 1 | 选配,可实现模块化插拔 |
| 2.54mm 20P 单排母座 | 排母结构:1x20P 间距:2.54mm | 1 | 选配,可实现模块化插拔 |
B.2 Raspberry Pi Pico引脚连接说明:
外置电源输入(范围1.5V~5.5V)
GND
RESTART:重启按键
3.3V电源输出:供电SSD1306、蜂鸣器
LED输出
GND
I2C-SCL
I2C-SDA
蜂鸣器信号输出
GND
UP按键
DOWN按键
OK按键
CAN按键
GND
UART_RX
UART_TX
B.3 SGate 电路原理图及PCB:
原文件请查看 B.硬件资料 中的文件。
B.4接口参数:
- USB:USB1.1主机和设备支持;支持USB(Serial)通信;
- XH2.54 4P:RX,TX,GND,VCC;支持UART(TTL)通信;
B.5电源输入模式:
电源输入模式在USB电源输入和XH2.54 4P VCC输入两种模式中选择:
- USB输入:5V;
- XH2.54 4P -> VCC输入:1.8~5.5V;
其中,XH2.54 4P -> VCC输入至Pico的VSYS ,具体可查阅Pico的硬件手册。
C. 固件详细说明
用于上载至Raspberry Pi Pico运行的UF2固件文件。
C.1 固件上载/固件更新
C.1.1首次使用时:
C.1.1.1在先按住Pico上的**‘BOOTSEL’按键的情况下,通过USB接口连接至计算机并松开‘BOOTSEL’按键**,此时Pico 会被识别为大容量存储设备,将UF2固件文件复制(拖拽)至RPI-RP2 卷上, Pico 将自动重启运行SGate固件程序。
C.1.1.2首次启动时自动进入测试页面,你可以测试各个输入按键和LED或蜂鸣器的效果,同时长按‘UP’和‘OK’三秒退出测试页面。
C.1.1.3在菜单设置进入**‘Load Config’,选择导入来源(如果是UART导入还需选择波特率),向Pico发送SGateConfig配置文本**(使用D.菜单生成工具生成)后,Pico将保存配置信息并开始使用。
C.1.2更新固件时:
与首次使用相同,在先按住Pico上的**‘BOOTSEL’按键的情况下,通过USB接口连接至计算机并松开‘BOOTSEL’按键**,此时Pico 会被识别为大容量存储设备,将UF2固件文件复制(拖拽)至RPI-RP2 卷上, Pico 将自动重启运行SGate固件程序。
一般情况下,该固件更新操作不会覆盖SGateConfig配置信息和保存的菜单设置。
C.2菜单设定:
菜单设置将会自动生成在首页结尾,即使在Config导入失败的情况下,也会保留这些项目以便重新导入Config;
Menu Settings:~~~~
- Load Config 从USB或UART导入Config文本并保存;
- Connection Mode**** – Connect to / UART Baud 更改输出内容、接收声光指令的连接方式;更改UART通信的波特率;
- Theme – Dark / Light 更改显示主题;
- Font******** – Large / Medium / Small 更改字体大小;
- Animations – No animations / Fast / Normal / Slow 更改动画速度;
- LED 启用LED开关;
- Buzzer 启用蜂鸣器开关;
- TestPage 按键及声光测试页;
- Save 保存以上的菜单设置;
- Update 查看更新信息;
- About 查看相关信息;
- Appreciation 查看赞赏信息;
C.3控制声光效果:
在除Load Config以外的任何状态下内通过选定的连接方式(USB/UART)接收到“$ID;”,可执行对应声光效果,例如:发送“$11;”则执行“ID11:心跳节奏”的声光效果。
| 模式ID | 模式名称 | 光效行为 | 声效行为 | 持续时间 | 技术参数(亮度/音调) |
| 0 | 单次短鸣 | 80%亮度瞬时亮灭 | 70%高频短音 | 0.4s | 亮150ms→灭50ms |
| 1 | 渐强提示 | 亮度0%→75%分4级增强 | 音调25%→79%同步增强 | 1.5s | 每375ms亮度+25%,音调+18% |
| 2 | 渐弱提示 | 亮度75%→0%分4级减弱 | 音调79%→25%同步减弱 | 1.5s | 每375ms亮度-25%,音调-18% |
| 3 | 双闪提示 | 100%亮度两次快闪 | 75%中高音同步触发 | 1.2s | 亮250ms/灭350ms,循环2次 |
| 4 | 快速三连 | 90%亮度三次急促闪烁 | 85%高频短鸣 | 1.0s | 亮80ms/灭260ms,循环3次 |
| 5 | 长响警示 | 100%→30%亮度渐变 | 40%→60%音调渐变 | 1.8s | 前1.0s全亮+40%音调,后0.8s30%亮度+60%音调 |
| 6 | 间断蜂鸣 | 无光效变化 | 50%中音三次提醒 | 1.7s | 400ms蜂鸣→160ms静音,循环3次 |
| 7 | 高低交替 | 100%与60%亮度交替 | 80%与40%音调交替 | 1.6s | 每400ms切换,共4次 |
| 8 | 随机闪烁 | 20%~100%亮度随机变化 | 40%~100%音调随机变化 | 1.6s | 每200ms更新,共8次 |
| 9 | 阶梯上升 | 0%→80%亮度分5级提升 | 同步亮度值作为音调 | 1.8s | 每360ms升一级 |
| 10 | 正弦波动 | 50%±50%亮度正弦呼吸 | 30%~55%音调同步波动 | 1.8s | 8步完成正弦周期,每225ms更新 |
| 11 | 心跳节奏 | 100%→20%亮度三次脉冲 | 60%中音同步跳动 | 1.5s | 心跳时序:150ms亮→150ms灭→75ms亮→75ms灭→150ms亮→150ms灭 |
| 12 | 倒计时 | 100%亮度三次短亮 | 90%→30%音调三次降调 | 1.5s | 每次亮350ms→灭150ms |
| 13 | 恒定长亮 | 70%亮度持续 | 50%中音持续 | 1.5s | 无动态变化 |
| 14 | 渐变呼吸 | 亮度0%→100%→0%双周期呼吸 | 无声音 | 1.8s | 5步上升(每180ms+20%)→5步下降(每180ms-20%) |
| 15 | 频闪警告 | 100%与20%亮度交替快闪 | 90%高频音同步开关 | 1.6s | 每200ms切换,共8次 |
| 16 | 二重奏 | 100%与60%亮度交替 | 70%与40%音调交替 | 1.6s | 每400ms切换,共4次 |
| 17 | 脉冲序列 | 100%→40%→80%→30%亮度四段脉冲 | 50%→65%→80%→95%音调递增 | 1.8s | 每450ms更新 |
| 18 | 变速提示 | 100%亮度四次渐速闪烁 | 80%高频音同步开关 | 1.5s | 闪烁间隔:400ms→300ms→200ms→200ms |
| 19 | 复合波形 | 亮度V型波动(0%→100%→0%) | 音调20%→100%线性递增 | 1.6s | 每400ms完成一个V型周期 |
| 20 | 获胜庆祝 | 三连闪→螺旋上升→持续高亮 | 高频爬升→持续峰值 | 2.5s | 3次快闪(0.6s)→ 音调40→90(1.2s)→ 全亮+95%音调(0.7s) |
| 21 | 失败警示 | 70%亮度低频脉冲→30%长亮 | 20%低频→10%持续低鸣 | 2.2s | 3次脉冲(1.5s)→ 30%亮度+10%音调(0.7s) |
| 22 | 平局通知 | 对称呼吸(50%±40%) | 音调对称波动(10%→90%) | 2.4s | 呼吸波动(1.6s)→ 50%亮度+50%音调(0.8s) |
D. 菜单生成工具详细说明
在Excel中可视化生成SGate Config配置文本。
D.1配置菜单:
菜单由页面和页面中的项目组成,你可以自由配置你的页面和项目内容以及跳转页面的逻辑。最多可创建255个页面(SGate已占用6个),每个页面最多可创建255个项目,最多可创建1024个项目。
你需要在左侧表格区域配置你的菜单,如示例菜单;
D.1.1页面名称:
字符仅支持ASCLL32~126( ‘ # ’ ‘ $ ’ ‘ ; ’ 除外)。
在开始之前,请确保第一行的页面名称有内容(如示例菜单中的 MainPage)用于定义主页面的名称。否则将会橙红高亮告示该位置需要输入内容以定义主页面名称。
D.1.1.1页面与项目的逻辑:
页面名称用于声明项目所在的页面,在示例中MainPage页面下的项目为:
[Example]
Radio_List
myswtich
mycheckbox
Page1
Value_List
Hello
同一页面可以反复声明,将会按照配置表格的顺序依次生成对应的项目。
D.1.1.2页面跳转逻辑:
使用JUMP_PAGE项目跳转至下一级指定的页面,在示例中该部分生成的页面结构如下:
MainPage
⌞Page1
⌞Page2
⌞Here Page3
所有的页面只能有一个入口,即只能有一个JUMP_PAGE项目指向该页面,否则只会生成第一次的JUMP_PAGE项目。如果没有JUMP_PAGE项目指向该页面(除主页面以外),则意味着无法进入该页面,此时生成器会黄色高亮提示该页面。
D.1.2项目生成:
如下图所示,在对应页面下选择项目类别后,会将需要填写/选择的内容标为浅绿高亮。
若未选择项目类别,则该行除页面名称外其他填写内容无效,并被标为灰色删除线。
D.1.2.1项目类别:
在生成项目是有多种类别可以选择,以下是项目的功能描述:
- DESCRIPTION
纯文字描述,无操作;
- JUMP_PAGE
按下OK跳转至指定页面;
- SWITCH
开关,按下OK在 on 和 off 之间切换的选项;
- RADIO
单选框,按下OK在选中与未选中之间切换,但在同一Page下,一个单选框被选中后其他单选框自动取消;
- CHECKBOX
复选框,按下OK在选中与未选中之间切换;
- VALUE
更改值选项,分为int、uint、float、ufloat 4种数据类型,按下OK进入更改页面后,可通过CAN+UP/DOWN更改步长,通过UP/DOWN更改值,按下OK确认更改,按下CAN取消更改;
- SEND
发送选项,按下OK后发送指定内容;
D.1.2.2项目名称:
字符仅支持ASCLL32~126( ‘ # ’ ‘ ; ’ 除外)。
D.1.2.3发送模式:
在部分项目生成时需要设定发送类别,用于定义触发时发送的内容,以下是发送模式的描述:
- No_Send;
仅暂存(下电后重置)
- Send_Title;
发送当前的选项名;
- Send_Value
发送当前的数值;
- Send_Title_Value
发送当前的选项名和数值;
- SendRealtime_Value
实时发送当前的数值;
- SendRealtime_Title_Value
实时发送当前的选项名和数值;
- SendOption_Title
发送当前页面已选中的SWITCH,CHECKBOX,RADIO选项的选项名;
- SendOption_Value
发送当前页面SWITCH,CHECKBOX,RADIO,VALUE选项的值;
- SendOption_Title_Value
发送当前页面SWITCH,CHECKBOX,RADIO,VALUE选项的选项名和值;
项目类别与发送模式的支持关系如下表:
| DESCRIPTION | JUMP_PAGE | SWITCH | RADIO | CHECKBOX | VALUE | SEND | |
| No_Send | √ | √ | √ | √ | √ | √ | √ |
| Send_Title | × | × | × | × | × | × | √ |
| Send_Value | × | × | √ | √ | √ | √ | × |
| Send_Title_Value | × | × | √ | √ | √ | √ | × |
| SendRealtime_Value | × | × | × | × | × | √ | × |
| SendRealtime_Title_Value | × | × | × | × | × | √ | × |
| SendOption_Title | × | × | × | × | × | × | √ |
| SendOption_Value | × | × | × | × | × | × | √ |
| SendOption_Title_Value | × | × | × | × | × | × | √ |
D.1.2.4默认值、数据类型:
根据当前项目类型填入不同的默认值、数据类型(如果需要)以完成项目配置,其中在项目类型为VALUE、数据类型为Float或Unsigned float时,数值会自动保留4位小数,如下表:
| 项目类型 | 默认值 | 默认值示例 | 数据类型 |
| SWITCH | 1 / 0 | 1 | |
| RADIO | 0 | ||
| CHECKBOX | 0 | ||
| VALUE | 整数 | -100 | Int |
| 非负整数(自然数) | 8 | Unsigned int | |
| 4位小数的数 | -12.23 | Float | |
| 4位小数的非负数 | 0.0931 | Unsigned float |
D.2设置菜单:
设置菜单配置(Menu Settings)。即使在生成器配置完成后,你仍可以在SGate上重新更改并保存这些设置。
- Connection Mode**** – Connect to(USB(Serial) / UART(TTL) )、Baud Rate(9600 / 19200 / 38400 / 57600 / 115200)
更改输出内容、接收声光指令的连接方式;更改UART通信的波特率;
- Theme – Dark / Light
更改显示主题;
- Font******** – Large / Medium / Small
更改字体大小;
- Animations – No animations / Fast / Normal / Slow
更改动画速度;
- LED
启用LED开关;
- Buzzer
启用蜂鸣器开关;
D.3生成SGate Config并导入:
在此之前你需要完成硬件装配和固件上载,即屏幕可以显示SGate的默认菜单。然后按照以下内容完成配置:
D.3.1 在SGate中选择进入**“Load Config”,屏幕提示"Waiting for SGate Config. Please send!"**,下一步;
D.3.2 请单击上方橙色框,将自动复制并打开配置工具,在配置工具中根据提示选择对应端口,将自动开始配置,等待配置完成,若失败请尝试:
D.3.2.(1) 若未执行自动配置工具(Excel依赖的VBA未正常运行),请手动复制上方SGateConfig内容,手动打开配置工具;
D.3.2.(2) 若不在Win平台配置或配置工具无法使用,请手动复制上方SGateConfig内容,通过串口调试工具向SGate发送配置文本,等待返回信息完成配置;
D.3.3 SGate屏幕提示**"Load Successful!"且配置工具提示配置成功时,此时按下SGate背面“RESTART”**后开始使用,完成配置。
普通用户无需查阅以下的SGateConfig文本标准(标 * 章节)
* SGateConfig文本标准:
SGateConfig文本在加载时,自动忽略‘ ’(空格,Title内部出现空格除外)、‘\n’、‘\r’、‘;’(分号,有实际结束符效果的除外),因此可以在不断开指令段的情况下自由分行,以方便分析。
* SGateConfig指令段定义:
| ItemType | 语法格式 | 示例 | 说明 |
| 选项类型 | |||
| (#) | #注释内容# | #SGate Config# | 以#开始和结束,内容不执行,仅用于说明。 |
| 注释 | |||
| ($) | $PageName; | $Page1; | 声明当前操作的页面名称,后续内容均添加到此页面下。可以多次重复声明同一页面。 |
| 页面声明 | |||
| JUMP_PAGE (J) | J,PageName; | J,Page1; | 跳转到指定页面,同一页面只能有一次跳转选项,否则跳过生成。 |
| 跳转选项 | |||
| DESCRIPTION (D) | D,Description; | D,Hello; | 纯文字描述选项,无交互功能。 |
| 描述选项 | |||
| SWITCH (S) | S,SwitchName,SendMode,DefaultValue; | S,switch1,SV,0; | SwitchName为开关名称,DefaultValue默认值(0或1),根据SendMode发送值。 |
| 开关选项 | |||
| CHECKBOX (C) | C,CheckboxName,SendMode,DefaultValue; | C,checkbox1,STV,1; | CheckboxName为复选框名称, DefaultValue为是否默认选中(0或1)根据SendMode发送值。 |
| 复选框选项 | |||
| RADIO (R) | R,RadioName,SendMode,DefaultValue; | R,sw2,NS,0; | 同一页面内单选框互斥,DefaultValue为是否默认选中(0或1,默认为0),根据SendMode发送值。 |
| 单选框选项 | |||
| VALUE (V) | V,ValueName,ValueType,SendMode,DefaultValue; | V,va1,STV,UF,12.075; | ValueType为数值类型(详见SendMode可选内容),DefaultValue为数值(如3.14),根据SendMode发送值。 |
| 数值选项 | |||
| SEND (M) | M,SendName,SendMode; | M,Send Hello,OTV; | 点击后根据SendMode发送指定内容(通过UART或USB协议)。 |
| 发送选项 | |||
| (X) | X,BaudRate,ConnectMode,Theme,Font,Animations,LED,Buzzer; | X,4,1,0,1,3,1,1; | 对应参数详见MenuSettings的对应内容 |
| 菜单设置 | |||
| #END_CONFIG# | #END_CONFIG# | 声明SGateConfig文本结束 | |
| 结束标志 |
* SGateConfig文本示例:
#这是生成菜单的代码#
$Main; D,Describe; J,Jump To a Page;
$Jump To a Page; D,Here is a page;
$Main; J,Radio;
$Radio; R,sw1,NS,; R,sw2,NS,; R,sw3,SV,1; M,Send Option,OTV;
$Main; M,Send Hello,ST; V,va1,STV,UF,12.075; S,switch1,SV,; C,checkbox1,STV,1;
X,4,0,0,1,3,1,1;
#END_CONFIG#
* SendMode可选内容:
| Config 文本标准 | 描述 | 支持的选项类型 | 发送内容示例 | 描述 |
| NS | No_Send | M,S,C,A,V | 仅暂存(下电后重置) | |
| ST | Send_Title | M | Hello; | 发送当前的选项名 |
| SV | Send_Value | S,C,A,V | 1; | 发送当前的数值 |
| STV | Send_Title_Value | S,C,A,V | Flag=1; | 发送当前的选项名和数值 |
| RV | SendRealtime_Value | V | 12.01; | 实时发送当前的数值 |
| RTV | SendRealtime_Title_Value | V | Num=12.01; | 实时发送当前的选项名和数值 |
| OT | SendOption_Title | M | Flag1;Flag3; | 发送当前页面已选中的S,C,A选项的选项名 |
| OV | SendOption_Value | M | 1,12.01; | 发送当前页面S,C,A,V选项的值 |
| OTV | SendOption_Title_Value | M | Flag=1;Num=12.01; | 发送当前页面S,C,A,V选项的选项名和值 |
* ValueType可选内容:
| Config 文本标准 | 描述 | 支持的选项类型 | 可选步长 | 范围/精度 |
| I | Int | V | 1,10,100,1000,10000 | -2^1024 ~ +2^1024 |
| UI | Unsigned int | V | 0 ~ +2^1024 | |
| F | Float | V | 0.0001,0.001,0.01,0.1,1,10 | Double精度 |
| UF | Unsigned float | V | Double精度 |
*更新日志
A.用户手册版本(SGate.):
SGate.v.1.0 -2025.06.01:
正式发布版本;
更新各版本命名规则,用户手册版本号代表总版本号;
新增E.配置工具 的说明;
新增对于Raspberry Pi Pico的引脚连接图;
SGate.v.b1-2025.05.13:
描述开发规范与技术标准,涵盖框架、功能模块与版本管理。软件部分定义通信协议、菜单逻辑、配置标准及声光反馈机制,硬件列明组件参数与设计文件;
B.硬件版本Hardware(HW.):
HW.v.1.0-2025.06.01:
新增2.54 4P排母,用于连接SSD1306,方便模块化插拔;
优化布线;
HW.v.b1.2.2-2025.04.30:
更新蜂鸣器电路,新增S8050元件;
对SSD1306的四角固定孔扩径,适配倾斜安装需求;
新增中心M3固定螺孔;
HW.v.b1.1.2-2025.03.14:
支持连接至Raspberry Pico(Pin21~40)、SSD1306(GND-VCC-SCL-SDA)、无源蜂鸣器、LED、4个菜单操作按键、1个RESTART按键、XH2.54 4P针座;
支持SSD1306的四角固定孔使用M2螺丝固定;
支持RESTART按键强制下电重启;
支持通过XH2.54 4P连接至输入电源VCC(1.8V~5.5V)、GND、TX、RX;
C.固件版本Software(SW.):
SW.v.1.0-2025.06.01:
优化对于USB/UART的驱动和通信逻辑,优化驱动控制;
优化保存逻辑,减少flash擦写次数;
优化测试页已知问题;
SW.v.b1.5.0-2025.05.11:
新增了首次上电自动进入测试页面,载入过Config或保存过settings后,不再提示;
增加菜单设置,支持了配置ConnectionMode、BaudRate、动画速度、字体设置、主题设置、LED配置、Buzzer配置;
支持了22种声光效果,通过Core1无堵塞通信控制;
实现Config导入并自动分配扇区保存至Flash中,支持菜单参数的获取保存和主动保存;
支持由Config文本自动生成菜单框架;
新增状态显示LED(StateLED)的显示;
优化大量已知问题;
SW.v.a1.4.2-2025.04.25:
全面支持了面向对象的菜单页面、项目生成,包含10种项目类型;
实现根据菜单框架和控制结果,生成渲染内容;
实现对按键的长按、短按、组合键的判定,并引入控制;
支持了10种Sendmode输出发送模式;
对ChangeValue项目优化,增加配置选项;
优化已知问题;
SW.v.a1.3.1-2025.03.25:
实现与SGate硬件配置适配;
实现IIC驱动对90Hz SSD1306 OLED的支持;
优化和增添字库;
优化SSD1306绘制逻辑;
优化已知问题;
SW.v.a1.0.0-2024.11.27:
完成基本功能设计;
支持了面向对象的菜单页面、项目生成;
实现根据菜单框架和控制结果,生成渲染内容;
D.菜单生成工具版本(Gen.):
Gen.v.1.0- 2025.06.01:
引入VBA控制,实现一键复制并唤起配置工具;
扩充Connection Mode的选项;
增加了选项说明;
Gen.v.b1.0.0- 2025.05.13:
实现可视化Config文本生成,实现选项选择、类型检查、高亮标注等功能;
支持直接配置菜单设定;
E.配置工具版本(Cfg.):
Cfg.v1.0- 2025.06.01:
支持读取端口设备,自动读取剪切板,分包发送配置内容并支持返回数据显示;
SGate MMC - 电导不是韩导@bilibili