#include "user_oled.h" #include #include "sysport.h" #include "rtc.h" #include "ec20module.h" #include "mac.h" #include "usercmd.h" /******************************************************************************** * @file user_oled.c * @author 晏诚科技 Mr.Wang * @version V1.0.0 * @date 11-Dec-2018 * @brief 提供用户OLED显示接口 ****************************************************************************** * @attention *******************************************************************************/ /************************************************************************************************** * 名 称: void StatusBarPrintf(char *pData) * 功能说明: OLED第一行显示字符串 * 入口参数: * @param1 *pData 显示内容的字符串指针 **************************************************************************************************/ void StatusBarPrintf(char *pData) { OledPrintf(LINE_LEFT, HIGH_16, LINE1, false, pData) ; //OLED第二行显示标题/进度 } /************************************************************************************************** * 名 称: void DisplayStatusBar(void) * 功能说明: OLED第一行右侧区域显示信号图片并显示CSQ值,OLED第一行右侧区域显示电池图片并显示电压值。 **************************************************************************************************/ void DisplayStatusBar(void) { char *oledBuf = (char*)portMalloc(16) ; snprintf(oledBuf, 16, "%smV", sEc20Param.ec20Voltage) ; //显示屏显示EC20电压 DisplayBattery(oledBuf) ; memset(oledBuf, 0, 16) ; snprintf(oledBuf, 16, "CSQ%s", sEc20Param.csq) ; //显示屏显示csq DisplayCsq(oledBuf) ; portFree(oledBuf) ; } /************************************************************************************************** * 名 称: void DisplayCsq(char *pData) * 功能说明: OLED第一行右侧区域显示信号图片并显示CSQ值。 * 入口参数: * @param1 *pData 显示内容的字符串指针 **************************************************************************************************/ void DisplayCsq(char *pData) { OLED_ShowString(0, 0, false, (char *)" ", HIGH_16); OLED_DrawBMP(0, 0, 32, 16, false, csqBmp) ; OLED_ShowString(26, 0, false, pData, HIGH_12); } /************************************************************************************************** * 名 称: void DisplayBattery(char *pData) * 功能说明: OLED第一行右侧区域显示电池图片并显示电压值。 * 入口参数: * @param1 *pData 显示内容的字符串指针 **************************************************************************************************/ void DisplayBattery(char *pData) { OLED_ShowString(64, 0, false, (char *)" ", HIGH_16); OLED_DrawBMP(64, 0, 32, 16, false, batBmp) ; OLED_ShowString(64+26, 0, false, pData, HIGH_12); } /************************************************************************************************** * 名 称: void DisplayTitle(char *pData) * 功能说明: OLED第二行显示标题/进度,OLED第三行清空 * 入口参数: * @param1 *pData 显示内容的字符串指针 **************************************************************************************************/ void DisplayTitle(char *pData) { OledPrintf(LINE_LEFT, HIGH_16, LINE2, false, pData) ; //OLED第二行显示标题/进度 OledClearLine(LINE3) ; //OLED第三行清空 } /************************************************************************************************** * 名 称: void DisplayInfo(char *pData) * 功能说明: OLED第三行显示标题/进度的内容信息。 * 入口参数: * @param1 *pData 显示内容的字符串指针 **************************************************************************************************/ void DisplayInfo(char *pData) { OledPrintf(LINE_MID, HIGH_16, LINE3, false, pData) ; //OLED第三行显示标题/进度的内容信息 } /************************************************************************************************** * 名 称: void DisplayWarning(char *pSecond, char *pThird) * 功能说明: 显示警告信息。 * 入口参数: * @param1 *pSecond 第二行显示的内容指针 * @param2 *pThird 第三行显示的内容指针 **************************************************************************************************/ void DisplayWarning(char *pSecond, char *pThird) { OledPrintf(LINE_LEFT, HIGH_16, LINE2, false, pSecond) ; //OLED第二行显示标题/进度 OledPrintf(LINE_LEFT, HIGH_16, LINE3, false, pThird) ; //OLED第三行显示标题/进度的内容信息 }