130 lines
3.4 KiB
C
130 lines
3.4 KiB
C
//-------------------------------------------------------------------
|
|
// Filename: util.c
|
|
// Description: Utility library
|
|
//-------------------------------------------------------------------
|
|
//-------------------------------------------------------------------
|
|
// INCLUDES
|
|
//-------------------------------------------------------------------
|
|
#include "hal_defs.h"
|
|
#include "util.h"
|
|
#include "hal_rf.h"
|
|
|
|
//-------------------------------------------------------------------
|
|
// GLOBAL FUNCTIONS
|
|
//-------------------------------------------------------------------
|
|
//-------------------------------------------------------------------
|
|
// @fn utilChipIdToStr
|
|
// @brief Converts a chip ID to a text string.
|
|
// @param uint8 chipID
|
|
// @return none
|
|
//-------------------------------------------------------------------
|
|
const char *utilChipIdToStr(uint8 chipID)
|
|
{
|
|
const char *szId;
|
|
|
|
switch (chipID)
|
|
{
|
|
case HAL_RF_CHIP_ID_CC2420:
|
|
szId = "2420";
|
|
break;
|
|
case HAL_RF_CHIP_ID_CC2430:
|
|
szId = "2430";
|
|
break;
|
|
case HAL_RF_CHIP_ID_CC2431:
|
|
szId = "2431";
|
|
break;
|
|
case HAL_RF_CHIP_ID_CC2520:
|
|
szId = "2520";
|
|
break;
|
|
case HAL_RF_CHIP_ID_CC2530:
|
|
szId = "2530";
|
|
break;
|
|
case HAL_RF_CHIP_ID_CC2531:
|
|
szId = "2531";
|
|
break;
|
|
case HAL_RF_CHIP_ID_CC2510:
|
|
szId = "2510";
|
|
break;
|
|
case HAL_RF_CHIP_ID_CC2511:
|
|
szId = "2511";
|
|
break;
|
|
case HAL_RF_CHIP_ID_CC1110:
|
|
szId = "1110";
|
|
break;
|
|
case HAL_RF_CHIP_ID_CC1111:
|
|
szId = "1111";
|
|
break;
|
|
default:
|
|
szId = "----";
|
|
};
|
|
|
|
return szId;
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// @fn convInt32ToText
|
|
// @brief Converts 32 bit int to text
|
|
// @param int32 value
|
|
// @return char* - pointer to text buffer which is a file scope allocated array
|
|
//-------------------------------------------------------------------
|
|
char *convInt32ToText(int32 value)
|
|
{
|
|
static char pValueToTextBuffer[12];
|
|
char *pLast;
|
|
char *pFirst;
|
|
char last;
|
|
uint8 negative;
|
|
|
|
pLast = pValueToTextBuffer;
|
|
|
|
// Record the sign of the value
|
|
negative = (value < 0);
|
|
value = ABS(value);
|
|
|
|
// Print the value in the reverse order
|
|
do
|
|
{
|
|
*(pLast++) = '0' + (uint8)(value % 10);
|
|
value /= 10;
|
|
}
|
|
while (value);
|
|
|
|
// Add the '-' when the number is negative, and terminate the string
|
|
if (negative)
|
|
{
|
|
*(pLast++) = '-';
|
|
}
|
|
*(pLast--) = 0x00;
|
|
|
|
// Now reverse the string
|
|
pFirst = pValueToTextBuffer;
|
|
while (pLast > pFirst)
|
|
{
|
|
last = *pLast;
|
|
*(pLast--) = *pFirst;
|
|
*(pFirst++) = last;
|
|
}
|
|
|
|
return pValueToTextBuffer;
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// @fn utilReverseBuf
|
|
// @brief reverse buffer
|
|
// @param uint8 pBuf - pointer to buffer
|
|
// uint8 length - length of buffer
|
|
// @return void
|
|
//-------------------------------------------------------------------
|
|
void utilReverseBuf(uint8 *pBuf, uint8 length)
|
|
{
|
|
uint8 temp;
|
|
uint8 *pBufLast = (pBuf + length - 1);
|
|
|
|
while (pBufLast > pBuf)
|
|
{
|
|
temp = *pBuf;
|
|
*pBuf++ = *pBufLast;
|
|
*pBufLast-- = temp;
|
|
}
|
|
}
|