概述

消息机制使用 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