kb_khepera3.h File Reference

Include dependency graph for kb_khepera3.h:

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

Go to the source code of this file.

Defines

#define KNET_INT0   40
#define IN   1
#define OUT   0
#define KH3_ERROR_SUCCESS   0
#define KH3_ERROR_KBINIT   -1
#define KH3_ERROR_FRMSZ   -2
#define KH3_ERROR_SZFMT   -3
#define KH3_ERROR_FRMSND   -4
#define K3_CMD_DELAY   300

Functions

int kh3_init (void)
int kh3_getcommand (knet_dev_t *, unsigned char *)
int kh3_sendcommand (knet_dev_t *, unsigned char *)
int kh3_proximity_ir (char *, knet_dev_t *)
int kh3_ambiant_ir (char *, knet_dev_t *)
int kh3_battery_voltage (char *, unsigned char, knet_dev_t *)
int kh3_reset_tstamp (char *, knet_dev_t *)
int kh3_revision (char *, knet_dev_t *)
int kh3_configure_os (char *, unsigned char, unsigned char, knet_dev_t *)
int 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(), and main().

#define K3_CMD_DELAY   300

#define KH3_ERROR_FRMSND   -4

Definition at line 31 of file kb_khepera3.h.

Referenced by kh3_sendcommand().

#define KH3_ERROR_FRMSZ   -2

Definition at line 29 of file kb_khepera3.h.

Referenced by kh3_getcommand().

#define KH3_ERROR_KBINIT   -1

Definition at line 28 of file kb_khepera3.h.

Referenced by kgripper_init(), and kh3_init().

#define KH3_ERROR_SUCCESS   0

Khepera3 Error codes

Definition at line 27 of file kb_khepera3.h.

#define KH3_ERROR_SZFMT   -3

Definition at line 30 of file kb_khepera3.h.

Referenced by kh3_getcommand().

#define KNET_INT0   40

#define OUT   0

Definition at line 21 of file kb_khepera3.h.

Referenced by gpioinit(), and kb_lrf_Init().


Function Documentation

int 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 190 of file kb_khepera3.c.

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

Referenced by ambIR().

Here is the call graph for this function:

int kh3_battery_voltage ( char *  outbuf,
unsigned char  argument,
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 225 of file kb_khepera3.c.

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

Referenced by voltageBAT().

Here is the call graph for this function:

int 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 5.

Returns:
NULL or a pointer to the output

Definition at line 350 of file kb_khepera3.c.

References K3_CMD_DELAY, 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 87 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   ) 

-------------------------------------------------------------------- Prototypes Declaration

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 38 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:

int 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 386 of file kb_khepera3.c.

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

Referenced by measureUS().

Here is the call graph for this function:

int 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 153 of file kb_khepera3.c.

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

Referenced by braitenbergAvoidance(), main(), and proxIR().

Here is the call graph for this function:

int 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 262 of file kb_khepera3.c.

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

Referenced by tstampRST().

Here is the call graph for this function:

int 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 296 of file kb_khepera3.c.

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

Referenced by main(), and 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 126 of file kb_khepera3.c.

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

Referenced by braitenbergAvoidance(), 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 Wed Dec 15 11:49:28 2010 for KoreBot Library by  doxygen 1.5.5