Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: pixy2.h
- Revision:
- 5:28e47187bb5c
- Parent:
- 4:eed638064b42
- Child:
- 6:e9e3aa6f1a55
--- a/pixy2.h Mon Mar 11 15:21:33 2019 +0000 +++ b/pixy2.h Mon Mar 11 17:18:25 2019 +0000 @@ -66,12 +66,28 @@ #define PIXY2_SET_REVERSE 62 #define PIXY2_ASK_VIDEO 112 +/**************** UTILS ****************/ + +/** + * \enum error_code + * \brief List of possible error code + * \param PIXY2_OK : No error + * \param PIXY2_MISC_ERROR : Unknown error + * \param PIXY2_BUSY : Pixy hasn't finish yet + * \param PIXY2_BAD_CHECKSUM : Checksum is wrong + * \param PIXY2_TYPE_ERROR : unexpected type message + */ + +#define PIXY2_OK 0 +#define PIXY2_MISC_ERROR -1 +#define PIXY2_BUSY -2 +#define PIXY2_BAD_CHECKSUM -3 +#define PIXY2_TYPE_ERROR -7 /**************** STATE MACHINE ****************/ typedef enum {idle, messageSent, receivingHeader, headerReceived, receivingData, dataReceived} T_Pixy2State; - /**************** UTILS ****************/ /** @@ -199,11 +215,11 @@ * \struct T_Pixy2Resolution * \brief Structured type that match pixy2 resolution frame (type = 12/13) message payload * \param pixFrameWidth (Word) : 16 bits width (in pixel) of an image - * \param pixFrameHeigth (Word) : 16 bits height (in pixel) of an image + * \param pixFrameHeight (Word) : 16 bits height (in pixel) of an image */ typedef struct { Word pixFrameWidth; - Word pixFrameHeigth; + Word pixFrameHeight; }T_Pixy2Resolution; /** @@ -357,26 +373,31 @@ // Fonctions publiques /** - * Gives information about Pixy2 version and Firmware - * @note according to documentation : https://docs.pixycam.com/wiki/doku.php?id=wiki:v2:porting_guide - * @param version (T_Pixy2Version - passed by reference) : pointer to the version data - * @return 0 if OK - * @return -2 if Busy - * @return -3 if Checksum error - * @return -7 if Type Error + * Queries and receives the firmware and hardware version of Pixy2, which is put in the version member variable. + * @note Frame Documentation : https://docs.pixycam.com/wiki/doku.php?id=wiki:v2:porting_guide + * @note Function Documentation : https://docs.pixycam.com/wiki/doku.php?id=wiki:v2:general_api + * @param version (T_Pixy2Version - passed by reference) : pointer to the version data structure + * @return int : error code. */ int pixy2_getVersion (T_Pixy2Version *version); /** - * Gives information about Pixy2 Resolution - * @note according to documentation : https://docs.pixycam.com/wiki/doku.php?id=wiki:v2:porting_guide - * @param version (T_Pixy2Resolution - passed by reference) : pointer to the resolution data - * @return 0 if OK - * @return -2 if Busy - * @return -3 if Checksum error - * @return -7 if Type Error + * Gets the width and height of the frames used by the current program. + * @note After calling this function, the width and height can be found in the frameWidth and frameHeight member variables. + * @note Frame Documentation : https://docs.pixycam.com/wiki/doku.php?id=wiki:v2:porting_guide + * @note Function Documentation : https://docs.pixycam.com/wiki/doku.php?id=wiki:v2:general_api + * @param resolution (T_Pixy2Resolution - passed by reference) : pointer to the resolution data structure + * @return int : error code. */ int pixy2_getResolution (T_Pixy2Resolution *resolution); + +/** + * Sets the relative exposure level of Pixy2's image sensor. Higher values result in a brighter (more exposed) image. + * @note Frame Documentation : https://docs.pixycam.com/wiki/doku.php?id=wiki:v2:porting_guide + * @note Function Documentation : https://docs.pixycam.com/wiki/doku.php?id=wiki:v2:general_api + * @param brightness (Byte - passed by value) : brightness level + * @return int : error code. + */ int pixy2_setCameraBrightness (Byte brightness); int pixy2_setServos (Word s0, Word s1); int pixy2_setLED (Byte red, Byte green, Byte blue);