mirror of
https://github.com/meshtastic/firmware.git
synced 2025-04-24 17:32:18 +00:00
Tidier macros
This commit is contained in:
parent
f960164c0e
commit
1487ca2a30
@ -210,6 +210,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#define MINIMUM_SAFE_FREE_HEAP 1500
|
#define MINIMUM_SAFE_FREE_HEAP 1500
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef WIRE_INTERFACES_COUNT
|
||||||
|
// Officially an NRF52 macro
|
||||||
|
// Repurposed cross-platform to identify devices using Wire1
|
||||||
|
#if defined(I2C_SDA1) || defined(PIN_WIRE_SDA)
|
||||||
|
#define WIRE_INTERFACES_COUNT 2
|
||||||
|
#elif HAS_WIRE
|
||||||
|
#define WIRE_INTERFACES_COUNT 1
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Step #3: mop up with disabled values for HAS_ options not handled by the above two */
|
/* Step #3: mop up with disabled values for HAS_ options not handled by the above two */
|
||||||
|
|
||||||
#ifndef HAS_WIFI
|
#ifndef HAS_WIFI
|
||||||
|
@ -162,13 +162,13 @@ void ScanI2CTwoWire::scanPort(I2CPort port, uint8_t *address, uint8_t asize)
|
|||||||
Melopero_RV3028 rtc;
|
Melopero_RV3028 rtc;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(I2C_SDA1) || (defined(NRF52840_XXAA) && (WIRE_INTERFACES_COUNT == 2))
|
#if WIRE_INTERFACES_COUNT == 2
|
||||||
if (port == I2CPort::WIRE1) {
|
if (port == I2CPort::WIRE1) {
|
||||||
i2cBus = &Wire1;
|
i2cBus = &Wire1;
|
||||||
} else {
|
} else {
|
||||||
#endif
|
#endif
|
||||||
i2cBus = &Wire;
|
i2cBus = &Wire;
|
||||||
#if defined(I2C_SDA1) || (defined(NRF52840_XXAA) && (WIRE_INTERFACES_COUNT == 2))
|
#if WIRE_INTERFACES_COUNT == 2
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -423,7 +423,7 @@ TwoWire *ScanI2CTwoWire::fetchI2CBus(ScanI2C::DeviceAddress address) const
|
|||||||
if (address.port == ScanI2C::I2CPort::WIRE) {
|
if (address.port == ScanI2C::I2CPort::WIRE) {
|
||||||
return &Wire;
|
return &Wire;
|
||||||
} else {
|
} else {
|
||||||
#if defined(I2C_SDA1) || (defined(NRF52840_XXAA) && (WIRE_INTERFACES_COUNT == 2))
|
#if WIRE_INTERFACES_COUNT == 2
|
||||||
return &Wire1;
|
return &Wire1;
|
||||||
#else
|
#else
|
||||||
return &Wire;
|
return &Wire;
|
||||||
|
@ -29,7 +29,7 @@ void readFromRTC()
|
|||||||
if (rtc_found.address == RV3028_RTC) {
|
if (rtc_found.address == RV3028_RTC) {
|
||||||
uint32_t now = millis();
|
uint32_t now = millis();
|
||||||
Melopero_RV3028 rtc;
|
Melopero_RV3028 rtc;
|
||||||
#if defined(I2C_SDA1) || (defined(NRF52840_XXAA) && (WIRE_INTERFACES_COUNT == 2))
|
#if WIRE_INTERFACES_COUNT == 2
|
||||||
rtc.initI2C(rtc_found.port == ScanI2C::I2CPort::WIRE1 ? Wire1 : Wire);
|
rtc.initI2C(rtc_found.port == ScanI2C::I2CPort::WIRE1 ? Wire1 : Wire);
|
||||||
#else
|
#else
|
||||||
rtc.initI2C();
|
rtc.initI2C();
|
||||||
@ -58,7 +58,7 @@ void readFromRTC()
|
|||||||
uint32_t now = millis();
|
uint32_t now = millis();
|
||||||
PCF8563_Class rtc;
|
PCF8563_Class rtc;
|
||||||
|
|
||||||
#if defined(I2C_SDA1) || (defined(NRF52840_XXAA) && (WIRE_INTERFACES_COUNT == 2))
|
#if WIRE_INTERFACES_COUNT == 2
|
||||||
rtc.begin(rtc_found.port == ScanI2C::I2CPort::WIRE1 ? Wire1 : Wire);
|
rtc.begin(rtc_found.port == ScanI2C::I2CPort::WIRE1 ? Wire1 : Wire);
|
||||||
#else
|
#else
|
||||||
rtc.begin();
|
rtc.begin();
|
||||||
@ -150,7 +150,7 @@ bool perhapsSetRTC(RTCQuality q, const struct timeval *tv, bool forceUpdate)
|
|||||||
#ifdef RV3028_RTC
|
#ifdef RV3028_RTC
|
||||||
if (rtc_found.address == RV3028_RTC) {
|
if (rtc_found.address == RV3028_RTC) {
|
||||||
Melopero_RV3028 rtc;
|
Melopero_RV3028 rtc;
|
||||||
#if defined(I2C_SDA1) || (defined(NRF52840_XXAA) && (WIRE_INTERFACES_COUNT == 2))
|
#if WIRE_INTERFACES_COUNT == 2
|
||||||
rtc.initI2C(rtc_found.port == ScanI2C::I2CPort::WIRE1 ? Wire1 : Wire);
|
rtc.initI2C(rtc_found.port == ScanI2C::I2CPort::WIRE1 ? Wire1 : Wire);
|
||||||
#else
|
#else
|
||||||
rtc.initI2C();
|
rtc.initI2C();
|
||||||
@ -164,7 +164,7 @@ bool perhapsSetRTC(RTCQuality q, const struct timeval *tv, bool forceUpdate)
|
|||||||
if (rtc_found.address == PCF8563_RTC) {
|
if (rtc_found.address == PCF8563_RTC) {
|
||||||
PCF8563_Class rtc;
|
PCF8563_Class rtc;
|
||||||
|
|
||||||
#if defined(I2C_SDA1) || (defined(NRF52840_XXAA) && (WIRE_INTERFACES_COUNT == 2))
|
#if WIRE_INTERFACES_COUNT == 2
|
||||||
rtc.begin(rtc_found.port == ScanI2C::I2CPort::WIRE1 ? Wire1 : Wire);
|
rtc.begin(rtc_found.port == ScanI2C::I2CPort::WIRE1 ? Wire1 : Wire);
|
||||||
#else
|
#else
|
||||||
rtc.begin();
|
rtc.begin();
|
||||||
|
@ -16,7 +16,7 @@ void CardKbI2cImpl::init()
|
|||||||
uint8_t i2caddr_asize = 3;
|
uint8_t i2caddr_asize = 3;
|
||||||
auto i2cScanner = std::unique_ptr<ScanI2CTwoWire>(new ScanI2CTwoWire());
|
auto i2cScanner = std::unique_ptr<ScanI2CTwoWire>(new ScanI2CTwoWire());
|
||||||
|
|
||||||
#if defined(I2C_SDA1) || (defined(NRF52840_XXAA) && (WIRE_INTERFACES_COUNT == 2))
|
#if WIRE_INTERFACES_COUNT == 2
|
||||||
i2cScanner->scanPort(ScanI2C::I2CPort::WIRE1, i2caddr_scan, i2caddr_asize);
|
i2cScanner->scanPort(ScanI2C::I2CPort::WIRE1, i2caddr_scan, i2caddr_asize);
|
||||||
#endif
|
#endif
|
||||||
i2cScanner->scanPort(ScanI2C::I2CPort::WIRE, i2caddr_scan, i2caddr_asize);
|
i2cScanner->scanPort(ScanI2C::I2CPort::WIRE, i2caddr_scan, i2caddr_asize);
|
||||||
|
@ -33,7 +33,7 @@ int32_t KbI2cBase::runOnce()
|
|||||||
if (!i2cBus) {
|
if (!i2cBus) {
|
||||||
switch (cardkb_found.port) {
|
switch (cardkb_found.port) {
|
||||||
case ScanI2C::WIRE1:
|
case ScanI2C::WIRE1:
|
||||||
#if defined(I2C_SDA1) || (defined(NRF52840_XXAA) && (WIRE_INTERFACES_COUNT == 2))
|
#if WIRE_INTERFACES_COUNT == 2
|
||||||
LOG_DEBUG("Using I2C Bus 1 (the second one)\n");
|
LOG_DEBUG("Using I2C Bus 1 (the second one)\n");
|
||||||
i2cBus = &Wire1;
|
i2cBus = &Wire1;
|
||||||
if (cardkb_found.address == BBQ10_KB_ADDR) {
|
if (cardkb_found.address == BBQ10_KB_ADDR) {
|
||||||
|
@ -360,7 +360,7 @@ void setup()
|
|||||||
Wire1.begin();
|
Wire1.begin();
|
||||||
#elif defined(I2C_SDA1) && !defined(ARCH_RP2040)
|
#elif defined(I2C_SDA1) && !defined(ARCH_RP2040)
|
||||||
Wire1.begin(I2C_SDA1, I2C_SCL1);
|
Wire1.begin(I2C_SDA1, I2C_SCL1);
|
||||||
#elif defined(NRF52840_XXAA) && (WIRE_INTERFACES_COUNT == 2)
|
#elif WIRE_INTERFACES_COUNT == 2
|
||||||
Wire1.begin();
|
Wire1.begin();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user