S11059-02DTカラーセンサーのライブラリ
Color.cpp@0:2bb06ba9bace, 2021-11-16 (annotated)
- Committer:
- koizumi_8
- Date:
- Tue Nov 16 08:22:01 2021 +0000
- Revision:
- 0:2bb06ba9bace
- Child:
- 1:815b206c14fb
.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
koizumi_8 | 0:2bb06ba9bace | 1 | #include "Color.h" |
koizumi_8 | 0:2bb06ba9bace | 2 | |
koizumi_8 | 0:2bb06ba9bace | 3 | Color::Color(I2C &i2c_handle,uint8_t cmd):i2c_handle_(i2c_handle) |
koizumi_8 | 0:2bb06ba9bace | 4 | { |
koizumi_8 | 0:2bb06ba9bace | 5 | const char init[]={CTRL,RESET};//初期化のコマンド |
koizumi_8 | 0:2bb06ba9bace | 6 | const char start[]={CTRL,cmd};//動作開始のコマンド |
koizumi_8 | 0:2bb06ba9bace | 7 | i2c_handle_.write(ADDR,init,2); |
koizumi_8 | 0:2bb06ba9bace | 8 | i2c_handle_.write(ADDR,start,2); |
koizumi_8 | 0:2bb06ba9bace | 9 | } |
koizumi_8 | 0:2bb06ba9bace | 10 | void Color::update(){ |
koizumi_8 | 0:2bb06ba9bace | 11 | static const char data_pos=READ;//レジスタの読み初めの場所 |
koizumi_8 | 0:2bb06ba9bace | 12 | i2c_handle_.write(ADDR,&data_pos,1);//読み込みの指定 |
koizumi_8 | 0:2bb06ba9bace | 13 | i2c_handle_.read(ADDR,data_,8);//データの受信 |
koizumi_8 | 0:2bb06ba9bace | 14 | } |
koizumi_8 | 0:2bb06ba9bace | 15 | //16bitのデータを8bitの通信で受け取るから元のデータに戻す |
koizumi_8 | 0:2bb06ba9bace | 16 | uint16_t Color::r(){return data_[0]<<8|data_[1];} |
koizumi_8 | 0:2bb06ba9bace | 17 | uint16_t Color::g(){return data_[2]<<8|data_[3];} |
koizumi_8 | 0:2bb06ba9bace | 18 | uint16_t Color::b(){return data_[4]<<8|data_[5];} |
koizumi_8 | 0:2bb06ba9bace | 19 | uint16_t Color::ir(){return data_[6]<<8|data_[7];} |