sqlite数据库,exfat支持
This commit is contained in:
1 parent
43f2057b44
commit
855a50bfeb
8 files changed
+917
-546
No files matched your search
@@ -133,11 +133,11 @@ CONFIG_RT_DFS_ELM_WORD_ACCESS=y
|
||||
# CONFIG_RT_DFS_ELM_USE_LFN_2 is not set
|
||||
CONFIG_RT_DFS_ELM_USE_LFN_3=y
|
||||
CONFIG_RT_DFS_ELM_USE_LFN=3
|
||||
CONFIG_RT_DFS_ELM_LFN_UNICODE_0=y
|
||||
# CONFIG_RT_DFS_ELM_LFN_UNICODE_0 is not set
|
||||
# CONFIG_RT_DFS_ELM_LFN_UNICODE_1 is not set
|
||||
# CONFIG_RT_DFS_ELM_LFN_UNICODE_2 is not set
|
||||
CONFIG_RT_DFS_ELM_LFN_UNICODE_2=y
|
||||
# CONFIG_RT_DFS_ELM_LFN_UNICODE_3 is not set
|
||||
CONFIG_RT_DFS_ELM_LFN_UNICODE=0
|
||||
CONFIG_RT_DFS_ELM_LFN_UNICODE=2
|
||||
CONFIG_RT_DFS_ELM_MAX_LFN=255
|
||||
CONFIG_RT_DFS_ELM_DRIVES=2
|
||||
CONFIG_RT_DFS_ELM_MAX_SECTOR_SIZE=512
|
||||
@@ -174,7 +174,9 @@ CONFIG_RT_USING_PIN=y
|
||||
# CONFIG_RT_USING_MTD_NOR is not set
|
||||
# CONFIG_RT_USING_MTD_NAND is not set
|
||||
# CONFIG_RT_USING_PM is not set
|
||||
# CONFIG_RT_USING_RTC is not set
|
||||
CONFIG_RT_USING_RTC=y
|
||||
CONFIG_RT_USING_ALARM=y
|
||||
# CONFIG_RT_USING_SOFT_RTC is not set
|
||||
CONFIG_RT_USING_SDIO=y
|
||||
CONFIG_RT_SDIO_STACK_SIZE=1024
|
||||
CONFIG_RT_SDIO_THREAD_PRIORITY=15
|
||||
@@ -536,6 +538,7 @@ CONFIG_PKG_CJSON_VER="v1.7.17"
|
||||
# CONFIG_PKG_USING_RVBACKTRACE is not set
|
||||
# CONFIG_PKG_USING_HPATCHLITE is not set
|
||||
# CONFIG_PKG_USING_THREAD_METRIC is not set
|
||||
# CONFIG_PKG_USING_UORB is not set
|
||||
# end of tools packages
|
||||
|
||||
#
|
||||
|
||||
Binary file not shown.
@@ -10,24 +10,364 @@
|
||||
#include <rtthread.h>
|
||||
#include <rtdevice.h>
|
||||
#include <board.h>
|
||||
#include <dfs_posix.h>
|
||||
#include "DB_SQLite.h"
|
||||
|
||||
#include "sqlite3.h"
|
||||
#include <dbhelper.h>
|
||||
#define DB_NAME "/rt.db"
|
||||
#define DB_NAME "/SC828.db"
|
||||
|
||||
int db_HelperInit;
|
||||
sqlite3 **db;
|
||||
|
||||
static const char *sql_upgrade_workorder_steps =
|
||||
"PRAGMA foreign_keys = OFF; "
|
||||
"BEGIN TRANSACTION; "
|
||||
"CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM WorkorderSteps; "
|
||||
"DROP TABLE WorkorderSteps; "
|
||||
"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,"
|
||||
"Parameter1 DOUBLE,"
|
||||
"Parameter2 DOUBLE,"
|
||||
"Parameter3 DOUBLE,"
|
||||
"Parameter4 DOUBLE,"
|
||||
"Parameter5 DOUBLE,"
|
||||
"Parameter6 INT,"
|
||||
"Parameter7 INT,"
|
||||
"Parameter8 INT,"
|
||||
"Parameter9 INT,"
|
||||
"Parameter10 INT,"
|
||||
"Remark VARCHAR,"
|
||||
"StepTime INT,"
|
||||
"StepID_S1 VARCHAR,"
|
||||
"StepID_S2 VARCHAR,"
|
||||
"StepID_S3 VARCHAR,"
|
||||
"StepName_S1 VARCHAR,"
|
||||
"StepName_S2 VARCHAR,"
|
||||
"StepName_S3 VARCHAR,"
|
||||
"Parameter1_S1 DOUBLE,"
|
||||
"Parameter1_S2 DOUBLE,"
|
||||
"Parameter1_S3 DOUBLE,"
|
||||
"Parameter2_S1 DOUBLE,"
|
||||
"Parameter2_S2 DOUBLE,"
|
||||
"Parameter2_S3 DOUBLE,"
|
||||
"Parameter3_S1 DOUBLE,"
|
||||
"Parameter3_S2 DOUBLE,"
|
||||
"Parameter3_S3 DOUBLE,"
|
||||
"Parameter4_S1 DOUBLE,"
|
||||
"Parameter4_S2 DOUBLE,"
|
||||
"Parameter4_S3 DOUBLE,"
|
||||
"Parameter5_S1 DOUBLE,"
|
||||
"Parameter5_S2 DOUBLE,"
|
||||
"Parameter5_S3 DOUBLE"
|
||||
"); "
|
||||
"INSERT INTO WorkorderSteps ("
|
||||
"WorkOrder, DYELOT, ProgramID, Program, ReDye, Mode, Step, StepID, StepName, "
|
||||
"ParameterName, Parameter1, Parameter2, Parameter3, Parameter4, Parameter5, "
|
||||
"Parameter6, Parameter7, Parameter8, Parameter9, Parameter10, Remark, StepTime, "
|
||||
"StepID_S1, StepID_S2, StepID_S3, StepName_S1, StepName_S2, StepName_S3, "
|
||||
"Parameter1_S1, Parameter1_S2, Parameter1_S3, Parameter2_S1, Parameter2_S2, Parameter2_S3, "
|
||||
"Parameter3_S1, Parameter3_S2, Parameter3_S3, Parameter4_S1, Parameter4_S2, Parameter4_S3, "
|
||||
"Parameter5_S1, Parameter5_S2, Parameter5_S3"
|
||||
") "
|
||||
"SELECT "
|
||||
"WorkOrder, DYELOT, ProgramID, Program, ReDye, Mode, Step, StepID, StepName, "
|
||||
"ParameterName, Parameter1, Parameter2, Parameter3, Parameter4, Parameter5, "
|
||||
"Parameter6, Parameter7, Parameter8, Parameter9, Parameter10, Remark, StepTime, "
|
||||
"StepID_S1, StepID_S2, StepID_S3, StepName_S1, StepName_S2, StepName_S3, "
|
||||
"Parameter1_S1, Parameter1_S2, Parameter1_S3, Parameter2_S1, Parameter2_S2, Parameter2_S3, "
|
||||
"Parameter3_S1, Parameter3_S2, Parameter3_S3, Parameter4_S1, Parameter4_S2, Parameter4_S3, "
|
||||
"Parameter5_S1, Parameter5_S2, Parameter5_S3 "
|
||||
"FROM sqlitestudio_temp_table; "
|
||||
"DROP TABLE sqlitestudio_temp_table; "
|
||||
"PRAGMA foreign_keys = ON; "
|
||||
"COMMIT;";
|
||||
|
||||
static const char *sql_upgrade_workorder_set =
|
||||
"PRAGMA foreign_keys = OFF; "
|
||||
"BEGIN TRANSACTION; "
|
||||
"CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM WorkOrderSet; "
|
||||
"DROP TABLE WorkOrderSet; "
|
||||
"CREATE TABLE WorkOrderSet ("
|
||||
"WorkOrder VARCHAR,"
|
||||
"ReDye INT DEFAULT (0),"
|
||||
"PumpSpeed INT,"
|
||||
"Blower INT,"
|
||||
"Swing INT,"
|
||||
"ClothWheel INT,"
|
||||
"Nozzle INT"
|
||||
"); "
|
||||
"INSERT INTO WorkOrderSet ("
|
||||
"WorkOrder, ReDye, PumpSpeed, Blower, Swing, ClothWheel, Nozzle"
|
||||
") "
|
||||
"SELECT "
|
||||
"WorkOrder, ReDye, PumpSpeed, Blower, Swing, ClothWheel, Nozzle "
|
||||
"FROM sqlitestudio_temp_table; "
|
||||
"DROP TABLE sqlitestudio_temp_table; "
|
||||
"PRAGMA foreign_keys = ON; "
|
||||
"COMMIT;";
|
||||
|
||||
static const char *sql_upgrade_workorder =
|
||||
"PRAGMA foreign_keys = OFF; "
|
||||
"BEGIN TRANSACTION; "
|
||||
"CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM WorkOrder; "
|
||||
"DROP TABLE WorkOrder; "
|
||||
"CREATE TABLE WorkOrder ("
|
||||
"WorkOrder VARCHAR,"
|
||||
"Dyelot VARCHAR,"
|
||||
"ReDye INT DEFAULT (0),"
|
||||
"ProgramName VARCHAR,"
|
||||
"StartTime DATETIME,"
|
||||
"EndTime DATETIME,"
|
||||
"Time TEXT,"
|
||||
"lock INT,"
|
||||
"State INT,"
|
||||
"ProgramID VARCHAR,"
|
||||
"Machines VARCHAR,"
|
||||
"color VARCHAR,"
|
||||
"ColorNumber VARCHAR,"
|
||||
"Client VARCHAR,"
|
||||
"ClothWeight VARCHAR,"
|
||||
"ClothSpecies VARCHAR,"
|
||||
"BathRatio VARCHAR,"
|
||||
"Total VARCHAR,"
|
||||
"USER VARCHAR,"
|
||||
"ColorName VARCHAR,"
|
||||
"Remark TEXT"
|
||||
"); "
|
||||
"INSERT INTO WorkOrder ("
|
||||
"WorkOrder, Dyelot, ReDye, ProgramName, StartTime, EndTime, Time, "
|
||||
"lock, State, ProgramID, Machines, color, ColorNumber, Client, "
|
||||
"ClothWeight, ClothSpecies, BathRatio, Total, USER, ColorName, Remark"
|
||||
") "
|
||||
"SELECT "
|
||||
"WorkOrder, Dyelot, ReDye, ProgramName, StartTime, EndTime, Time, "
|
||||
"lock, State, ProgramID, Machines, color, ColorNumber, Client, "
|
||||
"ClothWeight, ClothSpecies, BathRatio, Total, USER, ColorName, Remark "
|
||||
"FROM sqlitestudio_temp_table; "
|
||||
"DROP TABLE sqlitestudio_temp_table; "
|
||||
"PRAGMA foreign_keys = ON; "
|
||||
"COMMIT;";
|
||||
|
||||
static const char *sql_upgrade_run_table =
|
||||
"PRAGMA foreign_keys = OFF; "
|
||||
"BEGIN TRANSACTION; "
|
||||
"CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM RUN; "
|
||||
"DROP TABLE RUN; "
|
||||
"CREATE TABLE RUN ("
|
||||
"WorkOrder VARCHAR,"
|
||||
"DYELOT VARCHAR,"
|
||||
"ReDye INT DEFAULT (0),"
|
||||
"RUN INT,"
|
||||
"Mode VARCHAR,"
|
||||
"ProgramID VARCHAR,"
|
||||
"Program VARCHAR,"
|
||||
"StepID VARCHAR,"
|
||||
"Step INT,"
|
||||
"StepName VARCHAR,"
|
||||
"ParameterName VARCHAR,"
|
||||
"Parameter1 DOUBLE,"
|
||||
"Parameter2 DOUBLE,"
|
||||
"Parameter3 DOUBLE,"
|
||||
"Parameter4 DOUBLE,"
|
||||
"Parameter5 DOUBLE,"
|
||||
"Parameter6 INT,"
|
||||
"Parameter7 INT,"
|
||||
"Parameter8 INT,"
|
||||
"Parameter9 INT,"
|
||||
"Parameter10 INT,"
|
||||
"Remark VARCHAR,"
|
||||
"StepTime INT,"
|
||||
"StepID_S1 VARCHAR,"
|
||||
"StepID_S2 VARCHAR,"
|
||||
"StepID_S3 VARCHAR,"
|
||||
"StepName_S1 VARCHAR,"
|
||||
"StepName_S2 VARCHAR,"
|
||||
"StepName_S3 VARCHAR,"
|
||||
"Parameter1_S1 DOUBLE,"
|
||||
"Parameter1_S2 DOUBLE,"
|
||||
"Parameter1_S3 DOUBLE,"
|
||||
"Parameter2_S1 DOUBLE,"
|
||||
"Parameter2_S2 DOUBLE,"
|
||||
"Parameter2_S3 DOUBLE,"
|
||||
"Parameter3_S1 DOUBLE,"
|
||||
"Parameter3_S2 DOUBLE,"
|
||||
"Parameter3_S3 DOUBLE,"
|
||||
"Parameter4_S1 DOUBLE,"
|
||||
"Parameter4_S2 DOUBLE,"
|
||||
"Parameter4_S3 DOUBLE,"
|
||||
"Parameter5_S1 DOUBLE,"
|
||||
"Parameter5_S2 DOUBLE,"
|
||||
"Parameter5_S3 DOUBLE"
|
||||
"); "
|
||||
"INSERT INTO RUN ("
|
||||
"WorkOrder, DYELOT, ReDye, RUN, Mode, ProgramID, Program, "
|
||||
"StepID, Step, StepName, ParameterName, "
|
||||
"Parameter1, Parameter2, Parameter3, Parameter4, Parameter5, "
|
||||
"Parameter6, Parameter7, Parameter8, Parameter9, Parameter10, "
|
||||
"Remark, StepTime, "
|
||||
"StepID_S1, StepID_S2, StepID_S3, "
|
||||
"StepName_S1, StepName_S2, StepName_S3, "
|
||||
"Parameter1_S1, Parameter1_S2, Parameter1_S3, "
|
||||
"Parameter2_S1, Parameter2_S2, Parameter2_S3, "
|
||||
"Parameter3_S1, Parameter3_S2, Parameter3_S3, "
|
||||
"Parameter4_S1, Parameter4_S2, Parameter4_S3, "
|
||||
"Parameter5_S1, Parameter5_S2, Parameter5_S3"
|
||||
") "
|
||||
"SELECT "
|
||||
"WorkOrder, DYELOT, ReDye, RUN, Mode, ProgramID, Program, "
|
||||
"StepID, Step, StepName, ParameterName, "
|
||||
"Parameter1, Parameter2, Parameter3, Parameter4, Parameter5, "
|
||||
"Parameter6, Parameter7, Parameter8, Parameter9, Parameter10, "
|
||||
"Remark, StepTime, "
|
||||
"StepID_S1, StepID_S2, StepID_S3, "
|
||||
"StepName_S1, StepName_S2, StepName_S3, "
|
||||
"Parameter1_S1, Parameter1_S2, Parameter1_S3, "
|
||||
"Parameter2_S1, Parameter2_S2, Parameter2_S3, "
|
||||
"Parameter3_S1, Parameter3_S2, Parameter3_S3, "
|
||||
"Parameter4_S1, Parameter4_S2, Parameter4_S3, "
|
||||
"Parameter5_S1, Parameter5_S2, Parameter5_S3 "
|
||||
"FROM sqlitestudio_temp_table; "
|
||||
"DROP TABLE sqlitestudio_temp_table; "
|
||||
"PRAGMA foreign_keys = ON; "
|
||||
"COMMIT;";
|
||||
|
||||
static const char *sql_upgrade_dyelot_table =
|
||||
"PRAGMA foreign_keys = OFF; "
|
||||
"BEGIN TRANSACTION; "
|
||||
"CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM Dyelot; "
|
||||
"DROP TABLE Dyelot; "
|
||||
"CREATE TABLE Dyelot ("
|
||||
"WorkOrder VARCHAR,"
|
||||
"Dyelot VARCHAR,"
|
||||
"ReDye INT,"
|
||||
"Machine VARCHAR,"
|
||||
"Step INT,"
|
||||
"Tank INT,"
|
||||
"State INT,"
|
||||
"ProductCode VARCHAR,"
|
||||
"ProductName VARCHAR,"
|
||||
"ProductType INT,"
|
||||
"Grams FLOAT,"
|
||||
"Amount FLOAT,"
|
||||
"CALL_TIME VARCHAR,"
|
||||
"DispenseEndTime VARCHAR,"
|
||||
"Type INT"
|
||||
"); "
|
||||
"INSERT INTO Dyelot ("
|
||||
"WorkOrder, Dyelot, ReDye, Machine, Step, Tank, State, "
|
||||
"ProductCode, ProductName, ProductType, Grams, Amount, "
|
||||
"CALL_TIME, DispenseEndTime, Type"
|
||||
") "
|
||||
"SELECT "
|
||||
"WorkOrder, Dyelot, Redye, Machine, Step, Tank, State, "
|
||||
"ProductCode, ProductName, ProductType, Grams, Amount, "
|
||||
"CALL_TIME, DispenseEndTime, Type "
|
||||
"FROM sqlitestudio_temp_table; "
|
||||
"DROP TABLE sqlitestudio_temp_table; "
|
||||
"PRAGMA foreign_keys = ON; "
|
||||
"COMMIT;";
|
||||
|
||||
static const char *sql_upgrade_iolog_table =
|
||||
"PRAGMA foreign_keys = OFF; "
|
||||
"BEGIN TRANSACTION; "
|
||||
"CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM IOLog; "
|
||||
"DROP TABLE IOLog; "
|
||||
"CREATE TABLE IOLog ("
|
||||
"ID VARCHAR,"
|
||||
"IOName VARCHAR,"
|
||||
"type VARCHAR,"
|
||||
"Value DOUBLE DEFAULT (0),"
|
||||
"DIO BOOLEAN,"
|
||||
"AIO INTEGER DEFAULT (0),"
|
||||
"PLC VARCHAR"
|
||||
"); "
|
||||
"INSERT INTO IOLog ("
|
||||
"ID, IOName, type, Value, DIO, AIO, PLC"
|
||||
") "
|
||||
"SELECT "
|
||||
"ID, IOName, type, Value, DIO, AIO, PLC "
|
||||
"FROM sqlitestudio_temp_table; "
|
||||
"DROP TABLE sqlitestudio_temp_table; "
|
||||
"PRAGMA foreign_keys = ON; "
|
||||
"COMMIT;";
|
||||
|
||||
static const char *sql_upgrade_chart_table =
|
||||
"PRAGMA foreign_keys = OFF; "
|
||||
"BEGIN TRANSACTION; "
|
||||
"CREATE TABLE sqlitestudio_temp_table AS SELECT * FROM Chart; "
|
||||
"DROP TABLE Chart; "
|
||||
"CREATE TABLE Chart ("
|
||||
"WorkOrder VARCHAR,"
|
||||
"DYELOT VARCHAR,"
|
||||
"ReDye INT,"
|
||||
"Name VARCHAR,"
|
||||
"Time VARCHAR,"
|
||||
"MTT DOUBLE DEFAULT (0),"
|
||||
"MTL DOUBLE DEFAULT (0),"
|
||||
"STTA DOUBLE DEFAULT (0),"
|
||||
"STLA DOUBLE DEFAULT (0),"
|
||||
"STTB DOUBLE DEFAULT (0),"
|
||||
"STLB DOUBLE DEFAULT (0),"
|
||||
"STTC DOUBLE DEFAULT (0),"
|
||||
"STLC DOUBLE DEFAULT (0),"
|
||||
"MTH DOUBLE DEFAULT (0),"
|
||||
"MST DOUBLE DEFAULT (0),"
|
||||
"MSL DOUBLE DEFAULT (0),"
|
||||
"MUT DOUBLE DEFAULT (0)"
|
||||
"); "
|
||||
"INSERT INTO Chart ("
|
||||
"WorkOrder, DYELOT, ReDye, Name, Time, "
|
||||
"MTT, MTL, STTA, STLA, STTB, STLB, STTC, STLC, "
|
||||
"MTH, MST, MSL, MUT"
|
||||
") "
|
||||
"SELECT WorkOrder, DYELOT, COALESCE(ReDye, 0), Name, Time, "
|
||||
"MTT, MTL, STTA, STLA, STTB, STLB, STTC, STLC, "
|
||||
"MTH, MST, MSL, MUT "
|
||||
"FROM sqlitestudio_temp_table; "
|
||||
"DROP TABLE sqlitestudio_temp_table; "
|
||||
"CREATE UNIQUE INDEX IF NOT EXISTS idx_chart_time_desc ON Chart (Time DESC); "
|
||||
"PRAGMA foreign_keys = ON; "
|
||||
"COMMIT;";
|
||||
|
||||
void db_sqlite(void *parameter)
|
||||
{
|
||||
int db_HelperInit;
|
||||
int db_;
|
||||
if (access(DB_NAME, F_OK) == 0)
|
||||
{
|
||||
rt_kprintf("DB ok\n");
|
||||
sqlite3_open(DB_NAME, db);
|
||||
}else{
|
||||
rt_kprintf("DB no \n");
|
||||
sqlite3_open(DB_NAME, db);
|
||||
//创建表
|
||||
sqlite3_exec(db, sql_upgrade_workorder_steps, NULL, NULL, NULL);
|
||||
sqlite3_exec(db, sql_upgrade_workorder_set, NULL, NULL, NULL);
|
||||
sqlite3_exec(db, sql_upgrade_workorder, NULL, NULL, NULL);
|
||||
sqlite3_exec(db, sql_upgrade_run_table, NULL, NULL, NULL);
|
||||
sqlite3_exec(db, sql_upgrade_dyelot_table, NULL, NULL, NULL);
|
||||
sqlite3_exec(db, sql_upgrade_iolog_table, NULL, NULL, NULL);
|
||||
sqlite3_exec(db, sql_upgrade_chart_table, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
db_HelperInit = db_helper_init();
|
||||
|
||||
if(db_HelperInit =RT_EOK){
|
||||
rt_kprintf("HelperInit database\n");
|
||||
}else {
|
||||
// db_HelperInit = db_helper_init();
|
||||
|
||||
// if(db_HelperInit =RT_EOK){
|
||||
// rt_kprintf("HelperInit database\n");
|
||||
// }else {
|
||||
// sqlite3_open(DB_NAME, db);
|
||||
// db_ = db_create_database("CREATE TABLE student(id INTEGER PRIMARY KEY AUTOINCREMENT,name varchar(32) NOT NULL,score INT NOT NULL);");
|
||||
// if(db_=0){rt_kprintf("database ok\n");}else{rt_kprintf("database no\n");}
|
||||
}
|
||||
// }
|
||||
|
||||
/* int fd = 0;
|
||||
const char *dbname = db_get_name();
|
||||
@@ -57,7 +397,7 @@ void thread_DB_SQLite(void)
|
||||
{
|
||||
/* 初始化线程 1,名称是 thread1,入口是 thread1_entry*/
|
||||
rt_thread_t tid;
|
||||
tid = rt_thread_create("db_sqlite", db_sqlite, RT_NULL, 1024*32, 3, 10);
|
||||
tid = rt_thread_create("db_sqlite", db_sqlite, RT_NULL, 1024*64, 3, 10);
|
||||
|
||||
if (tid != RT_NULL)
|
||||
{
|
||||
|
||||
@@ -29,6 +29,7 @@ int main(void)
|
||||
thread_RUN_LED();//运行指示灯线程
|
||||
thread_DB_SQLite();
|
||||
|
||||
|
||||
start_uart_thread();
|
||||
data_comm_init();
|
||||
|
||||
|
||||
@@ -863,7 +863,7 @@ DSTATUS disk_status(BYTE drv)
|
||||
}
|
||||
|
||||
/* Read Sector(s) */
|
||||
DRESULT disk_read(BYTE drv, BYTE *buff, DWORD sector, UINT count)
|
||||
/*DRESULT disk_read(BYTE drv, BYTE *buff, DWORD sector, UINT count)
|
||||
{
|
||||
rt_size_t result;
|
||||
rt_device_t device = disk[drv];
|
||||
@@ -875,10 +875,22 @@ DRESULT disk_read(BYTE drv, BYTE *buff, DWORD sector, UINT count)
|
||||
}
|
||||
|
||||
return RES_ERROR;
|
||||
}
|
||||
}*/
|
||||
DRESULT disk_read(BYTE drv, BYTE *buff, LBA_t sector, UINT count)
|
||||
{
|
||||
rt_size_t result;
|
||||
rt_device_t device = disk[drv];
|
||||
|
||||
result = rt_device_read(device, sector, buff, count);
|
||||
if (result == count)
|
||||
{
|
||||
return RES_OK;
|
||||
}
|
||||
|
||||
return RES_ERROR;
|
||||
}
|
||||
/* Write Sector(s) */
|
||||
DRESULT disk_write(BYTE drv, const BYTE *buff, DWORD sector, UINT count)
|
||||
/*DRESULT disk_write(BYTE drv, const BYTE *buff, DWORD sector, UINT count)
|
||||
{
|
||||
rt_size_t result;
|
||||
rt_device_t device = disk[drv];
|
||||
@@ -890,6 +902,19 @@ DRESULT disk_write(BYTE drv, const BYTE *buff, DWORD sector, UINT count)
|
||||
}
|
||||
|
||||
return RES_ERROR;
|
||||
}*/
|
||||
DRESULT disk_write(BYTE drv, const BYTE *buff, LBA_t sector, UINT count)
|
||||
{
|
||||
rt_size_t result;
|
||||
rt_device_t device = disk[drv];
|
||||
|
||||
result = rt_device_write(device, sector, buff, count);
|
||||
if (result == count)
|
||||
{
|
||||
return RES_OK;
|
||||
}
|
||||
|
||||
return RES_ERROR;
|
||||
}
|
||||
|
||||
/* Miscellaneous Functions */
|
||||
|
||||
@@ -233,7 +233,7 @@
|
||||
/ GET_SECTOR_SIZE command. */
|
||||
|
||||
|
||||
#define FF_LBA64 0
|
||||
#define FF_LBA64 1
|
||||
/* This option switches support for 64-bit LBA. (0:Disable or 1:Enable)
|
||||
/ To enable the 64-bit LBA, also exFAT needs to be enabled. (FF_FS_EXFAT == 1) */
|
||||
|
||||
@@ -259,7 +259,7 @@
|
||||
/ At the tiny configuration, size of file object (FIL) is shrinked FF_MAX_SS bytes.
|
||||
/ Instead of private sector buffer eliminated from the file object, common sector
|
||||
/ buffer in the filesystem object (FATFS) is used for the file data transfer. */
|
||||
|
||||
#define RT_DFS_ELM_USE_EXFAT//exfat支持
|
||||
#ifdef RT_DFS_ELM_USE_EXFAT
|
||||
#define FF_FS_EXFAT 1
|
||||
#else
|
||||
|
||||
+4
-2
@@ -91,8 +91,8 @@
|
||||
#define RT_DFS_ELM_WORD_ACCESS
|
||||
#define RT_DFS_ELM_USE_LFN_3
|
||||
#define RT_DFS_ELM_USE_LFN 3
|
||||
#define RT_DFS_ELM_LFN_UNICODE_0
|
||||
#define RT_DFS_ELM_LFN_UNICODE 0
|
||||
#define RT_DFS_ELM_LFN_UNICODE_2
|
||||
#define RT_DFS_ELM_LFN_UNICODE 2
|
||||
#define RT_DFS_ELM_MAX_LFN 255
|
||||
#define RT_DFS_ELM_DRIVES 2
|
||||
#define RT_DFS_ELM_MAX_SECTOR_SIZE 512
|
||||
@@ -109,6 +109,8 @@
|
||||
#define RT_SERIAL_USING_DMA
|
||||
#define RT_SERIAL_RB_BUFSZ 64
|
||||
#define RT_USING_PIN
|
||||
#define RT_USING_RTC
|
||||
#define RT_USING_ALARM
|
||||
#define RT_USING_SDIO
|
||||
#define RT_SDIO_STACK_SIZE 1024
|
||||
#define RT_SDIO_THREAD_PRIORITY 15
|
||||
|
||||
Reference in new issue
Block a user