#ifndef _SYS_H_ #define _SYS_H_ #ifdef __cplusplus extern "C" { #endif #include #include #include #include #define GET_BYTE_LOW_4_BITS(data) (data&0x0F) #define GET_BYTE_HIGH_4_BITS(data) (data>>4) #define SET_BYTE_LOW_4_BITS(byte, data) ((byte&0xF0)|data); #define SET_BYTE_HIGH_4_BITS(byte, data) ((byte&0x0F)|(data << 4)) #define GET_BIT(data, bit_num) ((data) >> (bit_num)&1) #define SET_BIT(data, bit_num) (data |= (0x1 << bit_num)) #define CLEAR_BIT(data, bit_num) (data &= ~(0x1 << bit_num)) #define MAKEWORD(H, L) (unsigned short)(((L) & 0xFF) | (((H) & 0xFF)<< 8)) int Sys_Sprintf(int8_t *buf, const int8_t *fmt, ...); uint8_t FW_ascToHex(uint8_t asc); uint8_t FW_hexToAsc(uint8_t hex); uint8_t FW_ascToHexString(uint8_t *asc, uint8_t len, uint8_t *hexString); void FW_Change2VariableValue(int *a, int *b); uint8_t FW_Bcd2Hex(uint8_t bcd_data); uint8_t FW_Hex2Bcd(uint8_t hex_data); #ifdef __cplusplus } #endif #endif //_SYS_H_