fix missing bitorder define on some platforms, and update i2cregister to busioreg
This commit is contained in:
parent
31ba580ed3
commit
38dcfd17b0
|
|
@ -22,10 +22,10 @@ bool Adafruit_SPIDevice::write(uint8_t *buffer, size_t len, uint8_t *prefix_buff
|
||||||
_spi->beginTransaction(*_spiSetting);
|
_spi->beginTransaction(*_spiSetting);
|
||||||
digitalWrite(_cs, LOW);
|
digitalWrite(_cs, LOW);
|
||||||
// do the writing
|
// do the writing
|
||||||
for (int i=0; i<prefix_len; i++) {
|
for (size_t i=0; i<prefix_len; i++) {
|
||||||
_spi->transfer(prefix_buffer[i]);
|
_spi->transfer(prefix_buffer[i]);
|
||||||
}
|
}
|
||||||
for (int i=0; i<len; i++) {
|
for (size_t i=0; i<len; i++) {
|
||||||
_spi->transfer(buffer[i]);
|
_spi->transfer(buffer[i]);
|
||||||
}
|
}
|
||||||
digitalWrite(_cs, HIGH);
|
digitalWrite(_cs, HIGH);
|
||||||
|
|
@ -85,7 +85,7 @@ bool Adafruit_SPIDevice::write_then_read(uint8_t *write_buffer, size_t write_len
|
||||||
_spi->beginTransaction(*_spiSetting);
|
_spi->beginTransaction(*_spiSetting);
|
||||||
digitalWrite(_cs, LOW);
|
digitalWrite(_cs, LOW);
|
||||||
// do the writing
|
// do the writing
|
||||||
for (int i=0; i<write_len; i++) {
|
for (size_t i=0; i<write_len; i++) {
|
||||||
_spi->transfer(write_buffer[i]);
|
_spi->transfer(write_buffer[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -103,7 +103,7 @@ bool Adafruit_SPIDevice::write_then_read(uint8_t *write_buffer, size_t write_len
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// do the reading
|
// do the reading
|
||||||
for (int i=0; i<read_len; i++) {
|
for (size_t i=0; i<read_len; i++) {
|
||||||
read_buffer[i] = _spi->transfer(sendvalue);
|
read_buffer[i] = _spi->transfer(sendvalue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,9 @@
|
||||||
#ifndef Adafruit_SPIDevice_h
|
#ifndef Adafruit_SPIDevice_h
|
||||||
#define Adafruit_SPIDevice_h
|
#define Adafruit_SPIDevice_h
|
||||||
|
|
||||||
|
#if !defined(BitOrder) // modern SPI definitions have a BitOrder enum
|
||||||
|
typedef uint8_t BitOrder;
|
||||||
|
#endif
|
||||||
|
|
||||||
class Adafruit_SPIDevice {
|
class Adafruit_SPIDevice {
|
||||||
public:
|
public:
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
#include <Adafruit_I2CDevice.h>
|
#include <Adafruit_I2CDevice.h>
|
||||||
#include <Adafruit_I2CRegister.h>
|
#include <Adafruit_BusIO_Register.h>
|
||||||
|
|
||||||
#define I2C_ADDRESS 0x60
|
#define I2C_ADDRESS 0x60
|
||||||
Adafruit_I2CDevice i2c_dev = Adafruit_I2CDevice(I2C_ADDRESS);
|
Adafruit_I2CDevice i2c_dev = Adafruit_I2CDevice(I2C_ADDRESS);
|
||||||
|
|
@ -18,12 +18,12 @@ void setup() {
|
||||||
Serial.print("Device found on address 0x");
|
Serial.print("Device found on address 0x");
|
||||||
Serial.println(i2c_dev.address(), HEX);
|
Serial.println(i2c_dev.address(), HEX);
|
||||||
|
|
||||||
Adafruit_I2CRegister id_reg = Adafruit_I2CRegister(&i2c_dev, 0x0C, 2, LSBFIRST);
|
Adafruit_BusIO_Register id_reg = Adafruit_BusIO_Register(&i2c_dev, 0x0C, 2, LSBFIRST);
|
||||||
uint16_t id;
|
uint16_t id;
|
||||||
id_reg.read(&id);
|
id_reg.read(&id);
|
||||||
Serial.print("ID register = 0x"); Serial.println(id, HEX);
|
Serial.print("ID register = 0x"); Serial.println(id, HEX);
|
||||||
|
|
||||||
Adafruit_I2CRegister thresh_reg = Adafruit_I2CRegister(&i2c_dev, 0x01, 2, LSBFIRST);
|
Adafruit_BusIO_Register thresh_reg = Adafruit_BusIO_Register(&i2c_dev, 0x01, 2, LSBFIRST);
|
||||||
uint16_t thresh;
|
uint16_t thresh;
|
||||||
thresh_reg.read(&thresh);
|
thresh_reg.read(&thresh);
|
||||||
Serial.print("Initial threshold register = 0x"); Serial.println(thresh, HEX);
|
Serial.print("Initial threshold register = 0x"); Serial.println(thresh, HEX);
|
||||||
|
|
@ -35,4 +35,4 @@ void setup() {
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue