S11059-02DTカラーセンサーのライブラリ

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?

UserRevisionLine numberNew 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];}