Meger EMMC function in setting screen.

This commit is contained in:
xiaojiazhu 2023-12-25 11:14:20 +08:00
commit e8be05aac6
20 changed files with 510 additions and 100 deletions

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
#用于gitlab-ci.yml编译使用 #用于gitlab-ci.yml编译使用
#make app_clean make app_clean
echo "Start compile." echo "Start compile."
export ROOT_PATH=$PWD export ROOT_PATH=$PWD
@ -9,7 +9,7 @@ export ROOT_PATH=$PWD
cd rtos cd rtos
source build/envsetup.sh source build/envsetup.sh
lunch rtos cfg_565_HUNTING_EVB_LINUX_4G_S550 gcc-6.5-newlib-2.4-2019.11-arm-ca9-eabihf lunch rtos cfg_565_HUNTING_EVB_LINUX_4G_S550 gcc-6.5-newlib-2.4-2019.11-arm-ca9-eabihf
#make clean make clean
make all > /dev/null make all > /dev/null
cp output/application.bin ../ cp output/application.bin ../
cp output/rtos-main.bin ../ cp output/rtos-main.bin ../
@ -18,7 +18,7 @@ cp output/rtos-main.bin ../
cd $ROOT_PATH cd $ROOT_PATH
source build/envsetup.sh source build/envsetup.sh
lunch Linux cfg_565_HUNTING_EVB_LINUX_4G_S550 arm-ca9-linux-uclibcgnueabihf-8.4.01 lunch Linux cfg_565_HUNTING_EVB_LINUX_4G_S550 arm-ca9-linux-uclibcgnueabihf-8.4.01
#make clean make clean
make all > /dev/null make all > /dev/null
cd $ROOT_PATH cd $ROOT_PATH

View File

@ -922,7 +922,7 @@
#define HUNTING_MCU_UART ENABLE #define HUNTING_MCU_UART ENABLE
#define HUNTING_IR_LED_940 ENABLE #define HUNTING_IR_LED_940 ENABLE
#define SF_EXIF_MN_BUF_SIZE 256 #define SF_EXIF_MN_BUF_SIZE 256
#define SF_BASE_VERSION "7MR5RCwDC04" #define SF_BASE_VERSION "7MR5RCwDC05"
#define HW_S530 DISABLE #define HW_S530 DISABLE
#define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
#define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */ #define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */

View File

