test
Dependencies: ADT7410 SDFileSystem
main.cpp@1:f055c17c57de, 2019-07-17 (annotated)
- Committer:
- mbed_crane_elec
- Date:
- Wed Jul 17 17:43:19 2019 +0000
- Revision:
- 1:f055c17c57de
- Parent:
- 0:3da9c374c155
2
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_crane_elec | 0:3da9c374c155 | 1 | #include "mbed.h" |
mbed_crane_elec | 0:3da9c374c155 | 2 | //#include "FlashAir_iSDIO.h" |
mbed_crane_elec | 0:3da9c374c155 | 3 | #include "SDFileSystem.h" |
mbed_crane_elec | 0:3da9c374c155 | 4 | //#include "USBSerial.h" |
mbed_crane_elec | 0:3da9c374c155 | 5 | #include "ADT7410.h" |
mbed_crane_elec | 0:3da9c374c155 | 6 | |
mbed_crane_elec | 0:3da9c374c155 | 7 | #define USE_ADT7410 |
mbed_crane_elec | 0:3da9c374c155 | 8 | //------------------------------------------------------------------------------- |
mbed_crane_elec | 0:3da9c374c155 | 9 | //Port Settings |
mbed_crane_elec | 0:3da9c374c155 | 10 | DigitalOut led1(LED1); |
mbed_crane_elec | 0:3da9c374c155 | 11 | //DigitalOut led2(P1_13,0); |
mbed_crane_elec | 0:3da9c374c155 | 12 | |
mbed_crane_elec | 0:3da9c374c155 | 13 | InterruptIn sw(P1_20); |
mbed_crane_elec | 0:3da9c374c155 | 14 | InterruptIn isp(P0_1); |
mbed_crane_elec | 0:3da9c374c155 | 15 | |
mbed_crane_elec | 0:3da9c374c155 | 16 | DigitalOut sA1(P0_13,0); |
mbed_crane_elec | 0:3da9c374c155 | 17 | DigitalOut sA2(P1_21,0); |
mbed_crane_elec | 0:3da9c374c155 | 18 | DigitalOut sB(P0_9,0); |
mbed_crane_elec | 0:3da9c374c155 | 19 | DigitalOut sC(P0_20,0); |
mbed_crane_elec | 0:3da9c374c155 | 20 | DigitalOut sD1(P0_14,0); |
mbed_crane_elec | 0:3da9c374c155 | 21 | DigitalOut sD2(P1_26,0); |
mbed_crane_elec | 0:3da9c374c155 | 22 | DigitalOut sE(P0_16,0); |
mbed_crane_elec | 0:3da9c374c155 | 23 | DigitalOut sF(P0_11,0); |
mbed_crane_elec | 0:3da9c374c155 | 24 | DigitalOut sG1(P0_23,0); |
mbed_crane_elec | 0:3da9c374c155 | 25 | DigitalOut sG2(P0_8,0); |
mbed_crane_elec | 0:3da9c374c155 | 26 | DigitalOut sJ(P0_12,0); |
mbed_crane_elec | 0:3da9c374c155 | 27 | DigitalOut sK(P1_28,0); |
mbed_crane_elec | 0:3da9c374c155 | 28 | DigitalOut sL(P1_31,0); |
mbed_crane_elec | 0:3da9c374c155 | 29 | DigitalOut sP(P1_23,0); |
mbed_crane_elec | 0:3da9c374c155 | 30 | DigitalOut sN(P1_27,0); |
mbed_crane_elec | 0:3da9c374c155 | 31 | DigitalOut sM(P0_2,0); |
mbed_crane_elec | 0:3da9c374c155 | 32 | DigitalOut sDP(P1_25,0); |
mbed_crane_elec | 0:3da9c374c155 | 33 | DigitalOut SD_VEN(P1_16); |
mbed_crane_elec | 0:3da9c374c155 | 34 | //Serial console(P0_19, P0_18); // TX, RX |
mbed_crane_elec | 0:3da9c374c155 | 35 | //FlashAir_iSDIO sd(P0_21, P0_22, P1_15, P0_17, "sd", &console); // mosi(CMD), miso(DAT0), sclk(CLK), cs(DAT3) |
mbed_crane_elec | 0:3da9c374c155 | 36 | SDFileSystem sd(P0_21, P0_22, P1_15, P0_17, "sd"); // mosi(CMD), miso(DAT0), sclk(CLK), cs(DAT3) |
mbed_crane_elec | 0:3da9c374c155 | 37 | |
mbed_crane_elec | 0:3da9c374c155 | 38 | //USBSerial serial; |
mbed_crane_elec | 0:3da9c374c155 | 39 | #ifdef USE_ADT7410 |
mbed_crane_elec | 0:3da9c374c155 | 40 | ADT7410 sensor(P0_5, P0_4, 0x90, 100000); |
mbed_crane_elec | 0:3da9c374c155 | 41 | #else |
mbed_crane_elec | 0:3da9c374c155 | 42 | int dummyval[] = {0,1,2,3,4,5,6,7,8,9}; |
mbed_crane_elec | 0:3da9c374c155 | 43 | #define DUMMYVALLEN (sizeof(dummyval)/sizeof(dummyval[0])) |
mbed_crane_elec | 0:3da9c374c155 | 44 | #endif |
mbed_crane_elec | 0:3da9c374c155 | 45 | float senseval; |
mbed_crane_elec | 0:3da9c374c155 | 46 | int sense_int; |
mbed_crane_elec | 0:3da9c374c155 | 47 | |
mbed_crane_elec | 0:3da9c374c155 | 48 | //------------------------------------------------------------------------------- |
mbed_crane_elec | 0:3da9c374c155 | 49 | //Program |
mbed_crane_elec | 0:3da9c374c155 | 50 | |
mbed_crane_elec | 0:3da9c374c155 | 51 | int wlan_connected = 0; |
mbed_crane_elec | 0:3da9c374c155 | 52 | uint32_t sequenceId ; |
mbed_crane_elec | 0:3da9c374c155 | 53 | |
mbed_crane_elec | 0:3da9c374c155 | 54 | void sw_int(){ |
mbed_crane_elec | 0:3da9c374c155 | 55 | if(wlan_connected==1){ |
mbed_crane_elec | 0:3da9c374c155 | 56 | // disconnect |
mbed_crane_elec | 0:3da9c374c155 | 57 | // 1. get sequenceID |
mbed_crane_elec | 0:3da9c374c155 | 58 | // 2. issue disconnect command |
mbed_crane_elec | 0:3da9c374c155 | 59 | // 3. wait response |
mbed_crane_elec | 0:3da9c374c155 | 60 | //sequenceId = sd.getNextSequenceId(); |
mbed_crane_elec | 0:3da9c374c155 | 61 | //sd.wlan_disconnect(sequenceId); |
mbed_crane_elec | 0:3da9c374c155 | 62 | //sd.waitResponse(sequenceId); |
mbed_crane_elec | 0:3da9c374c155 | 63 | wlan_connected =0; |
mbed_crane_elec | 0:3da9c374c155 | 64 | led1 = 0; |
mbed_crane_elec | 0:3da9c374c155 | 65 | wait(5.0); |
mbed_crane_elec | 0:3da9c374c155 | 66 | }else{ |
mbed_crane_elec | 0:3da9c374c155 | 67 | // establish |
mbed_crane_elec | 0:3da9c374c155 | 68 | // 1. get sequenceID |
mbed_crane_elec | 0:3da9c374c155 | 69 | // 2. issue establish command |
mbed_crane_elec | 0:3da9c374c155 | 70 | // 3. wait resoonse |
mbed_crane_elec | 0:3da9c374c155 | 71 | // sequenceId = sd.getNextSequenceId(); |
mbed_crane_elec | 0:3da9c374c155 | 72 | // sd.wlan_establish(sequenceId, "isdiotest", "12345678", FlashAir_iSDIO::ENCMODE_WPA2PSK_AES); |
mbed_crane_elec | 0:3da9c374c155 | 73 | // sd.waitResponse(sequenceId); |
mbed_crane_elec | 0:3da9c374c155 | 74 | led1 = 1; |
mbed_crane_elec | 0:3da9c374c155 | 75 | // wlan_connected =1; |
mbed_crane_elec | 0:3da9c374c155 | 76 | wait(5.0); |
mbed_crane_elec | 0:3da9c374c155 | 77 | |
mbed_crane_elec | 0:3da9c374c155 | 78 | } |
mbed_crane_elec | 0:3da9c374c155 | 79 | } |
mbed_crane_elec | 0:3da9c374c155 | 80 | |
mbed_crane_elec | 0:3da9c374c155 | 81 | void isp_int(){ |
mbed_crane_elec | 0:3da9c374c155 | 82 | #define TESTDATA "deadbeaf" |
mbed_crane_elec | 0:3da9c374c155 | 83 | char testdata[] = TESTDATA; |
mbed_crane_elec | 0:3da9c374c155 | 84 | uint8_t data[sizeof(testdata)]; |
mbed_crane_elec | 0:3da9c374c155 | 85 | memcpy(data, &testdata, sizeof(data)); |
mbed_crane_elec | 0:3da9c374c155 | 86 | // sd.write_shared_mem(0x0, data, sizeof(data)); |
mbed_crane_elec | 0:3da9c374c155 | 87 | wait(3.0); |
mbed_crane_elec | 0:3da9c374c155 | 88 | } |
mbed_crane_elec | 0:3da9c374c155 | 89 | |
mbed_crane_elec | 0:3da9c374c155 | 90 | void seg_disp(int val){ |
mbed_crane_elec | 0:3da9c374c155 | 91 | switch((val/10)%10){ |
mbed_crane_elec | 0:3da9c374c155 | 92 | case 0:sA1=1;sA2=1;sB=0;sF=0;sJ=1;sK=0;sL=1;break; |
mbed_crane_elec | 0:3da9c374c155 | 93 | case 1:sA1=1;sA2=1;sB=0;sF=0;sJ=0;sK=0;sL=0;break; |
mbed_crane_elec | 0:3da9c374c155 | 94 | case 2:sA1=0;sA2=0;sB=0;sF=1;sJ=1;sK=0;sL=1;break; |
mbed_crane_elec | 0:3da9c374c155 | 95 | case 3:sA1=0;sA2=0;sB=0;sF=0;sJ=1;sK=1;sL=1;break; |
mbed_crane_elec | 0:3da9c374c155 | 96 | case 4:sA1=1;sA2=1;sB=1;sF=0;sJ=0;sK=1;sL=0;break; |
mbed_crane_elec | 0:3da9c374c155 | 97 | case 5:sA1=0;sA2=1;sB=1;sF=0;sJ=1;sK=1;sL=0;break; |
mbed_crane_elec | 0:3da9c374c155 | 98 | case 6:sA1=1;sA2=1;sB=0;sF=0;sJ=1;sK=1;sL=0;break; |
mbed_crane_elec | 0:3da9c374c155 | 99 | case 7:sA1=0;sA2=0;sB=0;sF=0;sJ=1;sK=0;sL=1;break; |
mbed_crane_elec | 0:3da9c374c155 | 100 | case 8:sA1=1;sA2=1;sB=0;sF=0;sJ=1;sK=1;sL=1;break; |
mbed_crane_elec | 0:3da9c374c155 | 101 | case 9:sA1=0;sA2=1;sB=0;sF=0;sJ=1;sK=1;sL=1;break; |
mbed_crane_elec | 0:3da9c374c155 | 102 | default:sA1=0;sA2=0;sB=0;sF=0;sJ=0;sK=0;sL=0;break; |
mbed_crane_elec | 0:3da9c374c155 | 103 | } |
mbed_crane_elec | 0:3da9c374c155 | 104 | switch(val%10){ |
mbed_crane_elec | 0:3da9c374c155 | 105 | case 0:sC=1;sD1=1;sD2=1;sE=1;sG1=1;sG2=1;sN=0;break; |
mbed_crane_elec | 0:3da9c374c155 | 106 | case 1:sC=0;sD1=1;sD2=1;sE=0;sG1=0;sG2=0;sN=0;break; |
mbed_crane_elec | 0:3da9c374c155 | 107 | case 2:sC=1;sD1=0;sD2=1;sE=1;sG1=1;sG2=0;sN=1;break; |
mbed_crane_elec | 0:3da9c374c155 | 108 | case 3:sC=1;sD1=1;sD2=1;sE=1;sG1=0;sG2=0;sN=1;break; |
mbed_crane_elec | 0:3da9c374c155 | 109 | case 4:sC=0;sD1=1;sD2=1;sE=0;sG1=0;sG2=1;sN=1;break; |
mbed_crane_elec | 0:3da9c374c155 | 110 | case 5:sC=1;sD1=1;sD2=0;sE=1;sG1=0;sG2=1;sN=1;break; |
mbed_crane_elec | 0:3da9c374c155 | 111 | case 6:sC=1;sD1=1;sD2=0;sE=1;sG1=1;sG2=1;sN=1;break; |
mbed_crane_elec | 0:3da9c374c155 | 112 | case 7:sC=1;sD1=1;sD2=1;sE=0;sG1=0;sG2=0;sN=0;break; |
mbed_crane_elec | 0:3da9c374c155 | 113 | case 8:sC=1;sD1=1;sD2=1;sE=1;sG1=1;sG2=1;sN=1;break; |
mbed_crane_elec | 0:3da9c374c155 | 114 | case 9:sC=1;sD1=1;sD2=1;sE=1;sG1=0;sG2=1;sN=1;break; |
mbed_crane_elec | 0:3da9c374c155 | 115 | default:sC=0;sD1=0;sD2=0;sE=0;sG1=0;sG2=0;sN=0;break; |
mbed_crane_elec | 0:3da9c374c155 | 116 | } |
mbed_crane_elec | 0:3da9c374c155 | 117 | } |
mbed_crane_elec | 0:3da9c374c155 | 118 | |
mbed_crane_elec | 0:3da9c374c155 | 119 | int out_file(float val) |
mbed_crane_elec | 0:3da9c374c155 | 120 | { |
mbed_crane_elec | 0:3da9c374c155 | 121 | FILE *fd = fopen("/sd/test.txt", "a"); |
mbed_crane_elec | 0:3da9c374c155 | 122 | fprintf(fd, "%.02f\r\n", val); |
mbed_crane_elec | 0:3da9c374c155 | 123 | fclose(fd); |
mbed_crane_elec | 0:3da9c374c155 | 124 | return 0; |
mbed_crane_elec | 0:3da9c374c155 | 125 | } |
mbed_crane_elec | 0:3da9c374c155 | 126 | |
mbed_crane_elec | 0:3da9c374c155 | 127 | int main() |
mbed_crane_elec | 0:3da9c374c155 | 128 | { |
mbed_crane_elec | 0:3da9c374c155 | 129 | //console.printf("Hello FlashAIr_iSDIO_16seg_ADT7410\n"); |
mbed_crane_elec | 0:3da9c374c155 | 130 | SD_VEN = 1; |
mbed_crane_elec | 0:3da9c374c155 | 131 | // Initialize card |
mbed_crane_elec | 0:3da9c374c155 | 132 | // FILE *fp = fopen("/sd/isdio.txt", "w"); |
mbed_crane_elec | 0:3da9c374c155 | 133 | // fclose(fp); |
mbed_crane_elec | 0:3da9c374c155 | 134 | |
mbed_crane_elec | 0:3da9c374c155 | 135 | #ifdef USE_ADT7410 |
mbed_crane_elec | 0:3da9c374c155 | 136 | sensor.reset(); |
mbed_crane_elec | 0:3da9c374c155 | 137 | #endif |
mbed_crane_elec | 0:3da9c374c155 | 138 | |
mbed_crane_elec | 0:3da9c374c155 | 139 | // disconnect anyway |
mbed_crane_elec | 0:3da9c374c155 | 140 | // sequenceId = sd.getNextSequenceId(); |
mbed_crane_elec | 0:3da9c374c155 | 141 | // sd.wlan_disconnect(sequenceId); |
mbed_crane_elec | 0:3da9c374c155 | 142 | // sd.waitResponse(sequenceId); |
mbed_crane_elec | 0:3da9c374c155 | 143 | |
mbed_crane_elec | 0:3da9c374c155 | 144 | // register interrupt handler |
mbed_crane_elec | 0:3da9c374c155 | 145 | sw.rise(&sw_int); |
mbed_crane_elec | 0:3da9c374c155 | 146 | isp.rise(&isp_int); |
mbed_crane_elec | 0:3da9c374c155 | 147 | |
mbed_crane_elec | 0:3da9c374c155 | 148 | int i=0; |
mbed_crane_elec | 0:3da9c374c155 | 149 | while(1) |
mbed_crane_elec | 0:3da9c374c155 | 150 | { |
mbed_crane_elec | 0:3da9c374c155 | 151 | #ifdef USE_ADT7410 |
mbed_crane_elec | 0:3da9c374c155 | 152 | senseval = sensor.getTemp(); |
mbed_crane_elec | 0:3da9c374c155 | 153 | sense_int = (int)sensor.getTemp(); |
mbed_crane_elec | 0:3da9c374c155 | 154 | #else |
mbed_crane_elec | 0:3da9c374c155 | 155 | senseval = dummyval[i]; |
mbed_crane_elec | 0:3da9c374c155 | 156 | #endif |
mbed_crane_elec | 0:3da9c374c155 | 157 | seg_disp(sense_int); |
mbed_crane_elec | 0:3da9c374c155 | 158 | out_file(senseval); |
mbed_crane_elec | 0:3da9c374c155 | 159 | //serial.printf("%d\n",senseval); |
mbed_crane_elec | 0:3da9c374c155 | 160 | i++; |
mbed_crane_elec | 0:3da9c374c155 | 161 | #ifndef USE_ADT7410 |
mbed_crane_elec | 0:3da9c374c155 | 162 | if(i>=DUMMYVALLEN) i=0; |
mbed_crane_elec | 0:3da9c374c155 | 163 | #endif |
mbed_crane_elec | 0:3da9c374c155 | 164 | wait(0.3); |
mbed_crane_elec | 0:3da9c374c155 | 165 | } |
mbed_crane_elec | 0:3da9c374c155 | 166 | } |