color 2.0.0.0
color.h File Reference

This file contains API for Color Click driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"

Go to the source code of this file.

Data Structures

struct  color_t
 Click ctx object definition. More...
 
struct  color_cfg_t
 Click configuration structure definition. More...
 

Macros

#define COLOR_MAP_MIKROBUS(cfg, mikrobus)
 
#define COLOR_RETVAL   uint8_t
 
#define COLOR_OK   0x00
 
#define COLOR_INIT_ERROR   0xFF
 
#define COLOR_SLAVE_ADDRESS   0x29
 
#define COLOR_REG_ENABLE   0x00
 
#define COLOR_REG_RGBC_TIME   0x01
 
#define COLOR_REG_WAIT_TIME   0x02
 
#define COLOR_REG_AILTL   0x03
 
#define COLOR_REG_AILTH   0x04
 
#define COLOR_REG_AIHTL   0x05
 
#define COLOR_REG_AIHTH   0x06
 
#define COLOR_REG_PERS   0x0C
 
#define COLOR_REG_CONFIGURATION   0x0D
 
#define COLOR_REG_CONTROL   0x0F
 
#define COLOR_REG_DEVICE_ID   0x12
 
#define COLOR_REG_DEVICE_STATUS   0x13
 
#define COLOR_REG_CLEAR_DATA_LOW   0x14
 
#define COLOR_REG_CLEAR_DATA_HIGH   0x15
 
#define COLOR_REG_RED_DATA_LOW   0x16
 
#define COLOR_REG_RED_DATA_HIGH   0x17
 
#define COLOR_REG_GREEN_DATA_LOW   0x18
 
#define COLOR_REG_GREEN_DATA_HIGH   0x19
 
#define COLOR_REG_BLUE_DATA_LOW   0x1A
 
#define COLOR_REG_BLUE_DATA_HIGH   0x1B
 
#define COLOR_CMD_SELECT   0x80
 
#define COLOR_CMD_REPEATED_BYTE_PROTOCOL   0x00
 
#define COLOR_CMD_AUTO_INCREMENT_PROTOCOL   0x20
 
#define COLOR_ENABLE_RGBC_INTERRUPT   0x10
 
#define COLOR_ENABLE_WAIT   0x08
 
#define COLOR_ENABLE_RGBC   0x02
 
#define COLOR_POWER_ON   0x01
 
#define COLOR_RGBC_TIME_2_4ms   0xFF
 
#define COLOR_RGBC_TIME_24ms   0xF6
 
#define COLOR_RGBC_TIME_101ms   0xD5
 
#define COLOR_RGBC_TIME_154ms   0xC0
 
#define COLOR_RGBC_TIME_700ms   0x00
 
#define COLOR_WAIT_TIME_W0_2_4ms   0xFF
 
#define COLOR_WAIT_TIME_W0_204ms   0xAB
 
#define COLOR_WAIT_TIME_W0_614ms   0xFF
 
#define COLOR_WAIT_TIME_W1_0_029sec   0xFF
 
#define COLOR_WAIT_TIME_W1_2_45sec   0xAB
 
#define COLOR_WAIT_TIME_W1_7_4sec   0xFF
 
#define COLOR_PERS_EVERY_RGBC   0x00
 
#define COLOR_PERS_CLEAR_CH_1   0x01
 
#define COLOR_PERS_CLEAR_CH_2   0x02
 
#define COLOR_PERS_CLEAR_CH_3   0x03
 
#define COLOR_PERS_CLEAR_CH_5   0x04
 
#define COLOR_PERS_CLEAR_CH_10   0x05
 
#define COLOR_PERS_CLEAR_CH_15   0x06
 
#define COLOR_PERS_CLEAR_CH_20   0x07
 
#define COLOR_PERS_CLEAR_CH_25   0x08
 
#define COLOR_PERS_CLEAR_CH_30   0x09
 
#define COLOR_PERS_CLEAR_CH_35   0x0A
 
#define COLOR_PERS_CLEAR_CH_40   0x0B
 
#define COLOR_PERS_CLEAR_CH_45   0x0C
 
#define COLOR_PERS_CLEAR_CH_50   0x0D
 
#define COLOR_PERS_CLEAR_CH_55   0x0E
 
#define COLOR_PERS_CLEAR_CH_60   0x0F
 
#define COLOR_CFG_WAIT_LONG   0x01
 
#define COLOR_CTRL_GAIN_x1   0x00
 
#define COLOR_CTRL_GAIN_x4   0x01
 
#define COLOR_CTRL_GAIN_x16   0x02
 
#define COLOR_CTRL_GAIN_x60   0x03
 
#define COLOR_COLOR_DATA_CLEAR   0x14
 
#define COLOR_COLOR_DATA_RED   0x16
 
#define COLOR_COLOR_DATA_GREEN   0x18
 
#define COLOR_COLOR_DATA_BLUE   0x1A
 
#define COLOR_LED_RED_ENABLE   0x01
 
#define COLOR_LED_GREEN_ENABLE   0x01
 
#define COLOR_LED_BLUE_ENABLE   0x01
 
#define COLOR_LED_RED_DISABLE   0x00
 
#define COLOR_LED_GREEN_DISABLE   0x00
 
#define COLOR_LED_BLUE_DISABLE   0x00
 
#define ORANGE_COLOR_FLAG   1
 
#define RED_COLOR_FLAG   2
 
#define PINK_COLOR_FLAG   3
 
#define PURPLE_COLOR_FLAG   4
 
#define BLUE_COLOR_FLAG   5
 
#define CYAN_COLOR_FLAG   6
 
#define GREEN_COLOR_FLAG   7
 
#define YELLOW_COLOR_FLAG   8
 
#define NON_COLOR_FLAG   0
 

Functions

void color_cfg_setup (color_cfg_t *cfg)
 Config Object Initialization function.
 
COLOR_RETVAL color_init (color_t *ctx, color_cfg_t *cfg)
 Initialization function.
 
void color_default_cfg (color_t *ctx)
 Click Default Configuration function.
 
void color_generic_write (color_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic write function.
 
void color_generic_read (color_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic read function.
 
void color_write_byte (color_t *ctx, uint8_t reg, uint8_t data_to_write)
 Write one byte to register.
 
uint16_t color_read_data (color_t *ctx, uint8_t reg)
 Read 16-bit data from register.
 
float color_read_color_ratio (color_t *ctx, uint8_t color)
 Read color ratio from register.
 
float color_get_color_value (color_t *ctx)
 Functions for read color value.
 
uint8_t color_get_color (float color_value)
 Detect color.
 
uint8_t color_get_interrupt (color_t *ctx)
 Get interrupt pin state.
 
void color_set_led (color_t *ctx, uint8_t red, uint8_t green, uint8_t blue)
 Functions for set Led lights.
 

Detailed Description

This file contains API for Color Click driver.