YuanHongbin
|
fe4b9fabf8
|
fix(flash,upgrade): 注册应答/Flash并发/参数校验修复+升级后擦参数分区+注释统一UTF-8
- 注册应答先发后写Flash,重复注册参数无变化时跳过写入;SX1276发送前等待上一帧TxDone,防止应答帧被下一帧截断
- SPI Flash操作增加互斥锁(ReadPara/WritePara/AddLog/SavLogNum),修复多线程并发写坏参数镜像
- WritePara自行擦除参数区全部扇区并加越界保护;移除通用写函数中的日志簿记副作用(双擦+LastLogEndAddr污染)
- 开机参数加载增加CRC校验与通讯单元表语义清洗;修复忽略ReadPara返回值导致坏镜像放行并被回写洗白的问题
- RS485Send函数指针每次开机重设,不再从Flash恢复旧固件代码地址
- Boot升级完成置APP_BOOT_UPGRADE_FLAG,App启动时仅擦外部参数分区(扇区0~1,历史日志保留)并恢复标志
- 参数SavFlag绑定PARA_LAYOUT_VER布局版本戳,布局变更自动回退默认参数
- res gxjt改为仅擦参数分区,不再触发全片扫描
- 全部源码注释统一UTF-8(无BOM),修复历史GBK/UTF-8混合编码及乱码字符
- 软件版本 1.2 -> 1.3
|
2026-09-03 19:00:24 +08:00 |
|
YuanHongbin
|
a6c8cd8a71
|
feat(lora): Lora中心频率改为470.1~492.6MHz共46信道(500kHz步进)+校验范围同步 软件版本V1.2
|
2026-09-02 12:32:21 +08:00 |
|
YuanHongbin
|
68a5a185fc
|
feat(update): 升级链路打通(0x7D+DevMac协议)+Boot参数配置迁移(MAC/服务器/Lora频率/通道)+清理死代码(SD/FatFS/utils/protocol/ringbuffer等) 软件版本V1.1
|
2026-09-01 11:14:07 +08:00 |
|
YuanHongbin
|
8bcc2c41d0
|
feat(debug): para命令Cat1 IMEI/SIM始终显示+输出同时转发RS485 Ch1
1. para命令的Cat1 IMEI和SIM打印不再受ChannelIsActive(CH_CAT1)限制,
无论Cat1配置为Much/Auch/Duch/Cuch哪个通道(或未配置)都显示
2. 新增ParaEchoCh1标志: 执行para命令时, 除正常调试输出外,
额外通过RS485Ch1UartSend向RS485 Ch1发送一份相同的调试信息,
与Duch通讯方式无关; 命令结束后标志复位, 不影响其他命令
|
2026-08-25 18:35:15 +08:00 |
|
YuanHongbin
|
ce1611dedc
|
fix(debug): help命令补充fpocfg参数打印
|
2026-08-24 16:13:26 +08:00 |
|
YuanHongbin
|
a4c33daa89
|
fix(rtc): 修复TimeSync东八区偏移越界导致0~8点反复重启
根因: TimeSync中td->tm_hour+8, 当UTC为16:00~23:59(北京0:00~7:59)时
加8溢出为24~31, 超出RTC 24小时制合法范围(0~23), 触发
RTC_SetDateTime的DDL_ASSERT断言失败, Ddl_AssertHandler死循环,
看门狗超时复位, 导致设备在0点到8点整反复重启。
修复: 将东八区偏移+8小时先加到时间戳ts上, 再经localtime折算
年月日时分秒, tm_hour始终在0~23, 日期/月份也能正确进位。
|
2026-08-23 14:35:58 +08:00 |
|
YuanHongbin
|
4cf73b5a0f
|
fix(eth): 增加服务器无应答兜底复位+链路断开清除注册标志
1. 新增SendNoDataCnt计数器: Much=ETH时每次发送累加, 连续>10次
无任何下行数据回应(0x7A帧)则置MuchRegFlag=false并ETH_RESET复位,
解决服务器在线但不应答时网关一直沉默无感知的问题
2. ETH_WAIT_RECV和ETH_WAIT_SEND检测到物理链路断开时立即清除
MuchRegFlag, 保证重连后强制重新注册, para显示为false
3. ETH_RESET和ETH_OFF时清零SendNoDataCnt, 避免计数器残留
4. 复位后MuchRegFlag=false使ETH_REG_SVR真正等待注册响应并重试,
修复原逻辑中复位后注册流程被MuchRegFlag=true跳过的问题
|
2026-08-20 16:47:56 +08:00 |
|
YuanHongbin
|
f07b59163a
|
fix(cat1): 修复DUCH模式30分钟重连空白期+TCP重连失败立即关机问题
1. DUCH_MODE 30分钟到期: 原走CAT_ONE_INIT(完整重初始化+不关TCP导致LIPOPEN失败→关机5分钟),
改为CLOSE_TCP→TCP_CONN(关TCP重开,~3秒恢复)
2. LIPOPEN: 0,0 重连失败: 原直接CAT_ONE_OFF(关机5分钟),
改为重试3次(每次关TCP→等5秒→重开), 都失败才关机
3. LIPOPEN: 0,1 连接成功: 重置重试计数器RegisterDelayCnt
4. CAT_ONE_CLOSE_TCP: 使用CatOne.NextStatus替代硬编码CAT_ONE_OFF,支持关TCP后跳转指定状态
5. LIPSEND失败路径: 进CLOSE_TCP前设置NextStatus=CAT_ONE_OFF保持原有行为
6. CAT_ONE_OFF: 重置RegisterDelayCnt
7. 版本信息移至main.h, 简化bsp.h硬件版本条件编译
|
2026-08-19 16:17:48 +08:00 |
|
YuanHongbin
|
988bc99631
|
feat(debug): 优化culs显示+lpcfg支持MAC参数指定设备
1. culs命令优化:
- 新增LpCfg参数显示(CI/RI/EI/ET)
- FPO状态基于CurFPOTime判断(Pending/FullPower/LowPower)
- 移除para命令中的LpCfg打印(原为常量默认值)
2. lpcfg命令新增MAC参数支持:
- lpcfg <Mac|all> <CI> <RI> <EI> <ET>
- 支持指定单个设备或all配置全部设备
- 与fpocfg命令风格统一
|
2026-08-17 18:32:35 +08:00 |
|
YuanHongbin
|
974df2bcbc
|
fix(reg): 修复传感器重新注册后首包数据上传超时Bug
问题: 传感器重新上电重新注册时,网关回应REG后执行WritePara(SPI Flash擦写),
导致LoRa模块停留在TX状态无法接收传感器紧接着发来的数据包,传感器超时
修复: 将WritePara移到CommUnitCmdSend之前,确保REG回应发送后LoRa能尽快回到RX模式
影响: 仅COMM_UNIT_CMD_REG设备已存在分支,新设备首次注册分支已是正确顺序
|
2026-08-13 12:32:24 +08:00 |
|
YuanHongbin
|
5b4b352244
|
feat(fpo): 新增全功率时间配置功能+修复跨天判断Bug+清理合并冲突残留
1. FPO全功率时间配置功能:
- 新增COMM_UNIT_CMD_SET_FPO_TIME(0x0A)通讯单元命令和NET_COMM_CMD_FPO_CONFIG(0x0A)服务器下发命令
- CommUnitPara_t新增FPOTimeFlag/FPOTimeConfirmed/FPOTimeStart/FPOTime/CurFPOTimeStart/CurFPOTime字段
- 实现TrySendFullPowerCmd: 全功率时段直接下发配置/激光/校准/校时命令
- DebugCmd新增fpocfg命令,支持按MAC或all配置全功率时间
- lscomm命令显示FPO状态(Start/Dur/End/FullPower/LowPower/Pending)
2. 修复FPO跨天判断Bug: 显式处理全天(Dur>=24), endHour>24替代<=24, endHour-24替代%24
3. 新增传感器类型: EWS_7(0x0021)/MULTI_PARAMETER_FUSION(0x000D)/CRACK_DETECTION(0x000E)/ATTITUDE_MONITOR(0x0010)
4. 清理合并冲突残留: 删除8个README_BACKUP/BASE/LOCAL/REMOTE_*.md文件
5. 注释规范化: 统一Public.h结构体字段注释格式
|
2026-08-13 11:38:41 +08:00 |
|
YuanHongbin
|
2f11f04c84
|
fix(netcomm): up上传应答帧Cmd=0x08走NET_COMM_CMD_ALARM分支
up命令发送NET_COMM_CMD_ALARM(0x08),服务器回传Cmd=0x08,
switch原先无ALARM分支落入default。补充case NET_COMM_CMD_ALARM
处理up上传应答,并修正回调注释与HIS_DATA分支收尾格式。
|
2026-08-07 11:08:26 +08:00 |
|
YuanHongbin
|
5ec1a18632
|
fix(rtc): 修正RTC时间时区偏移+8小时(北京时间)
- TimeSync去除localtime时区转换
- GateWayInit启动时区偏移校正
|
2026-08-06 18:09:06 +08:00 |
|
YuanHongbin
|
434e63287e
|
fix(duch): Cat1 DUCH模式30分钟跑满->CAT_ONE_INIT重初始化
- DUCH_MODE while循环累计实际延时runMs
- 30分钟(1,800,000ms)后设CAT_ONE_INIT+AtCmdIdx=0重走初始化
- 断线靠+LIPURC:0,0 URC走OFF->IDEL重连
- Cat1DuchReady=false+break防fallthrough到OFF
|
2026-08-04 16:52:25 +08:00 |
|
YuanHongbin
|
706421d387
|
fix(duch,laser): duch cat1网络指令解析+LaserOnOff状态更新
- Cat1Rev_Thread +LIPURC拦截去dLen<24限制, 全量DebugAnalyze(Task网络指令)
- COMM_UNIT_CMD_CONT_LASER回应处置LaserOnOff真实值(设备自动关/开)
|
2026-08-04 14:10:55 +08:00 |
|
YuanHongbin
|
de3b026b34
|
fix(cat1,rs485,culs): 修复8项Bug+culs显示优化
修复:
- Cat1OverHandler短AT应答阈值>5->>0, 修复OK/ERROR等4字节响应丢弃
- +LIPURC短数据双重解析, 去重只保留接收线程拦截
- Auch模式CAT_ONE_REV_DATA信号量残留, 加rt_sem_take(0)消费
- sscanf %s限宽%119s防rData[120]栈溢出
- Cat1接收线程先清零CatOneRxLen再处理, 防ISR数据丢失
- RS485同样快照长度先清零再memcpy, 防竞态
- RS485 ch1 upgrade off误写Ch2
- LoraIRQ线程栈512->1024
culs显示优化:
- DevType+SensorNum一行, 每个传感器Master/Slave MAC Type [Laser]
- Bat/Rssi/Snr汇总一行, Online末行
- 空Type填null, 激光设备显示Laser On/Off
|
2026-07-31 11:01:37 +08:00 |
|
YuanHongbin
|
92937f36d2
|
feat(duch): Cat1 DUCH模式环形缓冲区+AT+QISEND明文输出
- Cat1仅DUCH时走独立环形缓冲区(8192B),Debug_Printf按\r\n分行写入
- DUCH_MODE逐段AT+QISEND=0,n raw模式发送,\x1A结尾,500ms间隔
- 长日志(para/help)全量明文到达,无丢包
- Cat1DuchReady标志+Cat1DuchSend外部接口
- rt_hw_console_output CH_CAT1保持DebugOrCat1UartSend(未变)
|
2026-07-29 19:51:08 +08:00 |
|
YuanHongbin
|
31f6f4af9a
|
feat(channel): 6通道独立调度+MQueue/DEBUG_Printf重构/冗余清理
通道系统:
- 新增Channel_m枚举(CH_NULL/DBG/CH1/CH2/ETH/LORA/CAT1)
- Much/Auch/Duch/CuchMask替代旧Comm/DebugChannel
- ChannelIsActive宏四重身份检查, ChannelMQ每通道独立队列
- much/auch/duch/cuch命令(互斥检查+USART1 pair冲突)
- 各通道任务按ChannelIsActive休眠/活跃
双回调分离:
- SvrRegFlag->MuchRegFlag+AuchRegFlag
- _NetRevCallBack+pRegFlag实现Much/Auch回调复用
MQ重构:
- ChMQ[6]每通道独立队列替代NetSendData_MQ
- UploadSend无条件下发Much+Auch双队列
- Cat1/ETH/RS485/Lora各自消费ChMQ
注册流程:
- 注册帧绕MQ直接发送(解决FIFO顺序冲突)
- NetCommOrgData输入输出buffer分离(解决重叠bug)
- Much首次连上必注册, Auch跳过注册直接发送
- ETH_REG_SVR SendRetryCnt首次清零(解决无限重试)
- 状态机不再清零注册标志
调试通道:
- Debug_Printf->rt_kprintf->rt_hw_console_output全ch路由
- rt_hw_console_output 6通道switch
- EthTxMutex保护USART4多线程安全
- ETH接收线程非0x7A帧头->DebugAnalyze(网络debug指令)
- EthOverHandler阈值>5->>0(短指令接收)
冗余清理:
- 删Cat1UpdateCallback/Cat1SendRegister/ETHSendRegister
- 删InfTest/FSInit/SDCardTest死代码
- 删unused includes/macros/variables
- 删vcom_Print/buff/ir中间层
- DEBUG_CMD_CNT实际对齐
- 中文标点修正
- 默认: Much=ETH Auch=null Duch=ETH Cuch=LORA
|
2026-07-28 16:25:32 +08:00 |
|
YuanHongbin
|
f40c422684
|
feat(uart): 分离ETH与Cat1通讯,支持UART1/Cat1/Debug互斥切换
Breaking Changes:
- USART1(PA11/PA12)改为Cat1(115200)/Debug(500000)共享,SGM3157控制
- USART4(PB09/PC13)独家给ETH(115200),不再共享
- 新增EthTask独立状态机,与CatOneTask解耦运行
- 上电默认Comm=CATONE_COMM,dch=RS485_CH1
Details:
- feat: 新增EthTask.c/h,ETH状态机(8态)独立运行
- refactor: CatOneTask移除ETH代码,AT发送/接收走USART1
- feat: comm cat1/eth命令增加USART1占用互斥检查
- feat: dch dbg命令增加USART1占用互斥检查
- feat: rt_kprintf根据dch通道自动路由(USART1/RS485)
- feat: 新增eth on/off调试打印开关命令
- fix: 两个状态机按Comm模式判断休眠,避免误发AT
- fix: bsp.c修复IRQ回调函数名不匹配(BusFault隐患)
- fix: PB08(PortB Pin08)PORT_Init触发复位,改用外部上拉+POUTE单bit使能
- fix: DebugCmd命令表DEBUG_CMD_CNT与实际条目数不符(crash风险)
- chore: 删除InfTest死函数、重复include、无用宏声明、EthRev_Sem等冗余代码
- chore: 更正中文标点(!→! ,→,)
|
2026-07-22 12:36:01 +08:00 |
|
YuanHongbin
|
d08ca726df
|
chore: 源码编码GB2312统一转换为UTF-8
25个含有中文注释的.c/.h文件编码格式从GB2312转为UTF-8(无BOM)。中文字符从2字节编码变为3字节编码,注释内容保持不变。
|
2026-07-20 14:27:37 +08:00 |
|
YuanHongbin
|
26e48126c8
|
fix: 修复9项致命/严重Bug
C1 protocol.c: frame_len>64校验防溢出 C3 DebugCmd: 5处argc空指针检查 C4 DebugCmd: Rs485Cmd->CommUnitCmd溢出 C5 main: Debug_Thread线程指针检查 C7 Public: 注册循环变量遮蔽修正 C8 spiflash: memcmp越界读修正 H1 RS485Task: 通道号布尔判断修正 H2 DebugCmd: 边界检查&&->||
|
2026-07-14 18:52:51 +08:00 |
|
YuanHongbin
|
aca260ba54
|
fix: boot升级后擦除外Flash防参数偏移,修复8项Bug
新增APP_BOOT_UPGRADE_FLAG标记,boot升级后APP启动时检测并擦除外部Flash避免参数偏移。修复: CatSendErrCnt清零、Mac索引、时间同步指针、HIS_DATA break、Ch2校准标志、RS485离线通知格式、LoraSetFreqCent参数。
|
2026-07-14 17:25:08 +08:00 |
|
YuanHongbin
|
4e45de919c
|
feat(sensor): 新增Lora信号质量查询指令(0x09)及多项Bug修复
新增 COMM_UNIT_CMD_GET_SIGNAL(0x09): 传感器可查询与网关的Lora信号质量,无需注册,回应SNR/RSSI各1字节,回应后打印日志并刷新CommErrCnt/在线状态。CommUnitCmdSend对GET_SIGNAL豁免注册检查。culs命令新增传感器在线状态显示。Bug修复: CatSendErrCnt清零、Mac索引修正、时间同步指针修正、HIS_DATA break补全、Ch2校准标志修正、RS485离线通知格式修正、LoraSetFreqCent参数修正
|
2026-07-14 10:13:25 +08:00 |
|
YuanHongbin
|
38b9663320
|
refactor(eth): 删除ETH参数配置/显示及枚举结构体,保留基本通讯功能
- 删除 EthIpMode_m/EthWorkMode_m 枚举,EthNetPara_t 改用 uint8_t
- 删除 ETHApplyNetPara() 函数及其调用
- 删除 main.c 中 ETH 默认参数初始化
- 删除 DebugCmdEthNet CLI配置命令
- 删除 DebugCmdGetPara 中 ETH 参数显示
- 保留 ETHTriggerRegister/EthLoopHandler 等基本通讯
|
2026-07-13 15:51:49 +08:00 |
|
YuanHongbin
|
95a0ecda5b
|
chore: 将子模块(FatFS/GateWay_Debug/SDCard/sx127x)转为普通目录,纳入主仓库管理
|
2026-07-13 12:07:19 +08:00 |
|
YuanHongbin
|
b75df5e0fc
|
fix(cat1/eth): 修复通信模块重连后SvrRegFlag未清零导致跳过注册的问题
|
2026-06-25 17:23:02 +08:00 |
|
YuanHongbin
|
c8986a8074
|
chore: 更新子模块指针到最新提交
|
2026-06-22 11:41:32 +08:00 |
|
YuanHongbin
|
74a0193e3d
|
chore: 清理废弃模块代码
|
2026-06-22 10:11:33 +08:00 |
|
YuanHongbin
|
a87bc24b01
|
chore: 更新 Gateway_Debug 子模块到最新提交
|
2026-06-17 17:47:38 +08:00 |
|
YuanHongbin
|
1f255cb3ef
|
fix(eth): 修复EthNet模块参数配置和调试命令问题
|
2026-06-17 17:46:33 +08:00 |
|
YuanHongbin
|
2a7c8e4b3b
|
chore: 更新 Gateway_Debug 子模块到最新提交
|
2026-06-17 12:33:11 +08:00 |
|
YuanHongbin
|
dd8018e9bb
|
feat(eth): 完善YOXO1007以太网模块配置和调试命令
|
2026-06-17 12:30:57 +08:00 |
|
YuanHongbin
|
626a486945
|
feat(debug): 新增 up 上传网关状态和 reg 重新注册命令
|
2026-06-15 18:56:53 +08:00 |
|
YuanHongbin
|
8052721c21
|
chore: 更新 Gateway_Debug 子模块的提交哈希
将子模块 Gateway_Debug 从 7e55f4c 更新到 765fe78
|
2026-06-15 15:18:46 +08:00 |
|
YuanHongbin
|
44e679182d
|
fix: 修复以太网控制逻辑,调整硬件版本引脚映射
1. 移除main.h中的软硬件版本宏定义,移至bsp.h
2. 新增ETHStop和ETHReset对外接口并实现对应逻辑
3. 注释掉原有的ETH硬件复位延时流程
4. 根据硬件版本适配ETH和CAT1的引脚控制逻辑
5. 清理冗余的CAT1电源引脚宏定义
|
2026-06-15 15:11:23 +08:00 |
|
YuanHongbin
|
21cb23d0b9
|
refactor(rs485): 拆分通讯单元参数和数据结构体
调整RS485配置结构体,将原CUData拆分为CUPara和CUData,修正多处引用的字段名,同时修复CommUnitAnalyze中的数据拷贝偏移和包长度计算错误
|
2026-06-12 18:14:43 +08:00 |
|
YuanHongbin
|
030c22472d
|
refactor(GateWay): 重构ETH通信状态机并调整测试配置
1. 将MAC_ADDR_TYPE从9改为0,使用测试MAC地址配置
2. 移除硬编码的服务器地址和端口默认值
3. 新增ETH状态机管理,完善链路检测、重连和收发逻辑
4. 添加一系列ETH通信超时、重试相关的宏定义
5. 新增调试观察窗口配置
|
2026-06-11 19:17:31 +08:00 |
|
YuanHongbin
|
d05345afb7
|
1、位移监测传感器上传参数修改
2、CatOneTask兼容新版4G模块
3、完善传感器类型SensorType_m结构
|
2026-06-05 11:08:54 +08:00 |
|
YuanHongbin
|
7103c8ddfb
|
1、增加ExclCommUint_t结构体,用于排除指定通讯单元的MAC
2、修复了复位后重复定义各项参数的bug。只有从flash读取到的出厂标志位错误时,才会进入配置默认参数判断,否则会以从flash读取到的数据为配置参数
3、增加CheckCommUnitExcl函数,用于查询mac是否被排除
GateWay_Debug:
1、rs485配置函数增加了boot升级使能功能
2、增加了excu、exdel、exls命令,用于配置排除设备的增、删、查
3、para命令增加显示LpCfg参数
sx127x:
1、lora通道选择取消,通过修改频率来修改通道
|
2026-05-21 17:30:35 +08:00 |
|
YuanHongbin
|
37d8152227
|
Debug文件修改仓库命名
|
2026-05-15 16:04:13 +08:00 |
|
YuanHongbin
|
3eb57965a5
|
修复了修改服务器ip和端口无提示信息的bug
|
2026-05-15 15:29:10 +08:00 |
|
YuanHongbin
|
55a82c6a50
|
添加位移监测传感器结构体及解包
|
2026-05-15 15:15:42 +08:00 |
|
YuanHongbin
|
942275328c
|
SDCard文件修改为子模块方式
|
2026-05-15 13:52:02 +08:00 |
|
YuanHongbin
|
cdc0c59a3f
|
1、删除AD7924目录文件
2、删除SDCard目录文件
3、删除SHT20目录文件
|
2026-05-15 13:46:05 +08:00 |
|
YuanHongbin
|
9bb3309b30
|
FatFS文件修改为子模块方式
|
2026-05-15 13:41:56 +08:00 |
|
YuanHongbin
|
b93dda47ab
|
删除FatFS目录文件
|
2026-05-15 13:38:30 +08:00 |
|
YuanHongbin
|
72cf076b31
|
sx127x文件修改为子模块方式
|
2026-05-15 13:30:54 +08:00 |
|
YuanHongbin
|
28ef3921a1
|
删除SX127x目录文件
|
2026-05-15 13:28:35 +08:00 |
|
YuanHongbin
|
5383c83937
|
DebugCmd文件修改为子模块方式
|
2026-05-14 17:54:04 +08:00 |
|
YuanHongbin
|
2bf447ce1c
|
DebugCmd文件修改为子模块方式
|
2026-05-14 10:37:06 +08:00 |
|