2017 hongo b team

Fork of Alpha_Apper by taiyou komazawa

Committer:
Komazawa_sun
Date:
Fri Sep 08 03:27:32 2017 +0000
Revision:
0:11209e14c06c
Child:
1:16f3ffabd868
????; ;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Komazawa_sun 0:11209e14c06c 1 #include "ApprI2CMaster.h"
Komazawa_sun 0:11209e14c06c 2
Komazawa_sun 0:11209e14c06c 3 ApprI2CMaster::ApprI2CMaster(alpha_a::ID my_id_, alpha_a::f_type my_type_, int addr_, I2C *master_)
Komazawa_sun 0:11209e14c06c 4 {
Komazawa_sun 0:11209e14c06c 5 _my_id = my_id_;
Komazawa_sun 0:11209e14c06c 6 _my_type = my_type_;
Komazawa_sun 0:11209e14c06c 7 _master = master_;
Komazawa_sun 0:11209e14c06c 8 _addr = addr_;
Komazawa_sun 0:11209e14c06c 9 }
Komazawa_sun 0:11209e14c06c 10
Komazawa_sun 0:11209e14c06c 11 void ApprI2CMaster::write(uint8_t data)
Komazawa_sun 0:11209e14c06c 12 {
Komazawa_sun 0:11209e14c06c 13 char data_array[3] = {};
Komazawa_sun 0:11209e14c06c 14
Komazawa_sun 0:11209e14c06c 15 data_array[0] = _my_id;
Komazawa_sun 0:11209e14c06c 16 data_array[1] = _my_type;
Komazawa_sun 0:11209e14c06c 17 data_array[2] = (char)data;
Komazawa_sun 0:11209e14c06c 18
Komazawa_sun 0:11209e14c06c 19 _master->write(_addr, data_array, 3);
Komazawa_sun 0:11209e14c06c 20 }
Komazawa_sun 0:11209e14c06c 21
Komazawa_sun 0:11209e14c06c 22 int ApprI2CMaster::read()
Komazawa_sun 0:11209e14c06c 23 {
Komazawa_sun 0:11209e14c06c 24 char buffer[3] = {};
Komazawa_sun 0:11209e14c06c 25 int res_data = 0;
Komazawa_sun 0:11209e14c06c 26
Komazawa_sun 0:11209e14c06c 27 _master->read(_addr, buffer, 3);
Komazawa_sun 0:11209e14c06c 28
Komazawa_sun 0:11209e14c06c 29 if((alpha_a::ID)buffer[0] == _my_id)
Komazawa_sun 0:11209e14c06c 30 {
Komazawa_sun 0:11209e14c06c 31 switch((alpha_a::f_type)buffer[1])
Komazawa_sun 0:11209e14c06c 32 {
Komazawa_sun 0:11209e14c06c 33 case alpha_a::sig:
Komazawa_sun 0:11209e14c06c 34 res_data = (signed int)buffer[2];
Komazawa_sun 0:11209e14c06c 35 break;
Komazawa_sun 0:11209e14c06c 36 case alpha_a::unsig:
Komazawa_sun 0:11209e14c06c 37 res_data = (unsigned int)buffer[2];
Komazawa_sun 0:11209e14c06c 38 break;
Komazawa_sun 0:11209e14c06c 39 };
Komazawa_sun 0:11209e14c06c 40
Komazawa_sun 0:11209e14c06c 41 return res_data;
Komazawa_sun 0:11209e14c06c 42 }
Komazawa_sun 0:11209e14c06c 43 else
Komazawa_sun 0:11209e14c06c 44 {
Komazawa_sun 0:11209e14c06c 45 return res_data;
Komazawa_sun 0:11209e14c06c 46 }
Komazawa_sun 0:11209e14c06c 47 }