/** ****************************************************************************** * @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. * *

© COPYRIGHT 2022 AMG

****************************************************************************** */ /** @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******/