S11059-02DTカラーセンサーのライブラリ
Diff: Color.cpp
- Revision:
- 0:2bb06ba9bace
- Child:
- 1:815b206c14fb
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Color.cpp Tue Nov 16 08:22:01 2021 +0000 @@ -0,0 +1,19 @@ +#include "Color.h" + +Color::Color(I2C &i2c_handle,uint8_t cmd):i2c_handle_(i2c_handle) +{ + const char init[]={CTRL,RESET};//初期化のコマンド + const char start[]={CTRL,cmd};//動作開始のコマンド + i2c_handle_.write(ADDR,init,2); + i2c_handle_.write(ADDR,start,2); +} +void Color::update(){ + static const char data_pos=READ;//レジスタの読み初めの場所 + i2c_handle_.write(ADDR,&data_pos,1);//読み込みの指定 + i2c_handle_.read(ADDR,data_,8);//データの受信 +} +//16bitのデータを8bitの通信で受け取るから元のデータに戻す +uint16_t Color::r(){return data_[0]<<8|data_[1];} +uint16_t Color::g(){return data_[2]<<8|data_[3];} +uint16_t Color::b(){return data_[4]<<8|data_[5];} +uint16_t Color::ir(){return data_[6]<<8|data_[7];} \ No newline at end of file