|
我们的板子上现在用TouchPad做键盘,需要在NVRAM上保存一些TouchPad的参数,我下了一些资料看完后,照葫芦画瓢增加了代码,但是用META读不出来啊!我把我做的流程写在下面,兄弟们帮小弟分析一下啊!
(1)在nvram_user_defs.h文件中增加LID选项, NVRAM_EF_TOUCHPAD_LID:
typedef enum
{
NVRAM_EF_CACHE_BYTE_LID = NVRAM_LID_CUST_BEGIN,
NVRAM_EF_CACHE_SHORT_LID,
NVRAM_EF_CACHE_DOUBLE_LID,
/*
*add by tequlialv@gmail.com
*/
NVRAM_EF_TOUCHPAD_LID,
/* Don't remove this line: insert LID definition above */
NVRAM_EF_LAST_LID_CUST
} nvram_lid_cust_enum;
增加Data Items的total和size大小:
/*
*add by tequlialv@gmail.com
*
*/
#define NVRAM_EF_TOUCHPAD_SIZE 16
#define NVRAM_EF_TOUCHPAD_TOTAL 1
(2)在custom_nvram_editor_data_item.h文件中加入版本号的控制
#define NVRAM_EF_TOUCHPAD_LID_VERNO "000"
(3)在nvram_common_config.c文件中的custpack_nvram_ptr结构中最后增加:
NVRAM_EF_RAC_PREFERENCE_DEFAULT,
NVRAM_CACHE_BYTE_DEFAULT,
NVRAM_CACHE_SHORT_DEFAULT,
NVRAM_CACHE_DOUBLE_DEFAULT,
/*
*add by tequlialv@gmail.com
NVRAM_EF_TOUCHPAD_DEFAULT
(4) 在nvram_user_config.c文件中增减Default结构数数组:
kal_uint8 const NVRAM_EF_TOUCHPAD_DEFAULT[] = {
0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10
};
并在ltable_entry_struct logical_data_item_table_cust[]最后增加相应的结构如下:
,{ //add by tequlialv@gmail.com, add a data items
NVRAM_EF_TOUCHPAD_LID,
NVRAM_EF_TOUCHPAD_SIZE,
NVRAM_EF_TOUCHPAD_TOTAL,
NVRAM_EF_TOUCHPAD_DEFAULT,
NVRAM_ATTR_AVERAGE,
NVRAM_CATEGORY_USER | NVRAM_CATEGORY_CUSTPACK,
"CT03",
VER(NVRAM_EF_TOUCHPAD_LID),
"1-byte setting\0",
NVRAM_RESERVED_VALUE
} |
|