Kazuki Oishi
/
Nucleo_F303K8_test
Nucleo F303K8 test program.
main.cpp@11:83b5a3e88dd1, 2017-09-19 (annotated)
- Committer:
- Kazuki Oishi
- Date:
- Tue Sep 19 23:48:00 2017 +0900
- Revision:
- 11:83b5a3e88dd1
- Parent:
- 10:d9b1dab6ad33
fixed name.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Kazuki Oishi |
0:b4a651370c4a | 1 | #include "main.h" |
Kazuki Oishi |
0:b4a651370c4a | 2 | #include "mbed.h" |
Kazuki Oishi |
0:b4a651370c4a | 3 | #include "Adafruit_GFX/Adafruit_SSD1306.h" |
Kazuki Oishi |
0:b4a651370c4a | 4 | #include "sakuramori_kaori.h" |
Kazuki Oishi |
0:b4a651370c4a | 5 | |
Kazuki Oishi |
0:b4a651370c4a | 6 | DigitalOut myled(LED1); |
Kazuki Oishi |
0:b4a651370c4a | 7 | I2C i2c(I2C_SDA, I2C_SCL); |
Kazuki Oishi |
0:b4a651370c4a | 8 | Adafruit_SSD1306_I2c gOled2(i2c, 0x3C << 1); |
Kazuki Oishi |
0:b4a651370c4a | 9 | Serial pc(USBTX, USBRX); |
Kazuki Oishi |
0:b4a651370c4a | 10 | |
Kazuki Oishi |
0:b4a651370c4a | 11 | void print_bitmap(const char* bitmap) { |
Kazuki Oishi |
0:b4a651370c4a | 12 | for (int ih = 1; ih <= 32; ih++) { |
Kazuki Oishi |
0:b4a651370c4a | 13 | for (int iw = 1; iw <= 128; iw++) { |
Kazuki Oishi |
0:b4a651370c4a | 14 | char pixel = bitmap[128 * (ih - 1) + iw - 1]; |
Kazuki Oishi |
0:b4a651370c4a | 15 | //invert color |
Kazuki Oishi |
0:b4a651370c4a | 16 | if (pixel != 1) gOled2.drawPixel(iw, ih, WHITE); |
Kazuki Oishi |
0:b4a651370c4a | 17 | } |
Kazuki Oishi |
0:b4a651370c4a | 18 | } |
Kazuki Oishi |
0:b4a651370c4a | 19 | } |
Kazuki Oishi |
0:b4a651370c4a | 20 | |
Kazuki Oishi |
0:b4a651370c4a | 21 | int main() { |
Kazuki Oishi |
0:b4a651370c4a | 22 | pc.printf("call main();\r\n"); |
Kazuki Oishi |
0:b4a651370c4a | 23 | for (int address = 1; address < 127; address++) { |
Kazuki Oishi |
0:b4a651370c4a | 24 | int error = i2c.write(address << 1, { }, 0, false); //We shift it left because mbed takes in 8 bit addreses |
Kazuki Oishi |
0:b4a651370c4a | 25 | if (error == 0) { |
Kazuki Oishi |
0:b4a651370c4a | 26 | pc.printf("I2C device found at address 0x%X\r\n", address); //Returns 7-bit addres |
Kazuki Oishi |
0:b4a651370c4a | 27 | } |
Kazuki Oishi |
0:b4a651370c4a | 28 | } |
Kazuki Oishi |
0:b4a651370c4a | 29 | //for debug output |
Kazuki Oishi |
0:b4a651370c4a | 30 | gOled2.pc = &pc; |
Kazuki Oishi |
0:b4a651370c4a | 31 | //loop |
Kazuki Oishi |
11:83b5a3e88dd1 | 32 | const char *bitmaplst[] = {tokugawa_matsuri,shiraishi_tsumugi,sakuramori_kaori,mochizuki_anna}; |
Kazuki Oishi |
0:b4a651370c4a | 33 | while (true) { |
Kazuki Oishi |
0:b4a651370c4a | 34 | for(auto bitmap : bitmaplst){ |
Kazuki Oishi |
0:b4a651370c4a | 35 | gOled2.clearDisplay(); |
Kazuki Oishi |
0:b4a651370c4a | 36 | gOled2.display(); |
Kazuki Oishi |
0:b4a651370c4a | 37 | pc.printf("print bitmap:%p\r\n",bitmap); |
Kazuki Oishi |
0:b4a651370c4a | 38 | print_bitmap(bitmap); |
Kazuki Oishi |
0:b4a651370c4a | 39 | gOled2.display(); |
Kazuki Oishi |
0:b4a651370c4a | 40 | wait(2); |
Kazuki Oishi |
0:b4a651370c4a | 41 | } |
Kazuki Oishi |
0:b4a651370c4a | 42 | } |
Kazuki Oishi |
0:b4a651370c4a | 43 | } |