Exit Status 1 suli.h: No such file or directory

Greetings everyone,
I am working on a project using Arduino Uno and Wemos D1 mini.

here is the script/code:

#include <Wire.h>
#include <SoftwareSerial.h>
#include <Suli.h>
#include <Four_Digit_Display_Arduino.h>

// Include the libraries we need
#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 2

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);

#include "DHT.h"

#define DHTPIN 5    // what pin we're connected to

// Uncomment whatever type you're using!
#define DHTTYPE DHT11   // DHT 11
//#define DHTTYPE DHT22   // DHT 22  (AM2302)
//#define DHTTYPE DHT21   // DHT 21 (AM2301)

// Connect pin 1 (on the left) of the sensor to +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor

// Initialize DHT sensor.
// Note that older versions of this library took an optional third parameter to
// tweak the timings for faster processors.  This parameter is no longer needed
// as the current DHT reading algorithm adjusts itself to work on faster procs.
DHT dht(DHTPIN, DHTTYPE);


Four_Digit_Display_Arduino    disp;

int character1;
int character2;
int character3;
int character4;
int character5;
int character6;
int character7;
int character8;

int temperature = 22; // temperature of the liquid
int temperature2 = 22; // temperature in the room

int temperatureDHTlast;

int temperatureDHT1;
int temperatureDHT2;
int temperatureDHT3;
int temperatureDHT4;
int temperatureDHT5;
int temperatureDHT6;
int temperatureDHT7;
int temperatureDHT8;
int temperatureDHT9;
int temperatureDHT10;

int delayWrite1;
int delayWrite2;


void setup()
{
  Serial.begin(9600);
  sensors.begin();
  dht.begin();
  disp.begin(6, 7);
  disp.pointOn ();

  pinMode (A1, OUTPUT);
  pinMode (A5, OUTPUT);
}

void displaycharacter () {

  if (temperature <= 9) {
    character1 = 0;
    character2 = temperature - 0;
  }

  else if (temperature <= 19) {
    character1 = 1;
    character2 = temperature - 10;
  }

  else if (temperature <= 29) {
    character1 = 2;
    character2 = temperature - 20;
  }

  else if (temperature <= 39) {
    character1 = 3;
    character2 = temperature - 30;
  }

  else if (temperature <= 49) {
    character1 = 4;
    character2 = temperature - 40;
  }

  else if (temperature <= 59) {
    character1 = 5;
    character2 = temperature - 50;
  }

  else if (temperature <= 69) {
    character1 = 6;
    character2 = temperature - 60;
  }

  else if (temperature <= 79) {
    character1 = 7;
    character2 = temperature - 70;
  }

  else if (temperature <= 89) {
    character1 = 8;
    character2 = temperature - 80;
  }

  else if (temperature <= 99) {
    character1 = 9;
    character2 = temperature - 90;
  }

  else if (temperature >= 100) {
    character1 = 9;
    character2 = 9;
  }


}

void displaycharacter2 () {

  if (temperature2 <= 9) {
    character5 = 0;
    character6 = temperature2 - 0;
  }

  else if (temperature2 <= 19) {
    character5 = 1;
    character6 = temperature2 - 10;
  }

  else if (temperature2 <= 29) {
    character5 = 2;
    character6 = temperature2 - 20;
  }

  else if (temperature2 <= 39) {
    character5 = 3;
    character6 = temperature2 - 30;
  }

  else if (temperature2 <= 49) {
    character5 = 4;
    character6 = temperature2 - 40;
  }

  else if (temperature2 <= 59) {
    character5 = 5;
    character6 = temperature2 - 50;
  }

  else if (temperature2 <= 69) {
    character5 = 6;
    character6 = temperature2 - 60;
  }

  else if (temperature2 <= 79) {
    character5 = 7;
    character6 = temperature2 - 70;
  }

  else if (temperature2 <= 89) {
    character5 = 8;
    character6 = temperature2 - 80;
  }

  else if (temperature2 <= 99) {
    character5 = 9;
    character6 = temperature2 - 90;
  }

  else if (temperature2 >= 100) {
    character5 = 9;
    character6 = 9;
  }
}

