1 /* 2 * Copyright (c) 2022 HiSilicon (Shanghai) Technologies CO., LIMITED. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef OLED_SSD1306_H 17 #define OLED_SSD1306_H 18 19 #include <stdint.h> 20 21 /** 22 * @brief ssd1306 OLED Initialize. 23 */ 24 uint32_t OledInit(void); 25 26 /** 27 * @brief Set cursor position 28 * @param x the horizontal position of cursor 29 * @param y the vertical position of cursor 30 * @return Returns {@link WIFI_IOT_SUCCESS} if the operation is successful; 31 * returns an error code defined in {@link wifiiot_errno.h} otherwise. 32 */ 33 void OledSetPosition(uint8_t x, uint8_t y); 34 35 void OledFillScreen(uint8_t fillData); 36 37 enum Font { 38 FONT6_X8 = 1, 39 FONT8_X16 40 }; 41 typedef enum Font Font; 42 43 void OledShowChar(uint8_t x, uint8_t y, uint8_t ch, Font font); 44 void OledShowString(uint8_t x, uint8_t y, const char* str, Font font); 45 46 #endif // OLED_SSD1306_H 47