ICMU 方向:
* 200W、400W电台:通过 422接口,均为 SLIP 封装,报文协议相同。
* 100W 电台:通过 1553 总线传输数据链消息。
RF 方向: 区分 “QLE、组网” / “接入网” 两种类型。协议报文格式不同。另外存在可变传输速率(6K / 12K)机制。地面通过报文里的传输速率字段指示飞机电台的数据链发送/接收速率。
ICMU -> read data:
- data=ICMU.parse(), reply ack, df = RFDataFrame(data).serialize(), send df to RF
RF -> read data:
- data=RF.parse(), df=ICMUDataFrame(data).serialize(), send df to ICMU, wait ACK and re-send at timeout for most 2 times.
state machine handler: ICMU / RF incoming msg, process, send reply, forward data to RF
// forward data to ICMU are done in coroutine
// running in 207 thread
coroutine: for re-send data to ICMU // coroutine thread
while(1) {
// wait for event: icmu_ack / new data / timeout
}