Ich Bitte nochmals um Hilfe bei einer Librarie

Hallo nochmal an alle

Nach unzähligen versuchen eine Librarie zu erstellen ,
weis ich mir keinen anderen rat mehr als nochmals um hilfe zu bitte.

Ich habe das Beispiel Librarie "Blinken" versucht auf meine Librarie anzuwenden.
Und die Schlagwörter habe ich aus der Orginal Librarie verwendet.

Jetzt kommt aber die Fehlermeldung:

lcd:16: error: 'Logo' was not declared in this scope

Logo ();

Könnte mir mal Bitte einer sagen warum er diese Fehlermeldung bringt.

die *.h Datei

lcd.h Datei

#ifndef lcd_h
#define lcd_h
#include "Arduino.h"
//#include <I2C_graphical_LCD_display.h>
//I2C_graphical_LCD_display lcd;

class lcd
{
public:
   lcd();
   void Logo();

private:
  byte _chipSelect;  // currently-selected chip (LCD_CS1 or LCD_CS2)
  byte _lcdx;        // current x position (0 - 127)
  byte _lcdy;        // current y position (0 - 63)

};
#endif // lcd_h

die *.cpp Datei

#include "Arduino.h"
#include "lcd.h"
#include "Wire.h"
#include "SPI.h"



lcd::setPixel(const byte x,
              const byte y,
              const byte val)
{
  gotoxy (x, y);
  byte c = readData ();
  if (val)
    c |=   1 << (y & 7);    // set pixel
  else
    c &= ~(1 << (y & 7));   // clear pixel
  gotoxy (x, y);
  writeData (c);
}  // endif

die *.ino Datei

#include <lcd.h>
#include <Wire.h>
#include <SPI.h>
#include "Arduino.h"
#include <I2C_graphical_LCD_display.h>
I2C_graphical_LCD_display lcd;

void setup() {
 Serial.begin(9600);
  lcd.begin (0x20);
  Wire.begin();

}

void loop() {
Logo ();
}

Danke Stefan

Weil es keine Funktion Logo() gibt, sondern nur eine Methode Logo() des Objects lcd. (Klassen sollte man groß schreiben).

Wir brauchen also ein Object vom Typ lcd:

lcd myLcd;
...

myLcd.Logo();

Solche Grundlagen sollte man sich aber anschauen, bevor man eine Lib baut.

Gruß Tommy

Hallo Tommy56

Der link mit den Grundlagen geht leider nicht

Danke Stefan

Das ist kein Link, sondern nur eine Unterstreichung. Ist Dein Google defekt?

Suche nach: c++ Grundlagen

Gruß Tommy

Das ist kein Link, sondern nur eine Unterstreichung

Du bist so fies.

Hätte mich aber auch interessiert, auf was du beim Wort bevor verlinkst.

Ist zwar unüblich hier, aber man kann auch Libraries schreiben, ohne dort eigene Klassen zu definieren.

Mich wundert übrigens, dass in der .cpp Datei
lcd::setPixel nicht angemeckert wird.

ISO C++ forbids declaration of 'setpixel' with no type
sketch_feb16b:5: error: no 'int lcd::setpixel(char)' member function declared in class 'lcd'

Hallo Tommy56

Punkt 1

Ich habe seit ich den Anbieter für mein Telefon und Internet gewechselt habe massive Probleme mit

Suchergebnissen und Werbung. Habe mir schon aus Verzweiflung eine Add Blocker installiert. Weil ich sonst

von Werbung erschlagen werde. Laut Add Blocker bekomme ich biss zu 330 unterdrückte Werbungen pro

Seitenaufruf. Und deswegen dachte das ein Link ist. Sorry mein Fehler.

Hallo michael_x

Punkt 2

Er meckert das lcd::setPixel nicht an.

Punkt 3

Ich komme aus einen ganz anderen Bereich , ich kann zwar Programmieren.

Aber nur CNC Fräßmaschien und wird heutzutage alles über den PC gemacht.

Punkt 4

Ich bin "absoluter Laie" was Arduino b.z.w C++ Programmieren angeht.

Was für einen Programmier selbstverständlich ist muss sich ein Laie erarbeiten.

Weil er ganz einfach das nicht weis.

Danke Stefan

Hi!

Tommy schreibt ja schon, was die Ursache des Fehlers ist. Falls Du noch ein Beispiel für eine Bibliothek suchst, hilft vielleicht das hier.

Gruß

Gergor

ba1083:
massive Probleme mit

Suchergebnissen und Werbung. Habe mir schon aus Verzweiflung eine Add Blocker installiert. Weil ich sonst

von Werbung erschlagen werde. Laut Add Blocker bekomme ich biss zu 330 unterdrückte Werbungen pro

Seitenaufruf.

Das sieht mir nach einem Befall mit Schadsoftware aus.

Versuch mal die kostenfreie Version von http://superantispyware.com/. (Das ist jetzt wirklich ein Link. :wink: )

Das Programm funktioniert recht gut mit nicht allzu hartnäckigen Gegnern.

Hallo Whandall

Die Idee hatte ich auch schon , habe aber über Boot CD mit Antivirus Software den Rechner getest .

Laut Antivirus Software kein fremder Virus drauf.

Und ich habe schon seit Jahren F Secure und noch keine Probleme mit einem Virus auf dem Computer.

Danke Stefan

Ach so, ich dachte du wolltest das Problem loswerden.

Malware / Spam-Schleudern sind nicht direkt Viren, sie stecken nicht an,
du hast den Kram (wenn vorhanden) durch unbedachtes Klicken installiert.

Und was hast du zu verlieren?

Das Programm ist kostenfrei/virenfrei und ich habe in den letzten Jahren damit keine Probleme gehabt.

Aber du musst mir ja nicht glauben...

Hallo Whandall

Das sollte keine Kritik sein, werde es mal ausprobieren .

Nur mal zur INFO :

Ich habe den Add Blocker vor ca 3 Monaten aktiviert.

Biss jetzt hat der Add Blocker auf meine Computer 310500 blockierte Anfragen ünterdrückt.

Auf meine Sohn seine Computer sind es sogar 356000 blockierte Anfragen .

Und das ist doch nicht normal oder.

Danke Stefan

Keine Ahnung wo man das nachsehen kann, aber es erscheint mir auch relativ hoch.

Kommt natürlich auch sehr darauf an, wo man surft. 8)

Leicht holt man sich die Werbedinger auch als Zugabe/Buttons/Taskleisten/Suchhelfer/etc. beim Installieren ansonsten unbedenklicher Software.

Hallo Whandall

Mein Browser ist Mozzial Firefox und da gibt es Add das uBlock Origin heist.

Das habe ich über die Add Bar "sag ich jetzt mal so " aufgerufen.

Über die 3 Striche die oben rechts unter dem Kreuz sind zum schliesen vom Fenster. (Menü)

und da im Menü Add ons. Da habe ich das dann gefunden.

Sonst würde ich wahrscheinlich wahnsinnig werden vor lauter Werbung.

Was ich noch sagen muss ist das das bei dem alten Anbieter nicht der Fall war.

Danke Stefan

AdBlock Plus beseitigt fast alles :slight_smile: