107 lines
4.5 KiB
C
107 lines
4.5 KiB
C
#include "user_oled.h"
|
|
#include <string.h>
|
|
#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第三行显示标题/进度的内容信息
|
|
}
|
|
|