void lcd1 () {

  disp.begin(6, 7);
  disp.display(0, character1);
  disp.display(1, character2);
  disp.display(2, character3);
  disp.display(3, character4);

}

void lcd2 () {

  disp.begin(8, 9);
  disp.display(0, character5);
  disp.display(1, character6);
  disp.display(2, character7);
  disp.display(3, character8);
}

void loop() {
  sensors.requestTemperatures();
  temperature = sensors.getTempCByIndex(0);
  temperatureDHT1 = dht.readTemperature();
  temperature2 = (((temperatureDHT1 + temperatureDHT2 + temperatureDHT3 + temperatureDHT4 + temperatureDHT5 + temperatureDHT6 + temperatureDHT7 + temperatureDHT8 + temperatureDHT9 + temperatureDHT10) / 10)  + temperatureDHTlast) / 2;
  //take the average of the last ten temperature readings of the dht11, we do this to get a more consistent result. On average the dht is accurate but individual readings are aweful.  Then calculate the average of the last 2 averages for a stable result.
  // I added 0,7 to the end result because my readings were consitently a bit lowish.
  //just dont buy the dht11 to be honest, by ANYTHING ELSE
  temperatureDHTlast = temperature2;
  Serial.println (temperature);
  Serial.println(temperature2);
  Serial.println(delayWrite1);
  Serial.println(delayWrite2);
  
  
  displaycharacter () ;
  delay(100);
  lcd1();
  delay(100);
  displaycharacter2 ();
  delay(100);
  lcd2();
  delay(100);

  //MOVE ALL THE PREVIOUS TEMPERATUREREADINGS OF THE DHT11 ONE SPOT UP:

  temperatureDHT10 = temperatureDHT9;
  temperatureDHT9 = temperatureDHT8;
  temperatureDHT8 = temperatureDHT7;
  temperatureDHT7 = temperatureDHT6;
  temperatureDHT6 = temperatureDHT5;
  temperatureDHT5 = temperatureDHT4;
  temperatureDHT4 = temperatureDHT3;
  temperatureDHT3 = temperatureDHT2;
  temperatureDHT2 = temperatureDHT1;

  //The communication code from NANO to WEMOS
  // This code sends a HIGH to one of the wemos,s digital ports for the duration of temperature in Celcius times 100. example: 22 degrees equals a 2200 ms pulse. We use a normal delay function for this.
  //The wemos counts how long it is being pulsed and divides the number back by 100 to get the last temperature readings from the NANO.

  delayWrite1 = temperature * 100;
  delayWrite2 = temperature2 * 100;

  digitalWrite (A1, HIGH);
  delay(delayWrite1);
  digitalWrite (A1, LOW);


//  digitalWrite (A5, HIGH);
//  delay(delayWrite2);
//  digitalWrite (A5, LOW);

}

here is the error message:

exit status 1
suli.h: No such file or directory

I haven't worked with code before, PLEASE HELP?! THANKS

When you see a "No such file or directory" error it almost always means you need to install the library that contains the missing file.

Often the code you're compiling will come with documentation (either a comment or separate document) that tells you where to get the library dependencies.

Note that libraries may have dependencies on other libraries.

In other cases the author of the code will not have been so kind and you'll need to go on a hunt for the missing library.

A good place to start is the Arduino IDE's Library Manager:

  • Sketch > Include Library > Manage Libraries...
  • In the "Filter your search..." box, type some keywords you have gleaned from the missing file name.
  • Scroll through the results for the right library. Click on it.
  • Click "Install".
  • Wait for installation to finish.
  • Click "Close".
  • Try compiling your code again.

