Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@0:22cb397754b4, 2018-01-10 (annotated)
- Committer:
- dkato
- Date:
- Wed Jan 10 01:57:43 2018 +0000
- Revision:
- 0:22cb397754b4
first commit
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| dkato | 0:22cb397754b4 | 1 | |
| dkato | 0:22cb397754b4 | 2 | #include "mbed.h" |
| dkato | 0:22cb397754b4 | 3 | #include "USBSerial.h" |
| dkato | 0:22cb397754b4 | 4 | |
| dkato | 0:22cb397754b4 | 5 | USBSerial pc(0x1f00, 0x2012, 0x0001, false, 20480); // connect_blocking = false, buf_size = 20480 |
| dkato | 0:22cb397754b4 | 6 | RawSerial wifi_serial(P7_1, P0_1); |
| dkato | 0:22cb397754b4 | 7 | |
| dkato | 0:22cb397754b4 | 8 | InterruptIn button0(USER_BUTTON0); |
| dkato | 0:22cb397754b4 | 9 | InterruptIn button1(USER_BUTTON1); |
| dkato | 0:22cb397754b4 | 10 | |
| dkato | 0:22cb397754b4 | 11 | DigitalOut wifi_en(P5_3); |
| dkato | 0:22cb397754b4 | 12 | DigitalOut wifi_io0(P3_14); |
| dkato | 0:22cb397754b4 | 13 | |
| dkato | 0:22cb397754b4 | 14 | static uint8_t usb_send_buff[64]; |
| dkato | 0:22cb397754b4 | 15 | |
| dkato | 0:22cb397754b4 | 16 | static void settings_change(int baud, int bits, int parity, int stop) { |
| dkato | 0:22cb397754b4 | 17 | wifi_serial.baud(baud); |
| dkato | 0:22cb397754b4 | 18 | wifi_serial.format(bits, (SerialBase::Parity)parity, (stop == 0) ? 1 : stop); |
| dkato | 0:22cb397754b4 | 19 | } |
| dkato | 0:22cb397754b4 | 20 | |
| dkato | 0:22cb397754b4 | 21 | static void button0_fall(void) { |
| dkato | 0:22cb397754b4 | 22 | wifi_en = 0; |
| dkato | 0:22cb397754b4 | 23 | } |
| dkato | 0:22cb397754b4 | 24 | |
| dkato | 0:22cb397754b4 | 25 | static void button0_rise(void) { |
| dkato | 0:22cb397754b4 | 26 | wifi_en = 1; |
| dkato | 0:22cb397754b4 | 27 | } |
| dkato | 0:22cb397754b4 | 28 | |
| dkato | 0:22cb397754b4 | 29 | static void button1_fall(void) { |
| dkato | 0:22cb397754b4 | 30 | wifi_io0 = 0; |
| dkato | 0:22cb397754b4 | 31 | } |
| dkato | 0:22cb397754b4 | 32 | |
| dkato | 0:22cb397754b4 | 33 | static void button1_rise(void) { |
| dkato | 0:22cb397754b4 | 34 | wifi_io0 = 1; |
| dkato | 0:22cb397754b4 | 35 | } |
| dkato | 0:22cb397754b4 | 36 | |
| dkato | 0:22cb397754b4 | 37 | int main() { |
| dkato | 0:22cb397754b4 | 38 | pc.attach(&settings_change); |
| dkato | 0:22cb397754b4 | 39 | |
| dkato | 0:22cb397754b4 | 40 | // check ESP_IO0 |
| dkato | 0:22cb397754b4 | 41 | if (button1 == 0) { |
| dkato | 0:22cb397754b4 | 42 | wifi_io0 = 0; |
| dkato | 0:22cb397754b4 | 43 | } else { |
| dkato | 0:22cb397754b4 | 44 | wifi_io0 = 1; |
| dkato | 0:22cb397754b4 | 45 | } |
| dkato | 0:22cb397754b4 | 46 | |
| dkato | 0:22cb397754b4 | 47 | // button setting |
| dkato | 0:22cb397754b4 | 48 | button0.fall(&button0_fall); |
| dkato | 0:22cb397754b4 | 49 | button0.rise(&button0_rise); |
| dkato | 0:22cb397754b4 | 50 | button1.fall(&button1_fall); |
| dkato | 0:22cb397754b4 | 51 | button1.rise(&button1_rise); |
| dkato | 0:22cb397754b4 | 52 | |
| dkato | 0:22cb397754b4 | 53 | // reset |
| dkato | 0:22cb397754b4 | 54 | wifi_en = 0; |
| dkato | 0:22cb397754b4 | 55 | Thread::wait(100); |
| dkato | 0:22cb397754b4 | 56 | wifi_en = 1; |
| dkato | 0:22cb397754b4 | 57 | |
| dkato | 0:22cb397754b4 | 58 | while (1) { |
| dkato | 0:22cb397754b4 | 59 | if (wifi_serial.readable()) { |
| dkato | 0:22cb397754b4 | 60 | int idx = 0; |
| dkato | 0:22cb397754b4 | 61 | usb_send_buff[idx++] = wifi_serial.getc(); |
| dkato | 0:22cb397754b4 | 62 | while (wifi_serial.readable() && (idx < 64)) { |
| dkato | 0:22cb397754b4 | 63 | usb_send_buff[idx++] = wifi_serial.getc(); |
| dkato | 0:22cb397754b4 | 64 | } |
| dkato | 0:22cb397754b4 | 65 | pc.writeBlock(usb_send_buff, idx); |
| dkato | 0:22cb397754b4 | 66 | } |
| dkato | 0:22cb397754b4 | 67 | if (pc.readable()) { |
| dkato | 0:22cb397754b4 | 68 | wifi_serial.putc(pc._getc()); |
| dkato | 0:22cb397754b4 | 69 | } |
| dkato | 0:22cb397754b4 | 70 | } |
| dkato | 0:22cb397754b4 | 71 | } |