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
main.cpp@7:66a5ec0c5c26, 2015-01-27 (annotated)
- Committer:
- perr1940
- Date:
- Tue Jan 27 21:03:33 2015 +0000
- Revision:
- 7:66a5ec0c5c26
- Parent:
- 6:784990d5180a
This is a test I was doing to try and make the SPI faster... It didn't really work... going to revert
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| perr1940 | 0:cbb61997e231 | 1 | #include "mbed.h" | 
| perr1940 | 0:cbb61997e231 | 2 | #include "MODSERIAL.h" | 
| perr1940 | 0:cbb61997e231 | 3 | #include "initDatabed.h" | 
| perr1940 | 0:cbb61997e231 | 4 | #include "UI.h" | 
| perr1940 | 0:cbb61997e231 | 5 | |
| perr1940 | 0:cbb61997e231 | 6 | Timer t_debug; | 
| perr1940 | 7:66a5ec0c5c26 | 7 | DigitalOut myled(LED1); | 
| perr1940 | 6:784990d5180a | 8 | int dataIn[4], dataOut[4], buffer; | 
| perr1940 | 6:784990d5180a | 9 | int counter=0; | 
| perr1940 | 6:784990d5180a | 10 | int ii=0; | 
| perr1940 | 7:66a5ec0c5c26 | 11 | int flag; | 
| perr1940 | 7:66a5ec0c5c26 | 12 | |
| perr1940 | 7:66a5ec0c5c26 | 13 | /*void slaveComm() | 
| perr1940 | 7:66a5ec0c5c26 | 14 | { | 
| perr1940 | 7:66a5ec0c5c26 | 15 | __disable_irq(); | 
| perr1940 | 7:66a5ec0c5c26 | 16 | //while(!comm.receive()); | 
| perr1940 | 7:66a5ec0c5c26 | 17 | if(comm.receive()) { | 
| perr1940 | 7:66a5ec0c5c26 | 18 | buffer=comm.read(); | 
| perr1940 | 7:66a5ec0c5c26 | 19 | |
| perr1940 | 7:66a5ec0c5c26 | 20 | if(buffer==0xFE) { //end of message | 
| perr1940 | 7:66a5ec0c5c26 | 21 | ii=0; | 
| perr1940 | 7:66a5ec0c5c26 | 22 | dataIn[3]=buffer; | 
| perr1940 | 7:66a5ec0c5c26 | 23 | comm.reply(5); | 
| perr1940 | 7:66a5ec0c5c26 | 24 | counter++; | 
| perr1940 | 7:66a5ec0c5c26 | 25 | if(BMS.read(msg)) { | 
| perr1940 | 7:66a5ec0c5c26 | 26 | if(msg.id==0x18FF8320) { | 
| perr1940 | 7:66a5ec0c5c26 | 27 | //pc.printf("%x\r\n",msg.data[0]); | 
| perr1940 | 7:66a5ec0c5c26 | 28 | } | 
| perr1940 | 7:66a5ec0c5c26 | 29 | } | 
| perr1940 | 7:66a5ec0c5c26 | 30 | phone.attachment(); | 
| perr1940 | 7:66a5ec0c5c26 | 31 | } else if(buffer==0xFF) { //beginning of message | 
| perr1940 | 7:66a5ec0c5c26 | 32 | ii=1; | 
| perr1940 | 7:66a5ec0c5c26 | 33 | dataIn[0]=buffer; | 
| perr1940 | 7:66a5ec0c5c26 | 34 | comm.reply(UI); | 
| perr1940 | 7:66a5ec0c5c26 | 35 | } else if(ii==1) { | 
| perr1940 | 7:66a5ec0c5c26 | 36 | ii++; | 
| perr1940 | 7:66a5ec0c5c26 | 37 | dataIn[1]=buffer; | 
| perr1940 | 7:66a5ec0c5c26 | 38 | comm.reply(52); | 
| perr1940 | 7:66a5ec0c5c26 | 39 | } else if(ii==2) { | 
| perr1940 | 7:66a5ec0c5c26 | 40 | ii++; | 
| perr1940 | 7:66a5ec0c5c26 | 41 | dataIn[2]=buffer; | 
| perr1940 | 7:66a5ec0c5c26 | 42 | comm.reply(25); | 
| perr1940 | 7:66a5ec0c5c26 | 43 | } | 
| perr1940 | 7:66a5ec0c5c26 | 44 | } | 
| perr1940 | 7:66a5ec0c5c26 | 45 | __enable_irq(); | 
| perr1940 | 7:66a5ec0c5c26 | 46 | myled=1; | 
| perr1940 | 7:66a5ec0c5c26 | 47 | |
| perr1940 | 7:66a5ec0c5c26 | 48 | }*/ | 
| perr1940 | 6:784990d5180a | 49 | |
| perr1940 | 6:784990d5180a | 50 | void slaveComm() | 
| perr1940 | 6:784990d5180a | 51 | { | 
| perr1940 | 7:66a5ec0c5c26 | 52 | myled=1; | 
| perr1940 | 7:66a5ec0c5c26 | 53 | flag=1; | 
| perr1940 | 7:66a5ec0c5c26 | 54 | counter++; | 
| perr1940 | 6:784990d5180a | 55 | } | 
| perr1940 | 0:cbb61997e231 | 56 | |
| perr1940 | 0:cbb61997e231 | 57 | int main() | 
| perr1940 | 0:cbb61997e231 | 58 | { | 
| perr1940 | 7:66a5ec0c5c26 | 59 | myled=0; | 
| perr1940 | 1:78452728a306 | 60 | dataOut[0]=7; | 
| perr1940 | 1:78452728a306 | 61 | dataOut[1]=30; | 
| perr1940 | 2:b87aaf1bc803 | 62 | mainPower=1;//Don't turn on for initial testing | 
| perr1940 | 0:cbb61997e231 | 63 | initializeDatabed(); | 
| perr1940 | 0:cbb61997e231 | 64 | comm.reply(dataOut[0]);//make this the first message | 
| perr1940 | 6:784990d5180a | 65 | ssel.fall(&slaveComm); | 
| perr1940 | 0:cbb61997e231 | 66 | pc.printf("DataBed On!\r\n"); | 
| perr1940 | 0:cbb61997e231 | 67 | while (1) { //Run these functions as fast as possible | 
| perr1940 | 7:66a5ec0c5c26 | 68 | if(flag && comm.receive()) { | 
| perr1940 | 7:66a5ec0c5c26 | 69 | __disable_irq(); | 
| perr1940 | 7:66a5ec0c5c26 | 70 | //if(comm.receive()) { | 
| perr1940 | 7:66a5ec0c5c26 | 71 | buffer=comm.read(); | 
| perr1940 | 7:66a5ec0c5c26 | 72 | myled=0; | 
| perr1940 | 7:66a5ec0c5c26 | 73 | //} | 
| perr1940 | 7:66a5ec0c5c26 | 74 | __enable_irq(); | 
| perr1940 | 7:66a5ec0c5c26 | 75 | } | 
| perr1940 | 7:66a5ec0c5c26 | 76 | flag=0; | 
| perr1940 | 3:ef7e0cbade6d | 77 | if(counter>=10) { | 
| perr1940 | 3:ef7e0cbade6d | 78 | UI=0;//set the UI to 0 unless it's changed in checkUI_Xbee() | 
| perr1940 | 3:ef7e0cbade6d | 79 | readBuffer(); | 
| perr1940 | 3:ef7e0cbade6d | 80 | checkUI_XBee(); //check UI from Xbee | 
| perr1940 | 3:ef7e0cbade6d | 81 | xbeeUI.rxBufferFlush(); | 
| perr1940 | 3:ef7e0cbade6d | 82 | counter=0; | 
| perr1940 | 4:46d4917f2464 | 83 | pc.printf("UI: %d\r\n", UI); | 
| perr1940 | 7:66a5ec0c5c26 | 84 | pc.printf("buffer: %d \r\n", buffer); | 
| perr1940 | 3:ef7e0cbade6d | 85 | } | 
| perr1940 | 0:cbb61997e231 | 86 | } | 
| perr1940 | 0:cbb61997e231 | 87 | } | 
