Forum: Mikrocontroller und Digitale Elektronik Grafikcontroller Problem


von Ratlos (Gast)


Lesenswert?

Guten Abend,
ich könnte mal bitte eure Hilfe gebrauchen. Es geht um einen etwas 
älteren Grafikcontroller den ich gerne für ein Arduino Projekt nutzen 
würde.

Hier mal den Link zum Controller 
http://wallbraun-electronics.de/produkte/lcdinterface/index.html

S1D13305 Controller alte Bezeichnung SED1335 dieser Typ wird leider von 
keiner lib die ich bis jetzt gefunden habe richtig unterstützt.
Auch die lib,s die es für den RA8835 gibt haben das selbe Problem.
Es werden nur Displays bis 320x240 Pixel unterstützt.
Der Controller selber kann aber 640x256 Pixel.
Was bei meinem Aufbau auch der Fall ist wenn ich Controller und Display 
über einen LPT Port vom Rechner anspreche.Mache ich die Ansteuerung über 
den Arduino kann ich nur 320x240 darstellen.
Hat einer zufällig eine geänderte lib für Arduino wo diese Beschränkung 
nicht vorhanden ist.
Auch bei der lib für den etwas neuren Controller S1D13700 habe ich das 
selbe Problem.

Diese hänge ich mal hier mit an eventuell könnte mir ja einer der sich 
auskennt mal drüber schauen und mir Tips geben was ich änder müste oder 
sollte. Es geht um den unteren Teil ab, definitions for specific LCD 
settings. Bei dem Hex Angaben hab ich gerade echt keinen Plan.
Wäre echt nett von euch.

Wie gesagt der Aufbau selber ist okay und läuft auch am PC und am 
Arduino.
Am Arduino allerdings nur mit maximal 320x240 Pixel.

// #define   S1D13700_SCR_WIDTH     340
// #define   S1D13700_LF         239
// Wenn ich nur diese beiden Werte Anpasse gibt es keine Veränderung und 
// auch keine Fehlermeldungen.
1
#ifndef S1D13700_h
2
#define S1D13700_h
3
#include "Arduino.h"
4
5
//#define S1D13700_CUSTOM_DATA_PINS
6
7
#define FIXED_DIR DDRD
8
#define FIXED_PORT PORTD
9
#define FIXED_PIN PIND
10
11
class S1D13700
12
{
13
  public:
14
    S1D13700(void);
15
    void writeCommand(unsigned char command);
16
    void writeData(unsigned char data);
17
    unsigned char readData(void);
18
    void initLCD(void);
19
    
20
    void writeText(char * text);
21
    void setPixel(unsigned int x,unsigned int y, unsigned char state);
22
    void setCursorAddress(unsigned int address);
23
    void textGoTo(unsigned char x, unsigned char y);
24
    void graphicGoTo(unsigned int x, unsigned int y);
25
    void clearText(void);
26
    void clearGraphic(void);
27
    
28
    void drawBox(int x0, int y0, int x1, int y1);
29
    void drawCircle(int x0, int y0, int radius);
30
    void drawLine(int x0, int y0, int x1, int y1);
31
  
32
  struct pin_type {
33
    unsigned char d0;
34
    unsigned char d1;
35
    unsigned char d2;
36
    unsigned char d3;
37
    unsigned char d4;
38
    unsigned char d5;
39
    unsigned char d6;
40
    unsigned char d7;
41
    unsigned char a0;
42
    unsigned char wr;
43
    unsigned char rd;
44
    unsigned char cs;
45
    unsigned char rst;
46
  } pins;
47
    
48
    
49
    
50
  private:
51
    void hardReset(void);
52
};
53
54
#define READDELAY() asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop")
55
56
/*definitions for specific LCD settings as well as the
57
  command codes for various function */
