There are three working scripts merged here.
There is a lot of yellow, and it all refers to lines of python.
What do I have to do?
#include <Arduino.h>
#include <Arduino.h>
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include "Adafruit_BME680.h"
#include <Adafruit_GFX.h> //Libraries for the OLED and BMP280
#include <Adafruit_SSD1306.h>
#include <Fonts/FreeSerif9pt7b.h>
#include <BLEDevice.h>
#include <BLEUtils.h>
#include <BLEServer.h>
// See the following for generating UUIDs:
// https://www.uuidgenerator.net/
#define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b"
#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8"
#define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_SSD1306 display(128, 64, &Wire, 8); //Declaring the display name (display)
Adafruit_BME680 bme; // I2C
//Adafruit_BME680 bme(BME_CS); // hardware SPI
//Adafruit_BME680 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK);
void setup()
{
Serial.begin(9600);
bme.begin();
while (!Serial)
;
Serial.println(F("BME680 async test"));
if (!bme.begin())
{
Serial.println(F("Could not find a valid BME680 sensor, check wiring!"));
while (1)
;
}
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //Start the OLED display
display.clearDisplay();
display.display();
display.setTextColor(WHITE);
display.setTextSize(1);
display.print("SurtrTech"); //Show the name, you can remove it or replace it
display.setCursor(32, 12);
display.setTextSize(2);
display.println("Monster");
display.setCursor(32, 28);
display.println("Labs");
display.display();
delay(5000);
}
void loop()
{
BLEDevice::init("Monster Laboratories");
BLEServer *pServer = BLEDevice::createServer();
BLEService *pService = pServer->createService(SERVICE_UUID);
BLECharacteristic *pCharacteristic = pService->createCharacteristic(
CHARACTERISTIC_UUID,
BLECharacteristic::PROPERTY_READ |
BLECharacteristic::PROPERTY_WRITE);
// Set up oversampling and filter initialization
bme.setTemperatureOversampling(BME680_OS_8X);
bme.setHumidityOversampling(BME680_OS_2X);
bme.setPressureOversampling(BME680_OS_4X);
bme.setIIRFilterSize(BME680_FILTER_SIZE_3);
bme.setGasHeater(320, 150); // 320*C for 150 ms
Serial.begin(9600);
Serial.println("Starting BLE work!");
// Tell BME680 to begin measurement.
unsigned long endTime = bme.beginReading();
if (endTime == 0)
{
Serial.println(F("Failed to begin reading :("));
return;
}
Serial.print(F("Reading started at "));
Serial.print(millis());
Serial.print(F(" and will finish at "));
Serial.println(endTime);
// Obtain measurement results from BME680. Note that this operation isn't
// instantaneous even if milli() >= endTime due to I2C/SPI latency.
if (!bme.endReading())
{
Serial.println(F("Failed to complete reading :("));
return;
}
Serial.print(F("Reading completed at "));
Serial.println(millis());
pCharacteristic->setValue(bme.temperature);
pService->start();
// BLEAdvertising *pAdvertising = pServer->getAdvertising(); // this still is working for backward compatibility
BLEAdvertising *pAdvertising = BLEDevice::getAdvertising();
pAdvertising->addServiceUUID(SERVICE_UUID);
pAdvertising->setScanResponse(true);
pAdvertising->setMinPreferred(0x06); // functions that help with iPhone connections issue
pAdvertising->setMinPreferred(0x12);
BLEDevice::startAdvertising();
Serial.println("Characteristic defined! Now you can read it in your phone!");
Serial.print(F("Temperature = "));
Serial.print(bme.temperature);
Serial.println(F(" *C"));
Serial.print(F("Pressure = "));
Serial.print(bme.pressure / 100.0);
Serial.println(F(" hPa"));
Serial.print(F("Humidity = "));
Serial.print(bme.humidity);
Serial.println(F(" %"));
Serial.print(F("Gas = "));
Serial.print(bme.gas_resistance / 1000.0);
Serial.println(F(" KOhms"));
Serial.print(F("Approx. Altitude = "));
Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
Serial.println(F(" m"));
Serial.println();
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //Start the OLED display
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(1);
display.setCursor(1, 1);
Serial.print(F("Temperature = "));
Serial.print(bme.temperature, 1);
Serial.println(F(" *C"));
Serial.print(F("Humidity = "));
Serial.print(bme.humidity, 0);
Serial.println(F(" %"));
Serial.print(F("Gas = "));
Serial.print(bme.gas_resistance / 1000.0);
Serial.println(F(" KOhms"));
Serial.print(F("Approx. Altitude = "));
Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA), 0);
Serial.println(F(" m"));
display.print("Temp: "); //Show the name, you can remove it or replace it
display.print(bme.temperature, 1); //Show the name, you can remove it or replace it
display.println(" C"); //Show the name, you can remove it or replace it
display.print("Humidity: "); //Show the name, you can remove it or replace it
display.print(bme.humidity, 0); //Show the name, you can remove it or replace it
display.println(" %"); //Show the name, you can remove it or replace it
display.print(F("Pressure: "));
display.print((bme.pressure / 100.0) * 0.03, 0);
display.println(F(" in Hg"));
display.print("Altitude: "); //Show the name, you can remove it or replace it
display.print(bme.readAltitude(SEALEVELPRESSURE_HPA), 0); //Show the name, you can remove it or replace it
display.println(" m"); //Show the name, you can remove it or replace it
display.print("Gas: "); //Show the name, you can remove it or replace it
display.print(bme.gas_resistance / 1000.0, 0); //Show the name, you can remove it or replace it
display.println(" KOhm"); //Show the name, you can remove it or replace it
//Show the name, you can remove it or replace it
display.display();
delay(5000);
}```
Processing wemos_d1_mini32 (platform: espressif32; board: wemos_d1_mini32; framework: arduino)
Verbose mode can be enabled via -v, --verbose
option
CONFIGURATION: Redirecting...
PLATFORM: Espressif 32 1.12.4 > WeMos D1 MINI ESP32
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
- framework-arduinoespressif32 3.10004.200129 (1.0.4)
- tool-esptoolpy 1.20600.0 (2.6.0)
- tool-mkspiffs 2.230.0 (2.30)
- toolchain-xtensa32 2.50200.80 (5.2.0)
LDF: Library Dependency Finder → Library Dependency Finder (LDF) — PlatformIO latest documentation
LDF Modes: Finder ~ chain, Compatibility ~ soft
LibraryManager: Installing Adafruit_I2CDevice
git version 2.21.0.windows.1
Cloning into ‘C:\Users\joema\Documents\PlatformIO\Projects\BLE_BME_680_WeMos.pio\libdeps\wemos_d1_mini32_tmp_installing-4pt2btma-package’…
fatal: repository ‘Adafruit_BusIO/Adafruit_I2CDevice.h at master · adafruit/Adafruit_BusIO · GitHub’ not found
PlatformioException: VCS: Could not process command [‘git’, ‘clone’, ‘–recursive’, ‘–depth’, ‘1’, ‘Adafruit_BusIO/Adafruit_I2CDevice.h at master · adafruit/Adafruit_BusIO · GitHub’, ‘C:\Users\joema\Documents\PlatformIO\Projects\BLE_BME_680_WeMos\.pio\libdeps\wemos_d1_mini32\_tmp_installing-4pt2btma-package’]:
File “C:\Users\joema.platformio\penv\lib\site-packages\platformio\builder\main.py”, line 168:
env.SConscript(“$BUILD_SCRIPT”)
File “C:\Users\joema.platformio\packages\tool-scons\script..\engine\SCons\Script\SConscript.py”, line 597:
return _SConscript(self.fs, *files, **subst_kw)
File “C:\Users\joema.platformio\packages\tool-scons\script..\engine\SCons\Script\SConscript.py”, line 286:
exec(compile(scriptdata, scriptname, ‘exec’), call_stack[-1].globals)
File “C:\Users\joema.platformio\platforms\espressif32\builder\main.py”, line 223:
target_elf = env.BuildProgram()
File “C:\Users\joema.platformio\packages\tool-scons\script..\engine\SCons\Environment.py”, line 219:
return self.method(*nargs, **kwargs)
File “C:\Users\joema.platformio\penv\lib\site-packages\platformio\builder\tools\platformio.py”, line 62:
env.ProcessProjectDeps()
File “C:\Users\joema.platformio\packages\tool-scons\script..\engine\SCons\Environment.py”, line 219:
return self.method(*nargs, **kwargs)
File “C:\Users\joema.platformio\penv\lib\site-packages\platformio\builder\tools\platformio.py”, line 131:
project_lib_builder = env.ConfigureProjectLibBuilder()
File “C:\Users\joema.platformio\packages\tool-scons\script..\engine\SCons\Environment.py”, line 219:
return self.method(*nargs, **kwargs)
File “C:\Users\joema.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py”, line 1036:
project.install_dependencies()
File “C:\Users\joema.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py”, line 868:
lm.install(uri)
File “C:\Users\joema.platformio\penv\lib\site-packages\platformio\managers\lib.py”, line 281:
force=force,
File “C:\Users\joema.platformio\penv\lib\site-packages\platformio\managers\package.py”, line 702:
pkg_dir = self._install_from_url(name, url, requirements, track=True)
File “C:\Users\joema.platformio\penv\lib\site-packages\platformio\managers\package.py”, line 486:
assert vcs.export()
File “C:\Users\joema.platformio\penv\lib\site-packages\platformio\vcsclient.py”, line 165:
assert self.run_cmd(args)
File “C:\Users\joema.platformio\penv\lib\site-packages\platformio\vcsclient.py”, line 104:
raise PlatformioException(“VCS: Could not process command %s” % e.cmd)
=================================================== [FAILED] Took 1.93 seconds ===================================================
The terminal process “C:\Users\joema.platformio\penv\Scripts\platformio.exe ‘run’, ‘–target’, ‘upload’” terminated with exit code: 1.
Okay- that was caused by something I left in the .ini.
Now it’s back to simply refusing to know it has the library in the /lib folder, and I used the PIO utility to install it:
Processing wemos_d1_mini32 (platform: espressif32; board: wemos_d1_mini32; framework: arduino)
Verbose mode can be enabled via -v, --verbose
option
CONFIGURATION: Redirecting...
PLATFORM: Espressif 32 1.12.4 > WeMos D1 MINI ESP32
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
- framework-arduinoespressif32 3.10004.200129 (1.0.4)
- tool-esptoolpy 1.20600.0 (2.6.0)
- toolchain-xtensa32 2.50200.80 (5.2.0)
LDF: Library Dependency Finder → Library Dependency Finder (LDF) — PlatformIO latest documentation
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 34 compatible libraries
Scanning dependencies…
Dependency Graph
|-- 1.1.1
| |-- 1.1.4
| |-- 1.10.0
| | |-- 0.0.2
| | | |-- 1.0.1
| | |-- 1.0
| | |-- 1.0.1
| |-- 2.3.1
| | |-- 1.10.0
| | | |-- 0.0.2
| | | | |-- 1.0.1
| | | |-- 1.0
| | | |-- 1.0.1
| | |-- 1.0
| | |-- 1.0.1
| |-- 1.0
| |-- 1.0.1
|-- 1.10.0
| |-- 0.0.2
| | |-- 1.0.1
| |-- 1.0
| |-- 1.0.1
|-- 1.1.4
|-- 2.3.1
| |-- 1.10.0
| | |-- 0.0.2
| | | |-- 1.0.1
| | |-- 1.0
| | |-- 1.0.1
| |-- 1.0
| |-- 1.0.1
|-- 1.0.1
|-- 1.0
|-- 1.0.1
Building in release mode
Compiling .pio\build\wemos_d1_mini32\src\main.cpp.o
Generating partitions .pio\build\wemos_d1_mini32\partitions.bin
Compiling .pio\build\wemos_d1_mini32\lib66f\Adafruit Unified Sensor\Adafruit_Sensor.cpp.o
Compiling .pio\build\wemos_d1_mini32\libba3\Wire\Wire.cpp.o
Compiling .pio\build\wemos_d1_mini32\lib99d\Adafruit BusIO\Adafruit_I2CDevice.cpp.o
C:\Users\joema.platformio\lib\Adafruit BusIO\Adafruit_I2CDevice.cpp: In member function ‘bool Adafruit_I2CDevice::read(uint8_t*,
size_t, bool)’:
C:\Users\joema.platformio\lib\Adafruit BusIO\Adafruit_I2CDevice.cpp:99:51: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
if (_wire->requestFrom(_addr, (uint8_t)len, stop) != len) {
^
In file included from C:\Users\joema.platformio\lib\Adafruit BusIO/Adafruit_I2CDevice.h:1:0,
from C:\Users\joema.platformio\lib\Adafruit BusIO\Adafruit_I2CDevice.cpp:1:
C:\Users\joema.platformio\packages\framework-arduinoespressif32\libraries\Wire\src/Wire.h:98:13: note: candidate 1: uint8_t TwoWire::requestFrom(int, int, int)
uint8_t requestFrom(int address, int size, int sendStop);
^
C:\Users\joema.platformio\packages\framework-arduinoespressif32\libraries\Wire\src/Wire.h:96:13: note: candidate 2: uint8_t TwoWire::requestFrom(uint8_t, uint8_t, uint8_t)
uint8_t requestFrom(uint8_t address, uint8_t size, uint8_t sendStop);
^
C:\Users\joema.platformio\lib\Adafruit BusIO\Adafruit_I2CDevice.cpp:99:51: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
if (_wire->requestFrom(_addr, (uint8_t)len, stop) != len) {
^
In file included from C:\Users\joema.platformio\lib\Adafruit BusIO/Adafruit_I2CDevice.h:1:0,
from C:\Users\joema.platformio\lib\Adafruit BusIO\Adafruit_I2CDevice.cpp:1:
C:\Users\joema.platformio\packages\framework-arduinoespressif32\libraries\Wire\src/Wire.h:98:13: note: candidate 1: uint8_t TwoWire::requestFrom(int, int, int)
uint8_t requestFrom(int address, int size, int sendStop);
^
C:\Users\joema.platformio\packages\framework-arduinoespressif32\libraries\Wire\src/Wire.h:94:13: note: candidate 2: uint8_t TwoWire::requestFrom(uint16_t, uint8_t, uint8_t)
uint8_t requestFrom(uint16_t address, uint8_t size, uint8_t sendStop);
^
C:\Users\joema.platformio\lib\Adafruit BusIO\Adafruit_I2CDevice.cpp:99:51: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second:
if (_wire->requestFrom(_addr, (uint8_t)len, stop) != len) {
^
In file included from C:\Users\joema.platformio\lib\Adafruit BusIO/Adafruit_I2CDevice.h:1:0,
from C:\Users\joema.platformio\lib\Adafruit BusIO\Adafruit_I2CDevice.cpp:1:
C:\Users\joema.platformio\packages\framework-arduinoespressif32\libraries\Wire\src/Wire.h:98:13: note: candidate 1: uint8_t TwoWire::requestFrom(int, int, int)
uint8_t requestFrom(int address, int size, int sendStop);
^
C:\Users\joema.platformio\packages\framework-arduinoespressif32\libraries\Wire\src/Wire.h:93:13: note: candidate 2: uint8_t TwoWire::requestFrom(uint16_t, uint8_t, bool)
uint8_t requestFrom(uint16_t address, uint8_t size, bool sendStop);
^
Archiving .pio\build\wemos_d1_mini32\lib66f\libAdafruit Unified Sensor.a
Compiling .pio\build\wemos_d1_mini32\lib99d\Adafruit BusIO\Adafruit_I2CRegister.cpp.o
Archiving .pio\build\wemos_d1_mini32\libba3\libWire.a
Compiling .pio\build\wemos_d1_mini32\lib5a1\SPI\SPI.cpp.o
Compiling .pio\build\wemos_d1_mini32\libed0\Adafruit GFX Library\Adafruit_GFX.cpp.o
Compiling .pio\build\wemos_d1_mini32\libed0\Adafruit GFX Library\Adafruit_GrayOLED.cpp.o
Archiving .pio\build\wemos_d1_mini32\lib5a1\libSPI.a
Compiling .pio\build\wemos_d1_mini32\libed0\Adafruit GFX Library\Adafruit_MonoOLED.cpp.o
In file included from lib\Adafruit GFX Library\Adafruit_GrayOLED.cpp:20:0:
lib\Adafruit GFX Library\Adafruit_GrayOLED.h:31:32: fatal error: Adafruit_SPIDevice.h: No such file or directory
- Looking for Adafruit_SPIDevice.h dependency? Check our library registry!
- CLI > platformio lib search “header:Adafruit_SPIDevice.h”
- Web > PlatformIO Registry
compilation terminated.
*** [.pio\build\wemos_d1_mini32\libed0\Adafruit GFX Library\Adafruit_GrayOLED.cpp.o] Error 1
In file included from lib\Adafruit GFX Library\Adafruit_MonoOLED.cpp:20:0:
lib\Adafruit GFX Library\Adafruit_MonoOLED.h:31:32: fatal error: Adafruit_SPIDevice.h: No such file or directory
- Looking for Adafruit_SPIDevice.h dependency? Check our library registry!
- CLI > platformio lib search “header:Adafruit_SPIDevice.h”
- Web > PlatformIO Registry
compilation terminated.
*** [.pio\build\wemos_d1_mini32\libed0\Adafruit GFX Library\Adafruit_MonoOLED.cpp.o] Error 1
=================================================== [FAILED] Took 6.71 seconds ===================================================
The terminal process “C:\Users\joema.platformio\penv\Scripts\platformio.exe ‘run’” terminated with exit code: 1.
Added the parent library to the lib folder, and what they heck is this???
Processing wemos_d1_mini32 (platform: espressif32; board: wemos_d1_mini32; framework: arduino)
Verbose mode can be enabled via -v, --verbose
option
CONFIGURATION: Redirecting...
PLATFORM: Espressif 32 1.12.4 > WeMos D1 MINI ESP32
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
-
framework-arduinoespressif32 3.10004.200129 (1.0.4)
-
tool-esptoolpy 1.20600.0 (2.6.0)
-
toolchain-xtensa32 2.50200.80 (5.2.0)
LDF: Library Dependency Finder → Library Dependency Finder (LDF) — PlatformIO latest documentation
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 35 compatible libraries
Scanning dependencies…
Dependency Graph
|-- 1.1.1
| |-- 1.1.4
| |-- 1.10.0
| | |-- 1.4.1
| | | |-- 1.0.1
| | | |-- 1.0
| | |-- 1.0
| | |-- 1.0.1
| |-- 2.3.1
| | |-- 1.10.0
| | | |-- 1.4.1
| | | | |-- 1.0.1
| | | | |-- 1.0
| | | |-- 1.0
| | | |-- 1.0.1
| | |-- 1.0
| | |-- 1.0.1
| |-- 1.0
| |-- 1.0.1
|-- 1.10.0
| |-- 1.4.1
| | |-- 1.0.1
| | |-- 1.0
| |-- 1.0
| |-- 1.0.1
|-- 1.1.4
|-- 2.3.1
| |-- 1.10.0
| | |-- 1.4.1
| | | |-- 1.0.1
| | | |-- 1.0
| | |-- 1.0
| | |-- 1.0.1
| |-- 1.0
| |-- 1.0.1
|-- 1.0.1
|-- 1.0
|-- 1.0.1
Building in release mode
Compiling .pio\build\wemos_d1_mini32\src\main.cpp.o
Generating partitions .pio\build\wemos_d1_mini32\partitions.bin
Compiling .pio\build\wemos_d1_mini32\lib66f\Adafruit Unified Sensor\Adafruit_Sensor.cpp.o
Compiling .pio\build\wemos_d1_mini32\libba3\Wire\Wire.cpp.o
Compiling .pio\build\wemos_d1_mini32\lib5a1\SPI\SPI.cpp.o
Archiving .pio\build\wemos_d1_mini32\lib5a1\libSPI.a
Compiling .pio\build\wemos_d1_mini32\lib123\Adafruit BusIO\Adafruit_BusIO_Register.cpp.o
Archiving .pio\build\wemos_d1_mini32\lib66f\libAdafruit Unified Sensor.a
Compiling .pio\build\wemos_d1_mini32\lib123\Adafruit BusIO\Adafruit_I2CDevice.cpp.o
Archiving .pio\build\wemos_d1_mini32\libba3\libWire.a
Compiling .pio\build\wemos_d1_mini32\lib123\Adafruit BusIO\Adafruit_I2CRegister.cpp.o
Compiling .pio\build\wemos_d1_mini32\lib123\Adafruit BusIO\Adafruit_SPIDevice.cpp.o
Compiling .pio\build\wemos_d1_mini32\libed0\Adafruit GFX Library\Adafruit_GFX.cpp.o
Compiling .pio\build\wemos_d1_mini32\libed0\Adafruit GFX Library\Adafruit_GrayOLED.cpp.o
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:3:145: error: ISO C++ forbids declaration of ‘Adafruit_I2CRegister’ with no type [-fpermissive]
Adafruit_I2CRegister::Adafruit_I2CRegister(Adafruit_I2CDevice *device, uint16_t reg_addr, uint8_t width, uint8_t bitorder, uint8_t address_width) {^
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:3:145: error: no ‘int Adafruit_BusIO_Register::Adafruit_I2CRegister(Adafruit_I2CDevice*, uint16_t, uint8_t, uint8_t, uint8_t)’ member function declared in class ‘Adafruit_BusIO_Register’
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp: In member function ‘bool Adafruit_BusIO_Register::write(uint8_t*, uint8_t)’:
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:14:9: error: ‘_device’ was not declared in this scope
if (! _device->write(buffer, len, true, addrbuffer, _addrwidth)) {
^
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp: In member function ‘bool Adafruit_BusIO_Register::write(uint32_t, uint8_t)’:
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:29:9: error: ‘_bitorder’ was not declared in this scope
if (_bitorder == LSBFIRST) {
^
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp: In member function ‘uint32_t Adafruit_BusIO_Register::read()’:
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:49:10: error: ‘_bitorder’ was not declared in this scope
if (_bitorder == LSBFIRST) {
^
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp: In member function ‘bool Adafruit_BusIO_Register::read(uint8_t*, uint8_t)’:
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:62:9: error: ‘_device’ was not declared in this scope
if (! _device->write_then_read(_buffer, 1, buffer, len)) {
^
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp: In member function ‘bool Adafruit_BusIO_Register::read(uint16_t*)’:
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:73:7: error: ‘_bitorder’ was not declared in this scope
if (_bitorder == LSBFIRST) {
^
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp: At global scope:
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:105:106: error: ISO C++ forbids declaration of ‘Adafruit_I2CRegisterBits’ with no type [-fpermissive]
Adafruit_I2CRegisterBits::Adafruit_I2CRegisterBits(Adafruit_I2CRegister reg, uint8_t bits, uint8_t shift) {
^
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:105:106: error: no 'int Adafruit_BusIO_RegisterBits::Adafruit_I2CRegisterBits(Adafruit_I2CRegister, uint8_t, uint8_t)’ member function declared in class ‘Adafruit_BusIO_RegisterBits’
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:117:6: error: prototype for ‘void Adafruit_BusIO_RegisterBits::write(uint32_t)’ does not match any in class ‘Adafruit_BusIO_RegisterBits’
void Adafruit_I2CRegisterBits::write(uint32_t data) {
^
In file included from lib\Adafruit BusIO/Adafruit_I2CRegister.h:1:0,
from lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:1:
lib\Adafruit BusIO/Adafruit_BusIO_Register.h:66:8: error: candidate is: bool Adafruit_BusIO_RegisterBits::write(uint32_t)
bool write(uint32_t value);
^
*** [.pio\build\wemos_d1_mini32\lib123\Adafruit BusIO\Adafruit_I2CRegister.cpp.o] Error 1
=================================================== [FAILED] Took 6.05 seconds ===================================================
The terminal process “C:\Users\joema.platformio\penv\Scripts\platformio.exe ‘run’” terminated with exit code: 1.
Processing wemos_d1_mini32 (platform: espressif32; board: wemos_d1_mini32; framework: arduino)
Verbose mode can be enabled via -v, --verbose
option
CONFIGURATION: Redirecting...
PLATFORM: Espressif 32 1.12.4 > WeMos D1 MINI ESP32
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES:
-
framework-arduinoespressif32 3.10004.200129 (1.0.4)
-
tool-esptoolpy 1.20600.0 (2.6.0)
-
toolchain-xtensa32 2.50200.80 (5.2.0)
LDF: Library Dependency Finder → Library Dependency Finder (LDF) — PlatformIO latest documentation
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 34 compatible libraries
Scanning dependencies…
Dependency Graph
|-- 1.1.1
| |-- 1.1.4
| |-- 1.10.0
| | |-- 1.4.1
| | | |-- 1.0.1
| | | |-- 1.0
| | |-- 1.0
| | |-- 1.0.1
| |-- 2.3.1
| | |-- 1.10.0
| | | |-- 1.4.1
| | | | |-- 1.0.1
| | | | |-- 1.0
| | | |-- 1.0
| | | |-- 1.0.1
| | |-- 1.0
| | |-- 1.0.1
| |-- 1.0
| |-- 1.0.1
|-- 1.10.0
| |-- 1.4.1
| | |-- 1.0.1
| | |-- 1.0
| |-- 1.0
| |-- 1.0.1
|-- 1.1.4
|-- 2.3.1
| |-- 1.10.0
| | |-- 1.4.1
| | | |-- 1.0.1
| | | |-- 1.0
| | |-- 1.0
| | |-- 1.0.1
| |-- 1.0
| |-- 1.0.1
|-- 1.0.1
|-- 1.0
|-- 1.0.1
Building in release mode
Compiling .pio\build\wemos_d1_mini32\src\main.cpp.o
Generating partitions .pio\build\wemos_d1_mini32\partitions.bin
Compiling .pio\build\wemos_d1_mini32\lib66f\Adafruit Unified Sensor\Adafruit_Sensor.cpp.o
Compiling .pio\build\wemos_d1_mini32\libba3\Wire\Wire.cpp.o
Compiling .pio\build\wemos_d1_mini32\lib5a1\SPI\SPI.cpp.o
Archiving .pio\build\wemos_d1_mini32\lib5a1\libSPI.a
Compiling .pio\build\wemos_d1_mini32\lib123\Adafruit BusIO\Adafruit_BusIO_Register.cpp.o
Archiving .pio\build\wemos_d1_mini32\lib66f\libAdafruit Unified Sensor.a
Compiling .pio\build\wemos_d1_mini32\lib123\Adafruit BusIO\Adafruit_I2CDevice.cpp.o
Archiving .pio\build\wemos_d1_mini32\libba3\libWire.a
Compiling .pio\build\wemos_d1_mini32\lib123\Adafruit BusIO\Adafruit_I2CRegister.cpp.o
Compiling .pio\build\wemos_d1_mini32\lib123\Adafruit BusIO\Adafruit_SPIDevice.cpp.o
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:3:145: error: ISO C++ forbids declaration of ‘Adafruit_I2CRegister’ with no type [-fpermissive]
Adafruit_I2CRegister::Adafruit_I2CRegister(Adafruit_I2CDevice *device, uint16_t reg_addr, uint8_t width, uint8_t bitorder, uint8_t address_width) {^
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:3:145: error: no ‘int Adafruit_BusIO_Register::Adafruit_I2CRegister(Adafruit_I2CDevice*, uint16_t, uint8_t, uint8_t, uint8_t)’ member function declared in class ‘Adafruit_BusIO_Register’
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp: In member function ‘bool Adafruit_BusIO_Register::write(uint8_t*, uint8_t)’:
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:14:9: error: ‘_device’ was not declared in this scope
if (! _device->write(buffer, len, true, addrbuffer, _addrwidth)) {
^
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp: In member function ‘bool Adafruit_BusIO_Register::write(uint32_t, uint8_t)’:
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:29:9: error: ‘_bitorder’ was not declared in this scope
if (_bitorder == LSBFIRST) {
^
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp: In member function ‘uint32_t Adafruit_BusIO_Register::read()’:
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:49:10: error: ‘_bitorder’ was not declared in this scope
if (_bitorder == LSBFIRST) {
^
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp: In member function ‘bool Adafruit_BusIO_Register::read(uint8_t*, uint8_t)’:
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:62:9: error: ‘_device’ was not declared in this scope
if (! _device->write_then_read(_buffer, 1, buffer, len)) {
^
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp: In member function ‘bool Adafruit_BusIO_Register::read(uint16_t*)’:
Compiling .pio\build\wemos_d1_mini32\libed0\Adafruit GFX Library\Adafruit_GFX.cpp.o
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:73:7: error: ‘_bitorder’ was not declared in this scope
if (_bitorder == LSBFIRST) {
^
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp: At global scope:
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:105:106: error: ISO C++ forbids declaration of ‘Adafruit_I2CRegisterBits’ with no type [-fpermissive]
Adafruit_I2CRegisterBits::Adafruit_I2CRegisterBits(Adafruit_I2CRegister reg, uint8_t bits, uint8_t shift) {
^
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:105:106: error: no 'int Adafruit_BusIO_RegisterBits::Adafruit_I2CRegisterBits(Adafruit_I2CRegister, uint8_t, uint8_t)’ member function declared in class ‘Adafruit_BusIO_RegisterBits’
lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:117:6: error: prototype for ‘void Adafruit_BusIO_RegisterBits::write(uint32_t)’ does not match any in class ‘Adafruit_BusIO_RegisterBits’
void Adafruit_I2CRegisterBits::write(uint32_t data) {
^
In file included from lib\Adafruit BusIO/Adafruit_I2CRegister.h:1:0,
from lib\Adafruit BusIO\Adafruit_I2CRegister.cpp:1:
lib\Adafruit BusIO/Adafruit_BusIO_Register.h:66:8: error: candidate is: bool Adafruit_BusIO_RegisterBits::write(uint32_t)
bool write(uint32_t value);
^
*** [.pio\build\wemos_d1_mini32\lib123\Adafruit BusIO\Adafruit_I2CRegister.cpp.o] Error 1
=================================================== [FAILED] Took 5.87 seconds ===================================================
The terminal process “C:\Users\joema.platformio\penv\Scripts\platformio.exe ‘run’” terminated with exit code: 1.
But hey, I guess it has the library.