parent
b2324f2d19
commit
e7aeb8269b
|
@ -286,7 +286,8 @@ float32 ohm2temp(float32 ohm);
|
|||
//数据转换,温度 ℃ 转化为热电阻阻值 Ω
|
||||
float32 temp2ohm(float32 temp);
|
||||
|
||||
|
||||
//初始化打包
|
||||
void my_inits_gather(void);
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -227,8 +227,12 @@ void key_functions_main(void)
|
|||
set_working_mode(SIG_CURRENT, CURRENT_MA);
|
||||
|
||||
//加载菜单界面
|
||||
lv_obj_clear_flag(guider_ui.screen_setting, LV_OBJ_FLAG_HIDDEN);
|
||||
lv_scr_load(guider_ui.screen_setting);
|
||||
scr_setting_recover();
|
||||
lv_obj_clear_flag(guider_ui.screen_setting, LV_OBJ_FLAG_HIDDEN);
|
||||
|
||||
//隐藏主界面对象
|
||||
lv_obj_add_flag(guider_ui.screen_main, LV_OBJ_FLAG_HIDDEN);
|
||||
|
||||
//按键标志置0,等待一段时间后再切换至设置菜单的按键功能
|
||||
m5data.key_main_enable = 0;
|
||||
|
@ -247,9 +251,6 @@ void key_functions_main(void)
|
|||
|
||||
if( (m5data.tick_cur - m5data.tick_prv) >= screen_switch_wait) //tick间隔达到目标后,执行功能
|
||||
{
|
||||
//隐藏主界面对象
|
||||
lv_obj_add_flag(guider_ui.screen_main, LV_OBJ_FLAG_HIDDEN);
|
||||
|
||||
//等待结束,切换成设置菜单的按键功能
|
||||
m5data.scr_now = SCREEN_SETTING; //当前界面为详细设置菜单
|
||||
m5data.key_setting_enable = 1;
|
||||
|
@ -573,7 +574,7 @@ void scr_init_run(void)
|
|||
{
|
||||
case 0:
|
||||
{
|
||||
if( init_set_bar(0, 30, 1500) )
|
||||
if( init_set_bar(0, 35, 1200) )
|
||||
{
|
||||
init_step = 1;
|
||||
}
|
||||
|
@ -582,7 +583,7 @@ void scr_init_run(void)
|
|||
|
||||
case 1:
|
||||
{
|
||||
if( init_set_bar(60, 100, 1500) )
|
||||
if( init_set_bar(70, 100, 1200) )
|
||||
{
|
||||
init_step = 2;
|
||||
}
|
||||
|
@ -593,13 +594,15 @@ void scr_init_run(void)
|
|||
{
|
||||
//加载主界面和设置界面的内容
|
||||
setup_scr_screen_main(&guider_ui);
|
||||
delay_cnt(200);
|
||||
setup_scr_screen_setting(&guider_ui);
|
||||
delay_cnt(200);
|
||||
|
||||
lv_scr_load(guider_ui.screen_main);
|
||||
//额外处理,也用于界面切换
|
||||
scr_main_recover();
|
||||
scr_setting_recover();
|
||||
|
||||
delay_cnt(500);
|
||||
lv_obj_add_flag(guider_ui.screen_init, LV_OBJ_FLAG_HIDDEN);
|
||||
|
||||
init_step = 3;
|
||||
}
|
||||
|
@ -609,12 +612,6 @@ void scr_init_run(void)
|
|||
{
|
||||
if( m5data.tick_prv == -1 )
|
||||
{
|
||||
lv_scr_load(guider_ui.screen_main);
|
||||
|
||||
//删除初始界面对象,释放剩余内存
|
||||
//lv_obj_del(guider_ui.screen_init);
|
||||
lv_obj_add_flag(guider_ui.screen_init, LV_OBJ_FLAG_HIDDEN);
|
||||
|
||||
m5data.tick_prv = xTaskGetTickCount(); //记录起始时刻
|
||||
}else
|
||||
{
|
||||
|
@ -664,6 +661,8 @@ uint8_t init_set_bar(uint8_t start, uint8_t end, uint16_t interval)
|
|||
{
|
||||
if( m5data.tick_prv == -1 )
|
||||
{
|
||||
lv_obj_set_style_anim_time(guider_ui.screen_init_bar_1, 1000, LV_STATE_DEFAULT);
|
||||
|
||||
//如果当前值就是起点,那么直接设置终点,并转至下一步
|
||||
if( lv_bar_get_value(guider_ui.screen_init_bar_1) == start )
|
||||
{
|
||||
|
@ -1414,6 +1413,10 @@ void scr_main_recover(void)
|
|||
|
||||
//输入/输出曲线、图例、上下限颜色更新
|
||||
scr_main_color_update();
|
||||
|
||||
setting_items_check(99, tabdata.item_cursor);
|
||||
tabdata.item_cursor_prv = 99;
|
||||
tabdata.item_cursor = 0;
|
||||
}
|
||||
|
||||
//颜色更新
|
||||
|
|
|
@ -16,7 +16,7 @@ int32_t color_table[7] =
|
|||
void tab_data_init(void)
|
||||
{
|
||||
tabdata.item_cursor = 0; //选项卡的游标(焦点)
|
||||
tabdata.item_cursor_prv = 0; //前一刻的选项卡游标
|
||||
tabdata.item_cursor_prv = 99; //前一刻的选项卡游标
|
||||
tabdata.item_page = 1; //当前页
|
||||
tabdata.item_page_prv = 1; //前一页
|
||||
tabdata.content_cursor = 99; //某一选项卡内部的游标
|
||||
|
@ -132,12 +132,13 @@ void key_functions_setting(void)
|
|||
{
|
||||
if( m5data.tick_prv == -1 )
|
||||
{
|
||||
//下次进入设置页面时,从选项卡0开始
|
||||
tabdata.item_cursor = 0;
|
||||
|
||||
//加载主界面
|
||||
lv_obj_clear_flag(guider_ui.screen_main, LV_OBJ_FLAG_HIDDEN);
|
||||
lv_scr_load(guider_ui.screen_main);
|
||||
scr_main_recover();
|
||||
lv_obj_clear_flag(guider_ui.screen_main, LV_OBJ_FLAG_HIDDEN);
|
||||
|
||||
//隐藏设置界面对象
|
||||
lv_obj_add_flag(guider_ui.screen_setting, LV_OBJ_FLAG_HIDDEN);
|
||||
|
||||
//设置菜单按键使能置零,等待一段时间后切换至主界面的按键功能
|
||||
m5data.key_setting_enable = 0;
|
||||
|
@ -156,9 +157,6 @@ void key_functions_setting(void)
|
|||
|
||||
if( (m5data.tick_cur - m5data.tick_prv) >= screen_switch_wait) //tick间隔达到目标后,执行功能
|
||||
{
|
||||
//隐藏设置界面对象
|
||||
lv_obj_add_flag(guider_ui.screen_setting, LV_OBJ_FLAG_HIDDEN);
|
||||
|
||||
//等待结束,切换至主界面的按键功能
|
||||
m5data.scr_now = SCREEN_MAIN;
|
||||
m5data.key_main_enable = 1;
|
||||
|
@ -1062,6 +1060,7 @@ void scr_setting_recover(void)
|
|||
tabdata.item_page = 1;
|
||||
//在这里恢复选项卡0第1页的显示内容
|
||||
//ITEMS_0
|
||||
setting_items_check(tabdata.item_cursor, tabdata.item_cursor_prv);
|
||||
setting_laguage_switch(tabdata.item3_page0_language);
|
||||
setting_items_page(ITEMS_0 ,tabdata.item_page);
|
||||
|
||||
|
|
|
@ -845,6 +845,23 @@ float32 my_power(int a, int b)
|
|||
return result;
|
||||
}
|
||||
|
||||
//初始化打包
|
||||
void my_inits_gather(void)
|
||||
{
|
||||
//eeprom
|
||||
eeprom_spi_init();
|
||||
|
||||
//按键扫描
|
||||
tm1650_init(&hi2c1);
|
||||
|
||||
//LVGL
|
||||
lv_init(); // LVGL 初始化
|
||||
lv_port_disp_init(); // 注册LVGL的显示任务初始化
|
||||
// lv_demo_benchmark(); //lv_conf.h, line:761
|
||||
setup_ui(&guider_ui); // 初始化UI,设置与加载初始界面
|
||||
events_init(&guider_ui); // 初始化事件
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@ void duty_tim3(void)
|
|||
}
|
||||
void duty_tim6(void)
|
||||
{
|
||||
lv_tick_inc(1);
|
||||
//lv_tick_inc(1);
|
||||
|
||||
heart_1000ms_cnt++;
|
||||
if( heart_1000ms_cnt >= 1000)
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
#define configTICK_RATE_HZ ((TickType_t)1000)
|
||||
#define configMAX_PRIORITIES ( 7 )
|
||||
#define configMINIMAL_STACK_SIZE ((uint16_t)128)
|
||||
#define configTOTAL_HEAP_SIZE ((size_t)20360)
|
||||
#define configTOTAL_HEAP_SIZE ((size_t)32768)
|
||||
#define configMAX_TASK_NAME_LEN ( 16 )
|
||||
#define configUSE_TRACE_FACILITY 1
|
||||
#define configUSE_STATS_FORMATTING_FUNCTIONS 1
|
||||
|
|
|
@ -159,7 +159,6 @@ void MX_FREERTOS_Init(void) {
|
|||
* @param argument: Not used
|
||||
* @retval None
|
||||
*/
|
||||
|
||||
/* USER CODE END Header_StartDefaultTask */
|
||||
void StartDefaultTask(void const * argument)
|
||||
{
|
||||
|
@ -167,8 +166,7 @@ void StartDefaultTask(void const * argument)
|
|||
/* Infinite loop */
|
||||
for (;;)
|
||||
{
|
||||
osDelay(500);
|
||||
|
||||
osDelay(500);
|
||||
}
|
||||
/* USER CODE END StartDefaultTask */
|
||||
}
|
||||
|
|
|
@ -36,8 +36,6 @@
|
|||
/* Private typedef -----------------------------------------------------------*/
|
||||
/* USER CODE BEGIN PTD */
|
||||
|
||||
lv_ui guider_ui; // 声明 lvgl界面对象
|
||||
|
||||
/* USER CODE END PTD */
|
||||
|
||||
/* Private define ------------------------------------------------------------*/
|
||||
|
@ -53,7 +51,7 @@ lv_ui guider_ui; // 声明 lvgl界面对象
|
|||
/* Private variables ---------------------------------------------------------*/
|
||||
|
||||
/* USER CODE BEGIN PV */
|
||||
|
||||
lv_ui guider_ui; // 声明 lvgl界面对象
|
||||
/* USER CODE END PV */
|
||||
|
||||
/* Private function prototypes -----------------------------------------------*/
|
||||
|
@ -78,7 +76,7 @@ int main(void)
|
|||
/* USER CODE BEGIN 1 */
|
||||
|
||||
/* USER CODE END 1 */
|
||||
|
||||
|
||||
/* MCU Configuration--------------------------------------------------------*/
|
||||
|
||||
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
|
||||
|
@ -113,17 +111,18 @@ int main(void)
|
|||
MX_USART3_UART_Init();
|
||||
MX_I2C3_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
eeprom_spi_init();
|
||||
tm1650_init(&hi2c1);
|
||||
// eeprom_spi_init();
|
||||
// tm1650_init(&hi2c1);
|
||||
// lcd_initial(); // LCD初始化,迁移至lv_port_disp_init()内部
|
||||
lv_init(); // LVGL 初始化
|
||||
lv_port_disp_init(); // 注册LVGL的显示任务初始化
|
||||
// lv_init(); // LVGL 初始化
|
||||
// lv_port_disp_init(); // 注册LVGL的显示任务初始化
|
||||
my_inits_gather();
|
||||
|
||||
HAL_TIM_Base_Start_IT(&htim6);
|
||||
|
||||
// lv_demo_benchmark(); //lv_conf.h, line:761
|
||||
setup_ui(&guider_ui); // 初始化UI,设置与加载初始界面
|
||||
events_init(&guider_ui); // 初始化事件
|
||||
// setup_ui(&guider_ui); // 初始化UI,设置与加载初始界面
|
||||
// events_init(&guider_ui); // 初始化事件
|
||||
|
||||
/* USER CODE END 2 */
|
||||
|
||||
|
|
|
@ -57,6 +57,9 @@
|
|||
#if LV_MEM_ADR == 0
|
||||
#undef LV_MEM_POOL_INCLUDE
|
||||
#undef LV_MEM_POOL_ALLOC
|
||||
#else
|
||||
#define LV_MEM_POOL_INCLUDE "FreeRTOS.h"
|
||||
#define LV_MEM_POOL_ALLOC pvPortMalloc
|
||||
#endif
|
||||
|
||||
#else /*LV_MEM_CUSTOM*/
|
||||
|
@ -85,10 +88,10 @@
|
|||
|
||||
/*Use a custom tick source that tells the elapsed time in milliseconds.
|
||||
*It removes the need to manually update the tick with `lv_tick_inc()`)*/
|
||||
#define LV_TICK_CUSTOM 0
|
||||
#define LV_TICK_CUSTOM 1
|
||||
#if LV_TICK_CUSTOM
|
||||
#define LV_TICK_CUSTOM_INCLUDE "Arduino.h" /*Header for the system time function*/
|
||||
#define LV_TICK_CUSTOM_SYS_TIME_EXPR (millis()) /*Expression evaluating to current system time in ms*/
|
||||
#define LV_TICK_CUSTOM_INCLUDE "apps_gather.h" /*Header for the system time function*/
|
||||
#define LV_TICK_CUSTOM_SYS_TIME_EXPR ( xTaskGetTickCount() ) /*Expression evaluating to current system time in ms*/
|
||||
/*If using lvgl as ESP32 component*/
|
||||
// #define LV_TICK_CUSTOM_INCLUDE "esp_timer.h"
|
||||
// #define LV_TICK_CUSTOM_SYS_TIME_EXPR ((esp_timer_get_time() / 1000LL))
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -29,7 +29,7 @@
|
|||
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
|
||||
; </h>
|
||||
|
||||
Stack_Size EQU 0x2000
|
||||
Stack_Size EQU 0x4000
|
||||
|
||||
AREA STACK, NOINIT, READWRITE, ALIGN=3
|
||||
Stack_Mem SPACE Stack_Size
|
||||
|
@ -40,7 +40,7 @@ __initial_sp
|
|||
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
|
||||
; </h>
|
||||
|
||||
Heap_Size EQU 0x0000
|
||||
Heap_Size EQU 0x200
|
||||
|
||||
AREA HEAP, NOINIT, READWRITE, ALIGN=3
|
||||
__heap_base
|
||||
|
|
|
@ -27,7 +27,7 @@ FREERTOS.INCLUDE_uxTaskGetStackHighWaterMark=1
|
|||
FREERTOS.IPParameters=Tasks01,FootprintOK,configUSE_TICKLESS_IDLE,configGENERATE_RUN_TIME_STATS,configTOTAL_HEAP_SIZE,configUSE_STATS_FORMATTING_FUNCTIONS,configUSE_TRACE_FACILITY,configUSE_IDLE_HOOK,INCLUDE_uxTaskGetStackHighWaterMark
|
||||
FREERTOS.Tasks01=defaultTask,-3,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL;task_lcd,1,768,start_task_lcd,Default,NULL,Dynamic,NULL,NULL;task_hart,2,256,start_task_hart,Default,NULL,Dynamic,NULL,NULL;task_ble,-1,256,start_task_ble,Default,NULL,Dynamic,NULL,NULL;task_rs485,2,256,start_rs485,Default,NULL,Dynamic,NULL,NULL;task_mux_analog,3,128,start_mux_analog,Default,NULL,Dynamic,NULL,NULL;task_menu,0,512,start_menu,Default,NULL,Dynamic,NULL,NULL;task_monitor,-3,128,start_task_monitor,Default,NULL,Dynamic,NULL,NULL
|
||||
FREERTOS.configGENERATE_RUN_TIME_STATS=0
|
||||
FREERTOS.configTOTAL_HEAP_SIZE=20360
|
||||
FREERTOS.configTOTAL_HEAP_SIZE=32768
|
||||
FREERTOS.configUSE_IDLE_HOOK=0
|
||||
FREERTOS.configUSE_STATS_FORMATTING_FUNCTIONS=1
|
||||
FREERTOS.configUSE_TICKLESS_IDLE=0
|
||||
|
@ -502,7 +502,7 @@ ProjectManager.DeviceId=STM32F407VGTx
|
|||
ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.28.1
|
||||
ProjectManager.FreePins=false
|
||||
ProjectManager.HalAssertFull=false
|
||||
ProjectManager.HeapSize=0x0000
|
||||
ProjectManager.HeapSize=0x200
|
||||
ProjectManager.KeepUserCode=true
|
||||
ProjectManager.LastFirmware=true
|
||||
ProjectManager.LibraryCopy=1
|
||||
|
@ -514,7 +514,7 @@ ProjectManager.ProjectFileName=signal_generator.ioc
|
|||
ProjectManager.ProjectName=signal_generator
|
||||
ProjectManager.ProjectStructure=
|
||||
ProjectManager.RegisterCallBack=
|
||||
ProjectManager.StackSize=0x2000
|
||||
ProjectManager.StackSize=0x4000
|
||||
ProjectManager.TargetToolchain=MDK-ARM V5.32
|
||||
ProjectManager.ToolChainLocation=
|
||||
ProjectManager.UAScriptAfterPath=
|
||||
|
|
Loading…
Reference in New Issue