From 02589fcf495ff3d139127509a85cb1b7e4d8ae41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BF=B1=20=E6=B2=88?= <2401809606@qq.com> Date: Sun, 22 Feb 2026 14:32:55 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E5=88=86=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- applications/data/DATA_comm.c | 2 +- applications/lvgl/ui_data_labels.c | 9 +++++++-- applications/sql/DB_SQLite.c | 31 +++++++++++++++++++++++++++++- applications/sql/DB_SQLite.h | 2 +- 4 files changed, 39 insertions(+), 5 deletions(-) diff --git a/applications/data/DATA_comm.c b/applications/data/DATA_comm.c index 4fe5621..28bf3d9 100644 --- a/applications/data/DATA_comm.c +++ b/applications/data/DATA_comm.c @@ -288,7 +288,7 @@ void pasre_DAT(const char *api, const char *json_str) if (strcmp(ins_, "START") == 0) { GET_STRING(Work, root, "Work", sizeof(Work)); - DATA_INSTRUCTION_START(Work); + //DATA_INSTRUCTION_START(Work); } else if (strcmp(ins_, "STOP") == 0) { diff --git a/applications/lvgl/ui_data_labels.c b/applications/lvgl/ui_data_labels.c index 2955e25..0beaa04 100644 --- a/applications/lvgl/ui_data_labels.c +++ b/applications/lvgl/ui_data_labels.c @@ -411,13 +411,18 @@ void Work_start() db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui); run_csv_to_table(select_data_ui); //启动信息 - rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s w.WorkOrder = '%s' LIMIT 1;",select_Workorder_R,Work_NAME); + rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"SELECT * FROM WorkOrderSet WHERE WorkOrder = '%s' LIMIT 1;",Work_NAME); + + rt_kprintf(sqlSELECT); + + db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui); rt_kprintf(select_data_ui); //run_csv_to_table(select_data_ui); //信息 - //rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s WorkOrder = '%s' LIMIT 1;",select_Workorder_R,Work_NAME); + //rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s w.WorkOrder = '%s' LIMIT 1;",select_Workorder_R,Work_NAME); //db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui); + //rt_kprintf(select_data_ui); //run_csv_to_table(select_data_ui); } else diff --git a/applications/sql/DB_SQLite.c b/applications/sql/DB_SQLite.c index 4d1ec9c..c2098fe 100644 --- a/applications/sql/DB_SQLite.c +++ b/applications/sql/DB_SQLite.c @@ -40,6 +40,18 @@ static void return_disabled(struct db_command *cmd); static void handle_db_command(struct db_command *cmd); static int callback(void *result_str, int argc, char **argv, char **azColName); extern int sqlite3_init_with_sdram_heap(void); + +static const char *sql_upgrade_program_steps = + "CREATE TABLE ProgramSteps (ProgramID VARCHAR,Program VARCHAR,Mode VARCHAR,Step INT,StepID VARCHAR,StepName VARCHAR," + "ParameterName VARCHAR,P1 DOUBLE,P2 DOUBLE,P3 DOUBLE,P4 DOUBLE,P5 DOUBLE,P6 INT,P7 INT,P8 INT,P9 INT,P10 INT," + "Remark VARCHAR,StepTime INT,StepID_S1 VARCHAR,StepID_S2 VARCHAR,StepID_S3 VARCHAR,StepName_S1 VARCHAR," + "StepName_S2 VARCHAR,StepName_S3 VARCHAR,P1_S1 DOUBLE,P1_S2 DOUBLE,P1_S3 DOUBLE,P2_S1 DOUBLE,P2_S2 DOUBLE," + "P2_S3 DOUBLE,P3_S1 DOUBLE,P3_S2 DOUBLE,P3_S3 DOUBLE,P4_S1 DOUBLE,P4_S2 DOUBLE,P4_S3 DOUBLE,P5_S1 DOUBLE," + "P5_S2 DOUBLE,P5_S3 DOUBLE); "; + +static const char *sql_upgrade_programname = + "CREATE TABLE ProgramName (ProgramName VARCHAR,ProgramID VARCHAR,[Group] VARCHAR,Step INT,Time VARCHAR,Notes VARCHAR); "; + static const char *sql_upgrade_workorder_steps = "CREATE TABLE WorkorderSteps (WorkOrder VARCHAR,DYELOT VARCHAR,ProgramID VARCHAR,Program VARCHAR,ReDye INT DEFAULT (0)," "Mode VARCHAR,Step INT,StepID VARCHAR,StepName VARCHAR,ParameterName VARCHAR,P1 DOUBLE,P2 DOUBLE,P3 DOUBLE," @@ -305,9 +317,14 @@ void db_sqlite_init_full(void) { LOG_D("[DataBase] Init SQLite"); - rt_uint8_t * ptr = rt_malloc(1024*4); + rt_uint8_t * ptr = rt_malloc_align(1024*4, 8); sqlite3_config(SQLITE_CONFIG_PAGECACHE, ptr, 4096, 1); + if (ptr == RT_NULL) { + LOG_E("Failed to allocate PAGECACHE memory!"); + return; + } + sqlite3_initialize(); if (access(DB_NAME, F_OK) != 0) @@ -325,6 +342,18 @@ void db_sqlite_init_full(void) sqlite3_exec(g_db, "PRAGMA cache_size = 8;", 0, 0, 0); + if(sqlite3_exec(g_db,sql_upgrade_program_steps, 0, 0, 0)==0) + { + LOG_D("[DataBASE]ProgramSteps Created successfully "); + }else{ + LOG_E("[DataBASE]ProgramSteps Creation failed "); + } + if(sqlite3_exec(g_db,sql_upgrade_programname, 0, 0, 0)==0) + { + LOG_D("[DataBASE]ProgramName Created successfully "); + }else{ + LOG_E("[DataBASE]ProgramName Creation failed "); + } if(sqlite3_exec(g_db,sql_upgrade_workorder_steps, 0, 0, 0)==0) { LOG_D("[DataBASE]WorkorderSteps Created successfully "); diff --git a/applications/sql/DB_SQLite.h b/applications/sql/DB_SQLite.h index 62ac537..4b2ff29 100644 --- a/applications/sql/DB_SQLite.h +++ b/applications/sql/DB_SQLite.h @@ -62,7 +62,7 @@ enum db_cmd_type /* ======================== * 数据库命令结构体 * ======================== */ -struct db_command +struct __attribute__((aligned(4))) db_command { enum db_cmd_type type; /**< 命令类型 */ char sql[MAX_SQL_LEN]; /**< SQL 语句内容 */