![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Smart
Diff: OLED_types.h
- Revision:
- 0:69293b19ee19
diff -r 000000000000 -r 69293b19ee19 OLED_types.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/OLED_types.h Wed Feb 28 16:34:40 2018 +0000 @@ -0,0 +1,149 @@ +/** OLED Types + * This file contains OLED-related data structures. + * + * Redistribution and use in source and binary forms, with or without modification, + * are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this list + * of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, this + * list of conditions and the following disclaimer in the documentation and/or + * other materials provided with the distribution. + * + * Neither the name of NXP, nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * visit: http://www.mikroe.com and http://www.nxp.com + * + * get support at: http://www.mikroe.com/forum and https://community.nxp.com + * + * Project HEXIWEAR, 2015 + */ + + +/** + * 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 +{ + int8_t xCrd; + int8_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; + +typedef struct _init_cmd_tag +{ + uint32_t cmd; + uint8_t type; +} init_cmd_t; + +#endif +