概述
消息机制使用 System V syscall 实现的发送 / 接收“消息”接口。 消息是一个 struct 结构体。通过 msgId 区分消息类型。结构体里通过 union 定义了很多 payload 负载字段用于传递信息。最常用的是 Msg (GeneralMsg 亦可) 这个 payload 下的 rev2 ~ rev6 字段。 * msgId : 12位(bits)的 int 类型。 * revX 字段: 为 16位 的 int 类型。 所有 msgId 的原始定义位于代码仓库(ARM-DS) mdm_sync/obj_os/ 目录下的若干 .h 文件里: * app_msg_id1.h, app_msg_id2.h
业务 ⇒ 主控 消息
MSG_MAN_QRY_FPGA_VERSION // FPGA软件版本号上报, rev2:2个8bit数(每个对应版本号V1.0.0.0前2位) //rev2:0-定频参数初始化,1-Q-ALE参数初始化,2-组网参数初始化,3-接入网参数初始化 // rev3:2个8bit数(每个对应版本号V1.0.0.0前2位),rev4:2个8bit数(每个对应版本号V1.0.0.0后2位) MSG_MAN_INIT_MOUDLE // 各模块参数初始化完成上报 // rev2:0-429总线模块,1-网专模块,2-接入网模块,3-选频模块,4-射频接口模块,5-保密模块,6-功放模块,7-滤波模块,8-预后选器模块,9-天调模块 // rev3:0-异常,1-正常 MSG_MAN_CHECK_SELF // 上报各自检模块的自检结果 MSG_MAN_GET_WORK_SNO_NUM // 业务上报给主控当前波道号 rev2:0-255 MSG_MAN_GET_WORK_MODE // 业务上报给主控当前工作模式 rev2:0-定频,1-Q-LAE,2-组网,3-接入网 MSG_MAN_GET_WORK_TYPE // 业务上报给主控当前业务类型 rev2:0-模拟话,1-声码话,2-数据链,3-语音短信 // rev2:1-声码话,2-SJL // rev3: 业务模式为声码话:0-600@3K,1-1200@6K,2-1200@12K,3-自适应;默认3。 // 业务模式为SJL: 0-600@3K,1-880@3K,2-880@6K,3-2320@6K,4-1600@12K,5-3040@12K,6-自适应;默认6。 MSG_MAN_GET_WORK_SPEED // 业务上传给主控当前业务模式下的速率 MSG_MAN_GET_SECRET_STATE // 业务上报给主控当前明/密状态 rev2:0-明,1-密 MSG_MAN_GET_SECRET_KEY // 业务上报给主控当前密钥分区状态 rev2:0-1区,1-2区 // rev2:0-仅发频有效,1-仅收频有效,2-收发频有效 // rev3:发射频率20000~299999(单位100Hz)高位 // rev4:发射频率20000~299999(单位100Hz)低位 // rev5:接收频率20000~299999(单位100Hz)高位 // rev6:接收频率20000~299999(单位100Hz)低位 MSG_MAN_GET_FREQ // 业务上报给主控当前频率 MSG_MAN_GET_FREQ_NUM // 业务上报给主控当前上下频点数 rev2:1~8;默认5, rev3:1~8;默认1 MSG_MAN_GET_SELF_ADDRESS // 业务上报给主控当前本机地址 rev2:(35~39)*10000+(0~2047) MSG_MAN_GET_BAND_WIDE // 业务上报给主控当前带宽 rev2:0-3k,1-6k,2-12k,3-24k;默认0 // rev2:1-Q-LAE,2-组网,3-接入网 // rev3:(35~39)*10000+(0~2047) MSG_MAN_GET_CALL_ADDRESS // 业务上报给主控当前呼叫地址 MSG_ALE_LINK // 业务上报给主控Q-ALE建链结果 rev2:0-建链成功,1-建链失败 MSG_ALE_UNLINK // 业务上报给主控当前Q-ALE拆链状态 rev2:0-拆链成功,1-拆链失败 MSG_GROUP_NET_LINK // 业务上报给主控组网建链结果 rev2:0-建链成功,1-建链失败 MSG_GROUP_NET_UNLINK // 业务上报给主控当前组网拆链状态 rev2:0-拆链成功,1-拆链失败 MSG_NET_LINK // 业务上报给主控接入网入网结果 rev2:0-入网成功,1-入网失败 MSG_MAN_QRY_PTT_STATE // 主控获取硬件平台的PTT状态 rev2:0-无键控,1-ptt键控 MSG_MAN_QRY_VOICE_STATE // 业务上报给主控当前话音业务状态 rev2:0-正在发射语音状态,1-停止发送语音状态
业务 ⇒ 主控消息接口 (MAG 模块消息通道)
2023-06 new
- MSG_CHG_RADIO_STATE 或 MSG_MAN_GET_WORK_MODE: // 电台工作模式更改
- MSG_TRAFFIC_CHANGE: // 业务类型更改(模拟话/声码化/数据链)
- MSG_MAN_GET_WORK_SPEED: // 业务上传给主控当前业务模式下的速率
- MSG_MAN_GET_WORK_TYPE: // 业务上报给主控当前业务类型
- MSG_MAN_GET_SECRET_STATE: // 业务上报给主控当前明/密状态 rev2:0-明,1-密
- MSG_MAN_GET_SECRET_KEY: // 业务上报给主控当前密钥分区状态
- MSG_MAN_GET_FREQ: // 业务上报给主控当前频率
- MSG_MAN_GET_FREQ_NUM: // 业务上报给主控当前上下频点数
- MSG_MAN_GET_SELF_ADDRESS: // 业务上报给主控当前本机地址
- MSG_MAN_GET_BAND_WIDE: // 业务上报给主控当前带宽
- MSG_ALE_LINK_STATE(或 MSG_MAN_LINK_SUCCE_MSG?)// 上报建链状态信息