step1

Dependencies:   mbed ADT7410 FlashAir_iSDIO SDFileSystem USBDevice

Revision:
3:e36e31ebb464
Parent:
2:b961b87d7040
Child:
4:6f2cf32b8da9
--- a/main.cpp	Thu Sep 20 01:18:55 2018 +0000
+++ b/main.cpp	Fri Jan 11 07:51:34 2019 +0000
@@ -1,110 +1,127 @@
-/* FlashAir iSDIO sample
- * Copyright (C) 2018 by Junichi SHIBA, PIAX Inc.
- *
- * This file is a FlashAir iSDIO sample program code
- *  Released under the BSD 2-Clause license.
- *  http://flashair-developers.com/documents/license.html
- */
 #include "mbed.h"
 #include "FlashAir_iSDIO.h"
+//-------------------------------------------------------------------------------
+//Port Settings
+DigitalOut led1(LED1);
+//DigitalOut led2(P1_13,0);
 
-//#define USE_CONSOLE
+InterruptIn sw(P1_20);
+InterruptIn isp(P0_1);
 
-#if defined(TARGET_LPC11U24)
-FlashAir_iSDIO sd(p11, p12, p13, p14, "sd"); // MOSI, MISO, SCLK, SSEL
-#elif defined(TARGET_LPC1114)
-FlashAir_iSDIO sd(p11, p12, p13, p14, "sd"); // MOSI, MISO, SCLK, SSEL
-#elif defined(TARGET_LPC1549)
-FlashAir_iSDIO sd(D11, D12, D13, D10, "sd"); // MOSI, MISO, SCLK, SSEL
-#elif defined(TARGET_NUCLEO_L073RZ) // TOYBOARD
-Serial console(PA_9, PA_10); // TX, RX
-FlashAir_iSDIO sd(PB_15, PB_14, PB_13, PB_12, "sd", &console); // mosi(CMD), miso(DAT0), sclk(CLK), cs(DAT3)
-DigitalOut ledB(PB_11, 1); // B
-DigitalOut ledG(PB_10, 1); // G
-DigitalOut ledR(PA_15, 1); // R
-DigitalOut SD_VEN(PC_4, 0); // SD initialy off
-DigitalIn SD_CD(PC_1); // SD_CD
-#elif defined(TARGET_LPC11U35_401) // Airio-Base
-//#elif defined(TARGET_MCU_LPC11U35_501)
+DigitalOut sA1(P0_13,0);
+DigitalOut sA2(P1_21,0); 
+DigitalOut sB(P0_9,0);
+DigitalOut sC(P0_20,0);
+DigitalOut sD1(P0_14,0);
+DigitalOut sD2(P1_26,0);
+DigitalOut sE(P0_16,0);
+DigitalOut sF(P0_11,0);
+DigitalOut sG1(P0_23,0);
+DigitalOut sG2(P0_8,0);
+DigitalOut sJ(P0_12,0);
+DigitalOut sK(P1_28,0);
+DigitalOut sL(P1_31,0);
+DigitalOut sP(P1_23,0);
+DigitalOut sN(P1_27,0);
+DigitalOut sM(P0_2,0);
+DigitalOut sDP(P1_25,0);
+DigitalOut SD_VEN(P1_16);
 Serial console(P0_19, P0_18); // TX, RX
-//Serial pc(USBTX, USBRX);
 FlashAir_iSDIO sd(P0_21, P0_22, P1_15, P0_17, "sd", &console); // mosi(CMD), miso(DAT0), sclk(CLK), cs(DAT3)
-DigitalOut ledB(P0_7, 1);
-DigitalOut ledG(P0_7, 1);
-DigitalOut ledR(P0_7, 1);
-DigitalOut SD_VEN(P1_16);
-DigitalIn SD_CD(P1_19);
-#else
-#error
-#endif
+
+//-------------------------------------------------------------------------------
+//Program
+
+int wlan_stat = 0;
+uint32_t sequenceId ;
 
