Mercurial > ukubik
changeset 82:49e3d06ed7c8
Simpler accelerometer passing code
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Sat, 11 Oct 2014 17:27:00 +0200 |
| parents | 15b840b5b756 |
| children | 9f37e5f03a20 |
| files | ukubik/accel.ino |
| diffstat | 1 files changed, 3 insertions(+), 27 deletions(-) [+] |
line wrap: on
line diff
--- a/ukubik/accel.ino Sat Oct 11 15:00:09 2014 +0200 +++ b/ukubik/accel.ino Sat Oct 11 17:27:00 2014 +0200 @@ -15,37 +15,13 @@ Wire.endTransmission(true); } -int16_t _wire_read_int16() { - return Wire.read() << 8 | Wire.read(); -} - -void _serial_write_int16(int16_t what) { - Serial.write((what >> 8) & 0xff); - Serial.write(what & 0xff); -} - void do_accel() { - int16_t acX, acY, acZ, tmp, gyX, gyY, gyZ; - Wire.beginTransmission(MPU); Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H) Wire.endTransmission(false); Wire.requestFrom(MPU, 14, true); // request a total of 14 registers - acX = _wire_read_int16(); // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L) - acY = _wire_read_int16(); // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L) - acZ = _wire_read_int16(); // 0x3F (ACCEL_ZOUT_H) & 0x40 (ACCEL_ZOUT_L) - tmp = _wire_read_int16(); // 0x41 (TEMP_OUT_H) & 0x42 (TEMP_OUT_L) - gyX = _wire_read_int16(); // 0x43 (GYRO_XOUT_H) & 0x44 (GYRO_XOUT_L) - gyY = _wire_read_int16(); // 0x45 (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L) - gyZ = _wire_read_int16(); // 0x47 (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L) - tmp = tmp / 340.00 + 36.53; // Convert to degrees Celsius. - Serial.write(0xff); - _serial_write_int16(acX); - _serial_write_int16(acY); - _serial_write_int16(acZ); - _serial_write_int16(gyX); - _serial_write_int16(gyY); - _serial_write_int16(gyZ); - _serial_write_int16(tmp); + for (char i=0; i<14; ++i) { + Serial.write(Wire.read()); + } }
