| /****************************************************************** |
| This is the common ArduiPi include file for ArduiPi board |
| |
| 02/18/2013 Charles-Henri Hallard (http://hallard.me) |
| Modified for compiling and use on Raspberry ArduiPi Board |
| LCD size and connection are now passed as arguments on |
| the command line (no more #define on compilation needed) |
| ArduiPi project documentation http://hallard.me/arduipi |
| |
| Written by Charles-Henri Hallard for Fun . |
| All text above must be included in any redistribution. |
| |
| ******************************************************************/ |
| |
| #ifndef _ArduiPi_SSD1306_H |
| #define _ArduiPi_SSD1306_H |
| |
| #include <stdio.h> |
| #include <stdarg.h> |
| #include <stdlib.h> |
| #include <string.h> |
| #include <unistd.h> |
| |
| #include "bcm2835.h" |
| |
| // Configuration Pin for ArduiPi board |
| #define OLED_SPI_RESET RPI_V2_GPIO_P1_22 /* GPIO 25 pin 22 */ |
| #define OLED_SPI_DC RPI_V2_GPIO_P1_18 /* GPIO 24 pin 18 */ |
| #define OLED_SPI_CS0 BCM2835_SPI_CS0 /* Chip Select CE0 */ |
| #define OLED_SPI_CS1 BCM2835_SPI_CS1 /* Chip Select CE1 */ |
| #define OLED_SPI_CS BCM2835_SPI_CS1 /* Default Chip Select */ |
| #define OLED_I2C_RESET RPI_V2_GPIO_P1_22 /* GPIO 25 pin 12 */ |
| |
| // OLED type I2C Address |
| #define ADAFRUIT_I2C_ADDRESS 0x3C /* 011110+SA0+RW - 0x3C or 0x3D */ |
| // Address for 128x32 is 0x3C |
| // Address for 128x32 is 0x3D (default) or 0x3C (if SA0 is grounded) |
| |
| #define SEEEED_I2C_ADDRESS 0x3C /* 011110+SA0+RW - 0x3C or 0x3D */ |
| |
| // Oled supported display |
| #define OLED_ADAFRUIT_SPI_128x32 0 |
| #define OLED_ADAFRUIT_SPI_128x64 1 |
| #define OLED_ADAFRUIT_I2C_128x32 2 |
| #define OLED_ADAFRUIT_I2C_128x64 3 |
| #define OLED_SEEED_I2C_128x64 4 |
| #define OLED_SEEED_I2C_96x96 5 |
| |
| #define OLED_LAST_OLED 6 /* always last type, used in code to end array */ |
| |
| |
| static const char * oled_type_str[] = { |
| "Adafruit SPI 128x32", |
| "Adafruit SPI 128x64", |
| "Adafruit I2C 128x32", |
| "Adafruit I2C 128x64", |
| "Seeed I2C 128x64", |
| "Seeed I2C 96x96" |
| }; |
| |
| // Arduino Compatible type |
| typedef uint8_t boolean; |
| typedef uint8_t byte; |
| |
| // Arduino Compatible Macro |
| #define _BV(bit) (1 << (bit)) |
| |
| // GCC Missing |
| //#define max(a,b) (a>b?a:b) |
| //#define min(a,b) (a<b?a:b) |
| |
| #endif |