commit
9af34a0a8f
|
|
@ -1,5 +1,8 @@
|
||||||
#include <Adafruit_BusIO_Register.h>
|
#include <Adafruit_BusIO_Register.h>
|
||||||
|
|
||||||
|
#if !defined(SPI_INTERFACES_COUNT) || \
|
||||||
|
(defined(SPI_INTERFACES_COUNT) && (SPI_INTERFACES_COUNT > 0))
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* @brief Create a register we access over an I2C Device (which defines the
|
* @brief Create a register we access over an I2C Device (which defines the
|
||||||
* bus and address)
|
* bus and address)
|
||||||
|
|
@ -358,3 +361,5 @@ void Adafruit_BusIO_Register::setAddress(uint16_t address) {
|
||||||
void Adafruit_BusIO_Register::setAddressWidth(uint16_t address_width) {
|
void Adafruit_BusIO_Register::setAddressWidth(uint16_t address_width) {
|
||||||
_addrwidth = address_width;
|
_addrwidth = address_width;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // SPI exists
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,9 @@
|
||||||
#include <Adafruit_SPIDevice.h>
|
#include <Adafruit_SPIDevice.h>
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
|
|
||||||
|
#if !defined(SPI_INTERFACES_COUNT) || \
|
||||||
|
(defined(SPI_INTERFACES_COUNT) && (SPI_INTERFACES_COUNT > 0))
|
||||||
|
|
||||||
#ifndef Adafruit_BusIO_Register_h
|
#ifndef Adafruit_BusIO_Register_h
|
||||||
#define Adafruit_BusIO_Register_h
|
#define Adafruit_BusIO_Register_h
|
||||||
|
|
||||||
|
|
@ -98,3 +101,5 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // BusIO_Register_h
|
#endif // BusIO_Register_h
|
||||||
|
|
||||||
|
#endif // SPI exists
|
||||||
|
|
|
||||||
|
|
@ -50,8 +50,14 @@ bool Adafruit_I2CDevice::detected(void) {
|
||||||
// A basic scanner, see if it ACK's
|
// A basic scanner, see if it ACK's
|
||||||
_wire->beginTransmission(_addr);
|
_wire->beginTransmission(_addr);
|
||||||
if (_wire->endTransmission() == 0) {
|
if (_wire->endTransmission() == 0) {
|
||||||
|
#ifdef DEBUG_SERIAL
|
||||||
|
DEBUG_SERIAL.println(F("Detected"));
|
||||||
|
#endif
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
#ifdef DEBUG_SERIAL
|
||||||
|
DEBUG_SERIAL.println(F("Not detected"));
|
||||||
|
#endif
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -125,7 +131,8 @@ bool Adafruit_I2CDevice::write(const uint8_t *buffer, size_t len, bool stop,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DEBUG_SERIAL
|
#ifdef DEBUG_SERIAL
|
||||||
// DEBUG_SERIAL.print("Stop: "); DEBUG_SERIAL.println(stop);
|
DEBUG_SERIAL.print("Stop: ");
|
||||||
|
DEBUG_SERIAL.println(stop);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (_wire->endTransmission(stop) == 0) {
|
if (_wire->endTransmission(stop) == 0) {
|
||||||
|
|
@ -160,7 +167,12 @@ bool Adafruit_I2CDevice::read(uint8_t *buffer, size_t len, bool stop) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(TinyWireM_h)
|
||||||
|
size_t recv = _wire->requestFrom((uint8_t)_addr, (uint8_t)len);
|
||||||
|
#else
|
||||||
size_t recv = _wire->requestFrom((uint8_t)_addr, (uint8_t)len, (uint8_t)stop);
|
size_t recv = _wire->requestFrom((uint8_t)_addr, (uint8_t)len, (uint8_t)stop);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (recv != len) {
|
if (recv != len) {
|
||||||
// Not enough data available to fulfill our obligation!
|
// Not enough data available to fulfill our obligation!
|
||||||
#ifdef DEBUG_SERIAL
|
#ifdef DEBUG_SERIAL
|
||||||
|
|
@ -227,10 +239,11 @@ uint8_t Adafruit_I2CDevice::address(void) { return _addr; }
|
||||||
* Not necessarily that the speed was achieved!
|
* Not necessarily that the speed was achieved!
|
||||||
*/
|
*/
|
||||||
bool Adafruit_I2CDevice::setSpeed(uint32_t desiredclk) {
|
bool Adafruit_I2CDevice::setSpeed(uint32_t desiredclk) {
|
||||||
#if (ARDUINO >= 157) && !defined(ARDUINO_STM32_FEATHER)
|
#if (ARDUINO >= 157) && !defined(ARDUINO_STM32_FEATHER) && !defined(TinyWireM_h)
|
||||||
_wire->setClock(desiredclk);
|
_wire->setClock(desiredclk);
|
||||||
return true;
|
return true;
|
||||||
#else
|
#else
|
||||||
|
(void)desiredclk;
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
#include <Adafruit_SPIDevice.h>
|
#include <Adafruit_SPIDevice.h>
|
||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
|
|
||||||
|
#if !defined(SPI_INTERFACES_COUNT) || \
|
||||||
|
(defined(SPI_INTERFACES_COUNT) && (SPI_INTERFACES_COUNT > 0))
|
||||||
|
|
||||||
//#define DEBUG_SERIAL Serial
|
//#define DEBUG_SERIAL Serial
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
@ -437,3 +440,5 @@ bool Adafruit_SPIDevice::write_then_read(uint8_t *write_buffer,
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // SPI exists
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,6 @@
|
||||||
|
#if !defined(SPI_INTERFACES_COUNT) || \
|
||||||
|
(defined(SPI_INTERFACES_COUNT) && (SPI_INTERFACES_COUNT > 0))
|
||||||
|
|
||||||
#include <SPI.h>
|
#include <SPI.h>
|
||||||
|
|
||||||
#ifndef Adafruit_SPIDevice_h
|
#ifndef Adafruit_SPIDevice_h
|
||||||
|
|
@ -97,3 +100,4 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // Adafruit_SPIDevice_h
|
#endif // Adafruit_SPIDevice_h
|
||||||
|
#endif // has SPI defined
|
||||||
|
|
|
||||||
|
|
@ -28,11 +28,11 @@ void setup() {
|
||||||
}
|
}
|
||||||
|
|
||||||
Adafruit_BusIO_Register id_reg = Adafruit_BusIO_Register(i2c_dev, spi_dev, ADDRBIT8_HIGH_TOREAD, 0x0F);
|
Adafruit_BusIO_Register id_reg = Adafruit_BusIO_Register(i2c_dev, spi_dev, ADDRBIT8_HIGH_TOREAD, 0x0F);
|
||||||
uint8_t id;
|
uint8_t id=0;
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,12 +15,12 @@ void setup() {
|
||||||
}
|
}
|
||||||
|
|
||||||
Adafruit_BusIO_Register id_reg = Adafruit_BusIO_Register(&spi_dev, 0x0F, ADDRBIT8_HIGH_TOREAD);
|
Adafruit_BusIO_Register id_reg = Adafruit_BusIO_Register(&spi_dev, 0x0F, ADDRBIT8_HIGH_TOREAD);
|
||||||
uint8_t id;
|
uint8_t id = 0;
|
||||||
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_BusIO_Register thresh_reg = Adafruit_BusIO_Register(&spi_dev, 0x0C, ADDRBIT8_HIGH_TOREAD, 2, LSBFIRST);
|
Adafruit_BusIO_Register thresh_reg = Adafruit_BusIO_Register(&spi_dev, 0x0C, ADDRBIT8_HIGH_TOREAD, 2, LSBFIRST);
|
||||||
uint16_t thresh;
|
uint16_t thresh = 0;
|
||||||
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);
|
||||||
|
|
||||||
|
|
@ -31,4 +31,4 @@ void setup() {
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue