Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: ExoController MODSERIAL SDFileSystem_HelloWorld UI-Honka mbed
Fork of Data Management by
Diff: main.cpp
- Revision:
- 8:f8fd59fe3e11
- Parent:
- 4:46d4917f2464
- Child:
- 9:26e200175e0e
--- a/main.cpp Fri Dec 12 23:14:40 2014 +0000
+++ b/main.cpp Sat Feb 14 00:38:04 2015 +0000
@@ -1,26 +1,103 @@
#include "mbed.h"
#include "MODSERIAL.h"
#include "initDatabed.h"
-#include "UI.h"
+#include "UserInterface.h"
Timer t_debug;
+UserInterface userInterface;
+
+
+bool check_errfile()
+{
+ printf("checking errfile\r\n");
+ /* This line causes error, reason unknown */
+ int *errors = new int[1];
+ printf("about to open errfile for reading");
+ err.open_for_read("/sd/", "error.txt");
+ err.read_from_start(1, errors);
+ err.close();
+ printf("Errors[0]: %d\r\n", errors[0]);
+ if (errors[0] == 1) {
+ return false;
+ }
+ printf("Sucess--no errors detected\r\n");
+ return true;
+}
+
+bool check_sdcard()
+{
+ int testArray[] = {1, 2, 3, 4};
+ //int badArray[] = {1,2,3,3};
+ int *output = new int[4];
+ printf("created output array\r\n");
+ testFile.write(4, testArray);
+ printf("wrote to testfile\r\n");
+ //testFile.write(4, badArray);
+ testFile.read(4, output);
+ printf("read to output\r\n");
+ for (int i = 0; i < 4; i++) {
+ if (testArray[i] != output[i]) {
+ printf("ERROR--test read failed\r\n");
+ int error[] = {0x0001};
+ //err("/sd/", "error.txt", true);
+ err.open_for_write("/sd/", "error.txt");
+ err.write(1, error);
+ int *check = new int[1];
+ err.read_from_start(1, check);
+ err.close();
+ printf("%d writtten to ERR\r\n", check[0]);
+ return false;
+ }
+ }
+ pc.printf("Success! Test read worked\r\n");
+ return true;
+}
+/**
+int main() {
+// check_sdcard();
+ // int[] errors = new int[10];
+ // err.read(10, errors);
+ //if (error.hasFlag) {
+ //stop startup;
+ //}
+ printf("Hello world!\r\n");
+ pc.baud(9600);
+ interrupt.attach(&attachment, 0.002);
+}
int main()
{
+ pc.printf("ENTERING MAIN\r\n");
+ if (!check_errfile() || !check_sdcard()) {
+ pc.printf("Check failed...aborting power-on\r\n");
+ return 1;
+ }
+}
+*/
+
+int main()
+{
+ printf("ENTERING MAIN\r\n");
+ if (!check_errfile() || !check_sdcard()) {
+ // if (!check_sdcard()) {
+ printf("Check failed...aborting power-on\r\n");
+ return 1;
+ }
+ printf("ERRFILE/SDCARD checks passed!\r\n");
int dataIn[4], dataOut[4], buffer;
dataOut[0]=7;
dataOut[1]=30;
mainPower=1;//Don't turn on for initial testing
initializeDatabed();
comm.reply(dataOut[0]);//make this the first message
- pc.printf("DataBed On!\r\n");
+ printf("DataBed On!\r\n");
int counter=0;
int ii=0;
//float blah=1;
//t_debug.start();
while (1) { //Run these functions as fast as possible
- /*if(comm.receive()) {
+ if(comm.receive()) {
dataIn[0] = comm.read();
comm.reply(UI); // Make this the next reply
while(dataIn[0]==7) {
@@ -40,7 +117,7 @@
dataIn[1]=0;
break;
}
- }*/
+ }
if(comm.receive()) {
buffer = comm.read();
if(buffer==0xFE) { //end of message
@@ -69,16 +146,16 @@
}
}
- if(counter>=10) {
+ if(counter>=15) {
UI=0;//set the UI to 0 unless it's changed in checkUI_Xbee()
- readBuffer();
- checkUI_XBee(); //check UI from Xbee
+ userInterface.readBuffer();
+ userInterface.checkUI_XBee(); //check UI from Xbee
xbeeUI.rxBufferFlush();
counter=0;
- pc.printf("UI: %d\r\n", UI);
+ // pc.printf("UI: %d\r\n", UI);
}
- //counter++;
- //}
+ counter++;
+ }
}
}
\ No newline at end of file
