7 changed files with 294 additions and 306 deletions
@ -0,0 +1,249 @@ |
|||
/*
|
|||
* Copyright (c) 2006-2021, RT-Thread Development Team |
|||
* |
|||
* SPDX-License-Identifier: Apache-2.0 |
|||
* |
|||
* Change Logs: |
|||
* Date Author Notes |
|||
* 2026-02-04 Administrator the first version |
|||
*/ |
|||
#include <rtthread.h> |
|||
#include <string.h> |
|||
#include <applications/data/Variable.h> |
|||
#include <applications/data/SC828_DATA_table.h> |
|||
#include <board.h> |
|||
#include <stdio.h> |
|||
#include <time.h> |
|||
#include <string.h> |
|||
#include <guider/custom/custom.h> |
|||
#include <guider/generated/events_init.h> |
|||
#include <guider/generated/gui_guider.h> |
|||
#include <guider/generated/widgets_init.h> |
|||
#include "lvgl.h" |
|||
|
|||
// 全局或静态数组
|
|||
char buf[8]; |
|||
|
|||
lv_obj_t *di_led_array[64]; |
|||
lv_obj_t *do_led_array[64]; |
|||
lv_obj_t *di_labels[24]; // DI: AIO4001 ~ AIO4024 (24个)
|
|||
lv_obj_t *do_labels[16]; // DO: AIO5001 ~ AIO5016 (16个)
|
|||
|
|||
extern struct rt_memheap sram_SRAM1,sdram_heap; |
|||
void ui_init_io(lv_ui *ui) { |
|||
//di
|
|||
di_led_array[0] = ui->screen_di1; |
|||
di_led_array[1] = ui->screen_di2; |
|||
di_led_array[2] = ui->screen_di3; |
|||
di_led_array[3] = ui->screen_di4; |
|||
di_led_array[4] = ui->screen_di5; |
|||
di_led_array[5] = ui->screen_di6; |
|||
di_led_array[6] = ui->screen_di7; |
|||
di_led_array[7] = ui->screen_di8; |
|||
di_led_array[8] = ui->screen_di9; |
|||
di_led_array[9] = ui->screen_di10; |
|||
di_led_array[10] = ui->screen_di11; |
|||
di_led_array[11] = ui->screen_di12; |
|||
di_led_array[12] = ui->screen_di13; |
|||
di_led_array[13] = ui->screen_di14; |
|||
di_led_array[14] = ui->screen_di15; |
|||
di_led_array[15] = ui->screen_di16; |
|||
di_led_array[16] = ui->screen_di17; |
|||
di_led_array[17] = ui->screen_di18; |
|||
di_led_array[18] = ui->screen_di19; |
|||
di_led_array[19] = ui->screen_di20; |
|||
di_led_array[20] = ui->screen_di21; |
|||
di_led_array[21] = ui->screen_di22; |
|||
di_led_array[22] = ui->screen_di23; |
|||
di_led_array[23] = ui->screen_di24; |
|||
di_led_array[24] = ui->screen_di25; |
|||
di_led_array[25] = ui->screen_di26; |
|||
di_led_array[26] = ui->screen_di27; |
|||
di_led_array[27] = ui->screen_di28; |
|||
di_led_array[28] = ui->screen_di29; |
|||
di_led_array[29] = ui->screen_di30; |
|||
di_led_array[30] = ui->screen_di31; |
|||
di_led_array[31] = ui->screen_di32; |
|||
di_led_array[32] = ui->screen_di33; |
|||
di_led_array[33] = ui->screen_di34; |
|||
di_led_array[34] = ui->screen_di35; |
|||
di_led_array[35] = ui->screen_di36; |
|||
di_led_array[36] = ui->screen_di37; |
|||
di_led_array[37] = ui->screen_di38; |
|||
di_led_array[38] = ui->screen_di39; |
|||
di_led_array[39] = ui->screen_di40; |
|||
di_led_array[40] = ui->screen_di41; |
|||
di_led_array[41] = ui->screen_di42; |
|||
di_led_array[42] = ui->screen_di43; |
|||
di_led_array[43] = ui->screen_di44; |
|||
di_led_array[44] = ui->screen_di45; |
|||
di_led_array[45] = ui->screen_di46; |
|||
di_led_array[46] = ui->screen_di47; |
|||
di_led_array[47] = ui->screen_di48; |
|||
di_led_array[48] = ui->screen_di49; |
|||
di_led_array[49] = ui->screen_di50; |
|||
di_led_array[50] = ui->screen_di51; |
|||
di_led_array[51] = ui->screen_di52; |
|||
di_led_array[52] = ui->screen_di53; |
|||
di_led_array[53] = ui->screen_di54; |
|||
di_led_array[54] = ui->screen_di55; |
|||
di_led_array[55] = ui->screen_di56; |
|||
di_led_array[56] = ui->screen_di57; |
|||
di_led_array[57] = ui->screen_di58; |
|||
di_led_array[58] = ui->screen_di59; |
|||
di_led_array[59] = ui->screen_di60; |
|||
di_led_array[60] = ui->screen_di61; |
|||
di_led_array[61] = ui->screen_di62; |
|||
di_led_array[62] = ui->screen_di63; |
|||
di_led_array[63] = ui->screen_di64; |
|||
//do
|
|||
do_led_array[0] = ui->screen_do0; |
|||
do_led_array[1] = ui->screen_do1; |
|||
do_led_array[2] = ui->screen_do2; |
|||
do_led_array[3] = ui->screen_do3; |
|||
do_led_array[4] = ui->screen_do4; |
|||
do_led_array[5] = ui->screen_do5; |
|||
do_led_array[6] = ui->screen_do6; |
|||
do_led_array[7] = ui->screen_do7; |
|||
do_led_array[8] = ui->screen_do8; |
|||
do_led_array[9] = ui->screen_do9; |
|||
do_led_array[10] = ui->screen_do10; |
|||
do_led_array[11] = ui->screen_do11; |
|||
do_led_array[12] = ui->screen_do12; |
|||
do_led_array[13] = ui->screen_do13; |
|||
do_led_array[14] = ui->screen_do14; |
|||
do_led_array[15] = ui->screen_do15; |
|||
do_led_array[16] = ui->screen_do16; |
|||
do_led_array[17] = ui->screen_do17; |
|||
do_led_array[18] = ui->screen_do18; |
|||
do_led_array[19] = ui->screen_do19; |
|||
do_led_array[20] = ui->screen_do20; |
|||
do_led_array[21] = ui->screen_do21; |
|||
do_led_array[22] = ui->screen_do22; |
|||
do_led_array[23] = ui->screen_do23; |
|||
do_led_array[24] = ui->screen_do24; |
|||
do_led_array[25] = ui->screen_do25; |
|||
do_led_array[26] = ui->screen_do26; |
|||
do_led_array[27] = ui->screen_do27; |
|||
do_led_array[28] = ui->screen_do28; |
|||
do_led_array[29] = ui->screen_do29; |
|||
do_led_array[30] = ui->screen_do30; |
|||
do_led_array[31] = ui->screen_do31; |
|||
do_led_array[32] = ui->screen_do32; |
|||
do_led_array[33] = ui->screen_do33; |
|||
do_led_array[34] = ui->screen_do34; |
|||
do_led_array[35] = ui->screen_do35; |
|||
do_led_array[36] = ui->screen_do36; |
|||
do_led_array[37] = ui->screen_do37; |
|||
do_led_array[38] = ui->screen_do38; |
|||
do_led_array[39] = ui->screen_do39; |
|||
do_led_array[40] = ui->screen_do40; |
|||
do_led_array[41] = ui->screen_do41; |
|||
do_led_array[42] = ui->screen_do42; |
|||
do_led_array[43] = ui->screen_do43; |
|||
do_led_array[44] = ui->screen_do44; |
|||
do_led_array[45] = ui->screen_do45; |
|||
do_led_array[46] = ui->screen_do46; |
|||
do_led_array[47] = ui->screen_do47; |
|||
do_led_array[48] = ui->screen_do48; |
|||
do_led_array[49] = ui->screen_do49; |
|||
do_led_array[50] = ui->screen_do50; |
|||
do_led_array[51] = ui->screen_do51; |
|||
do_led_array[52] = ui->screen_do52; |
|||
do_led_array[53] = ui->screen_do53; |
|||
do_led_array[54] = ui->screen_do54; |
|||
do_led_array[55] = ui->screen_do55; |
|||
do_led_array[56] = ui->screen_do56; |
|||
do_led_array[57] = ui->screen_do57; |
|||
do_led_array[58] = ui->screen_do58; |
|||
do_led_array[59] = ui->screen_do59; |
|||
do_led_array[60] = ui->screen_do60; |
|||
do_led_array[61] = ui->screen_do61; |
|||
do_led_array[62] = ui->screen_do62; |
|||
do_led_array[63] = ui->screen_do63; |
|||
//ai
|
|||
di_labels[0] = ui->screen_AIO4001; |
|||
di_labels[1] = ui->screen_AIO4002; |
|||
di_labels[2] = ui->screen_AIO4003; |
|||
di_labels[3] = ui->screen_AIO4004; |
|||
di_labels[4] = ui->screen_AIO4005; |
|||
di_labels[5] = ui->screen_AIO4006; |
|||
di_labels[6] = ui->screen_AIO4007; |
|||
di_labels[7] = ui->screen_AIO4008; |
|||
di_labels[8] = ui->screen_AIO4009; |
|||
di_labels[9] = ui->screen_AIO4010; |
|||
di_labels[10] = ui->screen_AIO4011; |
|||
di_labels[11] = ui->screen_AIO4012; |
|||
di_labels[12] = ui->screen_AIO4013; |
|||
di_labels[13] = ui->screen_AIO4014; |
|||
di_labels[14] = ui->screen_AIO4015; |
|||
di_labels[15] = ui->screen_AIO4016; |
|||
di_labels[16] = ui->screen_AIO4017; |
|||
di_labels[17] = ui->screen_AIO4018; |
|||
di_labels[18] = ui->screen_AIO4019; |
|||
di_labels[19] = ui->screen_AIO4020; |
|||
di_labels[20] = ui->screen_AIO4021; |
|||
di_labels[21] = ui->screen_AIO4022; |
|||
di_labels[22] = ui->screen_AIO4023; |
|||
di_labels[23] = ui->screen_AIO4024; |
|||
//ao
|
|||
do_labels[0] = ui->screen_AIO5001; |
|||
do_labels[1] = ui->screen_AIO5002; |
|||
do_labels[2] = ui->screen_AIO5003; |
|||
do_labels[3] = ui->screen_AIO5004; |
|||
do_labels[4] = ui->screen_AIO5005; |
|||
do_labels[5] = ui->screen_AIO5006; |
|||
do_labels[6] = ui->screen_AIO5007; |
|||
do_labels[7] = ui->screen_AIO5008; |
|||
do_labels[8] = ui->screen_AIO5009; |
|||
do_labels[9] = ui->screen_AIO5010; |
|||
do_labels[10] = ui->screen_AIO5011; |
|||
do_labels[11] = ui->screen_AIO5012; |
|||
do_labels[12] = ui->screen_AIO5013; |
|||
do_labels[13] = ui->screen_AIO5014; |
|||
do_labels[14] = ui->screen_AIO5015; |
|||
do_labels[15] = ui->screen_AIO5016; |
|||
} |
|||
|
|||
void update_io_labels(void) |
|||
{ |
|||
|
|||
for (int i = 0; i < 24; i++) { |
|||
snprintf(buf, sizeof(buf), "%d", ai_table[i].current_Value); |
|||
lv_label_set_text(di_labels[i], buf); |
|||
} |
|||
|
|||
for (int i = 0; i < 16; i++) { |
|||
snprintf(buf, sizeof(buf), "%d", ao_table[i].current_Value); |
|||
lv_label_set_text(do_labels[i], buf); |
|||
} |
|||
} |
|||
void update_led_i(void) |
|||
{ |
|||
for (int i = 0; i < 64; i++) |
|||
{ |
|||
if(di_table[i].current_state) |
|||
{ |
|||
lv_led_on(di_led_array[i]); |
|||
} |
|||
else |
|||
{ |
|||
lv_led_off(di_led_array[i]); |
|||
} |
|||
|
|||
} |
|||
} |
|||
void update_led_o(void) |
|||
{ |
|||
for (int i = 0; i < 64; i++) |
|||
{ |
|||
if(do_table[i].current_state) |
|||
{ |
|||
lv_led_on(do_led_array[i]); |
|||
} |
|||
else |
|||
{ |
|||
lv_led_off(do_led_array[i]); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,23 @@ |
|||
/*
|
|||
* Copyright (c) 2006-2021, RT-Thread Development Team |
|||
* |
|||
* SPDX-License-Identifier: Apache-2.0 |
|||
* |
|||
* Change Logs: |
|||
* Date Author Notes |
|||
* 2026-02-04 Administrator the first version |
|||
*/ |
|||
#ifndef APPLICATIONS_LVGL_UI_DATA_LABELS_H_ |
|||
#define APPLICATIONS_LVGL_UI_DATA_LABELS_H_ |
|||
|
|||
extern lv_obj_t *di_led_array[64]; |
|||
extern lv_obj_t *do_led_array[64]; |
|||
extern lv_obj_t *di_labels[24]; // DI: AIO4001 ~ AIO4024 (24个)
|
|||
extern lv_obj_t *do_labels[16]; // DO: AIO5001 ~ AIO5016 (16个)
|
|||
|
|||
void ui_init_io(lv_ui *ui); |
|||
void update_io_labels(void); |
|||
void update_led_i(void); |
|||
void update_led_o(void); |
|||
|
|||
#endif /* APPLICATIONS_LVGL_UI_DATA_LABELS_H_ */ |
|||
Loading…
Reference in new issue