Hexiwear OLED Display Driver
Dependents: Hexi_OLED_TextImage_Example Hexi_OLED_Text_Example Hexi_OLED_Image_Example security-console-app ... more
OLED_types.h
- Committer:
- khuang
- Date:
- 2016-08-18
- Revision:
- 1:3b5be0ee5f0c
- Parent:
- 0:06f42dd3eab3
- Child:
- 2:fc06b5b5bf6a
File content as of revision 1:3b5be0ee5f0c:
/**
* OLED-related data structures
* Project HEXIWEAR, 2015
*/
#ifndef HG_OLED_TYPES
#define HG_OLED_TYPES
#include <stdint.h>
typedef enum
{
OLED_TRANSITION_NONE,
OLED_TRANSITION_TOP_DOWN,
OLED_TRANSITION_DOWN_TOP,
OLED_TRANSITION_LEFT_RIGHT,
OLED_TRANSITION_RIGHT_LEFT
} oled_transition_t;
typedef enum
{
OLED_STATUS_SUCCESS, // success
OLED_STATUS_ERROR, // fail
OLED_STATUS_PROTOCOL_ERROR, // SPI failure
OLED_STATUS_INIT_ERROR, // initialization error
OLED_STATUS_DEINIT_ERROR // deinitialization error
} oled_status_t;
#if 0
typedef struct
{
/**
* SPI relevant information
*/
genericSpiHandle_t protocol;
} handleOLED_t;
#endif
typedef uint16_t* oled_pixel_t;
typedef struct
{
uint32_t DCpin;
uint32_t CSpin;
uint32_t RSTpin;
// uint32_t RWpin;
uint32_t ENpin;
} settingsOLED_t;
typedef enum
{
OLED_TEXT_ALIGN_NONE = 0,
OLED_TEXT_ALIGN_LEFT = 0x1,
OLED_TEXT_ALIGN_RIGHT = 0x2,
OLED_TEXT_ALIGN_CENTER = 0x3,
OLED_TEXT_VALIGN_TOP = 0x10,
OLED_TEXT_VALIGN_BOTTOM = 0x20,
OLED_TEXT_VALIGN_CENTER = 0x30
} oled_text_align_t;
typedef struct
{
uint8_t xCrd;
uint8_t yCrd;
uint8_t width;
uint8_t height;
oled_pixel_t areaBuffer;
} oled_dynamic_area_t;
typedef struct
{
const uint8_t* font;
uint16_t fontColor;
oled_text_align_t alignParam;
const uint8_t* background;
} oled_text_properties_t;
/** color chart */
typedef enum
{
COLOR_BLACK = 0x0000,
COLOR_BLUE_1 = 0x06FF,
COLOR_BLUE = 0x001F,
COLOR_RED = 0xF800,
COLOR_GREEN = 0x07E0,
COLOR_CYAN = 0x07FF,
COLOR_MAGENTA = 0xF81F,
COLOR_YELLOW = 0xFFE0,
COLOR_GRAY = 0x528A,
COLOR_WHITE = 0xFFFF
} Color_t;
#endif