Orefatoi
/
afero_poc15_171201
POC1.5 prototype 2 x color sensor 2 x LM75B 3 x AnalogIn 1 x accel
Embed:
(wiki syntax)
Show/hide line numbers
edge_color.h
00001 #ifndef _EDGE_COLOR_H_ 00002 #define _EDGE_COLOR_H_ 00003 #include "mbed.h" 00004 #include "edge_sensor.h" 00005 #include "VEML6040.h" 00006 00007 class edge_color : public edge_sensor { 00008 public: 00009 edge_color(VEML6040 *sensor, PwmOut *led[], uint16_t *pwm) ; 00010 ~edge_color(void) ; 00011 virtual void reset(void) ; 00012 virtual void prepare(void) ; 00013 virtual void sample(void) ; 00014 virtual int deliver(void) ; 00015 00016 void calibrate(uint16_t target[], uint16_t result[], int num_ave) ; 00017 void getAveColor(uint16_t v[], int num_ave) ; 00018 void getRGB(uint16_t v[]) ; 00019 uint8_t getConfig(void) { return _sensor_config ; } 00020 void setConfig(uint8_t config) { _sensor_config = config ; } 00021 uint16_t get_pwm_period(void) { return _pwm_period ; } 00022 void set_pwm_period(uint16_t period) { _pwm_period = period ; } 00023 uint16_t get_pwm_target(void) { return _pwm_target ; } 00024 void set_pwm_target(uint16_t target) { _pwm_target = target ; } 00025 uint16_t getR(void) { return _value[0] ; } 00026 uint16_t getG(void) { return _value[1] ; } 00027 uint16_t getB(void) { return _value[2] ; } 00028 uint16_t getPwmR(void) { return _pwm[0] ; } 00029 uint16_t getPwmG(void) { return _pwm[1] ; } 00030 uint16_t getPwmB(void) { return _pwm[2] ; } 00031 void setLEDs(uint16_t led_value[]) ; 00032 void setLEDs(uint16_t r, uint16_t g, uint16_t b) ; 00033 00034 protected: 00035 VEML6040 *_sensor ; 00036 uint8_t _sensor_config ; 00037 PwmOut *_led[3] ; 00038 uint16_t _pwm_period ; 00039 uint16_t _pwm_target ; 00040 uint16_t _value[3] ; /* r, g, b */ 00041 uint16_t _pwm[3] ; /* r, g, b */ 00042 uint16_t _probe ; /* probing value for calibration */ 00043 } ; 00044 00045 extern uint16_t color0_pwm[3] ; 00046 extern uint16_t color1_pwm[3] ; 00047 extern uint16_t color0_target[3] ; 00048 extern uint16_t color1_target[3] ; 00049 00050 #endif /* _EDGE_COLOR_H_ */
Generated on Tue Jul 12 2022 21:13:41 by 1.7.2