Nucleo F303K8 test program.

Dependencies:   mbed

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?

UserRevisionLine numberNew 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 }