diff --git a/.config b/.config
index 8628bee..2194d37 100644
--- a/.config
+++ b/.config
@@ -583,6 +583,7 @@ CONFIG_PKG_LVGL_VER="v8.3.10"
# CONFIG_PKG_USING_U8G2 is not set
# end of u8g2: a monochrome graphic library
+# CONFIG_PKG_USING_NES_SIMULATOR is not set
# CONFIG_PKG_USING_OPENMV is not set
# CONFIG_PKG_USING_MUPDF is not set
# CONFIG_PKG_USING_STEMWIN is not set
@@ -1162,6 +1163,7 @@ CONFIG_PKG_RS485_VER="v1.06"
# CONFIG_PKG_USING_ISOTP_C is not set
# CONFIG_PKG_USING_IKUNLED is not set
# CONFIG_PKG_USING_INS5T8025 is not set
+# CONFIG_PKG_USING_ST7305 is not set
# CONFIG_PKG_USING_SPI_TOOLS is not set
# end of peripheral libraries and drivers
diff --git a/.cproject b/.cproject
index 163db0e..b85ef55 100644
--- a/.cproject
+++ b/.cproject
@@ -1526,7 +1526,7 @@
-
+
diff --git a/.project b/.project
index f059ea4..350c330 100644
--- a/.project
+++ b/.project
@@ -1,6 +1,6 @@
- 828F
+ project
diff --git a/applications/data/DATA_comm.c b/applications/data/DATA_comm.c
index 413b149..0142862 100644
--- a/applications/data/DATA_comm.c
+++ b/applications/data/DATA_comm.c
@@ -408,20 +408,20 @@ void pasre_DAT(const char *api, const char *json_str)
}
else if (strcmp(api, "SC830") == 0)
{//当前信息
- cJSON_AddItemToObject(dat,"ERR",cJSON_CreateBool(MACHINE_ERR));
- cJSON_AddItemToObject(dat,"LOCK",cJSON_CreateBool(MACHINE_LOCK));
+ cJSON_AddItemToObject(dat,"ERR",cJSON_CreateNumber(MACHINE_ERR));
+ cJSON_AddItemToObject(dat,"LOCK",cJSON_CreateNumber(MACHINE_LOCK));
cJSON_AddItemToObject(dat,"Status",cJSON_CreateString(Message));
cJSON_AddItemToObject(dat,"Work",cJSON_CreateString(Work));
cJSON_AddItemToObject(dat,"ReDye",cJSON_CreateNumber(Redye));
cJSON_AddItemToObject(dat,"Process",cJSON_CreateString(Process));
cJSON_AddItemToObject(dat,"Step",cJSON_CreateString(Step));
- cJSON_AddItemToObject(dat,"User",cJSON_CreateBool(MACHINE_USER));
- cJSON_AddItemToObject(dat,"UserB",cJSON_CreateString("False"));
+ cJSON_AddItemToObject(dat,"User",cJSON_CreateNumber(MACHINE_USER));
+ cJSON_AddItemToObject(dat,"UserB",cJSON_CreateNumber(0));
cJSON_AddItemToObject(dat,"InfoS",cJSON_CreateNumber(UserInfoStart));
cJSON_AddItemToObject(dat,"Info",cJSON_CreateString(Info));
cJSON_AddItemToObject(dat,"RUN",cJSON_CreateNumber(RUN));
cJSON_AddItemToObject(dat,"STEPID",cJSON_CreateNumber(STEPID));
- cJSON_AddItemToObject(dat,"CALL",cJSON_CreateBool(MACHINE_CALL));
+ cJSON_AddItemToObject(dat,"CALL",cJSON_CreateNumber(MACHINE_CALL));
cJSON_AddItemToObject(dat,"MST",cJSON_CreateNumber(MST));
cJSON_AddItemToObject(dat,"MTT",cJSON_CreateNumber(MTT));
cJSON_AddItemToObject(dat,"MTL",cJSON_CreateNumber(MTL));
@@ -431,8 +431,6 @@ void pasre_DAT(const char *api, const char *json_str)
cJSON_AddItemToObject(dat,"STLA",cJSON_CreateNumber(STLA));
cJSON_AddItemToObject(dat,"STTB",cJSON_CreateNumber(STTB));
cJSON_AddItemToObject(dat,"STLB",cJSON_CreateNumber(STLB));
- cJSON_AddItemToObject(dat,"STTC",cJSON_CreateNumber(STTC));
- cJSON_AddItemToObject(dat,"STLC",cJSON_CreateNumber(STLC));
}
else if (strcmp(api, "SC831") == 0)
{//当前步骤信息
diff --git a/applications/data/Variable.c b/applications/data/Variable.c
index db157b0..9f22193 100644
--- a/applications/data/Variable.c
+++ b/applications/data/Variable.c
@@ -21,11 +21,11 @@ char machine_name[16];
char machine_ID[3];
// 状态标志
-char MACHINE_ERR = 0;
-char MACHINE_LOCK = 0;
-char MACHINE_AUTO = 0;
-char MACHINE_CALL = 0;
-char MACHINE_USER = 0;
+rt_bool_t MACHINE_ERR = 0;
+rt_bool_t MACHINE_LOCK = 0;
+rt_bool_t MACHINE_AUTO =0;
+rt_bool_t MACHINE_CALL = 0;
+rt_bool_t MACHINE_USER = 0;
// 字符串变量(RAM 中可修改)
char Work[25]="SC----------";
diff --git a/applications/data/Variable.h b/applications/data/Variable.h
index 1a016dd..976bb31 100644
--- a/applications/data/Variable.h
+++ b/applications/data/Variable.h
@@ -22,11 +22,11 @@ extern char machine_name[16];
extern char machine_ID[3];
// ===== 布尔变量 =====
-extern char MACHINE_ERR;
-extern char MACHINE_LOCK;
-extern char MACHINE_AUTO;
-extern char MACHINE_CALL;
-extern char MACHINE_USER;
+extern rt_bool_t MACHINE_ERR;
+extern rt_bool_t MACHINE_LOCK;
+extern rt_bool_t MACHINE_AUTO;
+extern rt_bool_t MACHINE_CALL;
+extern rt_bool_t MACHINE_USER;
// ===== 字符串 =====
extern char Work[25];
diff --git a/applications/disk/QSPI_elmfatfs.c b/applications/disk/QSPI_elmfatfs.c
index a635689..add9767 100644
--- a/applications/disk/QSPI_elmfatfs.c
+++ b/applications/disk/QSPI_elmfatfs.c
@@ -112,7 +112,7 @@ int qspi_fal(void)
{
LOG_E("Format memory sysdata");
/* 格式化文件系统 */
- dfs_mkfs("lfs", "sysdata");
+ //dfs_mkfs("lfs", "sysdata");
/* 挂载 littlefs */
if (dfs_mount("sysdata", "/sys", "lfs", 0, NULL) == RT_EOK)
{
diff --git a/applications/sql/DB_SQLite.c b/applications/sql/DB_SQLite.c
index 896c164..b117331 100644
--- a/applications/sql/DB_SQLite.c
+++ b/applications/sql/DB_SQLite.c
@@ -13,6 +13,7 @@
#include
#include "DB_SQLite.h"
#include "sqlite3.h"
+#include
#define DB_NAME "/sddisk/SC828.db"
int db_HelperInit;
@@ -180,6 +181,10 @@ void close_db_immediately(void) {
void db_sqlite_init_full(void)
{
LOG_D("[DataBase] Init SQLite");
+
+ rt_uint8_t * ptr = rt_malloc(1024*4);
+ sqlite3_config(SQLITE_CONFIG_PAGECACHE, ptr, 4096, 1);
+
sqlite3_initialize();
if (access(DB_NAME, F_OK) != 0)
@@ -194,6 +199,9 @@ void db_sqlite_init_full(void)
}
return; //
} else{
+
+ sqlite3_exec(g_db, "PRAGMA cache_size = 8;", 0, 0, 0);
+
if(sqlite3_exec(g_db,sql_upgrade_workorder_steps, 0, 0, 0)==0)
{
LOG_D("[DataBASE]WorkorderSteps Created successfully ");
@@ -339,7 +347,7 @@ static void db_sqlite(void *parameter) {
continue;
} else {
//限制缓存大小 (KB)
- sqlite3_exec(g_db, "PRAGMA cache_size = 8;", 0, 0, 0);
+ //sqlite3_exec(g_db, "PRAGMA cache_size = 8;", 0, 0, 0);
//设置临时存储为文件模式 (节省内存)
//sqlite3_exec(g_db, "PRAGMA temp_store = FILE;", 0, 0, 0);
//rt_kprintf("Opened database: %s\n", DB_NAME);
diff --git a/drivers/board.c b/drivers/board.c
index e834b45..b32b56c 100644
--- a/drivers/board.c
+++ b/drivers/board.c
@@ -19,7 +19,7 @@ rt_weak void rt_hw_board_init()
/* 允许未对齐访问(Cortex-M3/M4/M7 支持) */
//SCB->CCR |= SCB_CCR_UNALIGN_TRP_Msk; // ← 默认是 1(禁止)
// 要允许,应该 CLEAR 这个位!
- //SCB->CCR &= ~SCB_CCR_UNALIGN_TRP_Msk;
+ //SCB->CCR &= ~SCB_CCR_UNALIGN_TRP_Msk;
extern void hw_board_init(char *clock_src, int32_t clock_src_freq, int32_t clock_target_freq);
diff --git a/packages/sqlite/sqlite_config_rtthread.h b/packages/sqlite/sqlite_config_rtthread.h
index fcc89e6..a5101e9 100644
--- a/packages/sqlite/sqlite_config_rtthread.h
+++ b/packages/sqlite/sqlite_config_rtthread.h
@@ -41,4 +41,14 @@
#define SQLITE_OS_RTTHREAD 1
#endif
+#ifndef SQLITE_DISABLE_INTRINSIC
+#define SQLITE_DISABLE_INTRINSIC 1
+#endif
+
+#ifndef SQLITE_BYTEORDER
+#define SQLITE_BYTEORDER 0
+#endif
+
+#define SQLITE_OMIT_RBU 1
+
#endif
diff --git a/rt-thread/include/rtthread.h b/rt-thread/include/rtthread.h
index 35b0893..d1a394d 100644
--- a/rt-thread/include/rtthread.h
+++ b/rt-thread/include/rtthread.h
@@ -344,6 +344,7 @@ rt_err_t rt_memheap_init(struct rt_memheap *memheap,
rt_err_t rt_memheap_detach(struct rt_memheap *heap);
void *rt_memheap_alloc(struct rt_memheap *heap, rt_size_t size);
void *rt_memheap_realloc(struct rt_memheap *heap, void *ptr, rt_size_t newsize);
+void *rt_memheap_calloc(struct rt_memheap *heap, rt_size_t count, rt_size_t size);
void rt_memheap_free(void *ptr);
void rt_memheap_info(struct rt_memheap *heap,
rt_size_t *total,
diff --git a/rt-thread/src/memheap.c b/rt-thread/src/memheap.c
index 4b09fea..71d56e6 100644
--- a/rt-thread/src/memheap.c
+++ b/rt-thread/src/memheap.c
@@ -585,6 +585,33 @@ void *rt_memheap_realloc(struct rt_memheap *heap, void *ptr, rt_size_t newsize)
}
RTM_EXPORT(rt_memheap_realloc);
+/**
+ * @brief This function will allocate a block of memory from the specified memheap,
+ * and initialize all bytes in the allocated block to zero.
+ *
+ * @param heap is a pointer to the memheap object from which to allocate memory.
+ *
+ * @param count is the number of elements to allocate.
+ *
+ * @param size is the size of each element.
+ *
+ * @return the allocated memory block address, or RT_NULL on failure.
+ */
+void *rt_memheap_calloc(struct rt_memheap *heap, rt_size_t count, rt_size_t size)
+{
+ void *p;
+
+ /* allocate 'count' objects of size 'size' */
+ p = rt_memheap_alloc(heap,count * size);
+ /* zero the memory */
+ if (p)
+ {
+ rt_memset(p, 0, count * size);
+ }
+ return p;
+}
+RTM_EXPORT(rt_memheap_calloc);
+
/**
* @brief This function will release the allocated memory block by
* rt_malloc. The released memory block is taken back to system heap.