58
59
#define   S1D13700_SYSTEM_SET     0x40
60
#define   S1D13700_SLEEP_IN       0x53
61
#define   S1D13700_DISP_OFF       0x58
62
#define   S1D13700_DISP_ON       0x59
63
#define   S1D13700_SCROLL       0x44
64
#define   S1D13700_CSRFORM       0x5d
65
#define   S1D13700_CGRAM_ADR     0x5c
66
#define   S1D13700_CSRDIR_U       0x4e
67
#define   S1D13700_CSRDIR_D       0x4f
68
#define   S1D13700_CSRDIR_L       0x4d
69
#define   S1D13700_CSRDIR_R       0x4c
70
#define   S1D13700_HDOT_SCR       0x5a
71
#define   S1D13700_OVLAY       0x5b
72
#define   S1D13700_CSRW         0x46
73
#define   S1D13700_CSRR         0x47
74
#define   S1D13700_MWRITE       0x42
75
#define   S1D13700_MREAD       0x43
76
#define   S1D13700_SCR_WIDTH     340
77
#define   S1D13700_M0         0
78
#define   S1D13700_M1         0
79
#define   S1D13700_M2         0
80
#define   S1D13700_WS         0
81
#define   S1D13700_IV         1
82
#define   S1D13700_FX         7
83
#define   S1D13700_FY         7
84
#define   S1D13700_WF         1
85
#define   S1D13700_CR         39
86
#define   S1D13700_TCR         90
87
#define   S1D13700_LF         239
88
#define   S1D13700_APL         40
89
#define   S1D13700_APH         0
90
#define   S1D13700_LINES       30
91
#define   S1D13700_SAD1L       0
92
#define   S1D13700_SAD1H       0
93
#define   S1D13700_SL1         0xEF
94
#define   S1D13700_SAD2L       0xB0
95
#define   S1D13700_SAD2H       0x04
96
#define   S1D13700_SL2         0xEF
97
#define   S1D13700_SAD3L       0
98
#define   S1D13700_SAD3H        0
99
#define   S1D13700_SAD4L       0
100
#define   S1D13700_SAD4H       0
101
#define   S1D13700_CRX         0x04
102
#define   S1D13700_CRY         0x07
103
#define   S1D13700_CM         0
104
#define   S1D13700_MX0         1
105
#define   S1D13700_MX1         0
106
#define   S1D13700_DM1         0
107
#define   S1D13700_DM2         0
108
#define   S1D13700_OV         0
109
#define   S1D13700_SAGL         0
110
#define   S1D13700_SAGH         0x70
111
#define   S1D13700_SCRD         0
112
#define   S1D13700_FLASH       0x16
113
#define   S1D13700_TEXTSIZE       ((S1D13700_SAD2H << 8) + S1D13700_SAD2L)
114
#define    S1D13700_GRAPHICSTART  ((S1D13700_SAD2H << 8) + S1D13700_SAD2L)
115
#define   S1D13700_GRAPHICSIZE     ((S1D13700_SL2+1) * (S1D13700_SCR_WIDTH+1))>>3
116
#define   S1D13700_MEM_END       10800
117
#define   S1D13700_SYS_P1       0x10 | (S1D13700_IV << 5) | (S1D13700_WS << 3) | (S1D13700_M2 << 2) | (S1D13700_M1 << 1) | S1D13700_M0
118
#define   S1D13700_SYS_P2       0x00 | (S1D13700_WF << 7) | S1D13700_FX
119
#define   S1D13700_CSRF_P2       0x00 | (S1D13700_CM << 7) | S1D13700_CRY
120
#define   S1D13700_OVLAY_P1       0x00 | (S1D13700_OV << 4) | (S1D13700_DM2 << 3) | (S1D13700_DM1 << 2) | (S1D13700_MX1 << 1) | S1D13700_MX0
121
122
#endif

Beitrag #6428454 wurde von einem Moderator gelöscht.
von Ratlos (Gast)


Lesenswert?

Habe gerade gesehen das der Link zum Controller nicht geht.
Also dann hier noch mal der Richtige.

https://web.archive.org/web/20070623190159/http://wallbraun-electronics.de/produkte/lcdinterface/index.html

Danke !

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.