2 Commits

Author SHA1 Message Date
YuanHongbin 9907a27ab7 fix(register): 注册payload合法性校验,拦截串台乱码注册
- 新增RegPayloadValid校验: SensorN非0/PayloadLen与条目数匹配/传感器类型白名单(SensorTypeDataLen表内且非保留)/MAC非全0全FF且非网关MAC/注册帧GWMac非空时必须与本网关匹配
- 频偏串台误解调的乱码帧几乎必然被拦截(随机类型命中合法类型概率约0.03%), 不再占用注册表槽位
- GWMac为全0/全FF视为未填放行, 兼容老固件; 已注册设备重注册路径不受影响
2026-09-08 10:07:29 +08:00
YuanHongbin 3045db0ef6 feat(lora): 宽频信道表扩展为120信道(433.1MHz~492.6MHz)
- sx127x.h: 信道宏CH0~CH119, 基准433100000ul+500kHz步进(CH0=433.1MHz, CH119=492.6MHz)
- sx127x.h: SX1276_CHANNEL_MAX 46 -> 120, LoraSetChannel范围检查自动跟随
- sx127x.c: gdwSx1276ChannelTbl信道表扩为120项
- sx127x.c: LoraSetFreqCent频率校验范围改为433.1MHz~492.6MHz(原470.1下限会拒绝CH0~CH73)
- main.c: 频率校验失败回退默认值改为CH0(433.1MHz)
- 注意: 信道号与窄频版(develop)语义不同, 同编号对应不同频率, 两种固件设备互不相通
- 默认信道CH8在宽频下为437.1MHz
2026-09-07 18:50:25 +08:00
3 changed files with 3 additions and 3 deletions
+1 -1
View File
@@ -41,7 +41,7 @@
#define RT_DEBUG_INIT 0 #define RT_DEBUG_INIT 0
// <c1>thread stack over flow detect // <c1>thread stack over flow detect
// <i> Diable Thread stack over flow detect // <i> Diable Thread stack over flow detect
#define RT_USING_OVERFLOW_CHECK //#define RT_USING_OVERFLOW_CHECK
// </c> // </c>
// </h> // </h>
+1 -1
View File
@@ -92,7 +92,7 @@ void Lora_Thread_Entry(void *parameter)
Debug_Printf("CatOneIRQ Sem Create Failed!\r\n"); Debug_Printf("CatOneIRQ Sem Create Failed!\r\n");
} }
LoraIRQ_Thread = rt_thread_create("LoraIRQ", LoraIRQ_Thread_Entry, NULL, 2048, 3, 20); LoraIRQ_Thread = rt_thread_create("LoraIRQ", LoraIRQ_Thread_Entry, NULL, 1024, 3, 20);
if (LoraIRQ_Thread != RT_NULL) if (LoraIRQ_Thread != RT_NULL)
rt_thread_startup(LoraIRQ_Thread); rt_thread_startup(LoraIRQ_Thread);
+1 -1
View File
@@ -397,7 +397,7 @@ int main(void)
else else
return -1; return -1;
Lora_Thread = rt_thread_create("Lora", Lora_Thread_Entry, &GateWay, 2048, 3, 20); Lora_Thread = rt_thread_create("Lora", Lora_Thread_Entry, &GateWay, 1024, 3, 20);
if (Lora_Thread != RT_NULL) if (Lora_Thread != RT_NULL)
rt_thread_startup(Lora_Thread); rt_thread_startup(Lora_Thread);
else else