Shell脚本翻译串口十六进制信息

嵌入式系统的外设日志记录着串口发给主机的报文信息,报文内容是16进制,监控状态和问题的时候往往需要人去对照协议或者记住16进制报文的含义,所以写了这个脚本来翻译日志,让其更为直观易读。

协议对照文本

将报文协议写在一个ini文件内,便于查找翻译,根据协议特点按行写、按字节写、甚至按不同的位写。比如:

[PROTOCOL]
[Modes status]
[gate configuration]0,0=| Entry End |=END
[gate configuration]0,1=| Exit End |=END
[gate configuration]1,0=| Reversible |=END
[gate mode]0,0,0=| Out of service |=END
[gate mode]0,0,1=| Entry mode|=END
[gate mode]0,1,0=| Exit mode|=END
[gate mode]0,1,1=| Free Exit mode|=END
[gate mode]1,0,0=| Bi-directional mode|=END
[gate mode]1,0,1=| Fully free mode|=END
[gate mode]1,1,0=| Maintenance mode|=END
[gate mode]1,1,1=| Emergency mode|=END
[aisle mode]0=| Normally closed |=END
[aisle mode]1=| Normally opened |=END
[NormalByte]
[General status]:bits=0 2 4 6 7=END
[General status]:bit0_0=\033[1;35m | Flap OK  |\033[0m =END
[General status]:bit0_1=\033[1;31m**Flap failure**\033[0m =END
[General status]:bit2_0=\033[1;35m | Repair Door Closed  |\033[0m =END
[General status]:bit2_1=\033[1;31m**Repair Door Opened**\033[0m=END
[General status]:bit4_0=\033[1;35m | No Passage Cancellation  |\033[0m =END
[General status]:bit4_1=\033[1;31m**Cancellation on Time-out**\033[0m=END
[General status]:bit6_0=\033[1;35m | No Emergency  |\033[0m =END
[General status]:bit6_1=\033[1;31m**Emergency Mode**\033[0m=END
[General status]:bit7_0=\033[1;31m| LCM Not Configured  |\033[0m =END
[General status
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

code .

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值