Console Serial IO con display OLED e seriale asincrona

Dependencies:   mbed BufferedSerial AserialIOFuncLib SSD1306 TerminalPlusV2

Fork of SerialIO by Max Scordamaglia

Console Serial IO con display OLED e seriale asincrona

Committer:
MaxScorda
Date:
Sun Aug 16 23:05:12 2015 +0000
Revision:
10:5c406bde1edf
Child:
11:b57dee0f344e
refase1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MaxScorda 10:5c406bde1edf 1 //Oled
MaxScorda 10:5c406bde1edf 2 #include "ssd1306.h"
MaxScorda 10:5c406bde1edf 3 #include "standard_font.h"
MaxScorda 10:5c406bde1edf 4 #include "bold_font.h"
MaxScorda 10:5c406bde1edf 5
MaxScorda 10:5c406bde1edf 6 /* definitions for ST Nucleo L152RE */
MaxScorda 10:5c406bde1edf 7 #define CSEL PB_6 // CS D10
MaxScorda 10:5c406bde1edf 8 #define RST PC_7 // D9 rst pin9
MaxScorda 10:5c406bde1edf 9 #define DCMD PA_9 // DC D8 dc pin8
MaxScorda 10:5c406bde1edf 10 #define CLK PA_5 // CLK D13 d0 pin13
MaxScorda 10:5c406bde1edf 11 #define DATA PA_7 // MOSI D11 d1 pin11
MaxScorda 10:5c406bde1edf 12
MaxScorda 10:5c406bde1edf 13
MaxScorda 10:5c406bde1edf 14 SSD1306 oled(CSEL, RST, DCMD, CLK, DATA); // STM32 Nucleo
MaxScorda 10:5c406bde1edf 15
MaxScorda 10:5c406bde1edf 16
MaxScorda 10:5c406bde1edf 17 static const unsigned char oldlogo16_glcd_bmp[] = {
MaxScorda 10:5c406bde1edf 18 0x00, 0xc0, // B00000000, B11000000,
MaxScorda 10:5c406bde1edf 19 0x01, 0xc0, // B00000001, B11000000,
MaxScorda 10:5c406bde1edf 20 0x01, 0xc0, // B00000001, B11000000,
MaxScorda 10:5c406bde1edf 21 0x03, 0xe0, // B00000011, B11100000,
MaxScorda 10:5c406bde1edf 22 0xf3, 0xe0, // B11110011, B11100000,
MaxScorda 10:5c406bde1edf 23 0xfe, 0xf8, // B11111110, B11111000,
MaxScorda 10:5c406bde1edf 24 0x7e, 0xff, // B01111110, B11111111,
MaxScorda 10:5c406bde1edf 25 0x33, 0x9f, // B00110011, B10011111,
MaxScorda 10:5c406bde1edf 26 0x1f, 0xfc, // B00011111, B11111100,
MaxScorda 10:5c406bde1edf 27 0x0d, 0x70, // B00001101, B01110000,
MaxScorda 10:5c406bde1edf 28 0x1b, 0xa0, // B00011011, B10100000,
MaxScorda 10:5c406bde1edf 29 0x3f, 0xe0, // B00111111, B11100000,
MaxScorda 10:5c406bde1edf 30 0x3f, 0xf0, // B00111111, B11110000,
MaxScorda 10:5c406bde1edf 31 0x7c, 0xf0, // B01111100, B11110000,
MaxScorda 10:5c406bde1edf 32 0x70, 0x70, // B01110000, B01110000,
MaxScorda 10:5c406bde1edf 33 0x00, 0x30
MaxScorda 10:5c406bde1edf 34 }; // B00000000, B00110000 };
MaxScorda 10:5c406bde1edf 35
MaxScorda 10:5c406bde1edf 36 static const unsigned char dog16_glcd_bmp[] = {
MaxScorda 10:5c406bde1edf 37 0x18, 0x18, // B00000000, B11000000,
MaxScorda 10:5c406bde1edf 38 0x26, 0x64, // B00000001, B11000000,
MaxScorda 10:5c406bde1edf 39 0x42, 0x42, // B00000001, B11000000,
MaxScorda 10:5c406bde1edf 40 0x41, 0x82, // B00000011, B11100000,
MaxScorda 10:5c406bde1edf 41 0x40, 0x2, // B11110011, B11100000,
MaxScorda 10:5c406bde1edf 42 0x80, 0x1 , // B11111110, B11111000,
MaxScorda 10:5c406bde1edf 43 0x8C, 0x31, // B01111110, B11111111,
MaxScorda 10:5c406bde1edf 44 0x8C, 0x31, // B00110011, B10011111,
MaxScorda 10:5c406bde1edf 45 0x40, 0x2 , // B00011111, B11111100,
MaxScorda 10:5c406bde1edf 46 0x41, 0x82, // B00001101, B01110000,
MaxScorda 10:5c406bde1edf 47 0x21, 0x84, // B00011011, B10100000,
MaxScorda 10:5c406bde1edf 48 0x10, 0x8 , // B00111111, B11100000,
MaxScorda 10:5c406bde1edf 49 0x13, 0xC8, // B00111111, B11110000,
MaxScorda 10:5c406bde1edf 50 0x8 , 0x10, // B01111100, B11110000,
MaxScorda 10:5c406bde1edf 51 0x4, 0x20, // B01110000, B01110000,
MaxScorda 10:5c406bde1edf 52 0x3 , 0xC0
MaxScorda 10:5c406bde1edf 53 };
MaxScorda 10:5c406bde1edf 54
MaxScorda 10:5c406bde1edf 55 static const unsigned char logo16_glcd_bmp[] = {
MaxScorda 10:5c406bde1edf 56 0x1 , 0x80, // B00000000, B11000000,
MaxScorda 10:5c406bde1edf 57 0x1 , 0xC0, // B00000001, B11000000,
MaxScorda 10:5c406bde1edf 58 0x1 , 0xE0, // B00000001, B11000000,
MaxScorda 10:5c406bde1edf 59 0x1 , 0xB0, // B00000011, B11100000,
MaxScorda 10:5c406bde1edf 60 0x1 , 0x98, // B11110011, B11100000,
MaxScorda 10:5c406bde1edf 61 0x1 , 0x8C, // B11111110, B11111000,
MaxScorda 10:5c406bde1edf 62 0x1 , 0x86, // B01111110, B11111111,
MaxScorda 10:5c406bde1edf 63 0xFF, 0x83, // B00110011, B10011111,
MaxScorda 10:5c406bde1edf 64 0xFF, 0x8F, // B00011111, B11111100,
MaxScorda 10:5c406bde1edf 65 0x60, 0x10, // B00001101, B01110000,
MaxScorda 10:5c406bde1edf 66 0x30, 0x20, // B00011011, B10100000,
MaxScorda 10:5c406bde1edf 67 0x18, 0x4F, // B00111111, B11100000,
MaxScorda 10:5c406bde1edf 68 0xC , 0xF2, // B00111111, B11110000,
MaxScorda 10:5c406bde1edf 69 0x6 , 0x4 , // B01111100, B11110000,
MaxScorda 10:5c406bde1edf 70 0x3, 0x8 , // B01110000, B01110000,
MaxScorda 10:5c406bde1edf 71 0x1 , 0xF0
MaxScorda 10:5c406bde1edf 72 };
MaxScorda 10:5c406bde1edf 73 //---------- oled -----------------------
MaxScorda 10:5c406bde1edf 74
MaxScorda 10:5c406bde1edf 75 bool initDisp(int disptype)
MaxScorda 10:5c406bde1edf 76 {
MaxScorda 10:5c406bde1edf 77 bool ret=true;
MaxScorda 10:5c406bde1edf 78 switch (disptype) {
MaxScorda 10:5c406bde1edf 79 case 0: //oled
MaxScorda 10:5c406bde1edf 80 break;
MaxScorda 10:5c406bde1edf 81 case 1: //lcd
MaxScorda 10:5c406bde1edf 82 break;
MaxScorda 10:5c406bde1edf 83 }
MaxScorda 10:5c406bde1edf 84 return ret;
MaxScorda 10:5c406bde1edf 85 }