stm32_ota/USER/USER_OLED/user_oled.c

107 lines
4.5 KiB
C
Raw Normal View History

2023-12-15 06:28:06 +00:00
#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 <EFBFBD>̳ϿƼ<EFBFBD> Mr.Wang
* @version V1.0.0
* @date 11-Dec-2018
* @brief <EFBFBD><EFBFBD>û<EFBFBD>OLED<EFBFBD><EFBFBD>ʾ<EFBFBD>ӿ<EFBFBD>
******************************************************************************
* @attention
*******************************************************************************/
/**************************************************************************************************
* <EFBFBD><EFBFBD> <EFBFBD>ƣ<EFBFBD> void StatusBarPrintf(char *pData)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD> OLED<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param1 *pData <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
**************************************************************************************************/
void StatusBarPrintf(char *pData)
{
OledPrintf(LINE_LEFT, HIGH_16, LINE1, false, pData) ; //OLED<45>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>
}
/**************************************************************************************************
* <EFBFBD><EFBFBD> <EFBFBD>ƣ<EFBFBD> void DisplayStatusBar(void)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD> OLED<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ź<EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾCSQֵ,OLED<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ѹֵ<EFBFBD><EFBFBD>
**************************************************************************************************/
void DisplayStatusBar(void)
{
char *oledBuf = (char*)portMalloc(16) ;
snprintf(oledBuf, 16, "%smV", sEc20Param.ec20Voltage) ; //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ʾEC20<32><30>ѹ
DisplayBattery(oledBuf) ;
memset(oledBuf, 0, 16) ;
snprintf(oledBuf, 16, "CSQ%s", sEc20Param.csq) ; //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ʾcsq
DisplayCsq(oledBuf) ;
portFree(oledBuf) ;
}
/**************************************************************************************************
* <EFBFBD><EFBFBD> <EFBFBD>ƣ<EFBFBD> void DisplayCsq(char *pData)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD> OLED<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ź<EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾCSQֵ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param1 *pData <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
**************************************************************************************************/
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);
}
/**************************************************************************************************
* <EFBFBD><EFBFBD> <EFBFBD>ƣ<EFBFBD> void DisplayBattery(char *pData)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD> OLED<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ѹֵ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param1 *pData <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
**************************************************************************************************/
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);
}
/**************************************************************************************************
* <EFBFBD><EFBFBD> <EFBFBD>ƣ<EFBFBD> void DisplayTitle(char *pData)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD> OLED<EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD>,OLED<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param1 *pData <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
**************************************************************************************************/
void DisplayTitle(char *pData)
{
OledPrintf(LINE_LEFT, HIGH_16, LINE2, false, pData) ; //OLED<45>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>
OledClearLine(LINE3) ; //OLED<45><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
/**************************************************************************************************
* <EFBFBD><EFBFBD> <EFBFBD>ƣ<EFBFBD> void DisplayInfo(char *pData)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD> OLED<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD>ȵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param1 *pData <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
**************************************************************************************************/
void DisplayInfo(char *pData)
{
OledPrintf(LINE_MID, HIGH_16, LINE3, false, pData) ; //OLED<45><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>/<2F><><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
}
/**************************************************************************************************
* <EFBFBD><EFBFBD> <EFBFBD>ƣ<EFBFBD> void DisplayWarning(char *pSecond, char *pThird)
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param1 *pSecond <EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* @param2 *pThird <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
**************************************************************************************************/
void DisplayWarning(char *pSecond, char *pThird)
{
OledPrintf(LINE_LEFT, HIGH_16, LINE2, false, pSecond) ; //OLED<45>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD>
OledPrintf(LINE_LEFT, HIGH_16, LINE3, false, pThird) ; //OLED<45><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>/<2F><><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
}