If you have no luck in Library Manager then load up your favorite search engine and do a search for the missing filename. You will often get multiple results. If you have a lot of results you might add "arduino" as an additional search keyword. I will usually prefer results on github.com since that is where most Arduino libraries are hosted and downloading from there is fast and easy. In some cases there will be multiple libraries that contain the given filename and you'll need to do some evaluation to determine which seems the most appropriate, then try it out. After downloading the library you found you'll need to install it. This requires a different process than the Library Manager installation. You will find instructions here:

Hi Pert,

Have search the IDE's library for 'suli' but to no avail, also google of which I found 'Suli.h' master Suli/Suli.h at master · Seeed-Studio/Suli · GitHub
but this still doesn't work. When trying to verify sketch my error message is as follows:

Arduino: 1.8.12 (Windows 10), Board: "Arduino Uno"

C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\afoss\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\afoss\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\afoss\OneDrive\Documents\Arduino\libraries -fqbn=arduino:avr:uno -vid-pid=0X2341_0X0043 -ide-version=10812 -build-path C:\Users\afoss\AppData\Local\Temp\arduino_build_350212 -warnings=all -build-cache C:\Users\afoss\AppData\Local\Temp\arduino_cache_175565 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\Users\afoss\Downloads\NanoBrewery.ino\NanoBrewery.ino.ino
C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\afoss\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\afoss\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries C:\Users\afoss\OneDrive\Documents\Arduino\libraries -fqbn=arduino:avr:uno -vid-pid=0X2341_0X0043 -ide-version=10812 -build-path C:\Users\afoss\AppData\Local\Temp\arduino_build_350212 -warnings=all -build-cache C:\Users\afoss\AppData\Local\Temp\arduino_cache_175565 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose C:\Users\afoss\Downloads\NanoBrewery.ino\NanoBrewery.ino.ino
Using board 'uno' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
Using core 'arduino' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
Detecting libraries used...
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "C:\\Users\\afoss\\AppData\\Local\\Temp\\arduino_build_350212\\sketch\\NanoBrewery.ino.ino.cpp" -o nul
Alternatives for Wire.h: [Wire@1.0]
ResolveLibrary(Wire.h)
  -> candidates: [Wire@1.0]
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "C:\\Users\\afoss\\AppData\\Local\\Temp\\arduino_build_350212\\sketch\\NanoBrewery.ino.ino.cpp" -o nul
Alternatives for SoftwareSerial.h: [SoftwareSerial@1.0 EspSoftwareSerial@6.8.1]
ResolveLibrary(SoftwareSerial.h)
  -> candidates: [SoftwareSerial@1.0 EspSoftwareSerial@6.8.1]
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\standard" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SoftwareSerial\\src" "C:\\Users\\afoss\\AppData\\Local\\Temp\\arduino_build_350212\\sketch\\NanoBrewery.ino.ino.cpp" -o nul
Alternatives for Suli.h: []
NanoBrewery.ino:4:10: fatal error: Suli.h: No such file or directory

ResolveLibrary(Suli.h) #include <Suli.h>


          ^~~~~~~~
  -> candidates: []
compilation terminated.


Multiple libraries were found for "SoftwareSerial.h"
 Used: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial
 Not used: C:\Users\afoss\OneDrive\Documents\Arduino\libraries\EspSoftwareSerial
Using library Wire at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire 
Using library SoftwareSerial at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SoftwareSerial 
exit status 1
Suli.h: No such file or directory

Thanks

Have now managed to clear the suli.h error but now have the following error:
exit status 1
Error compiling for board Arduino Uno.

That's usually just the last line; scroll through the output window to see if there is more info.

To make it easy, there is probably also a button "copy error messages" which will copy the errors to the clipboard after which you can paste them here.

Note regarding github: in case you haven't done so, you usually have to download the complete project's zip that is one or two levels higher. Just downloading the .h file is not sufficient.