Library conflict CubeCell and BME 280 sensor

Hello,

I use the following script to connect my CubeCell HTTC AB-02 module to TTN and to send fix values for temperature and humidity:

#include <LoRaWan_APP.h>

#include <Arduino.h>

/*
set LoraWan_RGB to Active,the RGB active in loraWan
RGB red means sending;
RGB purple means joined done;
RGB blue means RxWindow1;
RGB yellow means RxWindow2;
RGB green means received done;
*/

/* OTAA parameters */
uint8_t devEui[] = {0x70, 0xB3, 0xD5, …};
uint8_t appEui[] = {0x49, 0x85, 0x55, …};
uint8_t appKey[] = {0x9E, 0x92, 0x86, …};

/* ABP parameters */
uint8_t nwkSKey[] = {0x15, 0xb1, 0xd0, …};
uint8_t appSKey[] = {0xd7, 0x2c, 0x78, …};
uint32_t devAddr = (uint32_t )0x260…;

//LoraWan channelsmask, default channels 0-7
uint16_t userChannelsMask[6] = {0x00FF,0x0000,0x0000,0x0000,0x0000,0x0000};

//LoraWan region, select in arduino IDE tools
LoRaMacRegion_t loraWanRegion = ACTIVE_REGION;

//LoraWan Class, Class A and Class C are supported
DeviceClass_t loraWanClass = LORAWAN_CLASS;

//the application data transmission duty cycle. value in [ms].
uint32_t appTxDutyCycle = 15000;

//OTAA or ABP
bool overTheAirActivation = LORAWAN_NETMODE;

//ADR enable
bool loraWanAdr = LORAWAN_ADR;

/* set LORAWAN_Net_Reserve ON, the node could save the network info to flash, when node reset not need to join again */
bool keepNet = LORAWAN_NET_RESERVE;

/* Indicates if the node is sending confirmed or unconfirmed messages */
bool isTxConfirmed = LORAWAN_UPLINKMODE;

// Application port
uint8_t appPort = 2;

/*
Number of trials to transmit the frame, if the LoRaMAC layer did not
receive an acknowledgment. The MAC performs a datarate adaptation,
according to the LoRaWAN Specification V1.0.2, chapter 18.4, according
to the following table:

Transmission nb Data Rate
1 (first) DR
2 DR
3 max(DR-1,0)
4 max(DR-1,0)
5 max(DR-2,0)
6 max(DR-2,0)
7 max(DR-3,0)
8 max(DR-3,0)

Note, that if NbTrials is set to 1 or 2, the MAC will not decrease
the datarate, in case the LoRaMAC layer did not receive an acknowledgment
*/

uint8_t confirmedNbTrials = 4;

void setup() {
Serial.begin(115200);
#if(AT_SUPPORT)
enableAt();
#endif
deviceState = DEVICE_STATE_INIT;
LoRaWAN.ifskipjoin();
}

void loop() {

switch(deviceState) {
case DEVICE_STATE_INIT: {
#if(LORAWAN_DEVEUI_AUTO)
LoRaWAN.generateDeveuiByChipID();
#endif
#if(AT_SUPPORT)
getDevParam();
#endif
printDevParam();
LoRaWAN.init(loraWanClass,loraWanRegion);
deviceState = DEVICE_STATE_JOIN;
break;
}
case DEVICE_STATE_JOIN: {
LoRaWAN.join();
break;
}
case DEVICE_STATE_SEND: {
prepareTxFrame( appPort );
LoRaWAN.send();
deviceState = DEVICE_STATE_CYCLE;
break;
}
case DEVICE_STATE_CYCLE: {
// Schedule next packet transmission
txDutyCycleTime = appTxDutyCycle + randr(0, APP_TX_DUTYCYCLE_RND);
LoRaWAN.cycle(txDutyCycleTime);
deviceState = DEVICE_STATE_SLEEP;
break;
}
case DEVICE_STATE_SLEEP: {
LoRaWAN.sleep();
break;
}
default: {
deviceState = DEVICE_STATE_INIT;
break;
}
}
}