@ -599,12 +599,14 @@ void UserMainProc(void)
switch((uint32_t)lv_user_keymap_find(evt)){ switch((uint32_t)lv_user_keymap_find(evt)){
case LV_KEY_DOWN: case LV_KEY_DOWN:
case LV_KEY_NEXT: case LV_KEY_NEXT:
case 134:
{ {
printf("[Key]>>>DOWN\n"); printf("[Key]>>>DOWN\n");
break; break;
} }
case LV_KEY_UP: case LV_KEY_UP:
case LV_KEY_PREV: case LV_KEY_PREV:
case 133:
{ {
printf("[Key]>>>UP\n"); printf("[Key]>>>UP\n");
break; break;

View File

@ -20,7 +20,7 @@
"font type": "Font_Type1", "font type": "Font_Type1",
"geometry": { "geometry": {
"height": 22, "height": 22,
"width": 81, "width": 0,
"x": 10, "x": 10,
"y": 10 "y": 10
}, },
@ -29,7 +29,7 @@
"long mode": "Expand", "long mode": "Expand",
"name": "label_option1", "name": "label_option1",
"recolor": false, "recolor": false,
"string id": "None", "string id": "STRID_NULL_",
"styles": [ "styles": [
{ {
"Text": { "Text": {
@ -68,11 +68,14 @@
"state": 5 "state": 5
}, },
{ {
"Text": {
"text_color": "0x575757"
},
"part": 0, "part": 0,
"state": 6 "state": 6
} }
], ],
"text": "1080P30", "text": "",
"widget": "Label" "widget": "Label"
}, },
{ {
@ -199,7 +202,7 @@
"font type": "Font_Type1", "font type": "Font_Type1",
"geometry": { "geometry": {
"height": 22, "height": 22,
"width": 81, "width": 0,
"x": 10, "x": 10,
"y": 10 "y": 10
}, },
@ -208,7 +211,7 @@
"long mode": "Expand", "long mode": "Expand",
"name": "label_option2", "name": "label_option2",
"recolor": false, "recolor": false,
"string id": "None", "string id": "STRID_NULL_",
"styles": [ "styles": [
{ {
"Text": { "Text": {
@ -244,11 +247,14 @@
"state": 5 "state": 5
}, },
{ {
"Text": {
"text_color": "0x575757"
},
"part": 0, "part": 0,
"state": 6 "state": 6
} }
], ],
"text": "1080P30", "text": "",
"widget": "Label" "widget": "Label"
}, },
{ {
@ -375,7 +381,7 @@
"font type": "Font_Type1", "font type": "Font_Type1",
"geometry": { "geometry": {
"height": 22, "height": 22,
"width": 81, "width": 0,
"x": 10, "x": 10,
"y": 10 "y": 10
}, },
@ -384,7 +390,7 @@
"long mode": "Expand", "long mode": "Expand",
"name": "label_option3", "name": "label_option3",
"recolor": false, "recolor": false,
"string id": "None", "string id": "STRID_NULL_",
"styles": [ "styles": [
{ {
"Text": { "Text": {
@ -420,11 +426,14 @@
"state": 5 "state": 5
}, },
{ {
"Text": {
"text_color": "0x575757"
},
"part": 0, "part": 0,
"state": 6 "state": 6
} }
], ],
"text": "1080P30", "text": "",
"widget": "Label" "widget": "Label"
}, },
{ {
@ -551,7 +560,7 @@
"font type": "Font_Type1", "font type": "Font_Type1",
"geometry": { "geometry": {
"height": 22, "height": 22,
"width": 81, "width": 0,
"x": 10, "x": 10,
"y": 10 "y": 10
}, },
@ -560,7 +569,7 @@
"long mode": "Expand", "long mode": "Expand",
"name": "label_option4", "name": "label_option4",
"recolor": false, "recolor": false,
"string id": "None", "string id": "STRID_NULL_",
"styles": [ "styles": [
{ {
"Text": { "Text": {
@ -596,11 +605,14 @@
"state": 5 "state": 5
}, },
{ {
"Text": {
"text_color": "0x575757"
},
"part": 0, "part": 0,
"state": 6 "state": 6
} }
], ],
"text": "1080P30", "text": "",
"widget": "Label" "widget": "Label"
}, },
{ {
@ -727,7 +739,7 @@
"font type": "Font_Type1", "font type": "Font_Type1",
"geometry": { "geometry": {
"height": 22, "height": 22,
"width": 81, "width": 0,
"x": 10, "x": 10,
"y": 10 "y": 10
}, },
@ -736,7 +748,7 @@
"long mode": "Expand", "long mode": "Expand",
"name": "label_option5", "name": "label_option5",
"recolor": false, "recolor": false,
"string id": "None", "string id": "STRID_NULL_",
"styles": [ "styles": [
{ {
"Text": { "Text": {
@ -772,11 +784,14 @@
"state": 5 "state": 5
}, },
{ {
"Text": {
"text_color": "0x575757"
},
"part": 0, "part": 0,
"state": 6 "state": 6
} }
], ],
"text": "1080P30", "text": "",
"widget": "Label" "widget": "Label"
}, },
{ {

View File

@ -256,7 +256,7 @@ lv_obj_t* UIFlowMenuCommonOption_create(){
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_option1_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_option1_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&label_option1_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&label_option1_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_option1_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_option1_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&label_option1_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0xd5, 0x57, 0x57, 0x57) ; lv_style_set_text_color(&label_option1_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_option1_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_option1_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_option1_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_option1_s0, LV_STATE_DISABLED, color);
lv_obj_t *label_option1 = lv_label_create(image_button_option_1, NULL); lv_obj_t *label_option1 = lv_label_create(image_button_option_1, NULL);
@ -264,11 +264,11 @@ lv_obj_t* UIFlowMenuCommonOption_create(){
lv_obj_set_click(label_option1, false); lv_obj_set_click(label_option1, false);
lv_obj_set_drag(label_option1, false); lv_obj_set_drag(label_option1, false);
lv_plugin_label_allocate_ext_attr(label_option1); lv_plugin_label_allocate_ext_attr(label_option1);
lv_label_set_text(label_option1,"1080P30"); lv_plugin_label_set_text(label_option1, LV_PLUGIN_STRING_ID_STRID_NULL_);
lv_plugin_label_allocate_ext_attr(label_option1); lv_plugin_label_allocate_ext_attr(label_option1);
lv_plugin_label_set_font_type(label_option1, LV_PLUGIN_LANGUAGE_FONT_TYPE_1); lv_plugin_label_set_font_type(label_option1, LV_PLUGIN_LANGUAGE_FONT_TYPE_1);
lv_obj_set_pos(label_option1, 10, 10); lv_obj_set_pos(label_option1, 10, 10);
lv_obj_set_size(label_option1, 81, 22); lv_obj_set_size(label_option1, 0, 22);
lv_obj_add_style(label_option1, 0, &label_option1_s0); lv_obj_add_style(label_option1, 0, &label_option1_s0);
label_option1_scr_uiflowmenucommonoption = label_option1; label_option1_scr_uiflowmenucommonoption = label_option1;
@ -419,7 +419,7 @@ lv_obj_t* UIFlowMenuCommonOption_create(){
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_option2_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_option2_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&label_option2_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&label_option2_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_option2_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_option2_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&label_option2_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0xd5, 0x57, 0x57, 0x57) ; lv_style_set_text_color(&label_option2_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_option2_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_option2_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_option2_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_option2_s0, LV_STATE_DISABLED, color);
lv_obj_t *label_option2 = lv_label_create(image_button_option_2, NULL); lv_obj_t *label_option2 = lv_label_create(image_button_option_2, NULL);
@ -427,11 +427,11 @@ lv_obj_t* UIFlowMenuCommonOption_create(){
lv_obj_set_click(label_option2, false); lv_obj_set_click(label_option2, false);
lv_obj_set_drag(label_option2, false); lv_obj_set_drag(label_option2, false);
lv_plugin_label_allocate_ext_attr(label_option2); lv_plugin_label_allocate_ext_attr(label_option2);
lv_label_set_text(label_option2,"1080P30"); lv_plugin_label_set_text(label_option2, LV_PLUGIN_STRING_ID_STRID_NULL_);
lv_plugin_label_allocate_ext_attr(label_option2); lv_plugin_label_allocate_ext_attr(label_option2);
lv_plugin_label_set_font_type(label_option2, LV_PLUGIN_LANGUAGE_FONT_TYPE_1); lv_plugin_label_set_font_type(label_option2, LV_PLUGIN_LANGUAGE_FONT_TYPE_1);
lv_obj_set_pos(label_option2, 10, 10); lv_obj_set_pos(label_option2, 10, 10);
lv_obj_set_size(label_option2, 81, 22); lv_obj_set_size(label_option2, 0, 22);
lv_obj_add_style(label_option2, 0, &label_option2_s0); lv_obj_add_style(label_option2, 0, &label_option2_s0);
label_option2_scr_uiflowmenucommonoption = label_option2; label_option2_scr_uiflowmenucommonoption = label_option2;
@ -582,7 +582,7 @@ lv_obj_t* UIFlowMenuCommonOption_create(){
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_option3_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_option3_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&label_option3_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&label_option3_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_option3_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_option3_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&label_option3_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0xd5, 0x57, 0x57, 0x57) ; lv_style_set_text_color(&label_option3_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_option3_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_option3_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_option3_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_option3_s0, LV_STATE_DISABLED, color);
lv_obj_t *label_option3 = lv_label_create(image_button_option_3, NULL); lv_obj_t *label_option3 = lv_label_create(image_button_option_3, NULL);
@ -590,11 +590,11 @@ lv_obj_t* UIFlowMenuCommonOption_create(){
lv_obj_set_click(label_option3, false); lv_obj_set_click(label_option3, false);
lv_obj_set_drag(label_option3, false); lv_obj_set_drag(label_option3, false);
lv_plugin_label_allocate_ext_attr(label_option3); lv_plugin_label_allocate_ext_attr(label_option3);
lv_label_set_text(label_option3,"1080P30"); lv_plugin_label_set_text(label_option3, LV_PLUGIN_STRING_ID_STRID_NULL_);
lv_plugin_label_allocate_ext_attr(label_option3); lv_plugin_label_allocate_ext_attr(label_option3);
lv_plugin_label_set_font_type(label_option3, LV_PLUGIN_LANGUAGE_FONT_TYPE_1); lv_plugin_label_set_font_type(label_option3, LV_PLUGIN_LANGUAGE_FONT_TYPE_1);
lv_obj_set_pos(label_option3, 10, 10); lv_obj_set_pos(label_option3, 10, 10);
lv_obj_set_size(label_option3, 81, 22); lv_obj_set_size(label_option3, 0, 22);
lv_obj_add_style(label_option3, 0, &label_option3_s0); lv_obj_add_style(label_option3, 0, &label_option3_s0);
label_option3_scr_uiflowmenucommonoption = label_option3; label_option3_scr_uiflowmenucommonoption = label_option3;
@ -745,7 +745,7 @@ lv_obj_t* UIFlowMenuCommonOption_create(){
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_option4_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_option4_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&label_option4_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&label_option4_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_option4_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_option4_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&label_option4_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0xd5, 0x57, 0x57, 0x57) ; lv_style_set_text_color(&label_option4_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_option4_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_option4_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_option4_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_option4_s0, LV_STATE_DISABLED, color);
lv_obj_t *label_option4 = lv_label_create(image_button_option_4, NULL); lv_obj_t *label_option4 = lv_label_create(image_button_option_4, NULL);
@ -753,11 +753,11 @@ lv_obj_t* UIFlowMenuCommonOption_create(){
lv_obj_set_click(label_option4, false); lv_obj_set_click(label_option4, false);
lv_obj_set_drag(label_option4, false); lv_obj_set_drag(label_option4, false);
lv_plugin_label_allocate_ext_attr(label_option4); lv_plugin_label_allocate_ext_attr(label_option4);
lv_label_set_text(label_option4,"1080P30"); lv_plugin_label_set_text(label_option4, LV_PLUGIN_STRING_ID_STRID_NULL_);
lv_plugin_label_allocate_ext_attr(label_option4); lv_plugin_label_allocate_ext_attr(label_option4);
lv_plugin_label_set_font_type(label_option4, LV_PLUGIN_LANGUAGE_FONT_TYPE_1); lv_plugin_label_set_font_type(label_option4, LV_PLUGIN_LANGUAGE_FONT_TYPE_1);
lv_obj_set_pos(label_option4, 10, 10); lv_obj_set_pos(label_option4, 10, 10);
lv_obj_set_size(label_option4, 81, 22); lv_obj_set_size(label_option4, 0, 22);
lv_obj_add_style(label_option4, 0, &label_option4_s0); lv_obj_add_style(label_option4, 0, &label_option4_s0);
label_option4_scr_uiflowmenucommonoption = label_option4; label_option4_scr_uiflowmenucommonoption = label_option4;
@ -908,7 +908,7 @@ lv_obj_t* UIFlowMenuCommonOption_create(){
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_option5_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_color(&label_option5_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&label_option5_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_bg_grad_color(&label_option5_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_option5_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_border_color(&label_option5_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&label_option5_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0xd5, 0x57, 0x57, 0x57) ; lv_style_set_text_color(&label_option5_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_option5_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0xd3, 0x3c, 0x3c, 0x3c) ; lv_style_set_text_sel_color(&label_option5_s0, LV_STATE_DISABLED, color);
STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_option5_s0, LV_STATE_DISABLED, color); STYLE_COLOR_PROP(0x3a, 0x00, 0xb4, 0x95) ; lv_style_set_text_sel_bg_color(&label_option5_s0, LV_STATE_DISABLED, color);
lv_obj_t *label_option5 = lv_label_create(image_button_option_5, NULL); lv_obj_t *label_option5 = lv_label_create(image_button_option_5, NULL);
@ -916,11 +916,11 @@ lv_obj_t* UIFlowMenuCommonOption_create(){
lv_obj_set_click(label_option5, false); lv_obj_set_click(label_option5, false);
lv_obj_set_drag(label_option5, false); lv_obj_set_drag(label_option5, false);
lv_plugin_label_allocate_ext_attr(label_option5); lv_plugin_label_allocate_ext_attr(label_option5);
lv_label_set_text(label_option5,"1080P30"); lv_plugin_label_set_text(label_option5, LV_PLUGIN_STRING_ID_STRID_NULL_);
lv_plugin_label_allocate_ext_attr(label_option5); lv_plugin_label_allocate_ext_attr(label_option5);
lv_plugin_label_set_font_type(label_option5, LV_PLUGIN_LANGUAGE_FONT_TYPE_1); lv_plugin_label_set_font_type(label_option5, LV_PLUGIN_LANGUAGE_FONT_TYPE_1);
lv_obj_set_pos(label_option5, 10, 10); lv_obj_set_pos(label_option5, 10, 10);
lv_obj_set_size(label_option5, 81, 22); lv_obj_set_size(label_option5, 0, 22);
lv_obj_add_style(label_option5, 0, &label_option5_s0); lv_obj_add_style(label_option5, 0, &label_option5_s0);
label_option5_scr_uiflowmenucommonoption = label_option5; label_option5_scr_uiflowmenucommonoption = label_option5;

View File

@ -223,7 +223,7 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu)
UINT32 Selindex = 0; UINT32 Selindex = 0;
BOOL ui_hidden = true; BOOL ui_hidden = true;
#endif #endif
UIMenuStoreInfo *puiPara = sf_ui_para_get();
pPage = &pMenu->pPages[pMenu->SelPage]; pPage = &pMenu->pPages[pMenu->SelPage];
pItem = &pPage->pItems[pPage->SelItem]; pItem = &pPage->pItems[pPage->SelItem];
#if 0 #if 0
@ -361,7 +361,7 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu)
printf("\033[33m[LV_MenuCommonOption_UpdateContent] 3 \033[0m\n"); printf("\033[33m[LV_MenuCommonOption_UpdateContent] 3 \033[0m\n");
lv_plugin_menu_set_item_string_id(menu_option, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, pOption->TextId); lv_plugin_menu_set_item_string_id(menu_option, i, LV_PLUGIN_MENU_ITEM_VISIBLE_STATE_NUM, pOption->TextId);
printf("s_SelOption: %d\n", s_SelOption); printf("[LV_MenuCommonOption_UpdateContent]s_SelOption: %d\n", s_SelOption);
if (IDM_FORMAT_SD == pItem->ItemId) { if (IDM_FORMAT_SD == pItem->ItemId) {
if (0 == SelOption && i == 0) { if (0 == SelOption && i == 0) {
itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED;//√ itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED;//√
@ -394,12 +394,12 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu)
{ {
if (i == 1) if (i == 1)
{ {
printf("first init black > √\n"); printf("[LV_MenuCommonOption_UpdateContent]first init black > √\n");
itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT2;//black > √ itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT2;//black > √
lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 259, 0); lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 259, 0);
} }
else{ else{
printf("first init √\n"); printf("[LV_MenuCommonOption_UpdateContent]first init √\n");
itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED;//√ itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED;//√
lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 272, 0); lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 272, 0);
} }
@ -408,19 +408,19 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu)
case IDM_SEND_TYPE:{ case IDM_SEND_TYPE:{
if(i == 1) if(i == 1)
{ {
printf("first init IDM_SEND_TYPE black > √\n"); printf("[LV_MenuCommonOption_UpdateContent]first init IDM_SEND_TYPE black > √\n");
itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT2;//black > √ itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT2;//black > √
lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 259, 0); lv_obj_set_pos(image_option2_scr_uiflowmenucommonoption, 259, 0);
} }
else if (i == 2) else if (i == 2)
{ {
printf("first init IDM_SEND_TYPE black > √\n"); printf("[LV_MenuCommonOption_UpdateContent]first init IDM_SEND_TYPE black > √\n");
itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT2;//black > √ itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT2;//black > √
lv_obj_set_pos(image_option3_scr_uiflowmenucommonoption, 259, 0); lv_obj_set_pos(image_option3_scr_uiflowmenucommonoption, 259, 0);
} }
else if (i == 3) else if (i == 3)
{ {
printf("first init IDM_SEND_TYPE black > √\n"); printf("[LV_MenuCommonOption_UpdateContent]first init IDM_SEND_TYPE black > √\n");
itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT2;//black > √ itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED_NEXT2;//black > √
lv_obj_set_pos(image_option4_scr_uiflowmenucommonoption, 259, 0); lv_obj_set_pos(image_option4_scr_uiflowmenucommonoption, 259, 0);
} }
@ -449,7 +449,7 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu)
} }
else if (enableIndex[i+(Selindex * OPTION_PAGE_NUM)] != SelOption && i == 1) else if (enableIndex[i+(Selindex * OPTION_PAGE_NUM)] != SelOption && i == 1)
{ {
printf("first init white >\n"); printf("[LV_MenuCommonOption_UpdateContent]first init white >\n");
switch (pItem->ItemId) { switch (pItem->ItemId) {
case IDM_DELAY:{} case IDM_DELAY:{}
case IDM_OPERATING_TIME:{} case IDM_OPERATING_TIME:{}
@ -469,9 +469,9 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu)
} }
else if(enableIndex[i+(Selindex * OPTION_PAGE_NUM)] != SelOption && i > 1) else if(enableIndex[i+(Selindex * OPTION_PAGE_NUM)] != SelOption && i > 1)
{ {
if(pItem->ItemId == IDM_SEND_TYPE) if (pItem->ItemId == IDM_SEND_TYPE)
{ {
printf("first init IDM_SEND_TYPE white >\n"); printf("[LV_MenuCommonOption_UpdateContent]first init IDM_SEND_TYPE white >\n");
itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT1;//white > itemIconId = LV_PLUGIN_IMG_ID_SF_NEXT1;//white >
if (i == 2) if (i == 2)
{ {
@ -484,6 +484,69 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu)
ui_hidden = false; ui_hidden = false;
} }
} }
if (pItem->ItemId == IDM_BATTERY_TYPE && s_SelOption < 3)
{
if (puiPara->BatteryType == SF_BATT_LI_PACK){
printf("[LV_MenuCommonOption_UpdateContent]first init change battery to lith\n");
if (i < 1)
{
lv_plugin_menu_set_item_state(menu_option, 0, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
if (i < 2)
{
lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
if (i < 3)
{
lv_plugin_menu_set_item_state(menu_option, 2, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
lv_obj_set_state(label_option4_scr_uiflowmenucommonoption, LV_STATE_DEFAULT);
ui_hidden = true;
lv_plugin_menu_select_item(menu_option, 3);
s_SelOption = 3;
SelOption = 3;
SysSetFlag(pItem->SysFlag,3);
}
else
{
printf("[LV_MenuCommonOption_UpdateContent]first init is not lith\n");
lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
}
else if (pItem->ItemId == IDM_BATTERY_TYPE && s_SelOption == 3)
{
if (puiPara->BatteryType == SF_BATT_LI_PACK)
{
printf("[LV_MenuCommonOption_UpdateContent]first init and is lith\n");
if (i < 1)
{
lv_plugin_menu_set_item_state(menu_option, 0, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
if (i < 2)
{
lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
if (i < 3)
{
lv_plugin_menu_set_item_state(menu_option, 2, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
lv_obj_set_state(label_option4_scr_uiflowmenucommonoption, LV_STATE_DEFAULT);
}
else
{
printf("[LV_MenuCommonOption_UpdateContent]first init change battery\n");
lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
ui_hidden = true;
lv_plugin_menu_select_item(menu_option, 0);
s_SelOption = 0;
SelOption = 0;
SysSetFlag(pItem->SysFlag,0);
lv_obj_set_hidden(image_option1_scr_uiflowmenucommonoption, true);
}
}
} }
else{ else{
if (pItem->ItemId == IDM_SEND_TYPE){ if (pItem->ItemId == IDM_SEND_TYPE){
@ -612,7 +675,8 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu)
} }
} }
else if (i == s_SelOption){ else if (i == s_SelOption)
{
itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED;//√ itemIconId = LV_PLUGIN_IMG_ID_SF_LIST_SELECTED;//√
if (i == 2) if (i == 2)
{ {
@ -624,6 +688,71 @@ static void LV_MenuCommonOption_UpdateContent(TM_MENU *pMenu)
} }
ui_hidden = false; ui_hidden = false;
} }
if (pItem->ItemId == IDM_BATTERY_TYPE && s_SelOption < 3)
{
if (puiPara->BatteryType == SF_BATT_LI_PACK){
if (i < 1)
{
lv_plugin_menu_set_item_state(menu_option, 0, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
if (i < 2)
{
lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
if (i < 3)
{
lv_plugin_menu_set_item_state(menu_option, 2, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
lv_obj_set_state(label_option4_scr_uiflowmenucommonoption, LV_STATE_DEFAULT);
ui_hidden = true;
lv_plugin_menu_select_item(menu_option, 3);
s_SelOption = 3;
SelOption = 3;
SysSetFlag(pItem->SysFlag,3);
}
else
{
printf("[LV_MenuCommonOption_UpdateContent]is not lith\n");
lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
}
else if (pItem->ItemId == IDM_BATTERY_TYPE && s_SelOption == 3)
{
if (puiPara->BatteryType == SF_BATT_LI_PACK)
{
printf("[LV_MenuCommonOption_UpdateContent]is lith\n");
if (i < 1)
{
lv_plugin_menu_set_item_state(menu_option, 0, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
if (i < 2)
{
lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
if (i < 3)
{
lv_plugin_menu_set_item_state(menu_option, 2, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
lv_obj_set_state(label_option4_scr_uiflowmenucommonoption, LV_STATE_DEFAULT);
lv_plugin_menu_select_item(menu_option, 3);
}
else
{
printf("[LV_MenuCommonOption_UpdateContent]change battery\n");
lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
ui_hidden = true;
lv_plugin_menu_select_item(menu_option, 0);
s_SelOption = 0;
SelOption = 0;
SysSetFlag(pItem->SysFlag,0);
lv_obj_set_hidden(image_option1_scr_uiflowmenucommonoption, true);
}
}
} }
@ -705,6 +834,7 @@ static void LV_MenuOption_OnOpen(lv_obj_t* obj, TM_MENU *data)
TM_ITEM* pItem; TM_ITEM* pItem;
//TM_OPTION *pOption; //TM_OPTION *pOption;
UINT16 SelOption = 0; UINT16 SelOption = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
pPage = &pMenu->pPages[pMenu->SelPage]; pPage = &pMenu->pPages[pMenu->SelPage];
// pPage->SelItem = 0; // pPage->SelItem = 0;
@ -739,7 +869,18 @@ static void LV_MenuOption_OnOpen(lv_obj_t* obj, TM_MENU *data)
// lv_obj_set_hidden(container_main_menu_scr_uiflowmenucommonoption, true); // lv_obj_set_hidden(container_main_menu_scr_uiflowmenucommonoption, true);
// } // }
LV_MenuCommonOption_UpdateContent(pMenu); LV_MenuCommonOption_UpdateContent(pMenu);
if (pItem->ItemId == IDM_BATTERY_TYPE)
{
if(puiPara->BatteryType == SF_BATT_LI_PACK)
{
lv_plugin_menu_set_item_state(menu_option, 0, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
lv_plugin_menu_set_item_state(menu_option, 2, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
else{
lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
}
lv_plugin_menu_select_item(menu_option, SelOption); lv_plugin_menu_select_item(menu_option, SelOption);
} }
@ -750,6 +891,7 @@ static void LV_MenuOption_OnNext(lv_obj_t* obj)
TM_PAGE *pPage; TM_PAGE *pPage;
TM_ITEM *pItem; TM_ITEM *pItem;
UINT16 SelOption = 0; UINT16 SelOption = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
pPage = &pMenu->pPages[pMenu->SelPage]; pPage = &pMenu->pPages[pMenu->SelPage];
pItem = &pPage->pItems[pPage->SelItem]; pItem = &pPage->pItems[pPage->SelItem];
@ -760,19 +902,38 @@ static void LV_MenuOption_OnNext(lv_obj_t* obj)
// DBG_DUMP("%s SelOption=%d\r\n", __func__,SelOption); // DBG_DUMP("%s SelOption=%d\r\n", __func__,SelOption);
SelOption++; SelOption++;
if (pItem->ItemId == IDM_BATTERY_TYPE)
{
if(puiPara->BatteryType == SF_BATT_LI_PACK)
{
SelOption = 3;
SysSetFlag(pItem->SysFlag, SelOption);
lv_plugin_menu_set_item_state(menu_option, 0, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
lv_plugin_menu_set_item_state(menu_option, 2, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
else{
if (SelOption >= 3)
{
SelOption = 0;
}
SysSetFlag(pItem->SysFlag, SelOption);
LV_MenuCommonOption_UpdateContent(pMenu);
lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
return;
}
if (SelOption >= pItem->Count){ if (SelOption >= pItem->Count){
// Close current UI Window now // Close current UI Window now
//SysSetFlag(pItem->SysFlag, PrevOption); //SysSetFlag(pItem->SysFlag, PrevOption);
//lv_plugin_scr_close(obj, NULL); //lv_plugin_scr_close(obj, NULL);
SelOption = 0; SelOption = 0;
SysSetFlag(pItem->SysFlag, SelOption);
LV_MenuCommonOption_UpdateContent(pMenu);
// lv_plugin_menu_select_item(menu_option, SelOption); // lv_plugin_menu_select_item(menu_option, SelOption);
}else{ }else{
SysSetFlag(pItem->SysFlag, SelOption);
LV_MenuCommonOption_UpdateContent(pMenu);
// lv_plugin_menu_select_next_item(menu_option); // lv_plugin_menu_select_next_item(menu_option);
} }
SysSetFlag(pItem->SysFlag, SelOption);
LV_MenuCommonOption_UpdateContent(pMenu);
// DBG_DUMP("%s flag=%d\r\n", __func__,SysGetFlag(pItem->SysFlag)); // DBG_DUMP("%s flag=%d\r\n", __func__,SysGetFlag(pItem->SysFlag));
} }
@ -782,25 +943,50 @@ static void LV_MenuOption_OnPrev(lv_obj_t* obj)
TM_PAGE *pPage; TM_PAGE *pPage;
TM_ITEM *pItem; TM_ITEM *pItem;
UINT16 SelOption = 0; UINT16 SelOption = 0;
UIMenuStoreInfo *puiPara = sf_ui_para_get();
pPage = &pMenu->pPages[pMenu->SelPage]; pPage = &pMenu->pPages[pMenu->SelPage];
pItem = &pPage->pItems[pPage->SelItem]; pItem = &pPage->pItems[pPage->SelItem];
SelOption = SysGetFlag(pItem->SysFlag); SelOption = SysGetFlag(pItem->SysFlag);
if (pItem->ItemId == IDM_BATTERY_TYPE)
{
if(puiPara->BatteryType == SF_BATT_LI_PACK)
{
SelOption = 3;
SysSetFlag(pItem->SysFlag, SelOption);
lv_plugin_menu_set_item_state(menu_option, 0, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
lv_plugin_menu_set_item_state(menu_option, 1, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
lv_plugin_menu_set_item_state(menu_option, 2, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
else{
if (SelOption == 0)
{
SelOption = (pItem->Count - 2);
}
else
{
SelOption--;
}
SysSetFlag(pItem->SysFlag, SelOption);
LV_MenuCommonOption_UpdateContent(pMenu);
lv_plugin_menu_set_item_state(menu_option, 3, LV_PLUGIN_MENU_ITEM_STATE_DISABLED);
}
return;
}
if (SelOption == 0) { if (SelOption == 0) {
// Close current UI Window now // Close current UI Window now
//SysSetFlag(pItem->SysFlag, PrevOption); //SysSetFlag(pItem->SysFlag, PrevOption);
//lv_plugin_scr_close(obj, NULL); //lv_plugin_scr_close(obj, NULL);
SelOption = (pItem->Count - 1); SelOption = (pItem->Count - 1);
SysSetFlag(pItem->SysFlag, SelOption);
LV_MenuCommonOption_UpdateContent(pMenu);
// lv_plugin_menu_select_item(menu_option, SelOption); // lv_plugin_menu_select_item(menu_option, SelOption);
} else { } else {
SelOption--; SelOption--;
SysSetFlag(pItem->SysFlag, SelOption);
LV_MenuCommonOption_UpdateContent(pMenu);
// lv_plugin_menu_select_prev_item(menu_option); // lv_plugin_menu_select_prev_item(menu_option);
} }
SysSetFlag(pItem->SysFlag, SelOption);
LV_MenuCommonOption_UpdateContent(pMenu);
// DBG_DUMP("%s flag=%d\r\n", __func__,SysGetFlag(pItem->SysFlag)); // DBG_DUMP("%s flag=%d\r\n", __func__,SysGetFlag(pItem->SysFlag));
} }

View File

@ -2045,6 +2045,9 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event)
{ {
case LV_PLUGIN_EVENT_SCR_OPEN: case LV_PLUGIN_EVENT_SCR_OPEN:
{ {
UIFlowPhoto_ScrOpen(obj);//LV_ALIGN_IN_RIGHT_MID
#define PASSWORD_OPENED 1 #define PASSWORD_OPENED 1
#define PASSWORD_NOT_OPENED 0 #define PASSWORD_NOT_OPENED 0
static int passwordOpened = PASSWORD_NOT_OPENED; static int passwordOpened = PASSWORD_NOT_OPENED;
@ -2058,7 +2061,7 @@ void UIFlowPhotoEventCallback(lv_obj_t* obj, lv_event_t event)
passwordOpened = PASSWORD_OPENED; passwordOpened = PASSWORD_OPENED;
} }
UIFlowPhoto_ScrOpen(obj);//LV_ALIGN_IN_RIGHT_MID
if(preview_info_task == NULL && g_preview_info_msgbox == NULL && g_preview_info_label == NULL){ if(preview_info_task == NULL && g_preview_info_msgbox == NULL && g_preview_info_label == NULL){
g_preview_info_msgbox = lv_btn_create(obj, button_msg_bg_scr_uiflowwrnmsg); g_preview_info_msgbox = lv_btn_create(obj, button_msg_bg_scr_uiflowwrnmsg);

View File

@ -157,6 +157,8 @@ int main(int argc, char *argv[])
if((!isUsb) && (SF_MCU_STARTUP_NORMAL != startup) && (SF_MCU_STARTUP_OFF != startup)/*&& (0 == isUpdate)*/) if((!isUsb) && (SF_MCU_STARTUP_NORMAL != startup) && (SF_MCU_STARTUP_OFF != startup)/*&& (0 == isUpdate)*/)
{ {
printf("[sf_app]battery thread start\n");
sf_app_battery_start();
#if SF_IQ_TEST != ENABLE #if SF_IQ_TEST != ENABLE
if(SF_MCU_STARTUP_ONKEY == startup) if(SF_MCU_STARTUP_ONKEY == startup)
{ {
@ -175,7 +177,7 @@ int main(int argc, char *argv[])
app_RegisterNet_start(); app_RegisterNet_start();
} }
#endif #endif
sf_app_battery_start();
sf_sys_status_led_set(SF_LED_SYS_STATE_PIR_NOT_DETECT); sf_sys_status_led_set(SF_LED_SYS_STATE_PIR_NOT_DETECT);
sf_sys_status_led_set(SF_LED_SYS_STATE_NORMAL); sf_sys_status_led_set(SF_LED_SYS_STATE_NORMAL);
} }

View File

@ -1071,6 +1071,7 @@ SINT32 sf_app_battery_start(void)
return SF_FAILURE; return SF_FAILURE;
} }
sf_adc_init(); sf_adc_init();
printf("[sf_app_battery_start]thread start\n");
ret = pthread_create(&BatteryTskCfg.TskId, NULL, sf_battery_check_thread, NULL); ret = pthread_create(&BatteryTskCfg.TskId, NULL, sf_battery_check_thread, NULL);
if(ret != SF_SUCCESS) if(ret != SF_SUCCESS)
{ {

View File

@ -67,6 +67,7 @@ UINT32 batTempLevel = 0xff;
static UINT32 TemperAdc = 0; static UINT32 TemperAdc = 0;
static INT16 fTemper = 0; static INT16 fTemper = 0;
static INT16 cTemper = 0; static INT16 cTemper = 0;
INT16 first_init = 5; //firt init check battery 5 time
#define SF_READ_BAT_MAX 10 #define SF_READ_BAT_MAX 10
#define SF_DC_IN_VOLATAGE 70 #define SF_DC_IN_VOLATAGE 70
#define SF_LI_IN_VOLATAGE 99 #define SF_LI_IN_VOLATAGE 99
@ -349,7 +350,7 @@ UINT32 sf_battery_adc_value_get_once(void)
UINT32 liPolymerVoltageVal = 0; UINT32 liPolymerVoltageVal = 0;
UINT32 batVoltageVal = 0; UINT32 batVoltageVal = 0;
static UINT8 getBatAdcFlg = 0; static UINT8 getBatAdcFlg = 0;
// UIMenuStoreInfo *puiPara = sf_app_ui_para_get(); UIMenuStoreInfo *puiPara = sf_app_ui_para_get();
if(getBatAdcFlg) if(getBatAdcFlg)
return SUCCESS; return SUCCESS;
@ -403,6 +404,26 @@ UINT32 sf_battery_adc_value_get_once(void)
_BatVoltageVal = batVoltageVal; _BatVoltageVal = batVoltageVal;
} }
if (first_init > 0){
if(_LiPolymerVoltageVal)
{
printf("[sf_battery_level_polling]is lith battery\n");
if(SF_BATT_LI_PACK != puiPara->BatteryType)
{
puiPara->BatteryType = SF_BATT_LI_PACK;
}
first_init = 0;
}
else
{ first_init--;
puiPara->BatteryType = SF_BATT_ALKALINE;
}
}
getBatAdcFlg = 0; getBatAdcFlg = 0;
return SUCCESS; return SUCCESS;
@ -929,11 +950,16 @@ void sf_battery_level_polling(void)
sf_temper_update(); sf_temper_update();
if(LiPolymerVoltageVal) if(LiPolymerVoltageVal)
{ {
printf("[sf_battery_level_polling]is lith battery\n");
if(SF_BATT_LI_PACK != puiPara->BatteryType) if(SF_BATT_LI_PACK != puiPara->BatteryType)
{ {
puiPara->BatteryType = SF_BATT_LI_PACK; puiPara->BatteryType = SF_BATT_LI_PACK;
} }
} }
else{
puiPara->BatteryType = SF_BATT_ALKALINE;
}
//ret = sf_check_low_battery(); //ret = sf_check_low_battery();
if(puiPara->BatteryLogSwitch) if(puiPara->BatteryLogSwitch)

View File

@ -2003,31 +2003,33 @@ const void * lv_event_get_data(void)
case LV_KEY_DOWN: case LV_KEY_DOWN:
case LV_KEY_NEXT: case LV_KEY_NEXT:
case 134:
{ {
printf("Key]>>>DOWN\n"); printf("[lv_event_get_data]>>>DOWN\n");
break; break;
} }
case LV_KEY_UP: case LV_KEY_UP:
case LV_KEY_PREV: case LV_KEY_PREV:
case 133:
{ {
printf("[Key]>>>UP\n"); printf("[lv_event_get_data]>>>UP\n");
break; break;
} }
case LV_KEY_LEFT: case LV_KEY_LEFT:
{ {
printf("[Key]>>>LEFT\n"); printf("[lv_event_get_data]>>>LEFT\n");
break; break;
} }
case LV_KEY_RIGHT: case LV_KEY_RIGHT:
{ {
printf("[Key]>>>RIGHT\n"); printf("[lv_event_get_data]>>>RIGHT\n");
break; break;
} }
case LV_KEY_ENTER: case LV_KEY_ENTER:
{ {
printf("[Key]>>>ENTER\n"); printf("[lv_event_get_data]>>>ENTER\n");
break; break;
} }
} }

View File

View File

@ -849,7 +849,7 @@
// 2. enable FS_DX_TYPE_DRIVE_B as DX_TYPE_CARD2 // 2. enable FS_DX_TYPE_DRIVE_B as DX_TYPE_CARD2
// 3. enable FS_MULTI_STRG_FUNC // 3. enable FS_MULTI_STRG_FUNC
// 4. NETWORK = NETWORK_NONE (Both uITRON and eCos) // 4. NETWORK = NETWORK_NONE (Both uITRON and eCos)
#define FS_MULTI_STRG_FUNC DISABLE #define FS_MULTI_STRG_FUNC ENABLE
//MULTI_DRIVE //MULTI_DRIVE
#if defined(_EMBMEM_EMMC_) && (FS_MULTI_STRG_FUNC==DISABLE) #if defined(_EMBMEM_EMMC_) && (FS_MULTI_STRG_FUNC==DISABLE)
#define FS_DX_TYPE_DRIVE_A USER_DX_TYPE_EMBMEM_FAT #define FS_DX_TYPE_DRIVE_A USER_DX_TYPE_EMBMEM_FAT
@ -945,7 +945,7 @@
#define HUNTING_MCU_UART ENABLE #define HUNTING_MCU_UART ENABLE
#define HUNTING_IR_LED_940 ENABLE #define HUNTING_IR_LED_940 ENABLE
#define SF_EXIF_MN_BUF_SIZE 256 #define SF_EXIF_MN_BUF_SIZE 256
#define SF_BASE_VERSION "7MR5RCwDC04" #define SF_BASE_VERSION "7MR5RCwDC05"
#define DCF_DIR_NAME "MEDIA" /* 100MEDIA */ #define DCF_DIR_NAME "MEDIA" /* 100MEDIA */
#define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */ #define DCF_FILE_NAME "SYGW" /* SYFW0001.JPG */
#define PHOTO_THUMB_PATH "A:\\THUMB\\" #define PHOTO_THUMB_PATH "A:\\THUMB\\"

View File

@ -299,16 +299,16 @@ void System_OnStrgInit_FS(void)
Pool.addr = mempool_filesys; Pool.addr = mempool_filesys;
#if (FS_MULTI_STRG_FUNC == ENABLE) #if (FS_MULTI_STRG_FUNC == ENABLE)
MEM_RANGE Pool2; MEM_RANGE Pool2;
Pool.Size = POOL_SIZE_FS_BUFFER; Pool.size = POOL_SIZE_FILESYS;
GxStrg_SetConfigEx(0, FILE_CFG_BUF, (UINT32)&Pool); GxStrg_SetConfigEx(0, FILE_CFG_BUF, (UINT32)&Pool);
Pool2.Addr = Pool.Addr + POOL_SIZE_FS_BUFFER; Pool2.addr = Pool.addr + POOL_SIZE_FILESYS;
Pool2.Size = POOL_SIZE_FS_BUFFER; Pool2.size = POOL_SIZE_FILESYS;
GxStrg_SetConfigEx(1, FILE_CFG_BUF, (UINT32)&Pool2); GxStrg_SetConfigEx(1, FILE_CFG_BUF, (UINT32)&Pool2);
#if defined(_CPU2_LINUX_) && defined(_EMBMEM_EMMC_) #if defined(_CPU2_LINUX_) && defined(_EMBMEM_EMMC_)
// 3rd is for linux-pstore mounted by filesys // 3rd is for linux-pstore mounted by filesys
MEM_RANGE Pool3; MEM_RANGE Pool3;
Pool3.Addr = Pool2.Addr + POOL_SIZE_FS_BUFFER; Pool3.Addr = Pool2.addr + POOL_SIZE_FS_BUFFER;
Pool3.Size = POOL_SIZE_FS_BUFFER; Pool3.size = POOL_SIZE_FS_BUFFER;
GxStrg_SetConfigEx(PST_DEV_ID, FILE_CFG_BUF, (UINT32)&Pool3); GxStrg_SetConfigEx(PST_DEV_ID, FILE_CFG_BUF, (UINT32)&Pool3);
#endif #endif
#else #else
@ -592,22 +592,24 @@ INT32 System_OnStrgInsert(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
// Open DCF // Open DCF
dcfParm.Drive = (stg_id == 0) ? 'A' : 'B'; dcfParm.Drive = (stg_id == 0) ? 'A' : 'B';
#if (FS_MULTI_STRG_FUNC) #if (FS_MULTI_STRG_FUNC)
if (POOL_CNT_DCF_BUFFER !=2) { // if (POOL_CNT_DCF_BUFFER !=2) {
DBG_FATAL("POOL_CNT_DCF_BUFFER be 2 for FS_MULTI_STRG_FUNC.\r\n"); // DBG_FATAL("POOL_CNT_DCF_BUFFER be 2 for FS_MULTI_STRG_FUNC.\r\n");
} else { // } else {
switch(stg_id) { switch(stg_id) {
case 0: case 0:
dcfParm.WorkbuffAddr = dma_getCacheAddr(OS_GetMempoolAddr(POOL_ID_DCF_BUFFER)); // dcfParm.WorkbuffAddr = dma_getCacheAddr(OS_GetMempoolAddr(POOL_ID_DCF_BUFFER));
dcfParm.WorkbuffAddr = mempool_dcf;
break; break;
case 1: case 1:
dcfParm.WorkbuffAddr = dma_getCacheAddr(OS_GetMempoolAddr(POOL_ID_DCF_BUFFER)) + POOL_SIZE_DCF_BUFFER; // dcfParm.WorkbuffAddr = dma_getCacheAddr(OS_GetMempoolAddr(POOL_ID_DCF_BUFFER)) + POOL_SIZE_DCF_BUFFER;
dcfParm.WorkbuffAddr = mempool_dcf + POOL_SIZE_DCF_BUFFER;
break; break;
default: default:
DBG_ERR("unknown stg_id=%d\r\n", stg_id); DBG_ERR("unknown stg_id=%d\r\n", stg_id);
dcfParm.WorkbuffAddr = 0; dcfParm.WorkbuffAddr = 0;
break; break;
} }
} // }
#else #else
dcfParm.WorkbuffAddr = mempool_dcf;//dma_getCacheAddr(OS_GetMempoolAddr(POOL_ID_DCF_BUFFER)); dcfParm.WorkbuffAddr = mempool_dcf;//dma_getCacheAddr(OS_GetMempoolAddr(POOL_ID_DCF_BUFFER));

View File

@ -25,5 +25,15 @@ void card_init(void)
sdio_setCallBack(SDIO_CALLBACK_CARD_DETECT, (SDIO_CALLBACK_HDL)card_det_insert); sdio_setCallBack(SDIO_CALLBACK_CARD_DETECT, (SDIO_CALLBACK_HDL)card_det_insert);
sdio_setCallBack(SDIO_CALLBACK_WRITE_PROTECT, (SDIO_CALLBACK_HDL)card_det_wp); sdio_setCallBack(SDIO_CALLBACK_WRITE_PROTECT, (SDIO_CALLBACK_HDL)card_det_wp);
pStrg->SetParam(STRG_SET_MEMORY_REGION, mempool_storage_sdio, POOL_SIZE_STORAGE_SDIO); pStrg->SetParam(STRG_SET_MEMORY_REGION, mempool_storage_sdio, POOL_SIZE_STORAGE_SDIO);
#if FS_MULTI_STRG_FUNC
pStrg = sdio2_getStorageObject(STRG_OBJ_FAT1);
sdio2_setCallBack(SDIO_CALLBACK_CARD_DETECT, (SDIO_CALLBACK_HDL)card_det_insert);
sdio2_setCallBack(SDIO_CALLBACK_WRITE_PROTECT, (SDIO_CALLBACK_HDL)card_det_wp);
pStrg->SetParam(STRG_SET_MEMORY_REGION, mempool_storage_sdio + POOL_SIZE_STORAGE_SDIO, POOL_SIZE_STORAGE_SDIO);
#endif
#endif #endif
} }

View File

@ -12,6 +12,7 @@
#include "sys_fastboot.h" #include "sys_fastboot.h"
#include "PrjCfg.h" #include "PrjCfg.h"
#include "DxHunting.h" #include "DxHunting.h"
#include <kwrap/debug.h>
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
#include "PrjInc.h" #include "PrjInc.h"
#include "wdt.h" #include "wdt.h"
@ -32,7 +33,7 @@ static void card_insert_job(void)
int ret; int ret;
FILE_TSK_INIT_PARAM Param = {0}; FILE_TSK_INIT_PARAM Param = {0};
FS_HANDLE StrgDXH; FS_HANDLE StrgDXH, StrgDXH2;
printf("filesys_init b\r\n"); printf("filesys_init b\r\n");
memset(&Param, 0, sizeof(FILE_TSK_INIT_PARAM)); memset(&Param, 0, sizeof(FILE_TSK_INIT_PARAM));
@ -42,6 +43,49 @@ static void card_insert_job(void)
StrgDXH = (FS_HANDLE)sdio_getStorageObject(STRG_OBJ_FAT1); StrgDXH = (FS_HANDLE)sdio_getStorageObject(STRG_OBJ_FAT1);
#endif #endif
#if FS_MULTI_STRG_FUNC
StrgDXH2 = (FS_HANDLE)sdio2_getStorageObject(STRG_OBJ_FAT1);
DBG_WRN("sdio2_getStorageObject\n");
{
UINT32 totoal_sectors = 0;
// UINT32 uiPhyAddr = 0;
// UINT32 uiPhySize = 0;
// unsigned long long partition_ofs= 0, partition_size = 0;
// unsigned long long usr_area_size = 0;
STORAGE_OBJ* pStrg = sdio2_getStorageObject(STRG_OBJ_FAT1);
// void *strg_mem = malloc(0x300);
// pStrg->SetParam(STRG_SET_MEMORY_REGION, (UINT32)strg_mem, 0x300);
pStrg->Open(); //for initial emmc speed up, should open first, and then set partition
pStrg->GetParam(STRG_GET_DEVICE_PHY_SECTORS, (UINT32)&totoal_sectors, 0);
if (totoal_sectors == 0) {
DBG_WRN("totoal_sectors couldn't be zero\n");
}
DBG_WRN("storage_partition_init: totoal_sectors = %d\r\n", totoal_sectors);
pStrg->SetParam(STRG_SET_PARTITION_SECTORS, 16, totoal_sectors - 16);
// pStrg->Close();
//set the FAT size
// ret = storage_get_partition_addr(&partition_ofs, &partition_size, PARTITION_PATH_ROOTFSL1);
// usr_area_size = (unsigned long long)totoal_sectors*(unsigned long long)_EMBMEM_BLK_SIZE_;
// uiPhyAddr = partition_ofs/_EMBMEM_BLK_SIZE_;
// uiPhySize = (usr_area_size - partition_ofs)/_EMBMEM_BLK_SIZE_;
// if (ret == 0) {
// pStrg = EMB_GETSTRGOBJ(STRG_OBJ_FW_FAT);
// pStrg->SetParam(STRG_SET_MEMORY_REGION, (UINT32)strg_mem, STRG_MEM_SIZE);
// pStrg->SetParam(STRG_SET_PARTITION_SECTORS, uiPhyAddr, uiPhySize);
// } else {
// DBG_ERR("Cat get the %s path info\r\n", PARTITION_PATH_ROOTFSL1);
// }
}
#endif
uiPoolAddr = mempool_filesys; uiPoolAddr = mempool_filesys;
Param.FSParam.WorkBuf = uiPoolAddr; Param.FSParam.WorkBuf = uiPoolAddr;
Param.FSParam.WorkBufSize = (POOL_SIZE_FILESYS); Param.FSParam.WorkBufSize = (POOL_SIZE_FILESYS);
@ -52,11 +96,11 @@ static void card_insert_job(void)
Param.FSParam.szMountPath[sizeof(Param.FSParam.szMountPath) - 1] = '\0'; Param.FSParam.szMountPath[sizeof(Param.FSParam.szMountPath) - 1] = '\0';
Param.FSParam.MaxOpenedFileNum = MAX_OPENED_FILE_NUM; Param.FSParam.MaxOpenedFileNum = MAX_OPENED_FILE_NUM;
if (FST_STA_OK != FileSys_Init(FileSys_GetOPS_uITRON())) { if (FST_STA_OK != FileSys_Init(FileSys_GetOPS_uITRON())) {
printf("FileSys_Init failed\r\n"); DBG_WRN("FileSys_Init failed\r\n");
} }
ret = FileSys_OpenEx('A', StrgDXH, &Param); ret = FileSys_OpenEx('A', StrgDXH, &Param);
if (FST_STA_OK != ret) { if (FST_STA_OK != ret) {
printf("FileSys_Open err %d\r\n", ret); DBG_WRN("FileSys_Open err %d\r\n", ret);
} }
// call the function to wait init finish // call the function to wait init finish
FileSys_WaitFinishEx('A'); FileSys_WaitFinishEx('A');
@ -64,7 +108,7 @@ static void card_insert_job(void)
#if HUNTING_CAMERA_MCU == ENABLE #if HUNTING_CAMERA_MCU == ENABLE
if(TRUE == sf_check_card_full()) if(TRUE == sf_check_card_full())
{ {
printf("ERR card full\r\n"); DBG_WRN("ERR card full\r\n");
fastboot_set_done(BOOT_INIT_FILESYSOK); fastboot_set_done(BOOT_INIT_FILESYSOK);
} }
else else
@ -75,8 +119,31 @@ static void card_insert_job(void)
} }
#endif #endif
#if FS_MULTI_STRG_FUNC
uiPoolAddr = mempool_filesys + POOL_SIZE_FILESYS;
Param.FSParam.WorkBuf = uiPoolAddr;
Param.FSParam.WorkBufSize = (POOL_SIZE_FILESYS);
// support exFAT
Param.FSParam.bSupportExFAT = FALSE;
//Param.pDiskErrCB = (FileSys_CB)Card_InitCB;
strncpy(Param.FSParam.szMountPath, "/mnt/sd2", sizeof(Param.FSParam.szMountPath) - 1); //only used by FsLinux
Param.FSParam.szMountPath[sizeof(Param.FSParam.szMountPath) - 1] = '\0';
Param.FSParam.MaxOpenedFileNum = MAX_OPENED_FILE_NUM;
// if (FST_STA_OK != FileSys_Init(FileSys_GetOPS_uITRON())) {
// printf("FileSys_Init failed\r\n");
// }
DBG_WRN("Open B:\n");
ret = FileSys_OpenEx('B', StrgDXH2, &Param);
if (FST_STA_OK != ret) {
printf("FileSys_Open err %d\r\n", ret);
}
// call the function to wait init finish
FileSys_WaitFinishEx('B');
// FileSys_SetParamEx('B', FST_PARM_UPDATE_FSINFO , TRUE);
#endif
//fastboot_set_done(BOOT_INIT_FILESYSOK); //fastboot_set_done(BOOT_INIT_FILESYSOK);
printf("filesys_init e\r\n"); DBG_WRN("filesys_init e\r\n");
} }
#if !defined(_EMBMEM_EMMC_) #if !defined(_EMBMEM_EMMC_)

View File

@ -60,7 +60,11 @@ void mempool_init(void)
UINT32 pa; UINT32 pa;
HD_RESULT ret; HD_RESULT ret;
#if FS_MULTI_STRG_FUNC
ret = vendor_common_mem_alloc_fixed_pool("sdio", &pa, (void **)&va, POOL_SIZE_STORAGE_SDIO * 2, DDR_ID0);
#else
ret = vendor_common_mem_alloc_fixed_pool("sdio", &pa, (void **)&va, POOL_SIZE_STORAGE_SDIO, DDR_ID0); ret = vendor_common_mem_alloc_fixed_pool("sdio", &pa, (void **)&va, POOL_SIZE_STORAGE_SDIO, DDR_ID0);
#endif
if (ret != HD_OK) { if (ret != HD_OK) {
return; return;
} }
@ -77,7 +81,11 @@ void mempool_init(void)
} }
mempool_storage_nor = (UINT32)va; mempool_storage_nor = (UINT32)va;
#if FS_MULTI_STRG_FUNC
ret = vendor_common_mem_alloc_fixed_pool("filesys", &pa, (void **)&va, POOL_SIZE_FILESYS * 2, DDR_ID0);
#else
ret = vendor_common_mem_alloc_fixed_pool("filesys", &pa, (void **)&va, POOL_SIZE_FILESYS, DDR_ID0); ret = vendor_common_mem_alloc_fixed_pool("filesys", &pa, (void **)&va, POOL_SIZE_FILESYS, DDR_ID0);
#endif
if (ret != HD_OK) { if (ret != HD_OK) {
return; return;
} }
@ -215,11 +223,17 @@ void mempool_init(void)
mempool_usbcmd_va = (UINT32)va; mempool_usbcmd_va = (UINT32)va;
#endif #endif
#if (HUNTING_CAMERA_MODEL == ENABLE) #if (HUNTING_CAMERA_MODEL == ENABLE)
#if (FS_MULTI_STRG_FUNC)
ret = vendor_common_mem_alloc_fixed_pool("dcf", &pa, (void **)&va, POOL_SIZE_DCF_BUFFER * 2, DDR_ID0);
#else
ret = vendor_common_mem_alloc_fixed_pool("dcf", &pa, (void **)&va, POOL_SIZE_DCF_BUFFER, DDR_ID0); ret = vendor_common_mem_alloc_fixed_pool("dcf", &pa, (void **)&va, POOL_SIZE_DCF_BUFFER, DDR_ID0);
#endif
if (ret != HD_OK) { if (ret != HD_OK) {
return; return;
} }
mempool_dcf = (UINT32)va; mempool_dcf = (UINT32)va;
#endif #endif
} }

View File

@ -88,6 +88,7 @@ static CHAR g_photo_fast_write_file_Path[NMC_TOTALFILEPATH_MAX_LE
static INT32 g_photo_fast_id_mapping[PHOTO_CAP_ID_MAX] = {-1,-1}; static INT32 g_photo_fast_id_mapping[PHOTO_CAP_ID_MAX] = {-1,-1};
static PHOTO_FILENAME_CB *g_fpPhotoFastFileNameCB = NULL; static PHOTO_FILENAME_CB *g_fpPhotoFastFileNameCB = NULL;
static DCF_HANDLE g_dcf_hdl = 0; static DCF_HANDLE g_dcf_hdl = 0;
static DCF_HANDLE g_dcf_hdl2 = 0;
static HD_PATH_ID g_video_enc_path[PHOTO_ENC_JPG_TYPE_MAX_ID] = {0}; static HD_PATH_ID g_video_enc_path[PHOTO_ENC_JPG_TYPE_MAX_ID] = {0};
static UINT32 g_bVideoEncPathStart[PHOTO_ENC_JPG_TYPE_MAX_ID] = {0}; static UINT32 g_bVideoEncPathStart[PHOTO_ENC_JPG_TYPE_MAX_ID] = {0};
static HD_VIDEOENC_BUFINFO g_enc_buf_info[PHOTO_ENC_JPG_TYPE_MAX_ID] = {0}; static HD_VIDEOENC_BUFINFO g_enc_buf_info[PHOTO_ENC_JPG_TYPE_MAX_ID] = {0};
@ -722,6 +723,31 @@ INT32 PhotoFast_FileNaming_Open(void)
DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME); DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME);
DCF_ScanObj(); DCF_ScanObj();
#if (FS_MULTI_STRG_FUNC)
{
DCF_OPEN_PARM dcfParm = {
.Drive = 'B',
.WorkbuffAddr = mempool_dcf + POOL_SIZE_DCF_BUFFER,
.WorkbuffSize = POOL_SIZE_DCF_BUFFER,
};
g_dcf_hdl2 = DCF_Open(&dcfParm);
if(g_dcf_hdl2 < 0){
DBG_ERR("get dcf handle error!\n");
}
DBG_WRN("DCF_ScanObjEx emmc handle=%d\n", g_dcf_hdl2);
// DCF_SetParm(DCF_PRMID_REMOVE_DUPLICATE_FOLDER, TRUE);
// DCF_SetParm(DCF_PRMID_REMOVE_DUPLICATE_FILE, TRUE);
// DCF_SetParm(DCF_PRMID_SET_VALID_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_MP4|DCF_FILE_TYPE_MOV);
// DCF_SetParm(DCF_PRMID_SET_DEP_FILE_FMT, DCF_FILE_TYPE_JPG|DCF_FILE_TYPE_WAV|DCF_FILE_TYPE_MPO);
// DCF_SetDirFreeChars(DCF_DIR_NAME);
// DCF_SetFileFreeChars(DCF_FILE_TYPE_ANYFORMAT, DCF_FILE_NAME);
DCF_ScanObjEx(g_dcf_hdl2);
}
#endif
return 0; return 0;
} }
@ -734,6 +760,11 @@ INT32 PhotoFast_FileNaming_Close(void)
g_dcf_hdl = -1; g_dcf_hdl = -1;
} }
#if (FS_MULTI_STRG_FUNC)
DCF_Close(g_dcf_hdl2);
g_dcf_hdl2 = -1;
#endif
DCF_UnInstallID(); DCF_UnInstallID();
} }
@ -856,6 +887,11 @@ INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId,
INT32 rt; INT32 rt;
UINT32 Length; UINT32 Length;
CHAR FilePath[NMC_TOTALFILEPATH_MAX_LEN]; CHAR FilePath[NMC_TOTALFILEPATH_MAX_LEN];
#if FS_MULTI_STRG_FUNC
CHAR FilePath2[NMC_TOTALFILEPATH_MAX_LEN];
#endif
UINT32 fileType; UINT32 fileType;
UINT32 open_flag; UINT32 open_flag;
UINT32 nextFolderID = 0, nextFileID = 0; UINT32 nextFolderID = 0, nextFileID = 0;
@ -898,9 +934,30 @@ INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId,
} }
} }
DCF_MakeObjPath(nextFolderID, nextFileID, fileType, FilePath); DCF_MakeObjPath(nextFolderID, nextFileID, fileType, FilePath);
DCF_AddDBfile(FilePath); DCF_AddDBfile(FilePath);
DBG_DUMP("%s added to DCF\r\n", FilePath); DBG_DUMP("%s added to DCF\r\n", FilePath);
} }
#if 0//FS_MULTI_STRG_FUNC
if (DCF_GetDBInfoEx(g_dcf_hdl2, DCF_INFO_IS_9999)) {
DBG_ERR("Exceed max dcf file!\r\n");
return FST_STA_NOFREE_SPACE;
}
else {
if (Fmt == HD_CODEC_TYPE_RAW){
fileType = DCF_FILE_TYPE_RAW;
}
else{
fileType = DCF_FILE_TYPE_JPG;
}
//DCF_GetNextIDEx(g_dcf_hdl2, &nextFolderID,&nextFileID);
DCF_MakeObjPathEx(g_dcf_hdl2, nextFolderID, nextFileID, fileType, FilePath2);
DCF_AddDBfileEx(g_dcf_hdl2, FilePath2);
DBG_DUMP("%s added to DCF2\r\n", FilePath2);
}
#endif
} }
else{ else{
strncpy(FilePath, Path, sizeof(FilePath)); strncpy(FilePath, Path, sizeof(FilePath));
@ -948,6 +1005,29 @@ INT32 PhotoFast_WriteFile(UINT32 Addr, UINT32 Size, UINT32 Fmt, UINT32 uiPathId,
rt =FST_STA_ERROR; rt =FST_STA_ERROR;
} }
#if FS_MULTI_STRG_FUNC
DBG_WRN("write %s\n", FilePath2);
if ((fp = FileSys_OpenFile(FilePath2, open_flag)) != NULL) {
Length = Size;
rt = FileSys_WriteFile(fp, (UINT8 *)Addr, &Length, 0, NULL);
FileSys_FlushFile(fp);
FileSys_CloseFile(fp);
if (rt == FST_STA_OK) {
// DCF_AddDBfile(FilePath);
// DBG_DUMP("%s added to DCF\r\n", FilePath);
} else {
DBG_ERR("Addr=0x%x,Size=0x%x,Fmt=%d\r\n", Addr, Size, Fmt);
}
}else{
DBG_ERR("FileSys_OpenFile fail\r\n");
rt =FST_STA_ERROR;
}
#endif
return rt; return rt;
} }

View File

@ -153,10 +153,10 @@ ER AppInit_ModeUSBMSDC(void)
MSDCInfo.msdc_vendor_cb = NULL; MSDCInfo.msdc_vendor_cb = NULL;
//#NT#2016/12/20#Niven Cho -begin //#NT#2016/12/20#Niven Cho -begin
//#NT#MULTI_DRIVE //#NT#MULTI_DRIVE
#if (FS_MULTI_STRG_FUNC == ENABLE) // #if (FS_MULTI_STRG_FUNC == ENABLE)
char *pDxName2 = NULL; // char *pDxName2 = NULL;
DX_HANDLE pStrgDev2 = 0; // DX_HANDLE pStrgDev2 = 0;
#endif // #endif
pStrgDev = Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_A); pStrgDev = Dx_GetObject(DX_CLASS_STORAGE_EXT | FS_DX_TYPE_DRIVE_A);
@ -178,21 +178,21 @@ ER AppInit_ModeUSBMSDC(void)
} }
DBG_DUMP("===>%s\r\n", pDxName); DBG_DUMP("===>%s\r\n", pDxName);
#if (FS_MULTI_STRG_FUNC == ENABLE) // #if (FS_MULTI_STRG_FUNC == ENABLE)
MSDCInfo.pStrgHandle[1] = pStrgDev2; // MSDCInfo.pStrgHandle[1] = pStrgDev2;
if (Dx_GetInfo(pStrgDev2, DX_INFO_NAME, &pDxName2) != DX_OK) { // if (Dx_GetInfo(pStrgDev2, DX_INFO_NAME, &pDxName2) != DX_OK) {
pDxName2 = NULL; // pDxName2 = NULL;
} // }
#endif // #endif
#if (FS_MULTI_STRG_FUNC == ENABLE) // #if (FS_MULTI_STRG_FUNC == ENABLE)
MSDCInfo.pStrgHandle[1] = pStrgDev2; // MSDCInfo.pStrgHandle[1] = pStrgDev2;
if (Dx_GetInfo(pStrgDev2, DX_INFO_NAME, &pDxName2) != DX_OK) { // if (Dx_GetInfo(pStrgDev2, DX_INFO_NAME, &pDxName2) != DX_OK) {
pDxName2 = NULL; // pDxName2 = NULL;
} // }
#endif // #endif
#if (FS_MULTI_STRG_FUNC == ENABLE) #if (FS_MULTI_STRG_FUNC == ENABLE)
MSDCInfo.msdc_storage_detCB[0] = (MSDC_StorageDet_CB)DrvCARD_DetStrgCard; MSDCInfo.msdc_storage_detCB[0] = (MSDC_StorageDet_CB)DrvCARD_DetStrgCard;
@ -280,7 +280,7 @@ INT32 MSDCExe_OnOpen(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
pLastStrgDev = GxStrg_GetDevice(0); pLastStrgDev = GxStrg_GetDevice(0);
if (pLastStrgDev == 0) { if (pLastStrgDev == 0) {
//PowerOn_CB() POWERON_CB_SXOPEN 沒有提早啟動File System //PowerOn_CB() POWERON_CB_SXOPEN <EFBFBD>S<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ұ<EFBFBD>File System
DBG_ERR("MSDC: Wait for FS start...\r\n"); DBG_ERR("MSDC: Wait for FS start...\r\n");
FileSys_WaitFinish(); FileSys_WaitFinish();