color2 2.0.0.0
color2.h File Reference

This file contains API for Color 2 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  color2_t
 Click ctx object definition. More...
 
struct  color2_cfg_t
 Click configuration structure definition. More...
 
struct  color2_rgb_t
 Color 2 RGB channels data object. More...
 
struct  color2_hsl_t
 Color 2 HSL color data object. More...
 

Macros

#define COLOR2_MAP_MIKROBUS(cfg, mikrobus)
 
#define COLOR2_OK   0
 
#define COLOR2_ERROR   -1
 
#define COLOR2_I2C_ADDR   0x44
 
#define COLOR2_DEVICE_ID   0x00
 
#define COLOR2_CONFIG_1   0x01
 
#define COLOR2_CONFIG_2   0x02
 
#define COLOR2_CONFIG_3   0x03
 
#define COLOR2_THRESHOLD_LL   0x04
 
#define COLOR2_THRESHOLD_LH   0x05
 
#define COLOR2_THRESHOLD_HL   0x06
 
#define COLOR2_THRESHOLD_HH   0x07
 
#define COLOR2_STATUS   0x08
 
#define COLOR2_GREEN_L   0x09
 
#define COLOR2_GREEN_H   0x0A
 
#define COLOR2_RED_L   0x0B
 
#define COLOR2_RED_H   0x0C
 
#define COLOR2_BLUE_L   0x0D
 
#define COLOR2_BLUE_H   0x0E
 
#define COLOR2_CFG_DEFAULT   0x00
 
#define COLOR2_CFG1_MODE_POWERDOWN   0x00
 
#define COLOR2_CFG1_MODE_G   0x01
 
#define COLOR2_CFG1_MODE_R   0x02
 
#define COLOR2_CFG1_MODE_B   0x03
 
#define COLOR2_CFG1_MODE_STANDBY   0x04
 
#define COLOR2_CFG1_MODE_RGB   0x05
 
#define COLOR2_CFG1_MODE_RG   0x06
 
#define COLOR2_CFG1_MODE_GB   0x07
 
#define COLOR2_CFG1_375LUX   0x00
 
#define COLOR2_CFG1_10KLUX   0x08
 
#define COLOR2_CFG1_16BIT   0x00
 
#define COLOR2_CFG1_12BIT   0x10
 
#define COLOR2_CFG1_ADC_SYNC_NORMAL   0x00
 
#define COLOR2_CFG1_ADC_SYNC_TO_INT   0x20
 
#define COLOR2_CFG2_IR_OFFSET_OFF   0x00
 
#define COLOR2_CFG2_IR_OFFSET_ON   0x80
 
#define COLOR2_CFG2_IR_ADJUST_LOW   0x00
 
#define COLOR2_CFG2_IR_ADJUST_MID   0x20
 
#define COLOR2_CFG2_IR_ADJUST_HIGH   0x3F
 
#define COLOR2_CFG3_NO_INT   0x00
 
#define COLOR2_CFG3_G_INT   0x01
 
#define COLOR2_CFG3_R_INT   0x02
 
#define COLOR2_CFG3_B_INT   0x03
 
#define COLOR2_CFG3_INT_PRST1   0x00
 
#define COLOR2_CFG3_INT_PRST2   0x04
 
#define COLOR2_CFG3_INT_PRST4   0x08
 
#define COLOR2_CFG3_INT_PRST8   0x0C
 
#define COLOR2_CFG3_RGB_CONV_TO_INT_DISABLE   0x00
 
#define COLOR2_CFG3_RGB_CONV_TO_INT_ENABLE   0x10
 
#define COLOR2_FLAG_INT   0x01
 
#define COLOR2_FLAG_CONV_DONE   0x02
 
#define COLOR2_FLAG_BROWNOUT   0x04
 
#define COLOR2_FLAG_CONV_G   0x10
 
#define COLOR2_FLAG_CONV_R   0x20
 
#define COLOR2_FLAG_CONV_B   0x30
 
#define COLOR2_UNKNOWN_COLOR   0
 Color 2 color flags.
 
#define COLOR2_RED_COLOR   1
 
#define COLOR2_YELLOW_COLOR   2
 
#define COLOR2_GREEN_COLOR   3
 
#define COLOR2_CYAN_COLOR   4
 
#define COLOR2_BLUE_COLOR   5
 
#define COLOR2_MAGENTA_COLOR   6
 
#define COLOR2_WHITE_COLOR   7
 
#define COLOR2_BLACK_COLOR   8
 
#define COLOR2_WHITE_COLOR_LIGHTNESS   97
 Color 2 color from HSL thresholds.
 
#define COLOR2_BLACK_COLOR_LIGHTNESS   3
 
#define COLOR2_YELLOW_COLOR_HUE_ANGLE   30
 
#define COLOR2_GREEN_COLOR_HUE_ANGLE   90
 
#define COLOR2_CYAN_COLOR_HUE_ANGLE   150
 
#define COLOR2_BLUE_COLOR_HUE_ANGLE   210
 
#define COLOR2_MAGENTA_COLOR_HUE_ANGLE   270
 
#define COLOR2_RED_COLOR_HUE_ANGLE   330
 
#define COLOR2_HSL_HUE_RESOLUTION   360
 Color 2 RGB to HSL calculation values.
 
#define COLOR2_HSL_SATURATION_RESOLUTION   100
 
#define COLOR2_HSL_LIGHTNESS_RESOLUTION   100
 

Functions

void color2_cfg_setup (color2_cfg_t *cfg)
 Config Object Initialization function.
 
err_t color2_init (color2_t *ctx, color2_cfg_t *cfg)
 Initialization function.
 
err_t color2_default_cfg (color2_t *ctx)
 Click Default Configuration function.
 
err_t color2_generic_write (color2_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
 Color 2 I2C writing function.
 
err_t color2_generic_read (color2_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
 Color 2 I2C reading function.
 
err_t color2_write_reg (color2_t *ctx, uint8_t reg, uint8_t data_in)
 Generic write data function.
 
err_t color2_read_reg (color2_t *ctx, uint8_t reg, uint8_t *data_out)
 Generic read data function.
 
uint8_t color2_get_int_pin (color2_t *ctx)
 Get int pin function.
 
err_t color2_reset (color2_t *ctx)
 Reset default register value function.
 
err_t color2_init_advanced (color2_t *ctx, uint8_t config1, uint8_t config2, uint8_t config3)
 Init advanced function.
 
err_t color2_set_upper_threshold (color2_t *ctx, uint16_t upper_threshold)
 Function set upper threshold register.
 
err_t color2_set_lower_hreshold (color2_t *ctx, uint16_t lower_threshold)
 Function set lower threshold register.
 
err_t color2_read_upper_threshold (color2_t *ctx, uint16_t *upper_threshold)
 Function read upper threshold register.
 
err_t color2_read_lower_threshold (color2_t *ctx, uint16_t *lower_threshold)
 Function read lower threshold register.
 
err_t color2_read_rgb (color2_t *ctx, color2_rgb_t *rgb)
 Function read rgb data.
 
err_t color2_read_status (color2_t *ctx, uint8_t *status)
 Function read status registe value.
 
void color2_rgb_to_hsl (color2_t *ctx, color2_rgb_t *rgb, color2_hsl_t *hsl)
 Functions for read color value.
 
uint8_t color2_get_color (color2_hsl_t *hsl)
 Functions for detect colors.
 

Detailed Description

This file contains API for Color 2 Click driver.