Initial commit of files
This commit is contained in:
74
include/emblib.h
Normal file
74
include/emblib.h
Normal file
@ -0,0 +1,74 @@
|
||||
/*****************************************************************************
|
||||
* Copyright (C) 2008
|
||||
* ProbeStar Telematics, LLC
|
||||
* All Rights Reserved. Proprietary and Confidential.
|
||||
*============================================================================
|
||||
* Multiplatform Embedded Data Types and Conversion
|
||||
* Checksum and CRC Routines
|
||||
*****************************************************************************/
|
||||
|
||||
/* prevent multiple inclusions */
|
||||
#ifndef _EMBLIB_H_
|
||||
#define _EMBLIB_H_
|
||||
|
||||
/*****************************************************************************
|
||||
* includes
|
||||
*****************************************************************************/
|
||||
|
||||
#include "embtypes.h"
|
||||
|
||||
/*****************************************************************************
|
||||
* defines
|
||||
*****************************************************************************/
|
||||
|
||||
/*****************************************************************************
|
||||
* macros
|
||||
*****************************************************************************/
|
||||
|
||||
/* useful one to have */
|
||||
#define bin2bcd(d) (((((d)/10)<<4|(d)%10)))
|
||||
#define bcd2bin(b) ((((b)>>4)*10)+((b)&0xf))
|
||||
|
||||
/*****************************************************************************
|
||||
* structs & typedefs
|
||||
*****************************************************************************/
|
||||
|
||||
/*****************************************************************************
|
||||
* global constants
|
||||
*****************************************************************************/
|
||||
|
||||
/*****************************************************************************
|
||||
* global variables
|
||||
*****************************************************************************/
|
||||
|
||||
/*****************************************************************************
|
||||
* C function prototypes
|
||||
*****************************************************************************/
|
||||
/* export C functions to C++ */
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int chomp(char *s);
|
||||
void base64(const unsigned char *in, char *out, int len);
|
||||
int unbase64(const char *in, unsigned char *out, int max);
|
||||
|
||||
extern BYTE doCheckSum( const BYTE *pbyData, BYTE nBytes );
|
||||
extern WORD doCheckSumW( const WORD *pwData, WORD nBytes );
|
||||
|
||||
extern BYTE doCRC8( BYTE byCrc, BYTE byData );
|
||||
extern BYTE strCRC8( BYTE *pbyData, WORD nBytes, BYTE byInit );
|
||||
|
||||
extern WORD doCRC16( WORD wCrc, BYTE byData );
|
||||
extern WORD strCRC16( BYTE *pbyData, WORD nBytes, WORD wInit );
|
||||
|
||||
short InterpolateShortTable( const short *psTbl, BYTE nPairs, short sData );
|
||||
long InterpolateLongTable( const long *plTbl, BYTE nPairs, long lData );
|
||||
|
||||
BYTE reverseByteBits(BYTE b);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user