1.1 添加小区广播频道名字(before 09B)
1.在文件Nvram_common_config.c中添加:
/* Add Default CBC name As below (The first three channel have a name) */
static nvram_msg_cb_channel_struct const NVRAM_EF_SMS_CB_CHNL_NAME_DEFAULT[] =
{
{
{
0, 1, 2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
},
{
{
{'F',0, 'i', 0,'r',0, 's',0, 't', 0}
},
{
{'S', 0,'e',0, 'c',0, 'o',0, 'n',0, 'd',0 }
},
{
{'T', 0, 'h', 0, 'i', 0, 'r', 0, 'd', 0}
}//此处是三个举例的名字,贵司根据需要修改为自己的名字
}
},
};
2. 在数组logical_data_item_table_comm_app中,找到以下代码段并修改:
,{
NVRAM_EF_SMS_CB_CHNL_LID,
NVRAM_SMS_CB_CHNL_RECORD_SIZE,
NVRAM_SMS_CB_CHNL_RECORD_TOTAL,
//NVRAM_EF_FF_DEFAULT, /* Default value */
MVRAM_NORMAL( (kal_uint8*)NVRAM_EF_SMS_CB_CHNL_NAME_DEFAULT),
NVRAM_ATTR_AVERAGE,
NVRAM_CATEGORY_USER | NVRAM_CATEGORY_FACTORY |
NVRAM_CATEGORY_SHADOW,
"MP0w",
VER(NVRAM_EF_SMS_CB_CHNL_LID),
"SMS CB Channel\0",
NVRAM_RESERVED_VALUE
}
3. 在文件Nvram_data_items.c中添加以下代码:
static nvram_ef_cb_ch_info_struct const NVRAM_EF_CB_CH_INFO_DEFAULT[] =
{
{
{0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
{
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
},
{0xFF, 0xFF, 0xFF}, //All channel in the ME is subsribe;
{0xFF, 0xFF, 0xFF},
{
0x3200, 0x3100, 0x3000, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
}
},
};//0X3200为频道50。0X3200为低字节序,所以值为0x0032。即为50。0X3100为频道 49,
0x3000为频道 48.
4.在数组logical_data_item_table_core中找到以下代码段并修改为:
,{
NVRAM_EF_CB_CH_INFO_LID,
NVRAM_EF_CB_CH_INFO_SIZE,
NVRAM_EF_CB_CH_INFO_TOTAL,
//NVRAM_EF_FF_DEFAULT,
MVRAM_NORMAL ((kal_uint8*)NVRAM_EF_CB_CH_INFO_DEFAULT),
NVRAM_ATTR_AVERAGE,
NVRAM_CATEGORY_USER| NVRAM_CATEGORY_SHADOW,
NVRAM_CATEGORY_USER| NVRAM_CATEGORY_SHADOW |
NVRAM_CATEGORY_FACTORY,
"MT0z",
VER(NVRAM_EF_CB_CH_INFO_LID),
"CB Channel Info\0",
NVRAM_RESERVED_VALUE
}
5.在文件custom_mmi_default_value.h中添加以下代码:
#define NVRAM_MAX_CB_CHNL_NAME_LENGTH 22
#define NVRAM_SMS_CB_MAX_ENTRY 40
typedef struct
{
kal_uint8 name[NVRAM_MAX_CB_CHNL_NAME_LENGTH];
} nvram_cb_channel_name_struct;
typedef struct /* save channel names... */
{
kal_uint8 l4MidIndex[NVRAM_SMS_CB_MAX_ENTRY];
nvram_cb_channel_name_struct chnlNames[NVRAM_SMS_CB_MAX_ENTRY];
} nvram_msg_cb_channel_struct;
一共有三支文件需要修改,按该方法修改后小区广播中会默认有三个频道,请贵司根据需求自行修改相关默认值来添加需要的频道,请参考!
1.2 添加小区广播频道名字(For 10A)
1. 在文件Nvram_data_items.c中添加以下代码:
static nvram_ef_cb_ch_info_struct const NVRAM_EF_CB_CH_INFO_DEFAULT[] =
{
{
{0xFF, 0xFF, 0xFF, 0xFF},
{0xFF, 0xFF, 0xFF, 0xFF},
{
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
},
{0xFF, 0xFF, 0xFF}, //All channel in the ME is subsribe;
{0xFF, 0xFF, 0xFF},
{
0x3200, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
}
},
};//0X3200为频道50。0X3200为低字节序,所以值为0x0032。即为50。
2. 在数组logical_data_item_table_core中找到以下代码段并修改为:
,{
NVRAM_EF_CB_CH_INFO_LID,
NVRAM_EF_CB_CH_INFO_SIZE,
NVRAM_EF_CB_CH_INFO_TOTAL,
//NVRAM_EF_FF_DEFAULT,
MVRAM_NORMAL ((kal_uint8*)NVRAM_EF_CB_CH_INFO_DEFAULT),
NVRAM_ATTR_AVERAGE,
NVRAM_CATEGORY_USER| NVRAM_CATEGORY_SHADOW,
NVRAM_CATEGORY_USER| NVRAM_CATEGORY_SHADOW |
NVRAM_CATEGORY_FACTORY,
"MT0z",
VER(NVRAM_EF_CB_CH_INFO_LID),
"CB Channel Info\0",
NVRAM_RESERVED_VALUE
}
3. 在文件Nvram_common_config.c中修改CB name的default值:
static nvram_ef_srv_cbs_chnl_name_struct const NVRAM_EF_SRV_CBS_CHNL_NAME_DEFAULT[] =
{
0x0032, /*注意mid要与NVRAM_EF_CB_CH_INFO_DEFAULT中的channel id一致,这里为高字节序*/
{'M','T','K','C','B',0}
};
1.3 针对10A之后的版本,如何添加小区广播名字?
在文件Nvram_common_config.c中修改CB name的default值:
static nvram_ef_srv_cbs_chnl_name_struct const NVRAM_EF_SRV_CBS_CHNL_NAME_DEFAULT[] ={
0x0032, /*注意mid要与NVRAM_EF_CB_CH_INFO_DEFAULT中的channel id一致,这里为高字节序*/
{'M','T','K','C','B',0}
};
如何添加默认的小区广播channel和name
原创
©著作权归作者所有:来自51CTO博客作者曹观沧海的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
android 如何设置小区广播的默认语言
v: 瑞典语 da: 丹麦语 pt:
EF #define 默认值 -
channel的关闭和广播机制测试
channel关闭机制
channel close -
android 如何屏蔽接收来自某些信道的小区广播消息
tatic final int MESSAGE_ID_CBDD_
java EF android