Files

168 lines
6.3 KiB
C

/**
******************************************************************************
* @file asutil.h
* @author AMG Energy Solution Team
* @version V1.0.0
* @date 07-Feb-2022
* @brief This file provides all the headers of the utility functions.
******************************************************************************
* @attention
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
* <h2><center>&copy; COPYRIGHT 2022 AMG</center></h2>
******************************************************************************
*/
/** @addtogroup mBMS2
* @{
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef _ASUTIL_H_
#define _ASUTIL_H_
/* Includes ------------------------------------------------------------------*/
#include "hc32_ddl.h"
/* Exported types ------------------------------------------------------------*/
#define RX_PRINT 0
#define TX_PRINT 1
#define TCP_RX_PRINT 2
#define TCP_TX_PRINT 3
#define ACT 1
#define WAIT 0
#define High 1
#define Low 0
#define ON 1
#define OFF 0
#define SET 1
#define CLEAR 0
#define DISPLAY_NORMAL 0x00
#define DISPLAY_RED 0x01
#define DISPLAY_GREEN 0x02
#define DISPLAY_YELLOW 0x03
/* Exported constants --------------------------------------------------------*/
/* Exported macro ------------------------------------------------------------*/
/* Exported functions ------------------------------------------------------- */
extern uint8_t *dump_addr;
/* find charater funcion ************************************************/
uint8_t FIND_CHAR(uint8_t *in, uint8_t *out, int16_t max, uint8_t fdata);
uint8_t FIND_DATA(uint8_t *in, uint8_t *out, uint16_t max, uint8_t fdata, uint16_t count);
/************************************************************************/
void SetTempMode(uint8_t aToMode);
char digit2ascii(uint8_t t);
int16_t ascii2digit(uint8_t t);
/* void FormattedTempValue(uint8_t *temp, int Length, int aBlanksize); */
void DisableCursor(void);
void EnableCursor(void);
uint8_t WaitUserCMD(uint8_t *cmd);
void UserMessage(char *str);
void IntNormalOutXY(uint16_t x,uint16_t y, int16_t Value, int16_t Length);
void GreenOutIntXY(uint16_t x, uint16_t y, int16_t Value, int16_t Length);
void HumiNormalOutIntXY(uint16_t x,uint16_t y, int16_t Value, int16_t Length); /* Humidity without decimal point */
void HumiRedOutIntXY(uint16_t x,uint16_t y, int16_t Value, int16_t Length);
void RedOutIntXY(uint16_t x,uint16_t y, int16_t Value, int16_t Length);
void ColorOutXY(uint8_t aColor, uint16_t x, uint16_t y, uint8_t *Text);
void NormalOutIntXY(uint16_t x,uint16_t y, int16_t Value, int16_t Length);
void RedOutXY(uint16_t x,uint16_t y, uint8_t *msg);
void GreenOutXY(uint16_t x,uint16_t y, uint8_t *msg);
void YellowOutXY(uint16_t x,uint16_t y, uint8_t *msg);
void NormalOutXY(uint16_t x,uint16_t y, uint8_t *msg);
void OutXY(uint8_t aRED, uint16_t x, uint16_t y, uint8_t *Text);
void FloatNormalOutIntXY(uint16_t x,uint16_t y, float Value, uint16_t Length, uint16_t Point);
void FloatRedOutIntXY(uint16_t x,uint16_t y, float Value, int16_t Length, uint16_t Point);
void FloatColorOutIntXY(uint8_t Color, uint16_t x,uint16_t y, float Value, uint16_t Length, uint16_t Point);
void TempIntToStr(int16_t Value, uint8_t *Text, uint16_t Length);
void ClearConsol (void);
void DebugMessage(uint8_t *msg);
void DebugMessage1(char *msg);
int16_t StrToInt(uint8_t *text, uint16_t size);
uint32_t StrToInt32(uint8_t *text, uint16_t size);
void IntToStr(int16_t ins, uint8_t *text, int16_t size);
void Int32ToStr(uint32_t ins, uint8_t *text, uint16_t size);
void IntToHex(uint16_t ins, uint8_t *text, uint8_t size);
void Int2Hex(uint8_t c, uint8_t *temp);
void LongToStr(uint16_t a, uint16_t b, uint8_t *temp);
uint8_t Str2ToHex(uint8_t *text, uint16_t size);
void IntOneHex(uint8_t c, uint8_t *temp);
void Int32ToStrD(int32_t ins, uint8_t *text, uint16_t size);
void FloatToStr(float ins, uint8_t *text, uint16_t size, uint16_t point);
int16_t TEMP_GRADE_CONVERTOR(int16_t aTempValue, uint8_t aGrade);
void dump_mem(uint32_t addr);
void DataFlash_Dump(uint16_t page);
void EEPROM_Dump(uint16_t page);
uint32_t TextToAddr(uint8_t *data);
int CompareStr(uint8_t *text1,uint8_t *text2,int size );
uint8_t str2bcd(uint8_t *a);
void StrToBCD(uint8_t *in, uint8_t *out, uint16_t size);
void StrToBCD2(uint8_t *in, uint8_t *out, uint16_t isize, uint16_t osize);
void Int32ToBCD(uint32_t in32, uint8_t *out, uint16_t osize);
void BCDToStr(uint8_t *in, uint8_t *out, uint16_t size);
uint32_t BCDToInt32(uint8_t *in, uint16_t size);
void SET_SYSTEM_NEXTFAIL(char *str,uint8_t msgno); /* Register Next System Fail */
void ADD_RUN_HISTORY(uint8_t aStoreOP, uint8_t Section, char *str1, char *str2,
uint8_t mg1, uint8_t mg2);
void CLEAR_RUN_HISTORY(void);
void INIT_RUN_HISTORY_VAR(void);
int RunHistoryCount(void);
uint8_t GET_RUN_HISTORY(int index, char *str); /* Max 45 Bytes 0~199, 199 = Latest */
int8_t SetAnalogParam(char *text, uint8_t aDevice);
int8_t SetAnalogTest(char *text, uint8_t aDevice);
int SetHexParam(char *text, uint8_t aDevice);
void ConsoleDownLoad(void);
void SetDefaultParam(void);
void data_print(uint8_t *data, uint16_t len);
void SEND_UART(uint8_t * buf, uint16_t len, uint8_t port);
void UART_DATA_PRINT(uint16_t port, uint8_t * buf, uint16_t len, uint8_t mode);
void RTC_MEM_Dump(uint16_t page);
void SetAllAvgBuf(uint16_t *Buf, uint16_t Data, uint8_t DataCount);
void SetAvgBuf(uint16_t *Buf, uint16_t Data, uint8_t DataCount, uint8_t *BufPosition);
uint16_t GetAvgData(uint16_t *Buf, uint8_t DataCount);
uint8_t SSetParam(uint8_t *text, uint8_t aDevice);
uint8_t Make_BCC(uint8_t *data, uint16_t len);
uint8_t MakeCheckSum(uint8_t *data, uint8_t size);
uint16_t reverse16(uint16_t data);
uint32_t reverse32(uint32_t data);
uint32_t strtohex(char *string, int size);
uint32_t atoin(char *asc, int size);
#endif
/*******************(C)COPYRIGHT 2022 AMG ********************END OF FILE******/