Bibliothek mit anscheinend überflüssiger Datei

Hallo,

in der Bibliothek "LiquidCrystal_I2C" befindet sich eine aus meiner Sicht überflüssige Datei "LiquidCrystal_I2C.o" mit einer Größe von 41 KB. Im Repository auf Github ist sie nicht vorhanden. Ich habe versucht, den Maintainer (ursprünglich Marco Schwartz, Weiterleitung zu John Rickman) zu kontaktieren, habe aber keine Ahnung, wie das zu bewerkstelligen ist. Für einen Tipp wäre ich dankbar.

Grüße von Itsnotard

Das ist eine compilierte Binärdatei. Vermutlich beim ersten Bauen erzeugt worden und spart jetzt Compilerlaufzeit, weil sie einfach dazugelinkt wird.

Schon klar, hat aber in einer Bibliothek, also an dieser Stelle, nichts zu suchen, denke ich, zumal die dortigen Dateien insgesamt nicht mehr ganz frisch sind. Die .h und .o-Datei sind vom 21.05.2018, die .cpp ist vom 30.04.2019, die Dateien auf Github sind alle älter. Ich schätze mal, der Compiler interessiert sich für diese Datei überhaupt nicht.

Dann ist das sicher ein Relikt.

Genau. Und ich denke, das sollte entfernt werden. Dazu wollte ich den Maintainer kontaktieren. Die Frage war, wie das zu bewerkstelligen ist.

Das scheiint ein etwas schwieriges Unterfangen zu sein.
Die Lib hat sowieso einige Eigenheiten. GitLab at https://gitlab.com/tandembyte/LCD_I2C no longer available · Issue #47 · johnrickman/LiquidCrystal_I2C · GitHub

Ich würde das Ding nicht anrühren.

Wobei ich nicht verstehe, wo bei Dir ein binaerer Anteil herkommt. Wenn ich das .zip File lade, ist das auf das notwendigste begrenzt.

Bei mir kommt das aus dem Bibliotheksmanager, was ich für sehr bedenklich halte und deshalb überhaupt aktiv wurde. Im .zip von github ist es natürlich nicht drin.

Das hab ich mir fast gedacht.
Darum habe ich Dich auf den Issue hingewiesen.

One issue is serious due to git tags being incorrectly created that confuses the IDE library manager's ability to get the proper versions.

Abgesehen davon, das da noch ganz andere Dinge passiert sind, bezüglich Lizenz etc.
Wie bereits geschrieben, ich würde die nicht anfassen.

Danke für die Hinweise. Also halte ich jetzt die Füße still und schreibe mir vielleicht was Eigenes.

Versuch es mal mit der Adafruit_LiquidCrystal
Die kann "Normal", I2C und SPI.

Leider nicht kompatibel. Das Display ist ein SBC-LCD20X4. Im Netz wird bei allen Händlern auf die LiquidCrystal_I2C verwiesen, also bei allen, die ich besucht habe. :wink:

Es gibt einen ganzen Sack voll LiquidCrystal_I2C von verschiedensten Autoren. Evtl. mal die anderen testen. Das sich lange nichts an derartigen Libs getan hat, ist normal, da sich die Hardware der Displays auch nicht geändert hat.

Gruß Tommy

Ja nur für Anfänger nicht geeignet

// include the library code:
#include "Wire.h"
#include "Adafruit_LiquidCrystal.h"

// Connect via i2c, default address #0 (A0-A2 not jumpered)
Adafruit_LiquidCrystal lcd(0);

Mit meist benutzten LCD mit PCF Chip macht die bei mir Probleme = LCD Tot
änderung der Adresse, bringt auch nichts

Adafruit_LiquidCrystal lcd(0x3F);

Benutzt wurde Beispiel aus der Lib

/*
 Demonstration sketch for Adafruit i2c/SPI LCD backpack
 using MCP23008 I2C expander
 ( http://www.ladyada.net/products/i2cspilcdbackpack/index.html )

 This sketch prints "Hello World!" to the LCD
 and shows the time.
 
  The circuit:
 * 5V to Arduino 5V pin
 * GND to Arduino GND pin
 * CLK to Analog #5
 * DAT to Analog #4
*/

// include the library code:
#include "Wire.h"
#include "Adafruit_LiquidCrystal.h"

// Connect via i2c, default address #0 (A0-A2 not jumpered)
Adafruit_LiquidCrystal lcd(0x3F);

void setup() {
  // set up the LCD's number of rows and columns: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis()/1000);

  lcd.setBacklight(HIGH);
  delay(500);
  lcd.setBacklight(LOW);
  delay(500);
}

Also nix für ungeübte, was benutzen

Da bin ich jetzt mal raus.
Wir hatten erst vor einigen Wochen ein Oled von da - an dem Ding haben wir uns die Zähne ausgebissen.
Überall geht alles - nur bei dem Display nicht. Ich glaub wir haben 10 Tage gesucht und es dann bis auf eine Funktion zum laufen bekommen.....

Die meissten haben 0x27 - notfalls erstmal scannen und schaun, was da für eine Adresse raus kommt.. :wink:

Meiner hat 3f, wen Dich das interessiert,
Warum hältst Du alle für dumis?

Komm mal wieder runter...

kannst du ja machen. Aber ernsthaft, LCD libs gibts es doch schon einige. Heute würde ich keine neue LCD lib anfangen.

Selber würde ich natürlich meine eigene LCD Lib verwenden.
Eine Lib für unterschiedliche Hardware (parallel, PCF, MCP Varianten mit SPI und I2C, LCDs mit nativer I2C Schnittstelle).
Außerdem kann sie UTF-8 Zeichen richtig darstellen (wenn das Zeichen im LCD-ROM vorhanden ist - und man den richtigen Converter auswählt).

Im Moment sowieso nicht. Das würde ich nur machen, wenn mich der Spaß daran überkommt, wonach es momentan eher nicht aussieht. :smiley:

Dein Display sollte mit jeder I2C Lib arbeiten

Jedoch empfehlen Die die Lib vom Frank de Brabander.