diff --git a/checker_gen1.uvprojx b/checker_gen1.uvprojx
index 8190772..9fec3d2 100644
--- a/checker_gen1.uvprojx
+++ b/checker_gen1.uvprojx
@@ -10,7 +10,7 @@
app
0x4
ARM-ADS
- 5060960::V5.06 update 7 (build 960)::.\ARMCC
+ 5060750::V5.06 update 6 (build 750)::ARMCC
0
@@ -185,7 +185,6 @@
0
2
0
- 0
1
0
8
@@ -352,7 +351,7 @@
0
0
0
- 4
+ 0
@@ -1550,7 +1549,6 @@
0
2
0
- 0
1
0
8
@@ -1717,7 +1715,7 @@
0
0
0
- 4
+ 0
@@ -2084,6 +2082,57 @@
if_uart.c
1
.\source\interface\if_uart.c
+
+
+ 2
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 2
+ 2
+ 2
+ 11
+
+
+ 1
+
+
+
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+ 0
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+
+
+
+
+
+
+
+
+
if_rtt.c
@@ -2279,7 +2328,7 @@
2
2
2
- 0
+ 2
@@ -3203,7 +3252,7 @@
2
2
2
- 0
+ 2
@@ -3297,7 +3346,7 @@
2
2
2
- 0
+ 2
@@ -4014,7 +4063,7 @@
2
2
2
- 0
+ 2
@@ -4168,7 +4217,7 @@
2
2
2
- 0
+ 2
@@ -4247,7 +4296,7 @@
2
2
2
- 0
+ 2
diff --git a/python/file/EX_Coder_Test_2023-07-7.json b/python/file/EX_Coder_Test_2023-07-7.json
new file mode 100644
index 0000000..1bc91f7
--- /dev/null
+++ b/python/file/EX_Coder_Test_2023-07-7.json
@@ -0,0 +1,785 @@
+{
+ "PlanID": 48631940,
+ "PlanBrief": "模拟工厂注码",
+ "CheckSoftVersion": [
+ 1
+ ],
+ "CheckHardVersion": [
+ 1
+ ],
+ "TimeOutS": 4,
+ "TimeOutM": 10,
+ "TimeOutUI": 12,
+ "TaskIDMax": 26,
+ "TaskArray": [
+ {
+ "TaskID": 0,
+ "TaskBrief": "电源准备",
+ "TaskIndex": 0,
+ "ParamCount": 1,
+ "ParamInfo": [
+ "预设电压1"
+ ],
+ "ParamVal": [
+ 88
+ ],
+ "TestStandard": [],
+ "ReturnCount": 0,
+ "ReturnInfo": [],
+ "ErrJumpTo": 255,
+ "ExecuteErrCode": 254,
+ "ResultErrCode": [],
+ "RetryCount": 0
+ },
+ {
+ "TaskID": 1,
+ "TaskBrief": "上电充能",
+ "TaskIndex": 1,
+ "ParamCount": 3,
+ "ParamInfo": [
+ "总线电压",
+ "采样超时0.1ms",
+ "计时启停ADC"
+ ],
+ "ParamVal": [
+ 88,
+ 5000,
+ 400
+ ],
+ "TestStandard": [
+ {
+ "Max": 95,
+ "Min": 80
+ },
+ {
+ "Max": 800,
+ "Min": 100
+ }
+ ],
+ "ReturnCount": 2,
+ "ReturnInfo": [
+ "总线电压",
+ "大于启停的时间"
+ ],
+ "ErrJumpTo": 255,
+ "ExecuteErrCode": 254,
+ "ResultErrCode": [
+ 23,
+ 22
+ ],
+ "RetryCount": 0
+ },
+ {
+ "TaskID": 5,
+ "TaskBrief": "写配置参数",
+ "TaskIndex": 2,
+ "ParamCount": 4,
+ "ParamInfo": [
+ "UID长度",
+ "密码长度",
+ "电流挡位",
+ "版本号"
+ ],
+ "ParamVal": [
+ 8,
+ 4,
+ 0,
+ 1
+ ],
+ "TestStandard": [],
+ "ReturnCount": 0,
+ "ReturnInfo": [],
+ "ErrJumpTo": 255,
+ "ExecuteErrCode": 28,
+ "ResultErrCode": [],
+ "RetryCount": 1
+ },
+ {
+ "TaskID": 32,
+ "TaskBrief": "加载配置",
+ "TaskIndex": 3,
+ "ParamCount": 0,
+ "ParamInfo": [],
+ "ParamVal": [],
+ "TestStandard": [
+ {
+ "Max": 8,
+ "Min": 8
+ },
+ {
+ "Max": 4,
+ "Min": 4
+ },
+ {
+ "Max": 1,
+ "Min": 1
+ }
+ ],
+ "ReturnCount": 3,
+ "ReturnInfo": [
+ "UID长度",
+ "密码长度",
+ "版本号"
+ ],
+ "ErrJumpTo": 255,
+ "ExecuteErrCode": 29,
+ "ResultErrCode": [
+ 29,
+ 29,
+ 29,
+ 255
+ ],
+ "RetryCount": 0
+ },
+ {
+ "TaskID": 3,
+ "TaskBrief": "获取总线电流(0.1uA)",
+ "TaskIndex": 4,
+ "ParamCount": 0,
+ "ParamInfo": [],
+ "ParamVal": [],
+ "TestStandard": [
+ {
+ "Max": 400,
+ "Min": 120
+ },
+ {
+ "Max": 400,
+ "Min": 120
+ }
+ ],
+ "ReturnCount": 2,
+ "ReturnInfo": [
+ "总线正电流",
+ "总线反电流"
+ ],
+ "ErrJumpTo": 255,
+ "ExecuteErrCode": 254,
+ "ResultErrCode": [
+ 27,
+ 27
+ ],
+ "RetryCount": 0
+ },
+ {
+ "TaskID": 4,
+ "TaskBrief": "扫描UID",
+ "TaskIndex": 5,
+ "ParamCount": 2,
+ "ParamInfo": [
+ "UID长度",
+ "使1/失0UID对比"
+ ],
+ "ParamVal": [
+ 8,
+ 0
+ ],
+ "TestStandard": [],
+ "ReturnCount": 0,
+ "ReturnInfo": [],
+ "ErrJumpTo": 14,
+ "ExecuteErrCode": 24,
+ "ResultErrCode": [],
+ "RetryCount": 0
+ },
+ {
+ "TaskID": 11,
+ "TaskBrief": "桥丝检测",
+ "TaskIndex": 6,
+ "ParamCount": 0,
+ "ParamInfo": [],
+ "ParamVal": [],
+ "TestStandard": [
+ {
+ "Max": 240,
+ "Min": 0
+ }
+ ],
+ "ReturnCount": 1,
+ "ReturnInfo": [
+ "桥丝ADC"
+ ],
+ "ErrJumpTo": 14,
+ "ExecuteErrCode": 30,
+ "ResultErrCode": [
+ 30
+ ],
+ "RetryCount": 0
+ },
+ {
+ "TaskID": 8,
+ "TaskBrief": "充能统计",
+ "TaskIndex": 7,
+ "ParamCount": 5,
+ "ParamInfo": [
+ "充电挡位",
+ "统计超时",
+ "电流判线AD",
+ "充电结束值0.1uA",
+ "充电超时0.1S"
+ ],
+ "ParamVal": [
+ 34,
+ 5000,
+ 100,
+ 600,
+ 5
+ ],
+ "TestStandard": [
+ {
+ "Max": 4000,
+ "Min": 1000
+ },
+ {
+ "Max": 600,
+ "Min": 120
+ },
+ {
+ "Max": 100,
+ "Min": 10
+ }
+ ],
+ "ReturnCount": 3,
+ "ReturnInfo": [
+ "充能值0.1ms",
+ "充末电流0.1uA",
+ "最大充电电流0.1mA"
+ ],
+ "ErrJumpTo": 255,
+ "ExecuteErrCode": 254,
+ "ResultErrCode": [
+ 34,
+ 35,
+ 32,
+ 255
+ ],
+ "RetryCount": 0
+ },
+ {
+ "TaskID": 24,
+ "TaskBrief": "状态码检测",
+ "TaskIndex": 8,
+ "ParamCount": 2,
+ "ParamInfo": [
+ "比较掩码",
+ "比较位"
+ ],
+ "ParamVal": [
+ 130,
+ 0
+ ],
+ "TestStandard": [
+ {
+ "Max": 255,
+ "Min": 0
+ }
+ ],
+ "ReturnCount": 1,
+ "ReturnInfo": [
+ "状态值"
+ ],
+ "ErrJumpTo": 14,
+ "ExecuteErrCode": 46,
+ "ResultErrCode": [
+ 46
+ ],
+ "RetryCount": 0
+ },
+ {
+ "TaskID": 26,
+ "TaskBrief": "复位",
+ "TaskIndex": 9,
+ "ParamCount": 0,
+ "ParamInfo": [],
+ "ParamVal": [],
+ "TestStandard": [],
+ "ReturnCount": 0,
+ "ReturnInfo": [],
+ "ErrJumpTo": 255,
+ "ExecuteErrCode": 254,
+ "ResultErrCode": [],
+ "RetryCount": 0
+ },
+ {
+ "TaskID": 9,
+ "TaskBrief": "设置现场值",
+ "TaskIndex": 10,
+ "ParamCount": 3,
+ "ParamInfo": [
+ "编号",
+ "延时",
+ "孔号"
+ ],
+ "ParamVal": [
+ 20,
+ 100,
+ 20
+ ],
+ "TestStandard": [],
+ "ReturnCount": 0,
+ "ReturnInfo": [],
+ "ErrJumpTo": 255,
+ "ExecuteErrCode": 254,
+ "ResultErrCode": [],
+ "RetryCount": 0
+ },
+ {
+ "TaskID": 19,
+ "TaskBrief": "时钟校准",
+ "TaskIndex": 11,
+ "ParamCount": 3,
+ "ParamInfo": [
+ " 1快速0全",
+ "校准周期",
+ "校准时长"
+ ],
+ "ParamVal": [
+ 0,
+ 1000,
+ 110
+ ],
+ "TestStandard": [],
+ "ReturnCount": 0,
+ "ReturnInfo": [],
+ "ErrJumpTo": 255,
+ "ExecuteErrCode": 254,
+ "ResultErrCode": [],
+ "RetryCount": 0
+ },
+ {
+ "TaskID": 24,
+ "TaskBrief": "状态码检测",
+ "TaskIndex": 12,
+ "ParamCount": 2,
+ "ParamInfo": [
+ "比较掩码",
+ "比较位"
+ ],
+ "ParamVal": [
+ 10,
+ 10
+ ],
+ "TestStandard": [
+ {
+ "Max": 255,
+ "Min": 0
+ }
+ ],
+ "ReturnCount": 1,
+ "ReturnInfo": [
+ "状态值"
+ ],
+ "ErrJumpTo": 255,
+ "ExecuteErrCode": 46,
+ "ResultErrCode": [
+ 255
+ ],
+ "RetryCount": 0
+ },
+ {
+ "TaskID": 10,
+ "TaskBrief": "比对现场值",
+ "TaskIndex": 13,
+ "ParamCount": 4,
+ "ParamInfo": [
+ "编号",
+ "延时",
+ "孔号",
+ "1使/0失反馈采集"
+ ],
+ "ParamVal": [
+ 20,
+ 100,
+ 20,
+ 1
+ ],
+ "TestStandard": [
+ {
+ "Max": 1700,
+ "Min": 800
+ },
+ {
+ "Max": 400,
+ "Min": 150
+ }
+ ],
+ "ReturnCount": 2,
+ "ReturnInfo": [
+ "最大反馈电流",
+ "最大反馈时间"
+ ],
+ "ErrJumpTo": 255,
+ "ExecuteErrCode": 255,
+ "ResultErrCode": [
+ 43,
+ 44,
+ 255,
+ 255
+ ],
+ "RetryCount": 0
+ },
+ {
+ "TaskID": 27,
+ "TaskBrief": "关总线",
+ "TaskIndex": 14,
+ "ParamCount": 0,
+ "ParamInfo": [],
+ "ParamVal": [],
+ "TestStandard": [],
+ "ReturnCount": 0,
+ "ReturnInfo": [],
+ "ErrJumpTo": 255,
+ "ExecuteErrCode": 254,
+ "ResultErrCode": [],
+ "RetryCount": 0
+ }
+ ],
+ "MajorErrInfo": [
+ {
+ "Info": "执行成功",
+ "MajorErrCode": 0,
+ "SubErrCode": []
+ },
+ {
+ "Info": "检测器异常",
+ "MajorErrCode": 1,
+ "SubErrCode": [
+ 21,
+ 23,
+ 254
+ ]
+ },
+ {
+ "Info": "主电容异常",
+ "MajorErrCode": 2,
+ "SubErrCode": [
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 42
+ ]
+ },
+ {
+ "Info": "接触异常",
+ "MajorErrCode": 3,
+ "SubErrCode": [
+ 27
+ ]
+ },
+ {
+ "Info": "桥丝阻值异常",
+ "MajorErrCode": 4,
+ "SubErrCode": [
+ 30,
+ 41,
+ 42
+ ]
+ },
+ {
+ "Info": "芯片异常",
+ "MajorErrCode": 5,
+ "SubErrCode": [
+ 22,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 32,
+ 33,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 43,
+ 44,
+ 45
+ ]
+ },
+ {
+ "Info": "其他异常",
+ "MajorErrCode": 20,
+ "SubErrCode": [
+ 255
+ ]
+ }
+ ],
+ "SubErrInfo": [
+ {
+ "Info": "预设电压异常",
+ "ErrCode": 21,
+ "ErrFac": [
+ "1.检测小板电压调节失效,存在无法设置的电压"
+ ]
+ },
+ {
+ "Info": "上电充能错误",
+ "ErrCode": 22,
+ "ErrFac": [
+ "1.检测器输出电压异常",
+ "2.模块上电容性负载大",
+ "3.模块基本电路异常"
+ ]
+ },
+ {
+ "Info": "电压设置异常",
+ "ErrCode": 23,
+ "ErrFac": [
+ "1.检测小板输出电压异常",
+ "2.外部短路,导致过流保护"
+ ]
+ },
+ {
+ "Info": "UID扫描错误",
+ "ErrCode": 24,
+ "ErrFac": [
+ "1.芯片通信异常",
+ "2.芯片内部存储的UID与参考UID不一致"
+ ]
+ },
+ {
+ "Info": "标记区验证错误",
+ "ErrCode": 25,
+ "ErrFac": [
+ "1.验证标志位没有置位(检测流程出错",
+ "2.芯片数据被擦写",
+ "3.通信异常"
+ ]
+ },
+ {
+ "Info": "通讯后电流错误",
+ "ErrCode": 26,
+ "ErrFac": [
+ "1.芯片执行指令异常",
+ "2.芯片通信接收功耗异常"
+ ]
+ },
+ {
+ "Info": "基本电流错误",
+ "ErrCode": 27,
+ "ErrFac": [
+ "1.芯片的静态功耗异常",
+ "2.检测器输出电压异常"
+ ]
+ },
+ {
+ "Info": "配置错误",
+ "ErrCode": 28,
+ "ErrFac": [
+ "1.芯片错误",
+ "2.通信异常"
+ ]
+ },
+ {
+ "Info": "验证配置",
+ "ErrCode": 29,
+ "ErrFac": [
+ "1.芯片内部数据与检测数据不一致,数据丢失",
+ "2.芯片通信异常",
+ "3.芯片数据被改写"
+ ]
+ },
+ {
+ "Info": "桥丝错误",
+ "ErrCode": 30,
+ "ErrFac": [
+ "1.桥丝开路,或阻值异常",
+ "2.芯片异常,检测不准"
+ ]
+ },
+ {
+ "Info": "高压充能错误",
+ "ErrCode": 31,
+ "ErrFac": [
+ "1.电容漏流",
+ "2.电容容值偏低或偏大",
+ "3.芯片充电漏流,充电回路或起爆回路",
+ "4.芯片高压基本电流偏大",
+ "5.芯片异常,充电电流偏小"
+ ]
+ },
+ {
+ "Info": "充电电流错误",
+ "ErrCode": 32,
+ "ErrFac": [
+ "1.芯片异常,充电电流符合指标"
+ ]
+ },
+ {
+ "Info": "高压充末电流错误",
+ "ErrCode": 33,
+ "ErrFac": [
+ "1.电容漏流",
+ "2.芯片充电回路漏流或起爆回路漏流",
+ "3.芯片高压基本电流偏大"
+ ]
+ },
+ {
+ "Info": "低压充电能量错误",
+ "ErrCode": 34,
+ "ErrFac": [
+ "1.电容漏流",
+ "2.电容容值偏低或偏大",
+ "3.芯片充电漏流,充电回路或起爆回路",
+ "4.芯片低压基本电流偏大",
+ "5.芯片异常,充电电流偏小",
+ "6.高压充电后不能放电"
+ ]
+ },
+ {
+ "Info": "低压充末电流错误",
+ "ErrCode": 35,
+ "ErrFac": [
+ "1.电容漏流",
+ "2.芯片充电回路漏流或起爆回路漏流",
+ "3.芯片基本功耗偏大"
+ ]
+ },
+ {
+ "Info": "写延时错误",
+ "ErrCode": 36,
+ "ErrFac": [
+ "1.芯片设置延时功能异常",
+ "2.通信异常"
+ ]
+ },
+ {
+ "Info": "读延时错误",
+ "ErrCode": 37,
+ "ErrFac": [
+ "1.芯片读延时功能异常",
+ "2.通信异常"
+ ]
+ },
+ {
+ "Info": "芯片程测错误",
+ "ErrCode": 38,
+ "ErrFac": [
+ "1.芯片成测标记错误,非全FFFF",
+ "2.通信异常"
+ ]
+ },
+ {
+ "Info": "时钟校准错误",
+ "ErrCode": 39,
+ "ErrFac": [
+ "1.检测器命令执行异常"
+ ]
+ },
+ {
+ "Info": "写工厂信息错误",
+ "ErrCode": 40,
+ "ErrFac": [
+ "1.OTP数据写入出错",
+ "2.通信异常"
+ ]
+ },
+ {
+ "Info": "模拟起爆错误",
+ "ErrCode": 41,
+ "ErrFac": [
+ "1.发送起爆指令后无应答"
+ ]
+ },
+ {
+ "Info": "芯片状态码异常",
+ "ErrCode": 42,
+ "ErrFac": [
+ "1.状态码与设置的掩码不匹配",
+ "2.通讯异常"
+ ]
+ },
+ {
+ "Info": "反馈电流错误",
+ "ErrCode": 43,
+ "ErrFac": [
+ "1.芯片异常,反馈电流不达标",
+ "2.检测器异常,采集电路不准"
+ ]
+ },
+ {
+ "Info": "反码时长错误",
+ "ErrCode": 44,
+ "ErrFac": [
+ "1.芯片异常,通讯无反码",
+ "2.通讯反码电流低,不能识别"
+ ]
+ },
+ {
+ "Info": "复位放电错误",
+ "ErrCode": 45,
+ "ErrFac": [
+ "1.高压充电后降压通讯异常",
+ "2.芯片复位不能正常放电",
+ "3.芯片异常,指令不执行"
+ ]
+ },
+ {
+ "Info": "状态标志错误",
+ "ErrCode": 46,
+ "ErrFac": [
+ "1.置位标志命令未执行",
+ "2.置位命令参数错误",
+ "3.电容电压检测失败",
+ "4,芯片异常,状态标志不能置位"
+ ]
+ },
+ {
+ "Info": "三码验证错误",
+ "ErrCode": 47,
+ "ErrFac": [
+ "1.扫描获取的UID和写入的UID不一致",
+ "2.密码不一致,验证标志位未置位",
+ "3.芯片状态标志异常,不能置位"
+ ]
+ },
+ {
+ "Info": "写管壳码",
+ "ErrCode": 48,
+ "ErrFac": [
+ "1.缓存空间数据验证错误",
+ "2.指令执行错误,未收到应答",
+ "3.芯片功能异常,指令执行失败"
+ ]
+ },
+ {
+ "Info": "写密码",
+ "ErrCode": 49,
+ "ErrFac": [
+ "1.缓存空间数据验证错误",
+ "2.指令执行错误,未收到应答",
+ "3.芯片功能异常,指令执行失败"
+ ]
+ },
+ {
+ "Info": "写现场值错误",
+ "ErrCode": 50,
+ "ErrFac": [
+ "1.UID不匹配",
+ "2.芯片内部的配置未设置正确",
+ "3.芯片功能异常,通信无反馈"
+ ]
+ },
+ {
+ "Info": "检测器执行异常",
+ "ErrCode": 254,
+ "ErrFac": [
+ "广播类命令执行错误"
+ ]
+ },
+ {
+ "Info": "返回参数判断",
+ "ErrCode": 255,
+ "ErrFac": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/python/file/EX_Coder_Test_2023-07-7.xlsx b/python/file/EX_Coder_Test_2023-07-7.xlsx
new file mode 100644
index 0000000..207994c
Binary files /dev/null and b/python/file/EX_Coder_Test_2023-07-7.xlsx differ
diff --git a/python/prottcp.py b/python/prottcp.py
index a041b7c..018cca9 100644
--- a/python/prottcp.py
+++ b/python/prottcp.py
@@ -146,10 +146,9 @@ def arr_from_int(num:int):
# 提取方案中的范围数据, 先max后min
def scheme_get_task_range(j:json):
t=bytearray()
- return_count=j["ReturnCount"]
- t+=j["TaskID"]
- t+=j["TaskIndex"]
- t+=arr_from_int(return_count)
+ t+=arr_from_int(j["TaskID"])
+ t+=arr_from_int(j["TaskIndex"])
+ t+=arr_from_int(j["ReturnCount"])
t+=arr_from_int(j["ExecuteErrCode"])
index=0
for i in j["TestStandard"]:
@@ -438,18 +437,32 @@ class protu(QObject):
# print("len=",len(d),d.hex(","))
# send_file("COM5",0x32,f.name.split('/')[-1],f.read())
+
+
+def int2str(num:int):
+ s=str(num//100)
+ s=s+str(num%100//10)
+ s=s+str(num%10)
+ return s
+
+
if __name__ == "__main__":
u=protu()
# u.init("utcp:7777")
# u.send_file(0xee,"file/JQ_JCXB_V54.bin")
# u.send_file(0xed,"../Objects/checker_gen1_app_20230602.bin")
- u.cmd=0x34
- print(u.encode(bytearray([0x0a,0x00])).hex(' '))
- # with open("file/EX三码绑定测试2023-07-3.json","rb") as f:
+ u.cmd=0x30
+ u.cmd_no=0x15|(0xaf<<8)
+ print(u.encode(bytearray([0x00])).hex(' '))
+ # with open("file/EX_Coder_Test_2023-07-6.json","rb") as f:
# json_obj=json.loads(f.read())
# d=scheme_to_byte(json_obj)
# print("len=",len(d),d.hex(","))
# d+=scheme_to_host(json_obj)
+
+ print(int2str(20))
+ s="{d:03d}".format(d=2)
+ print(s)
# 开始检测
diff --git a/source/ReadMe.txt b/source/ReadMe.txt
index 96d5797..a6560ed 100644
--- a/source/ReadMe.txt
+++ b/source/ReadMe.txt
@@ -138,4 +138,6 @@
添加错误判断,未完成
2023.7.6
赋码仪添加错误判断,管壳码有0字节则不注码,直接返回失败
-
\ No newline at end of file
+2023.7.7
+ boot没有同步app编译,升级app会导致之后添加的配置参数丢失
+ 添加管壳码全'0'判断
\ No newline at end of file
diff --git a/source/coder/coder_judge.c b/source/coder/coder_judge.c
index d7ccaf2..323de72 100644
--- a/source/coder/coder_judge.c
+++ b/source/coder/coder_judge.c
@@ -159,20 +159,20 @@ uint8_t coder_judge(const uint8_t *data)
}
// 检测电流
- TASK_FIND_NEXT(4);
+ TASK_FIND_NEXT(3);
temp=TASK_DATA(0);
temp2=TASK_DATA(1);
- if((temp<10)&&(temp2<10))
+ if((temp<100)&&(temp2<100))
{
// 接触异常
return 3;
}
- else if(((temp>task->range[0].max)&&(temp<1500))||
- ((temp2>task->range[0].max)&&(temp2<1500)))
+ else if(((temp>task->range[0].max)&&(temp<800))||
+ ((temp2>task->range[0].max)&&(temp2<800)))
{
// 过流
return 7;
- }else if((temp>1500)&&(temp2>1500))
+ }else if((temp>800)&&(temp2>800))
{
// 短路
return 8;
@@ -180,7 +180,7 @@ uint8_t coder_judge(const uint8_t *data)
// 检测uid
- TASK_FIND_NEXT(5);
+ TASK_FIND_NEXT(4);
if(get_ack(data,task->taskindex))
{
// 芯片错误
@@ -188,7 +188,7 @@ uint8_t coder_judge(const uint8_t *data)
}
// 检测桥丝
- TASK_FIND_NEXT(6);
+ TASK_FIND_NEXT(11);
temp=TASK_DATA(0);
if((temprange[0].min)||(temp>task->range[0].max))
{
diff --git a/source/coder/coder_lib.c b/source/coder/coder_lib.c
index bd94e51..284f9cd 100644
--- a/source/coder/coder_lib.c
+++ b/source/coder/coder_lib.c
@@ -87,6 +87,8 @@ int check_shell_code(const char *shell_code)
if(shell_code[i]==0)
return 0;
}
+ if(strncmp("0000000000000",shell_code,13)==0)
+ return 0;
return 1;
}
diff --git a/source/main/compiler_info.h b/source/main/compiler_info.h
index 0431ae6..e6fcc69 100644
--- a/source/main/compiler_info.h
+++ b/source/main/compiler_info.h
@@ -6,7 +6,7 @@
-#define BUILD_DATE "2023-07-06 22:57:16"
+#define BUILD_DATE "2023-07-07 11:16:27"
#define SOFT_VERSION "0.10"
diff --git a/source/main/main.c b/source/main/main.c
index a6c8d07..8721796 100644
--- a/source/main/main.c
+++ b/source/main/main.c
@@ -113,7 +113,7 @@ static int scheme_info(list_def *argv)
for(int i=0;itask_num;i++)
{
t=&s->task[i];
- cmd_print(" task:%02d err:%02x",i,t->err);
+ cmd_print(" task:%02d id:%02d err:%02x",t->taskindex,t->taskid,t->err);
for(int j=0;jitem_num;j++)
{
cmd_print(" max:%5d, min:%5d err:%02x %s",t->range[j].max,t->range[j].min,
diff --git a/source/task/key.c b/source/task/key.c
index fce1a1f..1e9f410 100644
--- a/source/task/key.c
+++ b/source/task/key.c
@@ -68,6 +68,7 @@ static void request_check(void *p)
{
const sys_param_def *par=sys_param();
array_def *d=arr_creat();
+ arr_append(d,0);
emit key_send_signal(p,0x37,arr_temp(d));
//DBG_LOG("tcp liver:%s",str_temp(arr_string(d)));
}
diff --git a/source/task/tran_for_coder2.c b/source/task/tran_for_coder2.c
index 3e2a839..f8f4093 100644
--- a/source/task/tran_for_coder2.c
+++ b/source/task/tran_for_coder2.c
@@ -75,7 +75,6 @@ static void write_uid_upmit(write_uid_def *w)
}
}
emit tran_send_signal(w->u.p,0x82,arr_temp(a));
- tran_set_busy(w->u.p,0);
g_self.step=0;
// 把命令字改为0x82用于接收主机应答
w->u.cmd=0x82;
@@ -83,6 +82,25 @@ static void write_uid_upmit(write_uid_def *w)
+// 填充注码结果
+static void write_uid_fillret(write_uid_def *w,int addr,int ack)
+{
+ addr-=1;
+ uint8_t *d=&w->ack[(addr)*39];
+ w->ack_num++;
+ d[0]=addr+slave_addr_off();
+ d[1]=ack;
+ memcpy(&d[2],w->item[addr].shell_code,13);
+ memcpy(&d[2+13],w->item[addr].uid_code,16);
+ memcpy(&d[2+13+16],w->item[addr].password,8);
+ if(w->ack_num>=10)
+ {
+ write_uid_upmit(w);
+ }
+}
+
+
+
// 注码完成
static void write_uid_end(ucport_def *u,port_mcu *src,void *data,int ack,char *err_str)
{
@@ -92,19 +110,7 @@ static void write_uid_end(ucport_def *u,port_mcu *src,void *data,int ack,char *e
DBG_WARN("addr err:%d",addr);
return;
}
- addr-=1;
-
- uint8_t *d=&w->ack[(addr)*39];
- w->ack_num++;
- d[0]=addr+slave_addr_off();
- d[1]=ack;
- memcpy(&d[2],w->item[addr].shell_code,13);
- memcpy(&d[2+13],w->item[addr].uid_code,16);
- memcpy(&d[2+13+16],w->item[addr].password,8);
- if(w->ack_num>=10)
- {
- write_uid_upmit(w);
- }
+ write_uid_fillret(w,addr,ack);
}
@@ -137,6 +143,7 @@ static void write_del(ucport_def *u)
static int write_uid_dolater(ucport_def *u,uint8_t cmd,array_def *data,char *err_str)
{
DBG_LOG("recv write_uid end signal.");
+ tran_set_busy(u->p,0);
return 0;
}
@@ -191,11 +198,7 @@ static ucport_def *write_uid(tran_def *t, uint8_t cmd,array_def *data)
port_start(mcu,code_creat(8,4,u->item[i].uid_pw_hex));
}else{
// 管壳码无效,不注码,此时默认已ack
- u->ack_num++;
- if(u->ack_num>=10)
- {
- write_uid_upmit(u);
- }
+ write_uid_fillret(u,i+1,0xff);
}
}
}
@@ -372,7 +375,7 @@ static void check_end(ucport_def *u,port_mcu *src,void *data,int ack,char *err_s
arr_append(a,w->type);
arr_appends(a,w->ack,(6)*10);
emit tran_send_signal(w->u.p,0x81,arr_temp(a));
- tran_set_busy(w->u.p,0);
+ //tran_set_busy(w->u.p,0);
// 把命令字改为0x81用于接收主机应答
w->u.cmd=0x81;
g_self.step=1;
@@ -408,6 +411,7 @@ static void check_del(ucport_def *u)
static int check_dolater(ucport_def *u,uint8_t cmd,array_def *data,char *err_str)
{
DBG_LOG("recv check end signal.");
+ tran_set_busy(u->p,0);
return 0;
}