UVC host library

Dependents:   LifeCam WebcamServer

Committer:
va009039
Date:
Wed Aug 15 13:52:53 2012 +0000
Revision:
3:3eb41d749f9a
Parent:
0:b0f04c137829
add USB_USE_MALLOC

Who changed what in which revision?

UserRevisionLine numberNew contents of line
va009039 0:b0f04c137829 1 #ifndef UTILS_H
va009039 0:b0f04c137829 2 #define UTILS_H
va009039 0:b0f04c137829 3 typedef unsigned char u8;
va009039 0:b0f04c137829 4 typedef unsigned short u16;
va009039 0:b0f04c137829 5 typedef unsigned long u32;
va009039 0:b0f04c137829 6
va009039 0:b0f04c137829 7 //void DelayMS(int ms);
va009039 0:b0f04c137829 8
va009039 0:b0f04c137829 9 void printfBytes(const char* label,const u8* data, int len);
va009039 0:b0f04c137829 10 void printHex(const u8* d, int len);
va009039 0:b0f04c137829 11
va009039 0:b0f04c137829 12 #ifndef min
va009039 0:b0f04c137829 13 #define min(_a,_b) ((_a) < (_b) ? (_a) : (_b))
va009039 0:b0f04c137829 14 #endif
va009039 0:b0f04c137829 15
va009039 0:b0f04c137829 16 inline int LE16(const u8* d)
va009039 0:b0f04c137829 17 {
va009039 0:b0f04c137829 18 return d[0] | (d[1] << 8);
va009039 0:b0f04c137829 19 }
va009039 0:b0f04c137829 20
va009039 0:b0f04c137829 21
va009039 0:b0f04c137829 22 inline int LE24(const uint8_t* d) {
va009039 0:b0f04c137829 23 return d[0] | (d[1]<<8) | (d[2] << 16);
va009039 0:b0f04c137829 24 }
va009039 0:b0f04c137829 25
va009039 0:b0f04c137829 26 inline int LE32(const uint8_t* d) {
va009039 0:b0f04c137829 27 return d[0] |(d[1]<<8) | (d[2] << 16) |(d[3] << 24) ;
va009039 0:b0f04c137829 28 }
va009039 0:b0f04c137829 29
va009039 0:b0f04c137829 30 inline u32 BE32(const u8* d)
va009039 0:b0f04c137829 31 {
va009039 0:b0f04c137829 32 return (d[0] << 24) | (d[1] << 16) | (d[2] << 8) | d[3];
va009039 0:b0f04c137829 33 }
va009039 0:b0f04c137829 34
va009039 0:b0f04c137829 35 inline void BE32(u32 n, u8* d)
va009039 0:b0f04c137829 36 {
va009039 0:b0f04c137829 37 d[0] = (u8)(n >> 24);
va009039 0:b0f04c137829 38 d[1] = (u8)(n >> 16);
va009039 0:b0f04c137829 39 d[2] = (u8)(n >> 8);
va009039 0:b0f04c137829 40 d[3] = (u8)n;
va009039 0:b0f04c137829 41 }
va009039 0:b0f04c137829 42
va009039 0:b0f04c137829 43 inline void BE16(u32 n, u8* d)
va009039 0:b0f04c137829 44 {
va009039 0:b0f04c137829 45 d[0] = (u8)(n >> 8);
va009039 0:b0f04c137829 46 d[1] = (u8)n;
va009039 0:b0f04c137829 47 }
va009039 0:b0f04c137829 48 #endif //UTILS_H