Kann Avrco auch mit EA DOGL128 Display mit ST7565R?

Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Kann Avrco auch mit EA DOGL128 Display mit ST7565R?

 · 
Posted: 08.02.2017 - 11:03  ·  #1
Ich überlege ob ich ein EA DOGL128 Display einsetzen werde, und konnte in den Unterlagen nicht sehen, ob der Controller auch unterstützt wird. Es ist der ST7565R.

Kann mir jemand sagen ob das geht?
Ist da etwas besonderes zu beachten?
Angedacht ist ein Xmega mit 128 KB Flash als Controller zu nehmen.
Wieviel Sram sollte man da einplanen wenn man Grafikdisplays verwendet?
Ich werde da eigentlich nur Text darstellen, also keine ausschweifenden Grafiken.

Louis
golf
Benutzer
Avatar
Gender:
Location: Donauwörth
Age: 71
Posts: 256
Registered: 11 / 2009
Subject:

Re: Kann Avrco auch mit EA DOGL128 Display mit ST7565R?

 · 
Posted: 09.02.2017 - 04:44  ·  #2
Hallo Louis,
bei mir sind für den ST7565R demos dabei.
c:Program Files (x86)AVRcoAVRcoDemosLCD_ST7565RGraph7565.PAS
c:Program Files (x86)AVRcoAVRcoDemosXMega_LCDgraphXMega_LCDgraph.PAS

Bei den kleinen LCDs sind die Ansprüche wohl nicht so hoch.
Meist verwende ich auch eigene LCD/TFT Routinen. Da ist bei mir dann haupsächlich ein grosser Flashspeicher wichtig, wenn ich grosse eigene Fonts oder Bmps einsetzen will. Aber es geht dann auch mit einem kleineren AVR und einem SPI-Flash dazu wie z.b. dem billigen Winbond W25Q32 oder W25Q64.

golf
Lschreyer
Schreiberling
Avatar
Gender: n/a
Posts: 527
Registered: 02 / 2007
Subject:

Re: Kann Avrco auch mit EA DOGL128 Display mit ST7565R?

 · 
Posted: 09.02.2017 - 08:48  ·  #3
Danke! Die werde ich mir mal anschauen.
Es wäre irgendwie sinnvoll wenn im Handbuch stünde welche Controller genau unterstützt werden, das konnte ich so nicht finden.
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Kann Avrco auch mit EA DOGL128 Display mit ST7565R?

 · 
Posted: 10.02.2017 - 11:23  ·  #4
Unterstützt wird jeder Controller dank Userdevice GraphIOS ;)

aber ......
Code

Import SysTick, LCDGraphic, SPIdriver1;

  SPIdriver1      = PortB, 3, 4, 5, 0;  // SCK, MOSI, MISO, SS
                                       // 2 = A0 ... L=Command H=Data
                                       // 3 = /Reset
                                       // 5 = nicht an LCD vorhanden !
  SPIorder1       = MSB;
  SPIcPHA1        = 1;
  SPIcPol1        = 1;

  LCDGraphic      = 128, 64, 8;             { Display 128 x 64, DOGL128        }
  LCDgraphMode    = column, iData;
  DefCharSet      = 'Graphchars.pchr';
  GViewports      = 1, iData;
  TGraphStr       = 20;

Procedure WriteLCD(Arg: Byte; IsData: Boolean);
  Var Mask : Byte;
  Begin
    If IsData
      then
        Incl(PortB,2);                      // Daten
      else
        Excl(PortB,2);                      // Befehl
      EndIf;
    SPIOutByte1(Arg);                       // Output arg
  End WriteLCD;


Procedure GraphInit;
  Var Counter : Byte;
  Begin
    Excl(PortB, 1);
    MDelay(10);
    Incl(PortB, 1);
    MDelay(10);

    WriteLCD($40,false);                    // Display Start Line 0
    WriteLCD($A1,false);                    // ADC reverse $A1 / normal $A0
    WriteLCD($C0,false);                    // normal $C0 / reverse $C8
    WriteLCD($A6,false);                    // Display normal
    WriteLCD($A2,false);                    // Set BIAS 1/9
    WriteLCD($2F,false);                    // Booster, Regulator, Follower on
    WriteLCD($F8,false);                    // Set internal Booster to 3x/4x
    WriteLCD($00,false);                    //
    WriteLCD($27,false);                    // Contrast Set
    WriteLCD($81,false);                    //
    WriteLCD($14,false);                    // Contrast: Standard $16
    WriteLCD($AC,false);                    // No Indicator
    WriteLCD($00,false);                    //
    WriteLCD($AF,false);                    // Display on
  End GraphInit;


{$D-}
UserDevice GraphIOS(Cmd: Byte; Arg: byte);
  Begin
    If Cmd=0 then                                        // set row addr
      CurRow:=arg;
      WriteLCD(%10110000+CurRow,false);                  // page
      WriteLCD(%00010000,false);                         // address 0
      WriteLCD(%00000000,false);
      Col:= 0;
    else
      If Col<128
        then
          WriteLCD(Arg,true);
          Inc(Col);
        EndIf;
    EndIf;
  End GraphIOS;
{$D+}
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Kann Avrco auch mit EA DOGL128 Display mit ST7565R?

 · 
Posted: 10.02.2017 - 12:07  ·  #5
Quote by Lschreyer

Wieviel Sram sollte man da einplanen wenn man Grafikdisplays verwendet?

Pixel horizontal x Pixel vertikal / 8
128 x 64 / 8 = 1024 Byte, die als Grafikspeicher verwendet werden. Der Befehl gDispRefresh überträgt das dann an das Display. D.h. alles was du schreibst & zeichnest findet im Controller statt.
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: Kann Avrco auch mit EA DOGL128 Display mit ST7565R?

 · 
Posted: 10.02.2017 - 17:05  ·  #6
gilt natürlich nur für read-only Controller

rolf
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Kann Avrco auch mit EA DOGL128 Display mit ST7565R?

 · 
Posted: 10.02.2017 - 20:02  ·  #7
Na es gilt für diesen Controller ;)

Harry
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 14 · Cache Hits: 14   123   137 · Page-Gen-Time: 0.042995s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI