Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

kb_khepera3.h File Reference

Include dependency graph for kb_khepera3.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Defines

#define KNET_INT0   40 /* KNET_INT0 is on GPIO40 */
#define IN   1
#define OUT   0
#define KH3_ERROR_SUCCESS   0 /* No errors */
#define KH3_ERROR_KBINIT   -1 /* Unable to initialize the korebot library */
#define KH3_ERROR_FRMSZ   -2 /* Frame received doesnt have the expected size */
#define KH3_ERROR_SZFMT   -3 /* Frame size received should be 1 byte wide, wrong format */
#define KH3_ERROR_FRMSND   -4 /* Unable to send a command frame to the khepera3 */

Functions

int kh3_init (void)
int kh3_getcommand (knet_dev_t *, unsigned char *)
int kh3_sendcommand (knet_dev_t *, unsigned char *)
char * kh3_proximity_ir (char *, knet_dev_t *)
char * kh3_ambiant_ir (char *, knet_dev_t *)
char * kh3_battery_voltage (char *, knet_dev_t *)
char * kh3_reset_tstamp (char *, knet_dev_t *)
char * kh3_revision (char *, knet_dev_t *)
char * kh3_configure_os (char *, unsigned char, unsigned char, knet_dev_t *)
char * kh3_measure_us (char *, unsigned char, knet_dev_t *)


Define Documentation

#define IN   1
 

Definition at line 20 of file kb_khepera3.h.

Referenced by kh3_init().

#define KH3_ERROR_FRMSND   -4 /* Unable to send a command frame to the khepera3 */
 

Definition at line 31 of file kb_khepera3.h.

Referenced by kh3_sendcommand().

#define KH3_ERROR_FRMSZ   -2 /* Frame received doesnt have the expected size */
 

Definition at line 29 of file kb_khepera3.h.

Referenced by kh3_getcommand().

#define KH3_ERROR_KBINIT   -1 /* Unable to initialize the korebot library */
 

Definition at line 28 of file kb_khepera3.h.

Referenced by kh3_init().

#define KH3_ERROR_SUCCESS   0 /* No errors */
 

Khepera3 Error codes

Definition at line 27 of file kb_khepera3.h.

#define KH3_ERROR_SZFMT   -3 /* Frame size received should be 1 byte wide, wrong format */
 

Definition at line 30 of file kb_khepera3.h.

Referenced by kh3_getcommand().

#define KNET_INT0   40 /* KNET_INT0 is on GPIO40 */
 

Khepera3 <-> Korebot gpios pin definitions

Definition at line 19 of file kb_khepera3.h.

Referenced by kh3_ambiant_ir(), kh3_battery_voltage(), kh3_configure_os(), kh3_init(), kh3_measure_us(), kh3_proximity_ir(), kh3_reset_tstamp(), and kh3_revision().

#define OUT   0
 

Definition at line 21 of file kb_khepera3.h.

Referenced by gpioinit(), and kb_lrf_Init().


Function Documentation

char* kh3_ambiant_ir char *  outbuf,
knet_dev_t hDev
 

kh3_ambiant_ir retrieves an instant IR measure.

Parameters:
outbuf is a buffer where the data will be stored on.
hDev is a handle to an openned knet socket (Khepera3:dsPic).
Returns:
NULL or a pointer to the IR measure.

Definition at line 183 of file kb_khepera3.c.

References kb_gpio_get(), kh3_getcommand(), kh3_sendcommand(), and KNET_INT0.

Referenced by ambIR().

Here is the call graph for this function:

char* kh3_battery_voltage char *  outbuf,
knet_dev_t hDev
 

kh3_battery_Voltage retrieves the actual battery voltage.

Parameters:
outbuf is a buffer where the data will be stored on.
hDev is a handle to an openned knet socket (Khepera3:dsPic).
Returns:
NULL or a pointer to the battery voltage.

Definition at line 218 of file kb_khepera3.c.

References kb_gpio_get(), kh3_getcommand(), kh3_sendcommand(), and KNET_INT0.

Referenced by voltageBAT().

Here is the call graph for this function:

char* kh3_configure_os char *  outbuf,
unsigned char  index,
unsigned char  value,
knet_dev_t hDev
 

kh3_configure configures the current firmware operation mode. a configuration array is used by the khepera3 to decide its mode of operation.

Parameters:
outbuf is a buffer where the data will be stored on.
index is the index pointing one of the configuration word in the config array.
value is the value to store in the configuration array.
hDev is a handle to an openned knet socket (Khepera3:dsPic).
Indexes:

  • 0 : Value that tells on which us transciever to work from This is a bit field where bit0 means trx 1 and so on So to work on the two most left transceiver one should Set 0b0000000000000011 => 3. Note: default value is 4 to work from only the front us trx.
  • 1 : Value that decide what is the maximum echo number Note: default value is 3.
  • 2 : Value that tell how many pulse can be seen without the echo is detected. This is required because the korebot may generate some noise. A received echo means many 40kHz pulse so this is why we can filter noise that way. Note: default value is 20.

Returns:
NULL or a pointer to the output

Definition at line 341 of file kb_khepera3.c.

References kb_gpio_get(), kh3_getcommand(), kh3_sendcommand(), and KNET_INT0.

