This module is layer for communication with various devices which are part of the khepera3 robot. It offers simple interface to the user. More...
Go to the source code of this file.
Functions | |
int | kh3_init (void) |
int | kh3_getcommand (knet_dev_t *hDev, unsigned char *out) |
int | kh3_sendcommand (knet_dev_t *hDev, unsigned char *in) |
int | kh3_proximity_ir (char *outbuf, knet_dev_t *hDev) |
int | kh3_ambiant_ir (char *outbuf, knet_dev_t *hDev) |
int | kh3_battery_voltage (char *outbuf, unsigned char argument, knet_dev_t *hDev) |
int | kh3_reset_tstamp (char *outbuf, knet_dev_t *hDev) |
int | kh3_revision (char *outbuf, knet_dev_t *hDev) |
int | kh3_configure_os (char *outbuf, unsigned char index, unsigned char value, knet_dev_t *hDev) |
int | kh3_measure_us (char *outbuf, unsigned char usnbr, knet_dev_t *hDev) |
Variables | |
static knet_dev_t * | dspic |
static knet_dev_t * | mot1 |
static knet_dev_t * | mot2 |
This module is layer for communication with various devices which are part of the khepera3 robot. It offers simple interface to the user.
Khepera3 layer
Definition in file kb_khepera3.c.
int kh3_ambiant_ir | ( | char * | outbuf, | |
knet_dev_t * | hDev | |||
) |
kh3_ambiant_ir retrieves an instant IR measure.
outbuf | is a buffer where the data will be stored on. | |
hDev | is a handle to an openned knet socket (Khepera3:dsPic). |
Definition at line 189 of file kb_khepera3.c.
References K3_CMD_DELAY, kb_gpio_get(), kh3_getcommand(), kh3_sendcommand(), and KNET_INT0.
Referenced by ambIR().
int kh3_battery_voltage | ( | char * | outbuf, | |
unsigned char | argument, | |||
knet_dev_t * | hDev | |||
) |
kh3_battery_Voltage retrieves the actual battery voltage.
outbuf | is a buffer where the data will be stored on. | |
argument | parameter of the command | |
hDev | is a handle to an openned knet socket (Khepera3:dsPic). |
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().
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.
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:
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(), and getallus().
int kh3_getcommand | ( | knet_dev_t * | hDev, | |
unsigned char * | out | |||
) |
kh3_getcommand gets a command frame from a given khepera3 device.
Function flow:
Normally an end user don't want to use these function as they are assumed as "low level functions".
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. |
Definition at line 86 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().
int kh3_init | ( | void | ) |
kh3_init initializes some things like the GPIO40 pin. This function needs to be called BEFORE any other functions.
Definition at line 37 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().
int kh3_measure_us | ( | char * | outbuf, | |
unsigned char | usnbr, | |||
knet_dev_t * | hDev | |||
) |
kh3_measure_us retrieves measure from a given US transmitter.
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). |
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 getallus(), and measureUS().
int kh3_proximity_ir | ( | char * | outbuf, | |
knet_dev_t * | hDev | |||
) |
kh3_proximity_ir retrieves an instant IR measure.
outbuf | is a buffer where the data will be stored on. | |
hDev | is a handle to an openned knet socket (Khepera3:dsPic). |
Definition at line 152 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().
int kh3_reset_tstamp | ( | char * | outbuf, | |
knet_dev_t * | hDev | |||
) |
kh3_reset_tstamp resets the absolute timestamp.
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). |
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().
int kh3_revision | ( | char * | outbuf, | |
knet_dev_t * | hDev | |||
) |
kh3_revision retrieves the current OS version/revision
outbuf | is a buffer where the data will be stored on. | |
hDev | is a handle to an openned knet socket (Khepera3:dsPic). |
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().
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".
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. |
Definition at line 125 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().
knet_dev_t* dspic [static] |
handles to the various khepera3 devices
Definition at line 23 of file kb_khepera3.c.
knet_dev_t* mot1 [static] |
Definition at line 24 of file kb_khepera3.c.
knet_dev_t* mot2 [static] |
Definition at line 25 of file kb_khepera3.c.