diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 5c7247b..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index a2b1fd0..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "C_Cpp.errorSquiggles": "Disabled", - "files.associations": { - "time.h": "c", - "b2hd.h": "c", - "main.h": "c", - "stdio.h": "c", - "string.h": "c", - "initialparameters.h": "c", - "filegestion.h": "c", - "power.h": "c", - "getarray.h": "c", - "math.h": "c", - "limits": "c", - "*.tcc": "c", - "type_traits": "c", - "simulateflux.h": "c", - "pthread.h": "c", - "types.h": "c", - "average.h": "c", - "queue.h": "c", - "growthrate.h": "c", - "stdbool.h": "c" - }, - "cmake.configureOnOpen": false -} diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index 3418e6a..0000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "tasks": [ - { - "type": "cppbuild", - "label": "C/C++: gcc.exe build active file", - "command": "C:/msys64/mingw64/bin/gcc.exe", - "args": ["-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}"], - "options": { - "cwd": "${fileDirname}" - }, - "problemMatcher": ["$gcc"], - "group": { - "kind": "build", - "isDefault": true - }, - "detail": "compiler: C:/msys64/mingw64/bin/gcc.exe" - } - ], - "version": "2.0.0" -} \ No newline at end of file diff --git a/Code-C/.vscode/settings.json b/Code-C/.vscode/settings.json deleted file mode 100644 index c70a9f1..0000000 --- a/Code-C/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "files.associations": { - "power.h": "c" - } -} \ No newline at end of file diff --git a/Db-Script/database.c b/Db-Script/database.c index 25f1854..379f013 100644 --- a/Db-Script/database.c +++ b/Db-Script/database.c @@ -40,6 +40,19 @@ int initializeCaptorMetadataTable() sqlite3_close(db); } +char *generateDataTableName(int trialId, int captorNumber) +{ + + char *tableName; + tableName = (char *)malloc(8 * sizeof(char)); + strcpy(tableName, "T"); + strcat(tableName, convertIntegerToChar(trialId)); + strcat(tableName, "C"); + strcat(tableName, convertIntegerToChar(captorNumber)); + strcat(tableName, "Data"); + return tableName; +} + int createCaptorDataTable(int trialId, int captorNumber) { sqlite3 *db; @@ -48,12 +61,7 @@ int createCaptorDataTable(int trialId, int captorNumber) sqlite3_stmt *stmt; // Create Table Name - char tableName[8]; - strcpy(tableName, "T"); - strcat(tableName, convertIntegerToChar(trialId)); - strcat(tableName, "C"); - strcat(tableName, convertIntegerToChar(captorNumber)); - strcat(tableName, "Data"); + char *tableName = generateDataTableName(trialId, captorNumber); rc = sqlite3_open("robotgowest.db", &db); if (rc != SQLITE_OK) @@ -107,12 +115,102 @@ char *convertIntegerToChar(int N) return (char *)arr; } +int insertTrailElement(char *position, int start, double frequency, int duration) +{ + + sqlite3 *db; + sqlite3_stmt *stmt; + + char *err_msg; + int rc; + int idx; + + rc = sqlite3_open("robotgowest.db", &db); + + rc = sqlite3_prepare_v2(db, "INSERT INTO Trials(Position,Start,Frequency,Duration) VALUES ( :position , :start , :frequency , :duration )", -1, &stmt, NULL); + if (rc != SQLITE_OK) + return 1; + + sqlite3_bind_text(stmt, 1, position, -1, SQLITE_STATIC); + + sqlite3_bind_int(stmt, 2, start); + + sqlite3_bind_double(stmt, 3, frequency); + + sqlite3_bind_int(stmt, 4, duration); + + rc = sqlite3_step(stmt); + rc = sqlite3_finalize(stmt); + sqlite3_close(db); +} + +int insertCaptorMetadataElement(int captorNumber, int trialId) +{ + + sqlite3 *db; + sqlite3_stmt *stmt; + + char *err_msg; + int rc; + int idx; + + rc = sqlite3_open("robotgowest.db", &db); + + rc = sqlite3_prepare_v2(db, "INSERT INTO CaptorMetadata(CaptorNumber,TrialId) VALUES ( :captorNumber , :trialId)", -1, &stmt, NULL); + if (rc != SQLITE_OK) + return 1; + + sqlite3_bind_int(stmt, 1, captorNumber); + + sqlite3_bind_int(stmt, 2, trialId); + + rc = sqlite3_step(stmt); + rc = sqlite3_finalize(stmt); + sqlite3_close(db); +} + +int insertCaptorDataElement(int trialId, int captorNumber, double lux, double mean, double power) +{ + + char *tableName = generateDataTableName(trialId, captorNumber); + + sqlite3 *db; + sqlite3_stmt *stmt; + + char *err_msg; + int rc; + int idx; + + rc = sqlite3_open("robotgowest.db", &db); + + char sql[70] = "INSERT INTO "; + strcat(sql, tableName); + strcat(sql, "(Lux,Mean,Power) VALUES ( :lux , :mean , :power)"); + printf(sql); + + rc = sqlite3_prepare_v2(db, sql, -1, &stmt, NULL); + if (rc != SQLITE_OK) + return 1; + + sqlite3_bind_double(stmt, 1, lux); + sqlite3_bind_double(stmt, 2, mean); + sqlite3_bind_double(stmt, 3, power); + + rc = sqlite3_step(stmt); + rc = sqlite3_finalize(stmt); + sqlite3_close(db); +} + int main(void) { sqlite3_initialize(); - initializeTrailsTable(); - initializeCaptorMetadataTable(); - createCaptorDataTable(12, 8); + // initializeTrailsTable(); + // initializeCaptorMetadataTable(); + // createCaptorDataTable(12, 8); + // insertTrailElement("test", 1, 3.0, 9); + // insertCaptorMetadataElement(1, 2); + // insertCaptorDataElement(12, 8, 10, 121, 1513); + sqlite3_shutdown(); } \ No newline at end of file diff --git a/Db-Script/db b/Db-Script/db index c116f7d..3cbc867 100755 Binary files a/Db-Script/db and b/Db-Script/db differ diff --git a/Db-Script/robotgowest.db b/Db-Script/robotgowest.db index 1e6be5e..5262041 100644 Binary files a/Db-Script/robotgowest.db and b/Db-Script/robotgowest.db differ