- LiFePO4 Speicher Test         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 21

Thema: AsuroLCD Library (BETA) released!!!! v0.2b

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.11.2006
    Ort
    Hamburg
    Alter
    34
    Beiträge
    184
    Anzeige

    Powerstation Test
    wie findest du wenn ich die initialisierung so machn würde:

    Code:
    #define LCD_INIT {0x29, 0x1C, 0x52, 0x69, 0x74} 				// See Datasheet
    
    void InitLCD(unsigned char *init)
    {
    	unsigned char i = 0;
    	
    	SetIOLCD(OFF, LCD_EN);										// Start LCD Control, EN=0
    	Msleep(1);													// Wait LCD Ready
    	
    	// Initialize LCD
    	CommandLCD( LCD_8BIT | (LCD_8BIT >> 4) );
    	CommandLCD( LCD_8BIT | (LCD_4BIT >> 4) );
    	
    	while(init[i] != 0x00)
    	{
    		CommandLCD(init[i]);
    		i++;
    	}
    	
    	CommandLCD( LCD_DISPLAYON );								// Display on/off Control (Entry Display,Cursor off,Cursor not Blink)
    	CommandLCD( LCD_INCREASE );									// Entry Mode Set (I/D=1 Increment,S=0 Cursor Shift)
    	CommandLCD( LCD_CLEAR );									// Clear Display
    	CommandLCD( LCD_HOME );										// Home Cursor
    	Msleep(1);			        								// Wait Initial Complete
    }
    und so beim Initialisierung
    Code:
    InitLCD(LCD_INIT);
    Gruß Raid

    Der ^^ Mann

  2. #12
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi,

    Was ist bei dir Pin15 und PIN16? vllt. könnte man noch die Backlight per software steuern
    Beim DOGM sind das die Pins 1,2 und 19,20.
    Das Backlight per Software an und auszuknipsen, hatte ich gestern abend noch ausprobiert. Das ging ganz prima mit folgender Änderung:

    Code:
    #define LBL     7         // Pin to enable Backlight
    ..
    #define LCD_LBL (1 << LBL)
    ..
    
    SetIOLCD(OFF, LCD_BL);      // schaltet Backlight an
    ...
    SetIOLCD(ON, LCD_BL);      // schaltet Backlight aus
    Die Logik ist zwar genau umgekehrt, OFF schaltet an und ON schaltet ab, aber was solls. Den Schaltplan dafür und eine Doku über die LCD Lib stelle ich heute abend ins AsuroWiki.

    Die Idee, die Intitialisierung über eine Tabelle zu machen finde ich sehr gut. Das kann man dann ganz leicht für verschiedene Displays anpassen.

  3. #13
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Milda
    Alter
    37
    Beiträge
    4.063
    Na ansonsten definiere doch "AN" und "AUS", diese wörter sind noch nicht belegt. dann kannst du das backlight mit AN einschalten und mit AUS ausschalten.
    Read... or die.
    ff.mud.de:7600
    Bild hier  

  4. #14
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.11.2006
    Ort
    Hamburg
    Alter
    34
    Beiträge
    184
    Hi,

    oder man kann auch ne macro oder inline funktion schreiiben

    Code:
    #define BacklightLCD(x) SetIOLCD((x)?0:1)
    @m.a.r.v.i.n : kannst du mich bei SourceForge aufnehmen, ich heiße auch da raid_ox
    Gruß Raid

    Der ^^ Mann

  5. #15
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi,

    kannst du mich bei SourceForge aufnehmen, ich heiße auch da raid_ox
    ist erledigt.
    Kennst du dich mit SVN oder CVS aus?
    Im SVN Repository befindet sich der aktuelle Entwicklungsstand der Asuro Lib.
    https://sourceforge.net/svn/?group_id=155217

  6. #16
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.11.2006
    Ort
    Hamburg
    Alter
    34
    Beiträge
    184
    Ist es eigentlich nur bei DOGM so, dass die logik für backlight umgekehrt ist, oder allgemein so??
    Gruß Raid

    Der ^^ Mann

  7. #17
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi,

    beim PCF8574 sind nach dem Einschalten erst mal alle Ports auf HIGH. Da der PCF8574 das Backlight nicht treiben kann (~80mA notwendig) schaltet er nur den FET. In meinem Fall ein P-FET. Der P-FET schaltet bei LOW Pegel durch, und sperrt bei HIGH Pegel. Wenn man einen N-FET verwenden würde, wäre es wahrscheinlich umgekehrt. Ich finde es schon OK so, wie es ist, sonst würde das Backlight z.B. beim Flashen leuchten, oder auch wenn ein Programm drauf ist, das nicht das LCD anspricht. Jetzt bleibt das Backlight nach dem Einschalten aus und geht erst bei init_lcd an.

  8. #18
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.11.2006
    Ort
    Hamburg
    Alter
    34
    Beiträge
    184
    v0.2 released!!
    features:
    - Veränderbare Init
    - Kein Zeilensprünge mehr bei längeren String
    - SetCursorLCD jetzt mit line und cursor: SetCursorLCD(cursor, line);
    - Backlight Support
    - PrintWrapLCD
    - GetIOLCD

    irgendwie wird die library immer größer, was soll ich machen??

    Feedback von Tester bitte!
    Gruß Raid

    Der ^^ Mann

  9. #19
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hi Raid,

    funktioniert alles bestens. Da kann man wirklich nicht meckern.
    Auch die Wrap Funktion funktioniert beim 2zeiligen Display.

    EDIT:

    Die Initialisierung für das DOGM162 lautet vollständig
    Code:
    #define LCD_INIT {LCD_4BIT | LCD_2LINE | LCD_5X7| 1, 0x1C, 0x52, 0x69, 0x74, 0}             // DOGM162 2x16 Chars, 5V, See Datasheet
    Die 0 am Ende darf man nicht vergessen, sonst geht gar nichts.

    irgendwie wird die library immer größer, was soll ich machen??
    Evtl. könnte man ähnliche Funktionen wie z.B. PrintWrapLCD und PrintLCD zu einer zusammenfassen, mit zusätzlichen Parameter für Wrap/noWrap.
    Das inline bei manchen Funktionen bläht den erzeugten Code natürlich mächtig auf.

  10. #20
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.11.2006
    Ort
    Hamburg
    Alter
    34
    Beiträge
    184
    New Version...

    v0.2b features:
    - ein bisschen optimiert (inline funktionen weg)
    - PrintLCD und PrintWrapLCD zusammengesetzt zu PrintLCD(string, wrap[ON/OFF]);
    Gruß Raid

    Der ^^ Mann

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress