step1

Dependencies:   mbed ADT7410 FlashAir_iSDIO SDFileSystem USBDevice

Committer:
yone2
Date:
Fri Jan 11 07:51:34 2019 +0000
Revision:
3:e36e31ebb464
Parent:
2:b961b87d7040
Child:
4:6f2cf32b8da9
for FlashAir summit osaka 2018

Who changed what in which revision?

UserRevisionLine numberNew contents of line
faadmin 0:35b67da566e1 1 #include "mbed.h"
faadmin 0:35b67da566e1 2 #include "FlashAir_iSDIO.h"
yone2 3:e36e31ebb464 3 //-------------------------------------------------------------------------------
yone2 3:e36e31ebb464 4 //Port Settings
yone2 3:e36e31ebb464 5 DigitalOut led1(LED1);
yone2 3:e36e31ebb464 6 //DigitalOut led2(P1_13,0);
faadmin 0:35b67da566e1 7
yone2 3:e36e31ebb464 8 InterruptIn sw(P1_20);
yone2 3:e36e31ebb464 9 InterruptIn isp(P0_1);
faadmin 0:35b67da566e1 10
yone2 3:e36e31ebb464 11 DigitalOut sA1(P0_13,0);
yone2 3:e36e31ebb464 12 DigitalOut sA2(P1_21,0);
yone2 3:e36e31ebb464 13 DigitalOut sB(P0_9,0);
yone2 3:e36e31ebb464 14 DigitalOut sC(P0_20,0);
yone2 3:e36e31ebb464 15 DigitalOut sD1(P0_14,0);
yone2 3:e36e31ebb464 16 DigitalOut sD2(P1_26,0);
yone2 3:e36e31ebb464 17 DigitalOut sE(P0_16,0);
yone2 3:e36e31ebb464 18 DigitalOut sF(P0_11,0);
yone2 3:e36e31ebb464 19 DigitalOut sG1(P0_23,0);
yone2 3:e36e31ebb464 20 DigitalOut sG2(P0_8,0);
yone2 3:e36e31ebb464 21 DigitalOut sJ(P0_12,0);
yone2 3:e36e31ebb464 22 DigitalOut sK(P1_28,0);
yone2 3:e36e31ebb464 23 DigitalOut sL(P1_31,0);
yone2 3:e36e31ebb464 24 DigitalOut sP(P1_23,0);
yone2 3:e36e31ebb464 25 DigitalOut sN(P1_27,0);
yone2 3:e36e31ebb464 26 DigitalOut sM(P0_2,0);
yone2 3:e36e31ebb464 27 DigitalOut sDP(P1_25,0);
yone2 3:e36e31ebb464 28 DigitalOut SD_VEN(P1_16);
faadmin 0:35b67da566e1 29 Serial console(P0_19, P0_18); // TX, RX
faadmin 0:35b67da566e1 30 FlashAir_iSDIO sd(P0_21, P0_22, P1_15, P0_17, "sd", &console); // mosi(CMD), miso(DAT0), sclk(CLK), cs(DAT3)
yone2 3:e36e31ebb464 31
yone2 3:e36e31ebb464 32 //-------------------------------------------------------------------------------
yone2 3:e36e31ebb464 33 //Program
yone2 3:e36e31ebb464 34
yone2 3:e36e31ebb464 35 int wlan_stat = 0;
yone2 3:e36e31ebb464 36 uint32_t sequenceId ;
faadmin 0:35b67da566e1 37
yone2 3:e36e31ebb464 38 void sw_int(){
yone2 3:e36e31ebb464 39 if(wlan_stat==1){
yone2 3:e36e31ebb464 40 // disconnect
yone2 3:e36e31ebb464 41 // 1. get sequenceID
yone2 3:e36e31ebb464 42 // 2. issue disconnect command
yone2 3:e36e31ebb464 43 // 3. wait response
yone2 3:e36e31ebb464 44 sequenceId = sd.getNextSequenceId();
yone2 3:e36e31ebb464 45 sd.wlan_disconnect(sequenceId);
yone2 3:e36e31ebb464 46 sd.waitResponse(sequenceId);
yone2 3:e36e31ebb464 47 wlan_stat =0;
yone2 3:e36e31ebb464 48 led1 = 0;
yone2 3:e36e31ebb464 49 wait(5.0);
yone2 3:e36e31ebb464 50 }else{
yone2 3:e36e31ebb464 51 // establish
yone2 3:e36e31ebb464 52 // 1. get sequenceID
yone2 3:e36e31ebb464 53 // 2. issue establish command
yone2 3:e36e31ebb464 54 // 3. wait resoonse
yone2 3:e36e31ebb464 55 sequenceId = sd.getNextSequenceId();
yone2 3:e36e31ebb464 56 sd.wlan_establish(sequenceId, "isdiotest", "12345678", FlashAir_iSDIO::ENCMODE_WPA2PSK_AES);
yone2 3:e36e31ebb464 57 led1 = 1;
yone2 3:e36e31ebb464 58 wlan_stat =1;
yone2 3:e36e31ebb464 59 wait(5.0);
faadmin 0:35b67da566e1 60
faadmin 0:35b67da566e1 61 }
yone2 3:e36e31ebb464 62 }
faadmin 0:35b67da566e1 63
yone2 3:e36e31ebb464 64 void isp_int(){
hogejun 1:8aaee4f08dbc 65 #define TESTDATA 0xdeadbeaf
faadmin 0:35b67da566e1 66 uint32_t testdata = TESTDATA;
faadmin 0:35b67da566e1 67 uint8_t data[sizeof(testdata)];
faadmin 0:35b67da566e1 68 memcpy(data, &testdata, sizeof(data));
faadmin 0:35b67da566e1 69 sd.write_shared_mem(0x0, data, sizeof(data));
yone2 3:e36e31ebb464 70 wait(3.0);
yone2 3:e36e31ebb464 71 }
hogejun 1:8aaee4f08dbc 72
yone2 3:e36e31ebb464 73 void seg_disp(int val){
yone2 3:e36e31ebb464 74 switch((val/10)%10){
yone2 3:e36e31ebb464 75 case 0:sA1=1;sA2=1;sB=0;sF=0;sJ=1;sK=0;sL=1;break;
yone2 3:e36e31ebb464 76 case 1:sA1=1;sA2=1;sB=0;sF=0;sJ=0;sK=0;sL=0;break;
yone2 3:e36e31ebb464 77 case 2:sA1=0;sA2=0;sB=0;sF=1;sJ=1;sK=0;sL=1;break;
yone2 3:e36e31ebb464 78 case 3:sA1=0;sA2=0;sB=0;sF=0;sJ=1;sK=1;sL=1;break;
yone2 3:e36e31ebb464 79 case 4:sA1=1;sA2=1;sB=1;sF=0;sJ=0;sK=1;sL=0;break;
yone2 3:e36e31ebb464 80 case 5:sA1=0;sA2=1;sB=1;sF=0;sJ=1;sK=1;sL=0;break;
yone2 3:e36e31ebb464 81 case 6:sA1=1;sA2=1;sB=0;sF=0;sJ=1;sK=1;sL=0;break;
yone2 3:e36e31ebb464 82 case 7:sA1=0;sA2=0;sB=0;sF=0;sJ=1;sK=0;sL=1;break;
yone2 3:e36e31ebb464 83 case 8:sA1=1;sA2=1;sB=0;sF=0;sJ=1;sK=1;sL=1;break;
yone2 3:e36e31ebb464 84 case 9:sA1=0;sA2=1;sB=0;sF=0;sJ=1;sK=1;sL=1;break;
yone2 3:e36e31ebb464 85 default:sA1=0;sA2=0;sB=0;sF=0;sJ=0;sK=0;sL=0;break;
yone2 3:e36e31ebb464 86 }
yone2 3:e36e31ebb464 87 switch(val%10){
yone2 3:e36e31ebb464 88 case 0:sC=1;sD1=1;sD2=1;sE=1;sG1=1;sG2=1;sN=0;break;
yone2 3:e36e31ebb464 89 case 1:sC=0;sD1=1;sD2=1;sE=0;sG1=0;sG2=0;sN=0;break;
yone2 3:e36e31ebb464 90 case 2:sC=1;sD1=0;sD2=1;sE=1;sG1=1;sG2=0;sN=1;break;
yone2 3:e36e31ebb464 91 case 3:sC=1;sD1=1;sD2=1;sE=1;sG1=0;sG2=0;sN=1;break;
yone2 3:e36e31ebb464 92 case 4:sC=0;sD1=1;sD2=1;sE=0;sG1=0;sG2=1;sN=1;break;
yone2 3:e36e31ebb464 93 case 5:sC=1;sD1=1;sD2=0;sE=1;sG1=0;sG2=1;sN=1;break;
yone2 3:e36e31ebb464 94 case 6:sC=1;sD1=1;sD2=0;sE=1;sG1=1;sG2=1;sN=1;break;
yone2 3:e36e31ebb464 95 case 7:sC=1;sD1=1;sD2=1;sE=0;sG1=0;sG2=0;sN=0;break;
yone2 3:e36e31ebb464 96 case 8:sC=1;sD1=1;sD2=1;sE=1;sG1=1;sG2=1;sN=1;break;
yone2 3:e36e31ebb464 97 case 9:sC=1;sD1=1;sD2=1;sE=1;sG1=0;sG2=1;sN=1;break;
yone2 3:e36e31ebb464 98 default:sC=0;sD1=0;sD2=0;sE=0;sG1=0;sG2=0;sN=0;break;
yone2 3:e36e31ebb464 99 }
yone2 3:e36e31ebb464 100 }
hogejun 1:8aaee4f08dbc 101
yone2 3:e36e31ebb464 102 int main()
yone2 3:e36e31ebb464 103 {
yone2 3:e36e31ebb464 104 SD_VEN = 1;
yone2 3:e36e31ebb464 105 // Initialize card
yone2 3:e36e31ebb464 106 FILE *fp = fopen("/sd/isdio.txt", "w");
yone2 3:e36e31ebb464 107 fclose(fp);
yone2 3:e36e31ebb464 108
yone2 3:e36e31ebb464 109 sequenceId = sd.getNextSequenceId();
yone2 3:e36e31ebb464 110 sd.wlan_disconnect(sequenceId);
yone2 3:e36e31ebb464 111 sd.waitResponse(sequenceId);
faadmin 0:35b67da566e1 112
yone2 3:e36e31ebb464 113 sw.rise(&sw_int);
yone2 3:e36e31ebb464 114 isp.rise(&isp_int);
yone2 3:e36e31ebb464 115
yone2 3:e36e31ebb464 116 int i=0;
yone2 3:e36e31ebb464 117 while(1)
yone2 3:e36e31ebb464 118 {
yone2 3:e36e31ebb464 119 seg_disp(i);
yone2 3:e36e31ebb464 120 i++;
yone2 3:e36e31ebb464 121 wait(0.3);
yone2 3:e36e31ebb464 122
yone2 3:e36e31ebb464 123
yone2 3:e36e31ebb464 124
yone2 3:e36e31ebb464 125
yone2 3:e36e31ebb464 126 }
faadmin 0:35b67da566e1 127 }