开机进度条;
运行时间;
电量显示;
曲线绘制;
输出输入显示;
This commit is contained in:
吴俊潮 2024-12-31 16:04:40 +08:00
parent fc3031daa6
commit f03318b589
300 changed files with 47456 additions and 37509 deletions

View File

@ -24,7 +24,9 @@
"type_traits": "c", "type_traits": "c",
"stm32f4xx_hal_adc.h": "c", "stm32f4xx_hal_adc.h": "c",
"stm32f4xx_hal_def.h": "c", "stm32f4xx_hal_def.h": "c",
"stm32_hal_legacy.h": "c" "stm32_hal_legacy.h": "c",
"timer.h": "c",
"lv_span.h": "c"
}, },
"C_Cpp.errorSquiggles": "disabled" "C_Cpp.errorSquiggles": "disabled"
} }

View File

@ -2,7 +2,7 @@
* @Author: wujunchao wujunchao@wuxismart.com * @Author: wujunchao wujunchao@wuxismart.com
* @Date: 2024-12-27 11:51:06 * @Date: 2024-12-27 11:51:06
* @LastEditors: wujunchao wujunchao@wuxismart.com * @LastEditors: wujunchao wujunchao@wuxismart.com
* @LastEditTime: 2024-12-27 15:46:57 * @LastEditTime: 2024-12-31 09:37:46
* @FilePath: \signal_generator\App\APP_WU\Inc\apps_gather.h * @FilePath: \signal_generator\App\APP_WU\Inc\apps_gather.h
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
@ -27,22 +27,31 @@
//LVGL //LVGL
#include "lvgl.h" // 它为整个LVGL提供了更完整的头文件引用 #include "lvgl.h" // 它为整个LVGL提供了更完整的头文件引用
#include "lv_port_disp.h" // LVGL的显示 #include "lv_port_disp.h" // LVGL的显示
//#include "lv_port_indev.h" // LVGL的触屏
#include "gui_guider.h" // Gui Guider 生成的界面和控件的声明 #include "gui_guider.h" // Gui Guider 生成的界面和控件的声明
#include "events_init.h" // Gui Guider 生成的初始化事件、回调函数 #include "events_init.h" // Gui Guider 生成的初始化事件、回调函数
extern lv_ui guider_ui; extern lv_ui guider_ui;
extern const lv_img_dsc_t * screen_main_animimg_1_imgs[6];
//written bt WuJunChao //written bt WuJunChao
#include "timer.h" #include "timer.h"
#include "stdio.h"
// void menu_test2(void); //竖屏3个进度条sggt_test_02 // void menu_test2(void); //竖屏3个进度条sggt_test_02
// void menu_test3(void); //横屏2个界面sggt_test_03 // void menu_test3(void); //横屏2个界面sggt_test_03
void menu_test4(); //横屏3个界面开机动画、简易信号发生器、详细设置 void menu_test4(void); //横屏3个界面开机动画、简易信号发生器、详细设置
void scr_init_run(void); void scr_init_run(void);
void scr_main_run(void); void scr_main_run(void);
void nowtime_show(void);
void battery_show(void);
void dynamic_plot(void);
void menu_test4_reset(void);
typedef struct
{
char sig_runtime[8];
char sig_data_io[7];
}SCR_MAIN;

View File

