S11059-02DTカラーセンサーのライブラリ
Color.cpp@1:815b206c14fb, 2021-11-18 (annotated)
- Committer:
- koizumi_8
- Date:
- Thu Nov 18 07:19:44 2021 +0000
- Revision:
- 1:815b206c14fb
- Parent:
- 0:2bb06ba9bace
const
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 | 1:815b206c14fb | 16 | uint16_t Color::r()const{return data_[0]<<8|data_[1];} |
koizumi_8 | 1:815b206c14fb | 17 | uint16_t Color::g()const{return data_[2]<<8|data_[3];} |
koizumi_8 | 1:815b206c14fb | 18 | uint16_t Color::b()const{return data_[4]<<8|data_[5];} |
koizumi_8 | 1:815b206c14fb | 19 | uint16_t Color::ir()const{return data_[6]<<8|data_[7];} |