step1

Dependencies:   mbed ADT7410 FlashAir_iSDIO SDFileSystem USBDevice

Committer:
hogejun
Date:
Thu Sep 20 01:18:55 2018 +0000
Revision:
2:b961b87d7040
Parent:
1:8aaee4f08dbc
Child:
3:e36e31ebb464
delete debug priniting

Who changed what in which revision?

UserRevisionLine numberNew contents of line
faadmin 0:35b67da566e1 1 /* FlashAir iSDIO sample
faadmin 0:35b67da566e1 2 * Copyright (C) 2018 by Junichi SHIBA, PIAX Inc.
faadmin 0:35b67da566e1 3 *
faadmin 0:35b67da566e1 4 * This file is a FlashAir iSDIO sample program code
faadmin 0:35b67da566e1 5 * Released under the BSD 2-Clause license.
faadmin 0:35b67da566e1 6 * http://flashair-developers.com/documents/license.html
faadmin 0:35b67da566e1 7 */
faadmin 0:35b67da566e1 8 #include "mbed.h"
faadmin 0:35b67da566e1 9 #include "FlashAir_iSDIO.h"
faadmin 0:35b67da566e1 10
hogejun 2:b961b87d7040 11 //#define USE_CONSOLE
faadmin 0:35b67da566e1 12
faadmin 0:35b67da566e1 13 #if defined(TARGET_LPC11U24)
faadmin 0:35b67da566e1 14 FlashAir_iSDIO sd(p11, p12, p13, p14, "sd"); // MOSI, MISO, SCLK, SSEL
faadmin 0:35b67da566e1 15 #elif defined(TARGET_LPC1114)
faadmin 0:35b67da566e1 16 FlashAir_iSDIO sd(p11, p12, p13, p14, "sd"); // MOSI, MISO, SCLK, SSEL
faadmin 0:35b67da566e1 17 #elif defined(TARGET_LPC1549)
faadmin 0:35b67da566e1 18 FlashAir_iSDIO sd(D11, D12, D13, D10, "sd"); // MOSI, MISO, SCLK, SSEL
hogejun 1:8aaee4f08dbc 19 #elif defined(TARGET_NUCLEO_L073RZ) // TOYBOARD
faadmin 0:35b67da566e1 20 Serial console(PA_9, PA_10); // TX, RX
faadmin 0:35b67da566e1 21 FlashAir_iSDIO sd(PB_15, PB_14, PB_13, PB_12, "sd", &console); // mosi(CMD), miso(DAT0), sclk(CLK), cs(DAT3)
faadmin 0:35b67da566e1 22 DigitalOut ledB(PB_11, 1); // B
faadmin 0:35b67da566e1 23 DigitalOut ledG(PB_10, 1); // G
faadmin 0:35b67da566e1 24 DigitalOut ledR(PA_15, 1); // R
faadmin 0:35b67da566e1 25 DigitalOut SD_VEN(PC_4, 0); // SD initialy off
faadmin 0:35b67da566e1 26 DigitalIn SD_CD(PC_1); // SD_CD
hogejun 1:8aaee4f08dbc 27 #elif defined(TARGET_LPC11U35_401) // Airio-Base
faadmin 0:35b67da566e1 28 //#elif defined(TARGET_MCU_LPC11U35_501)
faadmin 0:35b67da566e1 29 Serial console(P0_19, P0_18); // TX, RX
hogejun 1:8aaee4f08dbc 30 //Serial pc(USBTX, USBRX);
faadmin 0:35b67da566e1 31 FlashAir_iSDIO sd(P0_21, P0_22, P1_15, P0_17, "sd", &console); // mosi(CMD), miso(DAT0), sclk(CLK), cs(DAT3)
faadmin 0:35b67da566e1 32 DigitalOut ledB(P0_7, 1);
faadmin 0:35b67da566e1 33 DigitalOut ledG(P0_7, 1);
faadmin 0:35b67da566e1 34 DigitalOut ledR(P0_7, 1);
faadmin 0:35b67da566e1 35 DigitalOut SD_VEN(P1_16);
faadmin 0:35b67da566e1 36 DigitalIn SD_CD(P1_19);
faadmin 0:35b67da566e1 37 #else
faadmin 0:35b67da566e1 38 #error
faadmin 0:35b67da566e1 39 #endif
faadmin 0:35b67da566e1 40
faadmin 0:35b67da566e1 41
faadmin 0:35b67da566e1 42 //**************************************************
faadmin 0:35b67da566e1 43
faadmin 0:35b67da566e1 44 int main()
faadmin 0:35b67da566e1 45 {
faadmin 0:35b67da566e1 46 uint32_t sequenceId ;
hogejun 1:8aaee4f08dbc 47 ledG=0; ledB=0;
hogejun 1:8aaee4f08dbc 48
hogejun 2:b961b87d7040 49 #ifdef USE_CONSOLE
hogejun 1:8aaee4f08dbc 50 console.printf("start FlashAir iSDIO sample\n");
hogejun 2:b961b87d7040 51 #endif
faadmin 0:35b67da566e1 52
hogejun 1:8aaee4f08dbc 53 // supply power to SD card
hogejun 1:8aaee4f08dbc 54 SD_VEN = 1;
faadmin 0:35b67da566e1 55 wait(5.0);
faadmin 0:35b67da566e1 56
faadmin 0:35b67da566e1 57 if (SD_CD) {
hogejun 2:b961b87d7040 58 #ifdef USE_CONSOLE
faadmin 0:35b67da566e1 59 console.printf("SD: Not dected\n");
hogejun 2:b961b87d7040 60 #endif
faadmin 0:35b67da566e1 61 } else {
hogejun 2:b961b87d7040 62 #ifdef USE_CONSOLE
faadmin 0:35b67da566e1 63 console.printf("SD: Detected\n");
hogejun 2:b961b87d7040 64 #endif
faadmin 0:35b67da566e1 65 }
faadmin 0:35b67da566e1 66
hogejun 1:8aaee4f08dbc 67 // Initialize card
faadmin 0:35b67da566e1 68 FILE *fp = fopen("/sd/isdio.txt", "w");
faadmin 0:35b67da566e1 69 fclose(fp);
faadmin 0:35b67da566e1 70
faadmin 0:35b67da566e1 71 wait(15.0);
hogejun 1:8aaee4f08dbc 72 ledG=1; ledB=1; ledR=0;
faadmin 0:35b67da566e1 73
hogejun 1:8aaee4f08dbc 74 // disconnect
hogejun 1:8aaee4f08dbc 75 // 1. get sequenceID
hogejun 1:8aaee4f08dbc 76 // 2. issue disconnect command
hogejun 1:8aaee4f08dbc 77 // 3. wait response
faadmin 0:35b67da566e1 78 sequenceId = sd.getNextSequenceId();
faadmin 0:35b67da566e1 79 sd.wlan_disconnect(sequenceId);
faadmin 0:35b67da566e1 80 sd.waitResponse(sequenceId);
faadmin 0:35b67da566e1 81 wait(5.0);
faadmin 0:35b67da566e1 82
faadmin 0:35b67da566e1 83 ledB = 0;
hogejun 1:8aaee4f08dbc 84
hogejun 1:8aaee4f08dbc 85 // establish
hogejun 1:8aaee4f08dbc 86 // 1. get sequenceID
hogejun 1:8aaee4f08dbc 87 // 2. issue establish command
hogejun 1:8aaee4f08dbc 88 // 3. wait resoonse
faadmin 0:35b67da566e1 89 sequenceId = sd.getNextSequenceId();
hogejun 2:b961b87d7040 90 sd.wlan_establish(sequenceId, "isdiotest", "12345678", FlashAir_iSDIO::ENCMODE_WPA2PSK_AES);
faadmin 0:35b67da566e1 91 wait(5.0);
faadmin 0:35b67da566e1 92 ledG = 0;
faadmin 0:35b67da566e1 93
hogejun 1:8aaee4f08dbc 94 // shared mem
hogejun 1:8aaee4f08dbc 95 // 1. prepare test data
hogejun 1:8aaee4f08dbc 96 // 2. write data to shared mem area
hogejun 1:8aaee4f08dbc 97 // 3. read back and check
hogejun 1:8aaee4f08dbc 98 #define TESTDATA 0xdeadbeaf
faadmin 0:35b67da566e1 99 uint32_t testdata = TESTDATA;
faadmin 0:35b67da566e1 100 uint8_t data[sizeof(testdata)];
faadmin 0:35b67da566e1 101 memcpy(data, &testdata, sizeof(data));
faadmin 0:35b67da566e1 102 sd.write_shared_mem(0x0, data, sizeof(data));
faadmin 0:35b67da566e1 103 memset(data, 0x0, sizeof(data));
faadmin 0:35b67da566e1 104 sd.read_shared_mem(0x0, data, sizeof(data));
hogejun 1:8aaee4f08dbc 105
hogejun 1:8aaee4f08dbc 106 ledG=1; ledB=1; ledR=1;
hogejun 1:8aaee4f08dbc 107
faadmin 0:35b67da566e1 108 for(;;);
faadmin 0:35b67da566e1 109
faadmin 0:35b67da566e1 110 }