@ -1,3 +1,11 @@
/*
* @Author: wujunchao wujunchao@wuxismart.com
* @Date: 2024-12-27 17:04:12
* @LastEditors: wujunchao wujunchao@wuxismart.com
* @LastEditTime: 2024-12-31 10:53:04
* @FilePath: \signal_generator\App\APP_WU\Inc\timer.h
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
#ifndef __TIMER_H #ifndef __TIMER_H
#define __TIMER_H #define __TIMER_H
@ -5,6 +13,10 @@
extern int heart_1000ms_flag; extern int heart_1000ms_flag;
extern int heart_1000ms_cnt; extern int heart_1000ms_cnt;
extern int battery_3000ms_flag;
extern int battery_3000ms_cnt;
extern int plot_1500ms_flag;
extern int plot_1500ms_cnt;
void duty_tim3(void); void duty_tim3(void);
void duty_tim6(void); void duty_tim6(void);

View File

@ -2,7 +2,7 @@
* @Author: wujunchao wujunchao@wuxismart.com * @Author: wujunchao wujunchao@wuxismart.com
* @Date: 2024-12-27 11:50:56 * @Date: 2024-12-27 11:50:56
* @LastEditors: wujunchao wujunchao@wuxismart.com * @LastEditors: wujunchao wujunchao@wuxismart.com
* @LastEditTime: 2024-12-30 16:19:02 * @LastEditTime: 2024-12-31 14:11:25
* @FilePath: \signal_generator\App\APP_WU\Src\apps_gather.c * @FilePath: \signal_generator\App\APP_WU\Src\apps_gather.c
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
@ -10,6 +10,7 @@
#if 1 #if 1
/**********test4**********/
uint8_t scr_init_bar1 = 0, scr_init_cnt = 0, scr_init_flag = 0; uint8_t scr_init_bar1 = 0, scr_init_cnt = 0, scr_init_flag = 0;
int tick_prv = -1, tick_cur = -1; int tick_prv = -1, tick_cur = -1;
@ -20,7 +21,14 @@ void menu_test4()
scr_init_run(); scr_init_run();
}else }else
{ {
// scr_main_run(); scr_main_run();
}
if(key == 103)
{
key = 0;
menu_test4_reset();
} }
} }
@ -69,10 +77,111 @@ void scr_init_run(void)
} }
} }
SCR_MAIN scr_main;
int nowtime_hours = 0, nowtime_minutes = 0, nowtime_seconds = 0;
void scr_main_run(void) void scr_main_run(void)
{} {
//运行时间显示
nowtime_show();
//电池电量显示
battery_show();
//曲线绘制 & 输出输入值显示
dynamic_plot();
}
void nowtime_show(void)
{
if(heart_1000ms_flag)
{
heart_1000ms_flag = 0;
nowtime_seconds++;
if(nowtime_seconds > 59)
{
nowtime_minutes++;
nowtime_seconds = 0;
}
if(nowtime_minutes > 59)
{
nowtime_hours++;
nowtime_minutes = 0;
}
if(nowtime_hours > 99)
{
nowtime_seconds = 0;
nowtime_minutes = 0;
nowtime_hours = 0;
}
sprintf(scr_main.sig_runtime, "%02d:%02d:%02d",nowtime_hours, nowtime_minutes,nowtime_seconds);
lv_span_set_text(guider_ui.screen_main_spangroup_1_span, scr_main.sig_runtime);
}
}
uint8_t bt_cnt = 0;
void battery_show(void)
{
if(battery_3000ms_flag)
{
battery_3000ms_flag = 0;
bt_cnt = (bt_cnt >= 5)?(0):( bt_cnt + 1);
lv_img_set_src(guider_ui.screen_main_animimg_1, screen_main_animimg_1_imgs[bt_cnt]);
}
}
uint8_t plot_cnt = 0;
void dynamic_plot(void)
{
if(plot_1500ms_flag)
{
plot_1500ms_flag = 0;
plot_cnt = (plot_cnt > 9)?(0):( plot_cnt + 1);
lv_chart_set_next_value(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_0, 10 * plot_cnt);
sprintf(scr_main.sig_data_io, "%03d.%03d", 0, 10 * plot_cnt);
lv_span_set_text(guider_ui.screen_main_spangroup_2_span, scr_main.sig_data_io);
if(plot_cnt % 2)
{
lv_span_set_text(guider_ui.screen_main_spangroup_4_span, "OUT");
}else{
lv_span_set_text(guider_ui.screen_main_spangroup_4_span, "IN");
}
}
}
void menu_test4_reset(void)
{
scr_init_flag = 0;
scr_init_bar1 = 0;
scr_init_cnt = 0;
scr_init_flag = 0;
tick_prv = -1;
tick_cur = -1;
nowtime_hours = 0;
nowtime_minutes = 0;
nowtime_seconds = 0;
bt_cnt = 0;
plot_cnt = 0;
init_scr_del_flag(&guider_ui);
setup_scr_screen_init(&guider_ui);
lv_scr_load(guider_ui.screen_init);
}
/**********test4**********/
#else #else
/**********test3**********/
// uint8_t scr_init_bar1 = 0, scr_init_cnt = 0, scr_init_flag = 0; // uint8_t scr_init_bar1 = 0, scr_init_cnt = 0, scr_init_flag = 0;
// int tick_prv = -1, tick_cur = -1; // int tick_prv = -1, tick_cur = -1;
// void menu_test3(void) // void menu_test3(void)
@ -203,8 +312,9 @@ void scr_main_run(void)
// break; // break;
// } // }
// } // }
/**********test3**********/
/**********test2**********/
// int bar1_v = 0, bar2_v = 0, bar3_v = 0; // int bar1_v = 0, bar2_v = 0, bar3_v = 0;
// void menu_test2(void) // void menu_test2(void)
// { // {
@ -240,6 +350,7 @@ void scr_main_run(void)
// break; // break;
// } // }
// } // }
/**********test2**********/
#endif #endif

