00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __hem__
00012 #define __hem__
00013
00014
00017 #define hem_Switch1 (1<<0)
00018 #define hem_Switch2 (1<<1)
00019 #define hem_Switch3 (1<<2)
00020 #define hem_Switch4 (1<<3)
00021
00022
00025 #define hem_LedOnOff (1<<0)
00026 #define hem_LedPgmExec (1<<1)
00027 #define hem_LedFrontLeft (1<<2)
00028 #define hem_LedFrontRight (1<<3)
00030
00031
00033 #define hem_SensorFront 0
00034 #define hem_SensorFrontRight 1
00035 #define hem_SensorFrontLeft 2
00036 #define hem_SensorRight 3
00037 #define hem_SensorLeft 4
00038 #define hem_SensorRear 5
00039 #define hem_SensorGroundRight 6
00040 #define hem_SensorGroundLeft 7
00041 #define hem_SensorMax 8
00044
00045
00050 #define hem_open( ) knet_open( "KoreBot:Hemission" )
00051
00052
00056 #define hem_close( dev ) knet_close( dev)
00057
00058
00059
00060
00061
00062 extern int hem_getVersion( knet_dev_t * dev );
00063
00064 extern int hem_setSpeed( knet_dev_t * dev , int left , int right );
00065
00066 extern int hem_beep( knet_dev_t * dev , unsigned int state );
00067
00068 extern int hem_readSwitches( knet_dev_t * dev , unsigned int * state );
00069
00070 extern int hem_setLEDs( knet_dev_t * dev , unsigned int state );
00071
00072 extern int hem_readProximitySensors( knet_dev_t * dev ,
00073 unsigned char * sensors );
00074
00075 extern int hem_readAmbientLightSensors( knet_dev_t * dev ,
00076 unsigned char * sensors );
00077
00078 extern int hem_readTVRemote( knet_dev_t * dev , unsigned char * value );
00079
00080 extern int hem_readI2C( knet_dev_t * dev ,
00081 unsigned char slave ,
00082 unsigned char reg ,
00083 unsigned char * data ,
00084 unsigned char count );
00085
00086 extern int hem_writeI2C( knet_dev_t * dev ,
00087 unsigned char slave ,
00088 unsigned char reg ,
00089 unsigned char * data ,
00090 unsigned char count );
00091
00092 extern int hem_fastRead( knet_dev_t * dev ,
00093 unsigned char * motorLeft ,
00094 unsigned char * motorRight ,
00095 unsigned char * proximitySensors ,
00096 unsigned char * ambientLightSensors ,
00097 unsigned char * switches ,
00098 unsigned char * tvRemoteData ,
00099 unsigned char * version ,
00100 unsigned char * revision );
00101
00102 extern int hem_fastWrite( knet_dev_t * dev ,
00103 unsigned char motorLeft ,
00104 unsigned char motorRight ,
00105 unsigned char ledState );
00106
00107 #endif