
mission_0512
Dependencies: mbed Adafruit_GFX
main.cpp@0:d708873b182d, 2022-05-12 (annotated)
- Committer:
- leejieun
- Date:
- Thu May 12 02:00:18 2022 +0000
- Revision:
- 0:d708873b182d
mission_0512;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
leejieun | 0:d708873b182d | 1 | #include "mbed.h" |
leejieun | 0:d708873b182d | 2 | #include "Adafruit_SSD1306.h" // Adafruit_GFX library |
leejieun | 0:d708873b182d | 3 | |
leejieun | 0:d708873b182d | 4 | #define NUM_CHAR 16 |
leejieun | 0:d708873b182d | 5 | |
leejieun | 0:d708873b182d | 6 | Serial pc(SERIAL_TX, SERIAL_RX); |
leejieun | 0:d708873b182d | 7 | DigitalOut greenLed(LED1); |
leejieun | 0:d708873b182d | 8 | DigitalOut redLed(PA_12); |
leejieun | 0:d708873b182d | 9 | AnalogOut myAnalogOut(PA_4); |
leejieun | 0:d708873b182d | 10 | AnalogIn lightSensor(PA_0); |
leejieun | 0:d708873b182d | 11 | Timer t1, t2; |
leejieun | 0:d708873b182d | 12 | Ticker t3, t4; |
leejieun | 0:d708873b182d | 13 | InterruptIn myButton(PC_13); |
leejieun | 0:d708873b182d | 14 | InterruptIn exButton(PC_11); |
leejieun | 0:d708873b182d | 15 | |
leejieun | 0:d708873b182d | 16 | |
leejieun | 0:d708873b182d | 17 | |
leejieun | 0:d708873b182d | 18 | |
leejieun | 0:d708873b182d | 19 | |
leejieun | 0:d708873b182d | 20 | |
leejieun | 0:d708873b182d | 21 | |
leejieun | 0:d708873b182d | 22 | |
leejieun | 0:d708873b182d | 23 | BusOut my7Seg(PA_8, PA_9, PA_10, PC_9, PC_8, PC_7, PC_6, PA_11); // 8bit data |
leejieun | 0:d708873b182d | 24 | // LSB, , MSB |
leejieun | 0:d708873b182d | 25 | uint8_t pic1Logo[64 * 128 / 8] = |
leejieun | 0:d708873b182d | 26 | { |
leejieun | 0:d708873b182d | 27 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 28 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 29 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 30 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0xFC,0xCC,0x0C,0x0C,0x1C,0x38,0x70,0x70, |
leejieun | 0:d708873b182d | 31 | 0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 32 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 33 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 34 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 35 | |
leejieun | 0:d708873b182d | 36 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 37 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 38 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 39 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x80,0x80,0x80,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 40 | 0x00,0x01,0x01,0x07,0x0E,0x1C,0x38,0xF0,0xF0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 41 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 42 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 43 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 44 | |
leejieun | 0:d708873b182d | 45 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 46 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 47 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 48 | 0x7C,0xFC,0xB6,0x32,0x02,0x7F,0xFE,0xF3,0xB3,0x81,0x81,0x81,0x81,0x83,0x87,0xFE, |
leejieun | 0:d708873b182d | 49 | 0x78,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x03,0x1F,0xFF,0xE0,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 50 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 51 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 52 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 53 | |
leejieun | 0:d708873b182d | 54 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 55 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 56 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 57 | 0x00,0x01,0x01,0x01,0x03,0x03,0x13,0x3F,0xFF,0xF3,0xF3,0xF3,0xFB,0xF9,0xF9,0xFC, |
leejieun | 0:d708873b182d | 58 | 0xFC,0xFC,0xFE,0x7E,0x3F,0x1F,0x07,0x00,0x00,0x80,0xFF,0x3F,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 59 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 60 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 61 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 62 | |
leejieun | 0:d708873b182d | 63 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 64 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 65 | 0x00,0x00,0x00,0xF0,0x58,0x78,0x38,0x08,0x1C,0x1C,0x18,0x18,0x18,0x78,0xB0,0xE0, |
leejieun | 0:d708873b182d | 66 | 0x80,0x00,0x00,0x00,0xE0,0xFC,0x1C,0x06,0x07,0x07,0x07,0x03,0x03,0x03,0x03,0x01, |
leejieun | 0:d708873b182d | 67 | 0x01,0x00,0x00,0x00,0x00,0x80,0xE0,0xF0,0x3C,0x0F,0x01,0x00,0xC0,0xF0,0x78,0x38, |
leejieun | 0:d708873b182d | 68 | 0x3C,0x0C,0x0C,0x0C,0x34,0x34,0x8C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 69 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 70 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 71 | |
leejieun | 0:d708873b182d | 72 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 73 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 74 | 0x00,0x00,0x00,0x03,0x06,0x1A,0x10,0x18,0x18,0x18,0x18,0x08,0x18,0x3C,0x7E,0x67, |
leejieun | 0:d708873b182d | 75 | 0x63,0xE0,0xF0,0x7E,0x1F,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0xA0,0xF0,0xF0,0xF8, |
leejieun | 0:d708873b182d | 76 | 0xB8,0x18,0x0C,0x0F,0x3F,0x7B,0x71,0x70,0x60,0x70,0x30,0x32,0x1B,0x1F,0x18,0x30, |
leejieun | 0:d708873b182d | 77 | 0x30,0x20,0x20,0x70,0x38,0x0C,0x1D,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 78 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 79 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 80 | |
leejieun | 0:d708873b182d | 81 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 82 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 83 | 0x00,0x00,0x00,0x80,0xC0,0x40,0x60,0x60,0x20,0x20,0x20,0x20,0x30,0x38,0x3C,0x3E, |
leejieun | 0:d708873b182d | 84 | 0x36,0x23,0x63,0x46,0xC6,0x86,0x06,0x07,0x03,0x03,0x03,0x01,0x01,0x80,0xC0,0x41, |
leejieun | 0:d708873b182d | 85 | 0x63,0x67,0x3E,0x3C,0x38,0x30,0x30,0x30,0x30,0x30,0x20,0x60,0x60,0xC0,0xC0,0xC0, |
leejieun | 0:d708873b182d | 86 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 87 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 88 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 89 | |
leejieun | 0:d708873b182d | 90 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 91 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 92 | 0x00,0x00,0x00,0x03,0x07,0x06,0x04,0x0C,0x0C,0x0C,0x0C,0x0C,0x04,0x04,0x04,0x04, |
leejieun | 0:d708873b182d | 93 | 0x04,0x06,0x06,0x06,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0F,0x0E,0x14, |
leejieun | 0:d708873b182d | 94 | 0x14,0x14,0x14,0x14,0x14,0x14,0x1C,0x0C,0x0C,0x0C,0x0C,0x04,0x04,0x06,0x03,0x01, |
leejieun | 0:d708873b182d | 95 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 96 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 97 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 |
leejieun | 0:d708873b182d | 98 | }; |
leejieun | 0:d708873b182d | 99 | |
leejieun | 0:d708873b182d | 100 | uint8_t pic2Logo[64 * 128 / 8] = |
leejieun | 0:d708873b182d | 101 | { |
leejieun | 0:d708873b182d | 102 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 103 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 104 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 105 | 0x00,0x00,0x00,0x80,0xE0,0x78,0x3C,0x0E,0x06,0x03,0x03,0x03,0x03,0x03,0x03,0x0E, |
leejieun | 0:d708873b182d | 106 | 0x3C,0xF8,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 107 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 108 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 109 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 110 | |
leejieun | 0:d708873b182d | 111 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 112 | 0x00,0x00,0xF8,0xF8,0x08,0x0C,0x04,0x04,0x06,0x04,0x0C,0x0C,0x0C,0xBC,0xF8,0xE0, |
leejieun | 0:d708873b182d | 113 | 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0, |
leejieun | 0:d708873b182d | 114 | 0xF0,0xFC,0xBE,0x1F,0x09,0x08,0xCC,0xCC,0xCC,0x08,0x18,0xB0,0xF0,0x38,0x18,0x08, |
leejieun | 0:d708873b182d | 115 | 0x08,0xCF,0xCF,0xCE,0x08,0x18,0xF0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 116 | 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xE0,0xF0,0x98,0x08,0x04,0x04,0x04,0x04,0x04, |
leejieun | 0:d708873b182d | 117 | 0x04,0x0C,0x5C,0xF8,0xE0,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 118 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 119 | |
leejieun | 0:d708873b182d | 120 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 121 | 0x00,0x00,0x01,0x03,0x07,0x07,0x04,0x08,0x0C,0x0C,0x06,0x06,0x06,0x07,0x07,0x07, |
leejieun | 0:d708873b182d | 122 | 0x0E,0x0E,0x0E,0x1C,0x18,0x38,0x30,0x70,0x70,0x60,0xE0,0xC0,0xC0,0x80,0x80,0xFF, |
leejieun | 0:d708873b182d | 123 | 0xFF,0xFF,0x73,0xF3,0xE6,0xE6,0xE4,0xE4,0xE6,0xE6,0xE2,0xE3,0xE1,0xE3,0xE2,0xE6, |
leejieun | 0:d708873b182d | 124 | 0xE6,0xE4,0xE4,0xFE,0xFE,0xFF,0x01,0x00,0x00,0x80,0x80,0x80,0xC0,0xC0,0xC0,0x60, |
leejieun | 0:d708873b182d | 125 | 0x60,0x60,0x30,0x30,0x38,0x18,0x0C,0x0D,0x07,0x07,0x07,0x06,0x06,0x06,0x06,0x06, |
leejieun | 0:d708873b182d | 126 | 0x06,0x06,0x06,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 127 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 128 | |
leejieun | 0:d708873b182d | 129 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 130 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 131 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03, |
leejieun | 0:d708873b182d | 132 | 0x07,0x3F,0xF8,0xE0,0x81,0x01,0x03,0x07,0x07,0x07,0x0F,0x0F,0x0F,0x0F,0x0F,0x07, |
leejieun | 0:d708873b182d | 133 | 0x07,0x07,0x03,0x03,0xFF,0xFF,0xFF,0x03,0x03,0x01,0x01,0x01,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 134 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 135 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 136 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 137 | |
leejieun | 0:d708873b182d | 138 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 139 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 140 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 141 | 0x00,0x00,0x00,0x01,0x07,0x1E,0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 142 | 0x00,0x00,0x00,0x00,0x1F,0xFF,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 143 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 144 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 145 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 146 | |
leejieun | 0:d708873b182d | 147 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 148 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 149 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 150 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC1,0xF7,0x7F,0x3E,0x1C,0x1C,0x18, |
leejieun | 0:d708873b182d | 151 | 0x18,0x08,0x18,0x38,0xF8,0xEF,0xCF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 152 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 153 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 154 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 155 | |
leejieun | 0:d708873b182d | 156 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 157 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 158 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xC0,0x60,0x60,0x20,0x20,0x20,0x30, |
leejieun | 0:d708873b182d | 159 | 0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0x3E,0x37,0x33,0xF0,0xE0,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 160 | 0x00,0x00,0x00,0xC0,0xE0,0x21,0x27,0x3F,0x3E,0x3C,0x30,0x30,0x30,0x30,0x30,0x30, |
leejieun | 0:d708873b182d | 161 | 0x30,0x30,0x30,0x30,0x70,0x60,0xE0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 162 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 163 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 164 | |
leejieun | 0:d708873b182d | 165 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 166 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 167 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x02,0x02,0x02,0x02,0x02,0x02,0x02, |
leejieun | 0:d708873b182d | 168 | 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x03,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 169 | 0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02, |
leejieun | 0:d708873b182d | 170 | 0x02,0x02,0x02,0x02,0x02,0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 171 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 172 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 |
leejieun | 0:d708873b182d | 173 | }; |
leejieun | 0:d708873b182d | 174 | |
leejieun | 0:d708873b182d | 175 | uint8_t pic3Logo[64 * 128 / 8] = |
leejieun | 0:d708873b182d | 176 | { |
leejieun | 0:d708873b182d | 177 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 178 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 179 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 180 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0x40,0x60, |
leejieun | 0:d708873b182d | 181 | 0x30,0x30,0x20,0x20,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 182 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 183 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 184 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 185 | |
leejieun | 0:d708873b182d | 186 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 187 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 188 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 189 | 0x00,0x00,0x80,0xC0,0xE0,0x70,0x38,0x1C,0x0C,0x0E,0x07,0x03,0x01,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 190 | 0x00,0x00,0x00,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 191 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 192 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 193 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 194 | |
leejieun | 0:d708873b182d | 195 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 196 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 197 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xF0, |
leejieun | 0:d708873b182d | 198 | 0x7C,0x0F,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0x8C,0x0C,0x06, |
leejieun | 0:d708873b182d | 199 | 0x06,0x06,0x06,0x07,0x07,0x64,0xEC,0xFC,0xF4,0x04,0x64,0x7C,0xFC,0xF0,0x00,0x00, |
leejieun | 0:d708873b182d | 200 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 201 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 202 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 203 | |
leejieun | 0:d708873b182d | 204 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 205 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 206 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF, |
leejieun | 0:d708873b182d | 207 | 0xC0,0x00,0x00,0x00,0x07,0x1F,0x3E,0x7E,0x7C,0xFC,0xFC,0xF8,0xF8,0xF9,0xFB,0xFB, |
leejieun | 0:d708873b182d | 208 | 0xFA,0xFA,0xFA,0xFA,0xF3,0xFF,0x3F,0x03,0x03,0x02,0x03,0x01,0x01,0x01,0x00,0x00, |
leejieun | 0:d708873b182d | 209 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 210 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 211 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 212 | |
leejieun | 0:d708873b182d | 213 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 214 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 215 | 0xF0,0xF0,0x10,0x18,0x18,0x0C,0x04,0x0C,0x1C,0x30,0x30,0x70,0xC0,0xC0,0x00,0x01, |
leejieun | 0:d708873b182d | 216 | 0x0F,0x1F,0x3C,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x03, |
leejieun | 0:d708873b182d | 217 | 0x03,0x03,0x03,0x07,0x07,0x07,0x06,0x3E,0xFC,0xE0,0x80,0x00,0x00,0x00,0xC0,0xC0, |
leejieun | 0:d708873b182d | 218 | 0xE0,0x30,0x10,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x38,0x30,0xF0,0xE0,0x00,0x00, |
leejieun | 0:d708873b182d | 219 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 220 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 221 | |
leejieun | 0:d708873b182d | 222 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 223 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 224 | 0x01,0x07,0x07,0x0E,0x1C,0x18,0x1C,0x14,0x1C,0x0C,0x0C,0x0D,0x0F,0x0F,0x0D,0x1C, |
leejieun | 0:d708873b182d | 225 | 0x18,0x18,0x38,0x38,0x38,0x1C,0x0F,0x0F,0x07,0x86,0xCE,0xFC,0x7C,0x38,0x38,0x70, |
leejieun | 0:d708873b182d | 226 | 0x50,0xE0,0xE0,0xE0,0xC0,0x80,0x80,0x00,0x00,0x07,0x9F,0xFE,0xF8,0x98,0x9A,0x3F, |
leejieun | 0:d708873b182d | 227 | 0x1F,0x1E,0x0C,0x04,0x04,0x0C,0x0C,0x0C,0x04,0x04,0x05,0x07,0x07,0x03,0x00,0x00, |
leejieun | 0:d708873b182d | 228 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 229 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 230 | |
leejieun | 0:d708873b182d | 231 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 232 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 233 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xF0,0xB0,0x90,0x98,0x88, |
leejieun | 0:d708873b182d | 234 | 0x88,0x88,0x88,0x88,0x8C,0x8C,0x8C,0x8E,0x8F,0x8B,0x89,0x98,0x98,0x98,0xF0,0xE0, |
leejieun | 0:d708873b182d | 235 | 0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x41,0xE3,0xB3,0xB3,0xBB,0x98,0x89,0x8B,0x8F, |
leejieun | 0:d708873b182d | 236 | 0x8F,0x8E,0x8C,0x88,0x88,0x88,0x88,0x88,0x88,0x98,0x98,0xB0,0xF0,0x40,0x00,0x00, |
leejieun | 0:d708873b182d | 237 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 238 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 239 | |
leejieun | 0:d708873b182d | 240 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 241 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 242 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01, |
leejieun | 0:d708873b182d | 243 | 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00, |
leejieun | 0:d708873b182d | 244 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, |
leejieun | 0:d708873b182d | 245 | 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 246 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, |
leejieun | 0:d708873b182d | 247 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 |
leejieun | 0:d708873b182d | 248 | }; |
leejieun | 0:d708873b182d | 249 | |
leejieun | 0:d708873b182d | 250 | |
leejieun | 0:d708873b182d | 251 | /// |
leejieun | 0:d708873b182d | 252 | int location = 0; |
leejieun | 0:d708873b182d | 253 | /// |
leejieun | 0:d708873b182d | 254 | |
leejieun | 0:d708873b182d | 255 | |
leejieun | 0:d708873b182d | 256 | bool flagOne = 0; |
leejieun | 0:d708873b182d | 257 | |
leejieun | 0:d708873b182d | 258 | void OneSecond() { |
leejieun | 0:d708873b182d | 259 | flagOne = 1; |
leejieun | 0:d708873b182d | 260 | } |
leejieun | 0:d708873b182d | 261 | |
leejieun | 0:d708873b182d | 262 | int flagDown = 0; // 1: speed down |
leejieun | 0:d708873b182d | 263 | int flagUp = 0; // 1: speed up |
leejieun | 0:d708873b182d | 264 | |
leejieun | 0:d708873b182d | 265 | char rxData[5]; |
leejieun | 0:d708873b182d | 266 | bool flagRx = 0; |
leejieun | 0:d708873b182d | 267 | int dir = 1; // 1: increase, -1: decrease |
leejieun | 0:d708873b182d | 268 | bool flagT3 = 0; |
leejieun | 0:d708873b182d | 269 | bool modeT3 = 0; // 0: stop, 1: working |
leejieun | 0:d708873b182d | 270 | |
leejieun | 0:d708873b182d | 271 | bool currentMode = 1; |
leejieun | 0:d708873b182d | 272 | int currentPos = 0; |
leejieun | 0:d708873b182d | 273 | |
leejieun | 0:d708873b182d | 274 | void ReceiveInt() { |
leejieun | 0:d708873b182d | 275 | char inChar; |
leejieun | 0:d708873b182d | 276 | static char rxCount = 0; |
leejieun | 0:d708873b182d | 277 | static char rxBuf[4]; |
leejieun | 0:d708873b182d | 278 | |
leejieun | 0:d708873b182d | 279 | while(1 == pc.readable()) { |
leejieun | 0:d708873b182d | 280 | inChar = pc.getc(); |
leejieun | 0:d708873b182d | 281 | if ('<' == inChar){ |
leejieun | 0:d708873b182d | 282 | rxCount = 1; |
leejieun | 0:d708873b182d | 283 | } |
leejieun | 0:d708873b182d | 284 | else if (rxCount > 0 && rxCount < 5) { |
leejieun | 0:d708873b182d | 285 | rxBuf[rxCount-1] = inChar; |
leejieun | 0:d708873b182d | 286 | rxCount++; |
leejieun | 0:d708873b182d | 287 | } |
leejieun | 0:d708873b182d | 288 | else if (5 == rxCount && '>' == inChar) { |
leejieun | 0:d708873b182d | 289 | rxCount = 0; |
leejieun | 0:d708873b182d | 290 | flagRx = 1; |
leejieun | 0:d708873b182d | 291 | memcpy(rxData, rxBuf, 4); |
leejieun | 0:d708873b182d | 292 | // pc.putc(rxData[0]); |
leejieun | 0:d708873b182d | 293 | // pc.putc(rxData[1]); |
leejieun | 0:d708873b182d | 294 | // pc.putc(rxData[2]); |
leejieun | 0:d708873b182d | 295 | // pc.putc(rxData[3]); |
leejieun | 0:d708873b182d | 296 | |
leejieun | 0:d708873b182d | 297 | // pc.puts(rxData); |
leejieun | 0:d708873b182d | 298 | } |
leejieun | 0:d708873b182d | 299 | else { |
leejieun | 0:d708873b182d | 300 | rxCount = 0; |
leejieun | 0:d708873b182d | 301 | } |
leejieun | 0:d708873b182d | 302 | } |
leejieun | 0:d708873b182d | 303 | } |
leejieun | 0:d708873b182d | 304 | |
leejieun | 0:d708873b182d | 305 | void tickerFunc3() { |
leejieun | 0:d708873b182d | 306 | flagT3 = 1; |
leejieun | 0:d708873b182d | 307 | } |
leejieun | 0:d708873b182d | 308 | |
leejieun | 0:d708873b182d | 309 | |
leejieun | 0:d708873b182d | 310 | I2C I2C_Oled(PB_7, PA_15); // SDA, SCL |
leejieun | 0:d708873b182d | 311 | Adafruit_SSD1306_I2c myOled(I2C_Oled, PD_2, 0x78, 64, 128); // reset pin doesn't effect |
leejieun | 0:d708873b182d | 312 | |
leejieun | 0:d708873b182d | 313 | |
leejieun | 0:d708873b182d | 314 | |
leejieun | 0:d708873b182d | 315 | void Btn1Down() { |
leejieun | 0:d708873b182d | 316 | // pc.puts("1 pused\n"); // for debugging |
leejieun | 0:d708873b182d | 317 | t1.start(); |
leejieun | 0:d708873b182d | 318 | } |
leejieun | 0:d708873b182d | 319 | |
leejieun | 0:d708873b182d | 320 | void Btn1Up() { |
leejieun | 0:d708873b182d | 321 | // pc.puts("1 released\n"); // for debugging |
leejieun | 0:d708873b182d | 322 | if (t1.read() > 0 ) { |
leejieun | 0:d708873b182d | 323 | flagUp = 1; |
leejieun | 0:d708873b182d | 324 | } |
leejieun | 0:d708873b182d | 325 | t1.stop(); |
leejieun | 0:d708873b182d | 326 | t1.reset(); |
leejieun | 0:d708873b182d | 327 | } |
leejieun | 0:d708873b182d | 328 | |
leejieun | 0:d708873b182d | 329 | void Btn2Down() { |
leejieun | 0:d708873b182d | 330 | // pc.puts("2 pused\n"); // for debugging |
leejieun | 0:d708873b182d | 331 | t2.start(); |
leejieun | 0:d708873b182d | 332 | } |
leejieun | 0:d708873b182d | 333 | |
leejieun | 0:d708873b182d | 334 | void Btn2Up() { |
leejieun | 0:d708873b182d | 335 | // pc.puts("2 released\n"); // for debugging |
leejieun | 0:d708873b182d | 336 | if (t2.read() > 0) { |
leejieun | 0:d708873b182d | 337 | flagDown = 1; |
leejieun | 0:d708873b182d | 338 | } |
leejieun | 0:d708873b182d | 339 | t2.stop(); |
leejieun | 0:d708873b182d | 340 | t2.reset(); |
leejieun | 0:d708873b182d | 341 | } |
leejieun | 0:d708873b182d | 342 | |
leejieun | 0:d708873b182d | 343 | // |
leejieun | 0:d708873b182d | 344 | int main() |
leejieun | 0:d708873b182d | 345 | { |
leejieun | 0:d708873b182d | 346 | pc.baud(115200); |
leejieun | 0:d708873b182d | 347 | pc.puts("\nStart!\n"); |
leejieun | 0:d708873b182d | 348 | |
leejieun | 0:d708873b182d | 349 | myButton.disable_irq(); // to avoid unexpected interrupt |
leejieun | 0:d708873b182d | 350 | exButton.disable_irq(); // to avoid unexpected interrupt |
leejieun | 0:d708873b182d | 351 | |
leejieun | 0:d708873b182d | 352 | pc.attach(&ReceiveInt, Serial::RxIrq); // RxIrq, TxIrq |
leejieun | 0:d708873b182d | 353 | |
leejieun | 0:d708873b182d | 354 | |
leejieun | 0:d708873b182d | 355 | |
leejieun | 0:d708873b182d | 356 | |
leejieun | 0:d708873b182d | 357 | myButton.fall(&Btn1Down); |
leejieun | 0:d708873b182d | 358 | myButton.rise(&Btn1Up); |
leejieun | 0:d708873b182d | 359 | exButton.fall(&Btn2Down); |
leejieun | 0:d708873b182d | 360 | exButton.rise(&Btn2Up); |
leejieun | 0:d708873b182d | 361 | |
leejieun | 0:d708873b182d | 362 | I2C_Oled.frequency(400000); // 400kHz clock |
leejieun | 0:d708873b182d | 363 | |
leejieun | 0:d708873b182d | 364 | myButton.enable_irq(); // enable IRQ |
leejieun | 0:d708873b182d | 365 | exButton.enable_irq(); // enable IRQ |
leejieun | 0:d708873b182d | 366 | |
leejieun | 0:d708873b182d | 367 | |
leejieun | 0:d708873b182d | 368 | |
leejieun | 0:d708873b182d | 369 | |
leejieun | 0:d708873b182d | 370 | I2C I2C_Oled(PB_7, PA_15); // SDA, SCL |
leejieun | 0:d708873b182d | 371 | I2C_Oled.frequency(400000); // 400kHz clock |
leejieun | 0:d708873b182d | 372 | Adafruit_SSD1306_I2c myOled(I2C_Oled, PD_2, 0x78, 64, 128); // reset pin doesn't effect |
leejieun | 0:d708873b182d | 373 | |
leejieun | 0:d708873b182d | 374 | myOled.splash(); // logo output |
leejieun | 0:d708873b182d | 375 | myOled.display(); |
leejieun | 0:d708873b182d | 376 | wait(0.5); |
leejieun | 0:d708873b182d | 377 | |
leejieun | 0:d708873b182d | 378 | myOled.clearDisplay(); // clear buffer |
leejieun | 0:d708873b182d | 379 | myOled.printf("%u x %u OLED Display\r\n", myOled.width(), myOled.height()); |
leejieun | 0:d708873b182d | 380 | myOled.display(); // show a image on the OLED |
leejieun | 0:d708873b182d | 381 | wait(1); |
leejieun | 0:d708873b182d | 382 | |
leejieun | 0:d708873b182d | 383 | myButton.enable_irq(); // enable IRQ |
leejieun | 0:d708873b182d | 384 | exButton.enable_irq(); // enable IRQ |
leejieun | 0:d708873b182d | 385 | |
leejieun | 0:d708873b182d | 386 | t3.attach(&tickerFunc3, 0.1); // ticker3 start |
leejieun | 0:d708873b182d | 387 | |
leejieun | 0:d708873b182d | 388 | time_t seconds = time(NULL); |
leejieun | 0:d708873b182d | 389 | |
leejieun | 0:d708873b182d | 390 | set_time(1651121217); // Set RTC time to 2022-4월-28, PM 1:46:57 |
leejieun | 0:d708873b182d | 391 | pc.printf("Time as a basic string = %s", ctime(&seconds)); |
leejieun | 0:d708873b182d | 392 | |
leejieun | 0:d708873b182d | 393 | char buffer[32]; |
leejieun | 0:d708873b182d | 394 | strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds)); |
leejieun | 0:d708873b182d | 395 | pc.printf("1) Time as a custom formatted string = %s", buffer); |
leejieun | 0:d708873b182d | 396 | strftime(buffer, 32, "%y-%m-%d, %H:%M:%S\n", localtime(&seconds)); |
leejieun | 0:d708873b182d | 397 | pc.printf("2) Time as a custom formatted string = %s", buffer); |
leejieun | 0:d708873b182d | 398 | |
leejieun | 0:d708873b182d | 399 | char tmpCommand[3]; |
leejieun | 0:d708873b182d | 400 | int rxVal; |
leejieun | 0:d708873b182d | 401 | char val7Seg[NUM_CHAR] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F, 0x77, 0x7C, 0x39, 0x5E, 0x79, 0x71}; |
leejieun | 0:d708873b182d | 402 | |
leejieun | 0:d708873b182d | 403 | modeT3 = 1; |
leejieun | 0:d708873b182d | 404 | my7Seg = 0xFF; |
leejieun | 0:d708873b182d | 405 | |
leejieun | 0:d708873b182d | 406 | uint16_t n = 0; |
leejieun | 0:d708873b182d | 407 | |
leejieun | 0:d708873b182d | 408 | while(1) |
leejieun | 0:d708873b182d | 409 | { |
leejieun | 0:d708873b182d | 410 | if (1 == flagOne) { |
leejieun | 0:d708873b182d | 411 | flagOne = 0; |
leejieun | 0:d708873b182d | 412 | seconds = time(NULL); |
leejieun | 0:d708873b182d | 413 | |
leejieun | 0:d708873b182d | 414 | } |
leejieun | 0:d708873b182d | 415 | |
leejieun | 0:d708873b182d | 416 | if (t1.read() > 1.0f) { |
leejieun | 0:d708873b182d | 417 | flagUp = 2; |
leejieun | 0:d708873b182d | 418 | t1.stop(); |
leejieun | 0:d708873b182d | 419 | t1.reset(); |
leejieun | 0:d708873b182d | 420 | } |
leejieun | 0:d708873b182d | 421 | |
leejieun | 0:d708873b182d | 422 | if (t2.read() > 1.0f) { |
leejieun | 0:d708873b182d | 423 | flagDown = 2; |
leejieun | 0:d708873b182d | 424 | t2.stop(); |
leejieun | 0:d708873b182d | 425 | t2.reset(); |
leejieun | 0:d708873b182d | 426 | } |
leejieun | 0:d708873b182d | 427 | //myOled.clearDisplay(); |
leejieun | 0:d708873b182d | 428 | //myOled.drawBitmap(location, 0, pic2Logo, 128, 64, 1); |
leejieun | 0:d708873b182d | 429 | //myOled.display(); |
leejieun | 0:d708873b182d | 430 | |
leejieun | 0:d708873b182d | 431 | if (1 == flagDown && 1 == currentMode){ // check the external button action |
leejieun | 0:d708873b182d | 432 | flagDown = 0; |
leejieun | 0:d708873b182d | 433 | location = location - 10; |
leejieun | 0:d708873b182d | 434 | myOled.clearDisplay(); |
leejieun | 0:d708873b182d | 435 | myOled.drawBitmap(location, 0, pic1Logo, 128, 64, 1); |
leejieun | 0:d708873b182d | 436 | myOled.display(); |
leejieun | 0:d708873b182d | 437 | //wait(1); |
leejieun | 0:d708873b182d | 438 | } |
leejieun | 0:d708873b182d | 439 | else if (2 == flagDown && 1 == currentMode) { |
leejieun | 0:d708873b182d | 440 | flagDown = 0; |
leejieun | 0:d708873b182d | 441 | location = 0; |
leejieun | 0:d708873b182d | 442 | myOled.clearDisplay(); |
leejieun | 0:d708873b182d | 443 | myOled.drawBitmap(location, 0, pic2Logo, 128, 64, 1); |
leejieun | 0:d708873b182d | 444 | myOled.display(); |
leejieun | 0:d708873b182d | 445 | //wait(1); |
leejieun | 0:d708873b182d | 446 | } |
leejieun | 0:d708873b182d | 447 | |
leejieun | 0:d708873b182d | 448 | if (1 == flagUp && 1 == currentMode) { // check the internal button action |
leejieun | 0:d708873b182d | 449 | flagUp = 0; |
leejieun | 0:d708873b182d | 450 | location = location + 10; |
leejieun | 0:d708873b182d | 451 | myOled.clearDisplay(); |
leejieun | 0:d708873b182d | 452 | myOled.drawBitmap(location, 0, pic3Logo, 128, 64, 1); |
leejieun | 0:d708873b182d | 453 | myOled.display(); |
leejieun | 0:d708873b182d | 454 | //wait(1); |
leejieun | 0:d708873b182d | 455 | } |
leejieun | 0:d708873b182d | 456 | |
leejieun | 0:d708873b182d | 457 | else if (2 == flagUp) { |
leejieun | 0:d708873b182d | 458 | flagUp = 0; |
leejieun | 0:d708873b182d | 459 | location = 0; |
leejieun | 0:d708873b182d | 460 | //currentMode = !currentMode; |
leejieun | 0:d708873b182d | 461 | myOled.clearDisplay(); |
leejieun | 0:d708873b182d | 462 | myOled.drawBitmap(location, 0, pic2Logo, 128, 64, 1); |
leejieun | 0:d708873b182d | 463 | myOled.display(); |
leejieun | 0:d708873b182d | 464 | //wait(1); |
leejieun | 0:d708873b182d | 465 | } |
leejieun | 0:d708873b182d | 466 | |
leejieun | 0:d708873b182d | 467 | |
leejieun | 0:d708873b182d | 468 | |
leejieun | 0:d708873b182d | 469 | |
leejieun | 0:d708873b182d | 470 | |
leejieun | 0:d708873b182d | 471 | |
leejieun | 0:d708873b182d | 472 | |
leejieun | 0:d708873b182d | 473 | } |
leejieun | 0:d708873b182d | 474 | } |