View File

@ -10,6 +10,10 @@
int heart_1000ms_flag = 0; int heart_1000ms_flag = 0;
int heart_1000ms_cnt = 0; int heart_1000ms_cnt = 0;
int battery_3000ms_flag = 0;
int battery_3000ms_cnt = 0;
int plot_1500ms_flag = 0;
int plot_1500ms_cnt = 0;
void duty_tim3(void) void duty_tim3(void)
{ {
@ -26,6 +30,20 @@ void duty_tim6(void)
heart_1000ms_cnt = 0; heart_1000ms_cnt = 0;
heart_1000ms_flag = 1; heart_1000ms_flag = 1;
} }
battery_3000ms_cnt++;
if( battery_3000ms_cnt >= 3000)
{
battery_3000ms_cnt = 0;
battery_3000ms_flag = 1;
}
plot_1500ms_cnt++;
if( plot_1500ms_cnt >= 1500)
{
plot_1500ms_cnt = 0;
plot_1500ms_flag = 1;
}
} }

View File

@ -120,7 +120,7 @@ void setup_scr_screen_main(lv_ui *ui)
lv_spangroup_set_mode(ui->screen_main_spangroup_4, LV_SPAN_MODE_BREAK); lv_spangroup_set_mode(ui->screen_main_spangroup_4, LV_SPAN_MODE_BREAK);
//create span //create span
ui->screen_main_spangroup_4_span = lv_spangroup_new_span(ui->screen_main_spangroup_4); ui->screen_main_spangroup_4_span = lv_spangroup_new_span(ui->screen_main_spangroup_4);
lv_span_set_text(ui->screen_main_spangroup_4_span, "输出"); lv_span_set_text(ui->screen_main_spangroup_4_span, "OUT");
lv_style_set_text_color(&ui->screen_main_spangroup_4_span->style, lv_color_hex(0x000000)); lv_style_set_text_color(&ui->screen_main_spangroup_4_span->style, lv_color_hex(0x000000));
lv_style_set_text_decor(&ui->screen_main_spangroup_4_span->style, LV_TEXT_DECOR_NONE); lv_style_set_text_decor(&ui->screen_main_spangroup_4_span->style, LV_TEXT_DECOR_NONE);
lv_style_set_text_font(&ui->screen_main_spangroup_4_span->style, &lv_font_SourceHanSerifSC_Regular_24); lv_style_set_text_font(&ui->screen_main_spangroup_4_span->style, &lv_font_SourceHanSerifSC_Regular_24);

File diff suppressed because it is too large Load Diff

View File