/* Prepares the payload of the frame */
static void prepareTxFrame(uint8_t port) {
/*appData size is LORAWAN_APP_DATA_MAX_SIZE which is defined in “commissioning.h”.
*appDataSize max value is LORAWAN_APP_DATA_MAX_SIZE.
*if enabled AT, don’t modify LORAWAN_APP_DATA_MAX_SIZE, it may cause system hanging or failure.
*if disabled AT, LORAWAN_APP_DATA_MAX_SIZE can be modified, the max value is reference to lorawan region and SF.
*for example, if use REGION_CN470,
*the max value for different DR can be found in MaxPayloadOfDatarateCN470 refer to DataratesCN470 and BandwidthsCN470 in “RegionCN470.h”.
*/
float temperature = 19.55; //example value
float humidity = 62.50; //example value

int int_temp = temperature * 100; //remove comma
int int_hum = humidity * 100; //remove comma

appDataSize = 4;
appData[0] = int_temp >> 8;
appData[1] = int_temp;
appData[2] = int_hum >> 8;
appData[3] = int_hum;
}

To read my BME 280 sensor and to submit real data I need some more libraries (Wire.h and BlueDot_BME280.h). But as soon as I include them - without further code - I get the following error messages:

/Users/mart/Documents/Arduino/libraries/BlueDot_BME280_Library/BlueDot_BME280.cpp: In member function ‘uint8_t BlueDot_BME280::init()’:
/Users/mart/Documents/Arduino/libraries/BlueDot_BME280_Library/BlueDot_BME280.cpp:58:7: error: ‘class SPIClass’ has no member named ‘setBitOrder’; did you mean ‘_bitOrder’?
SPI.setBitOrder(MSBFIRST); //Most significant Bit first
^~~~~~~~~~~
_bitOrder
/Users/mart/Documents/Arduino/libraries/BlueDot_BME280_Library/BlueDot_BME280.cpp:59:7: error: ‘class SPIClass’ has no member named ‘setClockDivider’
SPI.setClockDivider(SPI_CLOCK_DIV4); //Sets SPI clock to 1/4th of the system clock (i.e. 4000 kHz for Arduino Uno)
^~~~~~~~~~~~~~~
/Users/mart/Documents/Arduino/libraries/BlueDot_BME280_Library/BlueDot_BME280.cpp:59:23: error: ‘SPI_CLOCK_DIV4’ was not declared in this scope
SPI.setClockDivider(SPI_CLOCK_DIV4); //Sets SPI clock to 1/4th of the system clock (i.e. 4000 kHz for Arduino Uno)
^~~~~~~~~~~~~~
/Users/mart/Documents/Arduino/libraries/BlueDot_BME280_Library/BlueDot_BME280.cpp:60:7: error: ‘class SPIClass’ has no member named ‘setDataMode’; did you mean ‘_dataMode’?
SPI.setDataMode(SPI_MODE0); //Set Byte Transfer to (0,0) Mode
^~~~~~~~~~~
_dataMode
In file included from /Users/mart/Documents/Arduino/libraries/BlueDot_BME280_Library/BlueDot_BME280.h:9,
from /Users/mart/Documents/Arduino/libraries/BlueDot_BME280_Library/BlueDot_BME280.cpp:10:
/Users/mart/Library/Arduino15/packages/CubeCell/hardware/CubeCell/1.5.0/cores/asr650x/Wire/Wire.h: In member function ‘uint8_t BlueDot_BME280::readByte(byte)’:
/Users/mart/Library/Arduino15/packages/CubeCell/hardware/CubeCell/1.5.0/cores/asr650x/Wire/Wire.h:117:13: note: candidate 1: ‘uint8_t TwoWire::requestFrom(int, int)’
uint8_t requestFrom(int address, int size);
^~~~~~~~~~~
/Users/mart/Library/Arduino15/packages/CubeCell/hardware/CubeCell/1.5.0/cores/asr650x/Wire/Wire.h:115:13: note: candidate 2: ‘uint8_t TwoWire::requestFrom(uint8_t, uint8_t)’
uint8_t requestFrom(uint8_t address, uint8_t size);
^~~~~~~~~~~

exit status 1

Compilation error: exit status 1

What can I do to avoid this?

Thank’s Martin