Referenced by configureOS().

Here is the call graph for this function:

int kh3_getcommand knet_dev_t hDev,
unsigned char *  out
 

kh3_getcommand gets a command frame from a given khepera3 device.

Function flow:

  • a) : retrieve the first byte which is the frame size from the device
  • b) : retrieve the required bytes

Normally an end user don't want to use these function as they are assumed as "low level functions".

Parameters:
hDev is a handle to an openned knet socket (Khepera3:dsPic).
out is a pointer to a buffer where the command frame will be stored on.
Returns:
A value:
  • <0 on error (KH3_ERROR_FRMSZERR, KH3_ERROR_SZFMTERR)
  • >=0 on success (returns should be the size of frame)
Remarks:
This function requires that kb_kh3_init has been called

Definition at line 81 of file kb_khepera3.c.

References KB_ERROR, KB_ERROR_KH3FRMSZERR, KB_ERROR_KH3SZFMTERR, KH3_ERROR_FRMSZ, KH3_ERROR_SZFMT, and knet_llread().

Referenced by kh3_ambiant_ir(), kh3_battery_voltage(), kh3_configure_os(), kh3_measure_us(), kh3_proximity_ir(), kh3_reset_tstamp(), and kh3_revision().

Here is the call graph for this function:

int kh3_init void   ) 
 

kh3_init initializes some things like the GPIO40 pin. This function needs to be called BEFORE any other functions.

Parameters:
none 
Returns:
A value:
  • <0 on error
  • 0 on success

Definition at line 36 of file kb_khepera3.c.

References IN, KB_ERROR, KB_ERROR_KH3KBINIT, kb_gpio_dir(), kb_gpio_function(), kb_gpio_init(), kb_init(), KH3_ERROR_KBINIT, and KNET_INT0.

Referenced by initKH3().

Here is the call graph for this function:

char* kh3_measure_us char *  outbuf,
unsigned char  usnbr,
knet_dev_t hDev
 

kh3_measure_us retrieves measure from a given US transmitter.

Parameters:
outbuf is a buffer where the data will be stored on.
usnbr is a number of the us trx to read from ( 1 to 5 ).
hDev is a handle to an openned knet socket (Khepera3:dsPic).
Returns:
NULL or a pointer to the ultrasonic measure

Definition at line 375 of file kb_khepera3.c.

References kb_gpio_get(), kh3_getcommand(), kh3_sendcommand(), and KNET_INT0.

Referenced by measureUS().

Here is the call graph for this function:

char* kh3_proximity_ir char *  outbuf,
knet_dev_t hDev
 

kh3_proximity_ir retrieves an instant IR measure.

Parameters:
outbuf is a buffer where the data will be stored on.
hDev is a handle to an openned knet socket (Khepera3:dsPic).
Returns:
NULL or a pointer to the IR measure

Definition at line 145 of file kb_khepera3.c.

References kb_gpio_get(), kh3_getcommand(), kh3_sendcommand(), and KNET_INT0.

Referenced by proxIR().

Here is the call graph for this function:

char* kh3_reset_tstamp char *  outbuf,
knet_dev_t hDev
 

kh3_reset_tstamp resets the absolute timestamp.

Parameters:
outbuf is a buffer where the data will be stored on. in this case the only answer to expect is z, which is a ack.
hDev is a handle to an openned knet socket (Khepera3:dsPic).
Returns:
NULL or a pointer to the ack.

Definition at line 255 of file kb_khepera3.c.

References kb_gpio_get(), kh3_getcommand(), kh3_sendcommand(), and KNET_INT0.

Referenced by tstampRST().

Here is the call graph for this function:

char* kh3_revision char *  outbuf,
knet_dev_t hDev
 

kh3_revision retrieves the current OS version/revision

Parameters:
outbuf is a buffer where the data will be stored on.
hDev is a handle to an openned knet socket (Khepera3:dsPic).
Returns:
NULL or a pointer to the revision data

Definition at line 288 of file kb_khepera3.c.

References kb_gpio_get(), kh3_getcommand(), kh3_sendcommand(), and KNET_INT0.

Referenced by revisionOS().

Here is the call graph for this function:

int kh3_sendcommand knet_dev_t hDev,
unsigned char *  in
 

kh3_sendcommand sets a command frame to a given khepera3 device.

Normally and end user don't want to use these function as they are assumed as "low level functions".

Parameters:
hDev is a handle to an openned knet socket (Khepera3:dsPic).
in is a pointer to a buffer where the command frame to be sent is stored on.
Returns:
A value:
  • <0 on error (KH3_ERROR_FRMSNDERR)
  • >=0 on success (returns should be the size of frame)
Remarks:
This function requires that kb_kh3_init has been called

Definition at line 120 of file kb_khepera3.c.

References KB_ERROR, KB_ERROR_KH3FRMSNDERR, KH3_ERROR_FRMSND, and knet_llwrite().

Referenced by kh3_ambiant_ir(), kh3_battery_voltage(), kh3_configure_os(), kh3_measure_us(), kh3_proximity_ir(), kh3_reset_tstamp(), and kh3_revision().

Here is the call graph for this function:


Generated on Thu Nov 17 15:32:19 2005 for KoreBot Library by doxygen 1.3.7