test

Dependencies:   ADT7410 SDFileSystem

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?

UserRevisionLine numberNew 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 }