@ -110,8 +110,8 @@
<MDIClientArea> <MDIClientArea>
<RegID>0</RegID> <RegID>0</RegID>
<MDITabState> <MDITabState>
<Len>582</Len> <Len>717</Len>
<Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000300000000000000010000006D463A5C4465736B746F705C576F726B5C30305F50726F6A656374735C30345F5369676E616C5F47656E657261746F725C30305F436F64655C30305F4E65775C7369676E616C5F67656E657261746F725C4D444B2D41524D5C737461727475705F73746D33326634303778782E730000000015737461727475705F73746D33326634303778782E7300000000C5D4F200FFFFFFFF5F463A5C4465736B746F705C576F726B5C30305F50726F6A656374735C30345F5369676E616C5F47656E657261746F725C30305F436F64655C30305F4E65775C7369676E616C5F67656E657261746F725C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF71463A5C4465736B746F705C576F726B5C30305F50726F6A656374735C30345F5369676E616C5F47656E657261746F725C30305F436F64655C30305F4E65775C7369676E616C5F67656E657261746F725C4C56474C5C6D794755495C67656E6572617465645C6775695F6775696465722E63000000000C6775695F6775696465722E6300000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000007EF9FFFF660000000000000026030000</Data> <Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000400000000000000010000006C463A5C4465736B746F705C576F726B5C30305F50726F6A656374735C30345F5369676E616C5F47656E657261746F725C30305F436F64655C30305F4E65775C7369676E616C5F67656E657261746F725C4170705C4150505F57555C5372635C617070735F6761746865722E63000000000D617070735F6761746865722E6300000000F0A0A100FFFFFFFF6C463A5C4465736B746F705C576F726B5C30305F50726F6A656374735C30345F5369676E616C5F47656E657261746F725C30305F436F64655C30305F4E65775C7369676E616C5F67656E657261746F725C4170705C4150505F57555C496E635C617070735F6761746865722E68000000000D617070735F6761746865722E6800000000BCA8E100FFFFFFFF6D463A5C4465736B746F705C576F726B5C30305F50726F6A656374735C30345F5369676E616C5F47656E657261746F725C30305F436F64655C30305F4E65775C7369676E616C5F67656E657261746F725C4D444B2D41524D5C737461727475705F73746D33326634303778782E730000000015737461727475705F73746D33326634303778782E7300000000BECEA100FFFFFFFF5F463A5C4465736B746F705C576F726B5C30305F50726F6A656374735C30345F5369676E616C5F47656E657261746F725C30305F436F64655C30305F4E65775C7369676E616C5F67656E657261746F725C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000F0A0A100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000007EF9FFFF660000000000000026030000</Data>
</MDITabState> </MDITabState>
</MDIClientArea> </MDIClientArea>
<ViewEx> <ViewEx>
@ -1822,7 +1822,7 @@
<Name>Build</Name> <Name>Build</Name>
<Buttons> <Buttons>
<Len>992</Len> <Len>992</Len>
<Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000107369676E616C5F67656E657261746F7296000000000000000100107369676E616C5F67656E657261746F72000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data> <Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000107369676E616C5F67656E657261746F7296000000000000000100107369676E616C5F67656E657261746F72000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data>
</Buttons> </Buttons>
<OriginalItems> <OriginalItems>
<Len>583</Len> <Len>583</Len>
@ -3604,6 +3604,24 @@
<MDIGroup> <MDIGroup>
<Size>100</Size> <Size>100</Size>
<ActiveTab>0</ActiveTab> <ActiveTab>0</ActiveTab>
<Doc>
<Name>..\App\APP_WU\Src\apps_gather.c</Name>
<ColumnNumber>1</ColumnNumber>
<TopLine>142</TopLine>
<CurrentLine>162</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>../App/APP_WU/Inc/apps_gather.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>12</TopLine>
<CurrentLine>35</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc> <Doc>
<Name>startup_stm32f407xx.s</Name> <Name>startup_stm32f407xx.s</Name>
<ColumnNumber>0</ColumnNumber> <ColumnNumber>0</ColumnNumber>
@ -3615,18 +3633,9 @@
</Doc> </Doc>
<Doc> <Doc>
<Name>../Core/Src/main.c</Name> <Name>../Core/Src/main.c</Name>
<ColumnNumber>6</ColumnNumber> <ColumnNumber>31</ColumnNumber>
<TopLine>102</TopLine> <TopLine>72</TopLine>
<CurrentLine>124</CurrentLine> <CurrentLine>92</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\LVGL\myGUI\generated\gui_guider.c</Name>
<ColumnNumber>1</ColumnNumber>
<TopLine>45</TopLine>
<CurrentLine>82</CurrentLine>
<Folding>1</Folding> <Folding>1</Folding>
<ContractedFolders></ContractedFolders> <ContractedFolders></ContractedFolders>
<PaneID>0</PaneID> <PaneID>0</PaneID>

Binary file not shown.

Binary file not shown.

View File

@ -194,3 +194,4 @@ signal_generator\apps_gather.o: ../LVGL/myGUI/generated/gui_guider.h
signal_generator\apps_gather.o: ../LVGL/myGUI/generated/events_init.h signal_generator\apps_gather.o: ../LVGL/myGUI/generated/events_init.h
signal_generator\apps_gather.o: ../App/APP_WU/Inc/timer.h signal_generator\apps_gather.o: ../App/APP_WU/Inc/timer.h
signal_generator\apps_gather.o: ../App/APP_WU/Inc/apps_gather.h signal_generator\apps_gather.o: ../App/APP_WU/Inc/apps_gather.h
signal_generator\apps_gather.o: E:\Softwares\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -199,3 +199,4 @@ signal_generator\freertos.o: ../LVGL/myGUI/generated/gui_guider.h
signal_generator\freertos.o: ../LVGL/myGUI/generated/events_init.h signal_generator\freertos.o: ../LVGL/myGUI/generated/events_init.h
signal_generator\freertos.o: ../App/APP_WU/Inc/timer.h signal_generator\freertos.o: ../App/APP_WU/Inc/timer.h
signal_generator\freertos.o: ../App/APP_WU/Inc/apps_gather.h signal_generator\freertos.o: ../App/APP_WU/Inc/apps_gather.h
signal_generator\freertos.o: E:\Softwares\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More