-
-//**************************************************
-
-int main()
-{
-    uint32_t sequenceId ;
-    ledG=0; ledB=0;
-            
-#ifdef USE_CONSOLE
-    console.printf("start FlashAir iSDIO sample\n");
-#endif
+void sw_int(){
+    if(wlan_stat==1){
+        // disconnect 
+        // 1. get sequenceID
+        // 2. issue disconnect command
+        // 3. wait response 
+        sequenceId = sd.getNextSequenceId();
+        sd.wlan_disconnect(sequenceId);
+        sd.waitResponse(sequenceId);
+        wlan_stat =0;
+        led1 = 0;
+        wait(5.0);
+    }else{
+        // establish
+        // 1. get sequenceID
+        // 2. issue establish command
+        // 3. wait resoonse        
+        sequenceId = sd.getNextSequenceId();
+        sd.wlan_establish(sequenceId, "isdiotest", "12345678", FlashAir_iSDIO::ENCMODE_WPA2PSK_AES);
+        led1 = 1;
+        wlan_stat =1;
+        wait(5.0);
     
-    // supply power to SD card
-    SD_VEN = 1;
-    wait(5.0);
-    
-    if (SD_CD) {
-#ifdef USE_CONSOLE
-        console.printf("SD: Not dected\n");
-#endif
-    } else {
-#ifdef USE_CONSOLE
-        console.printf("SD: Detected\n");
-#endif
     }
-
-    // Initialize card
-    FILE *fp = fopen("/sd/isdio.txt", "w");
-    fclose(fp);
+}
 
-    wait(15.0);
-    ledG=1; ledB=1; ledR=0;
-    
-    // disconnect 
-    // 1. get sequenceID
-    // 2. issue disconnect command
-    // 3. wait response 
-    sequenceId = sd.getNextSequenceId();
-    sd.wlan_disconnect(sequenceId);
-    sd.waitResponse(sequenceId);
-    wait(5.0);
-
-    ledB = 0;
-
-    // establish
-    // 1. get sequenceID
-    // 2. issue establish command
-    // 3. wait resoonse        
-    sequenceId = sd.getNextSequenceId();
-    sd.wlan_establish(sequenceId, "isdiotest", "12345678", FlashAir_iSDIO::ENCMODE_WPA2PSK_AES);
-    wait(5.0);
-    ledG = 0;    
-
-    // shared mem
-    // 1. prepare test data
-    // 2. write data to shared mem area
-    // 3. read back and check
+void isp_int(){
     #define TESTDATA 0xdeadbeaf
     uint32_t testdata = TESTDATA;
     uint8_t data[sizeof(testdata)];
     memcpy(data, &testdata, sizeof(data));
     sd.write_shared_mem(0x0, data, sizeof(data));
-    memset(data, 0x0, sizeof(data));
-    sd.read_shared_mem(0x0, data, sizeof(data));
+    wait(3.0);
+}
 
-    ledG=1; ledB=1; ledR=1;
+void seg_disp(int val){
+    switch((val/10)%10){
+        case 0:sA1=1;sA2=1;sB=0;sF=0;sJ=1;sK=0;sL=1;break;
+        case 1:sA1=1;sA2=1;sB=0;sF=0;sJ=0;sK=0;sL=0;break;
+        case 2:sA1=0;sA2=0;sB=0;sF=1;sJ=1;sK=0;sL=1;break;
+        case 3:sA1=0;sA2=0;sB=0;sF=0;sJ=1;sK=1;sL=1;break;
+        case 4:sA1=1;sA2=1;sB=1;sF=0;sJ=0;sK=1;sL=0;break;
+        case 5:sA1=0;sA2=1;sB=1;sF=0;sJ=1;sK=1;sL=0;break;
+        case 6:sA1=1;sA2=1;sB=0;sF=0;sJ=1;sK=1;sL=0;break;
+        case 7:sA1=0;sA2=0;sB=0;sF=0;sJ=1;sK=0;sL=1;break;
+        case 8:sA1=1;sA2=1;sB=0;sF=0;sJ=1;sK=1;sL=1;break;
+        case 9:sA1=0;sA2=1;sB=0;sF=0;sJ=1;sK=1;sL=1;break;
+        default:sA1=0;sA2=0;sB=0;sF=0;sJ=0;sK=0;sL=0;break;
+    }
+    switch(val%10){
+        case 0:sC=1;sD1=1;sD2=1;sE=1;sG1=1;sG2=1;sN=0;break;
+        case 1:sC=0;sD1=1;sD2=1;sE=0;sG1=0;sG2=0;sN=0;break;
+        case 2:sC=1;sD1=0;sD2=1;sE=1;sG1=1;sG2=0;sN=1;break;
+        case 3:sC=1;sD1=1;sD2=1;sE=1;sG1=0;sG2=0;sN=1;break;
+        case 4:sC=0;sD1=1;sD2=1;sE=0;sG1=0;sG2=1;sN=1;break;
+        case 5:sC=1;sD1=1;sD2=0;sE=1;sG1=0;sG2=1;sN=1;break;
+        case 6:sC=1;sD1=1;sD2=0;sE=1;sG1=1;sG2=1;sN=1;break;
+        case 7:sC=1;sD1=1;sD2=1;sE=0;sG1=0;sG2=0;sN=0;break;
+        case 8:sC=1;sD1=1;sD2=1;sE=1;sG1=1;sG2=1;sN=1;break;
+        case 9:sC=1;sD1=1;sD2=1;sE=1;sG1=0;sG2=1;sN=1;break;
+        default:sC=0;sD1=0;sD2=0;sE=0;sG1=0;sG2=0;sN=0;break;
+    }
+}
 
-    for(;;);
+int main()
+{
+     SD_VEN = 1;
+    // Initialize card
+    FILE *fp = fopen("/sd/isdio.txt", "w");
+    fclose(fp);
+    
+    sequenceId = sd.getNextSequenceId();
+    sd.wlan_disconnect(sequenceId);
+    sd.waitResponse(sequenceId);
     
+    sw.rise(&sw_int);
+    isp.rise(&isp_int);
+    
+    int i=0;
+    while(1)
+    {
+        seg_disp(i);
+        i++;
+        wait(0.3);
+    
+        
+
+        
+    }
 }