Orefatoi
/
afero_poc15_171201
POC1.5 prototype 2 x color sensor 2 x LM75B 3 x AnalogIn 1 x accel
edge_sensor/edge_color.h@13:88ee926c56ae, 2017-12-12 (annotated)
- Committer:
- Rhyme
- Date:
- Tue Dec 12 06:53:12 2017 +0000
- Revision:
- 13:88ee926c56ae
- Parent:
- 0:f0de320e23ac
MCU Reset Reason Attribute added
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Rhyme | 0:f0de320e23ac | 1 | #ifndef _EDGE_COLOR_H_ |
Rhyme | 0:f0de320e23ac | 2 | #define _EDGE_COLOR_H_ |
Rhyme | 0:f0de320e23ac | 3 | #include "mbed.h" |
Rhyme | 0:f0de320e23ac | 4 | #include "edge_sensor.h" |
Rhyme | 0:f0de320e23ac | 5 | #include "VEML6040.h" |
Rhyme | 0:f0de320e23ac | 6 | |
Rhyme | 0:f0de320e23ac | 7 | class edge_color : public edge_sensor { |
Rhyme | 0:f0de320e23ac | 8 | public: |
Rhyme | 0:f0de320e23ac | 9 | edge_color(VEML6040 *sensor, PwmOut *led[], uint16_t *pwm) ; |
Rhyme | 0:f0de320e23ac | 10 | ~edge_color(void) ; |
Rhyme | 0:f0de320e23ac | 11 | virtual void reset(void) ; |
Rhyme | 0:f0de320e23ac | 12 | virtual void prepare(void) ; |
Rhyme | 0:f0de320e23ac | 13 | virtual void sample(void) ; |
Rhyme | 0:f0de320e23ac | 14 | virtual int deliver(void) ; |
Rhyme | 0:f0de320e23ac | 15 | |
Rhyme | 0:f0de320e23ac | 16 | void calibrate(uint16_t target[], uint16_t result[], int num_ave) ; |
Rhyme | 0:f0de320e23ac | 17 | void getAveColor(uint16_t v[], int num_ave) ; |
Rhyme | 0:f0de320e23ac | 18 | void getRGB(uint16_t v[]) ; |
Rhyme | 0:f0de320e23ac | 19 | uint8_t getConfig(void) { return _sensor_config ; } |
Rhyme | 0:f0de320e23ac | 20 | void setConfig(uint8_t config) { _sensor_config = config ; } |
Rhyme | 0:f0de320e23ac | 21 | uint16_t get_pwm_period(void) { return _pwm_period ; } |
Rhyme | 0:f0de320e23ac | 22 | void set_pwm_period(uint16_t period) { _pwm_period = period ; } |
Rhyme | 0:f0de320e23ac | 23 | uint16_t get_pwm_target(void) { return _pwm_target ; } |
Rhyme | 0:f0de320e23ac | 24 | void set_pwm_target(uint16_t target) { _pwm_target = target ; } |
Rhyme | 0:f0de320e23ac | 25 | uint16_t getR(void) { return _value[0] ; } |
Rhyme | 0:f0de320e23ac | 26 | uint16_t getG(void) { return _value[1] ; } |
Rhyme | 0:f0de320e23ac | 27 | uint16_t getB(void) { return _value[2] ; } |
Rhyme | 0:f0de320e23ac | 28 | uint16_t getPwmR(void) { return _pwm[0] ; } |
Rhyme | 0:f0de320e23ac | 29 | uint16_t getPwmG(void) { return _pwm[1] ; } |
Rhyme | 0:f0de320e23ac | 30 | uint16_t getPwmB(void) { return _pwm[2] ; } |
Rhyme | 0:f0de320e23ac | 31 | void setLEDs(uint16_t led_value[]) ; |
Rhyme | 0:f0de320e23ac | 32 | void setLEDs(uint16_t r, uint16_t g, uint16_t b) ; |
Rhyme | 0:f0de320e23ac | 33 | |
Rhyme | 0:f0de320e23ac | 34 | protected: |
Rhyme | 0:f0de320e23ac | 35 | VEML6040 *_sensor ; |
Rhyme | 0:f0de320e23ac | 36 | uint8_t _sensor_config ; |
Rhyme | 0:f0de320e23ac | 37 | PwmOut *_led[3] ; |
Rhyme | 0:f0de320e23ac | 38 | uint16_t _pwm_period ; |
Rhyme | 0:f0de320e23ac | 39 | uint16_t _pwm_target ; |
Rhyme | 0:f0de320e23ac | 40 | uint16_t _value[3] ; /* r, g, b */ |
Rhyme | 0:f0de320e23ac | 41 | uint16_t _pwm[3] ; /* r, g, b */ |
Rhyme | 0:f0de320e23ac | 42 | uint16_t _probe ; /* probing value for calibration */ |
Rhyme | 0:f0de320e23ac | 43 | } ; |
Rhyme | 0:f0de320e23ac | 44 | |
Rhyme | 0:f0de320e23ac | 45 | extern uint16_t color0_pwm[3] ; |
Rhyme | 0:f0de320e23ac | 46 | extern uint16_t color1_pwm[3] ; |
Rhyme | 0:f0de320e23ac | 47 | extern uint16_t color0_target[3] ; |
Rhyme | 0:f0de320e23ac | 48 | extern uint16_t color1_target[3] ; |
Rhyme | 0:f0de320e23ac | 49 | |
Rhyme | 0:f0de320e23ac | 50 | #endif /* _EDGE_COLOR_H_ */ |