INTRODUCTION
Overview
Download and Install
Quick Start
Documentation
Publications

NONFRAMEWORK CODE
Driver Interfaces
Drivers
Libraries
Utilities

FRAMEWORK CODE
Interfaces
Components
Libraries
Utilities

Full Software Listings

DEVELOPER
Tutorials
Examples
Dev Guide
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

ndefines.h

00001 /*
00002  * Orca-Robotics Project: Components for robotics 
00003  *               http://orca-robotics.sf.net/
00004  * Copyright (c) 2004-2009 NovAtel Inc.
00005  *
00006  * This copy of Orca is licensed to you under the terms described in
00007  * the LICENSE file included in this distribution.
00008  *
00009  */
00010 
00011 #ifndef __NDEFINES_H
00012 #define __NDEFINES_H
00013 
00014 namespace hydronovatelutil{
00015 
00017 // Standard Types
00019 typedef  signed int     INT;     // Signed Machine word size   (Assume to be no larger than 16 bit)
00020 typedef  unsigned int   UINT;    // Unsigned Machine word size (Assume to be no larger than 16 bit)
00021 
00022 // Defined by microsoft
00023 typedef  char           CHAR;    // Signed 1-byte
00024 typedef  unsigned char  UCHAR;   // Unsigned 1-byte
00025 typedef  signed short   SHORT;   // Signed 2-byte (Unsuported for the T-805)
00026 typedef  unsigned short USHORT;  // Unsigned 2-byte (Unsuported for the T-805)
00027 typedef  signed long    LONG;    // Signed 4-byte
00028 typedef  unsigned long  ULONG;   // Unsigned 4-byte
00029 
00030 typedef  float          FLOAT;   // Single precision - IEEE floating point 32 bits
00031 typedef  double         DOUBLE;  // Double precision - IEEE floating point 64 bits
00032 typedef  long double    LDOUBLE; // Extended double precision - 80 bits
00033 
00034 typedef  int            BOOL;    // BOOL (TRUE or FALSE)
00035 typedef  unsigned char  BOOLCHAR;// BOOL (TRUE or FALSE) 1-byte
00036 
00037 
00039 // Other Global Types
00041 typedef  DOUBLE         GPS_TIME;   // Time in seconds
00042 typedef  LDOUBLE        BTIME;      // Big Time in bigger seconds
00043 
00045 // BOOLEAN Values        
00047 #define TRUE        (1)
00048 #define FALSE       (0)
00049 #define YES         (1)
00050 #define NO          (0)
00051 #define ON          (1)
00052 #define OFF         (0)
00053 #define GOOD        (1)
00054 #define BAD         (0)
00055 
00057 // NULLs        
00059 #ifndef  NULL
00060 #define  NULL  (0)    // Pointer
00061 #endif
00062 #ifndef  NUL
00063 #define  NUL   (0)    // End of String
00064 #endif
00065 
00066 #define DBL_EQUAL(x,v) ((fabs((DOUBLE) (x) - (DOUBLE) (v) )) < DBL_EPSILON)
00067 
00068 // Make character upper case
00069 #define  TOUPPER(ch)    ((ch) >= 'a' && (ch) <= 'z' ? (ch)-'a'+'A' : (ch))
00070 
00071 // Convert an ASCII hex character to a nibble
00072 #define  CHARTOHEX(ch)  ((ch) >= 'A' ? ((ch) - 'A')+10 : (ch) - '0')
00073 
00074 // 08/12/1999 [CEL]  I added a char in front of the definition for HEXTOCHAR as
00075 //                   it was generating compiler errors in the form of
00076 //                   significant figures may be lost due to conversion.
00077 // Convert a nibble to a ASCII hex character
00078 #define  HEXTOCHAR(hx)  char((hx) >= 0x0A ? (hx) + 'A' - 0x0A : (hx) + '0')
00079 
00080 // Convert a nibble to a ASCII hex character
00081 #define  ISHEX(hx)  (((hx) >= '0' && (hx) <= '9') || (TOUPPER(hx) >= 'A' && TOUPPER(hx) <= 'F'))
00082 
00083 // Return the smallest of the two values
00084 #define MIN(x,y)  ((x)<(y) ? (x) : (y))
00085 
00086 // Return the largest of the two values
00087 #define MAX(x,y)  ((x)<(y) ? (y) : (x))
00088 
00089 // Return the square value
00090 #define SQR(x) ((x)*(x))
00091 
00092 // Compare DOUBLES
00093 #define COMPARE_REAL(X, Y, D) ((fabs((X)-(Y)) < (D)) ? 1:0)
00094 
00095 // Conversion factors
00096 #define M2INM    ((double) (0.00053995680))  /* INM - International nautical mile */
00097 #define M2FT     ((double) (1.0/0.3048))
00098 #define M2MILE   ((double) (0.00062137119))
00099 #define MBAR2KPA ((double) (1.0/10.0))
00100 #define MBAR2INI ((double) (1.0/33.8639))
00101 #define MBAR2MM  ((double) (1.0/1.33322))
00102 #define MBAR2PSI ((double) (1.0/68.94757))
00103 
00104 }
00105 #endif
 

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5