Subversion Repositories svn.mios

Rev

Rev 1181 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1113 tk 1
HEADER 3 MIDIbox NG User Manual --- LCD Options
2
 
3
<P CLASS=INFO><B><A HREF="midibox_ng_manual.html">Back to main page...</A></B></P>
4
 
5
<H1>MIDIbox NG</H1>
6
<H1>User Manual --- LCD</H1>
7
 
1181 tk 8
<P CLASS=INFO><A HREF="midibox_ng.html">MIDIbox NG</A> provides so many different LCD hardware options, that this topic deserves a special page! Choose one of these types for your MIDIbox. Note that it isn't possible to combine different LCDs; means: you can connect multiple character LCDs or multiple graphical LCDs, but the firmware doesn't allow to use both type of LCDs at the same time.</P>
1113 tk 9
 
10
<H2> <IMG SRC="images/bullet.gif" ALT=""> Character LCDs (CLCDs) </H2>
11
 
12
<P CLASS=DESC>Character LCDs are available for few money in many different variants, most of them comply to the HD44780 industrial standard from <A HREF="http://semiconductor.hitachi.com" TARGET="_blank">Hitachi</A>. Regardless of the number of provided characters (2x16, 2x20, 4x16, 4x20, 2x40), they are communicating over the same bus interface with the core.</P>
13
 
14
<P CLASS=DESC>The best choice for MIDIbox NG are 2x20 or 2x40 LCDs, because they typically provide a 1:1 matching pinning with the LCD connectors on the <A HREF="mbhp_core_lpc17.html">MBHP_CORE_LPC17</A> module, so that they can be directly connected with a <A HREF="mbhp/mbhp_core_lpc17_lcd2.jpg">flat 16pin ribbon cable + IDC connectors</A> to J15A:</P>
15
<IMG SRC="mbhp/mbhp_core_lpc17_lcd1.jpg" width=550 height=403 ALT="" align=left>
16
<A HREF="mbhp/mbhp_lcd_2x20_mios32.pdf">Schematic</A></P>
17
<BR clear="all">
18
 
19
<P CLASS=DESC>If you are planning to use the <A HREF="midibox_ng_manual_scs.html">Standard Control Surface</A>, at least 2x20 characters for the first CLCD connected to J15A are recommended. Although MIDIbox NG allows to configure the SCS for 2x16 or 2x20 or 2x40 LCDs, you would stay compatible with other MIOS32 based applications (such as <A HREF="midio128.html">MIDIO128</A>) which don't provide such a configuration option.</P>
20
 
21
<P CLASS=DESC>2x16 LCDs have a <A HREF="mbhp/mbhp_lcd_mios32.pdf">different pinning</A>, which results into a bit more (error prone) soldering effort for Newbies, and is therefore not recommended from my side. However, if you found a supercheap source for 2x26 LCDs at EBay and want to stuff your MIDIbox NG with plenty of those, then the MIDIbox NG application doesn't prevent you from using such displays of course... ;-) - the same applies for more exotic sizes, such as 1x6 or 1x8 displays.</P>
22
 
23
<P CLASS=DESC>By default, two CLCDs with up to 2x40 characters are enabled in the firmware. They have to be connected to J15A and J15B of the core module as mentioned earlier.</P>
24
 
25
<P CLASS=DESC>A second LCD is usually directly connected to J15B with a 1:1 cable:<BR>
26
<IMG SRC="mbhp/mbhp_lcd_2x2x40_mios32.jpg" width=800 height=237 ALT="" align=left>
27
<BR clear="all">
28
<P CLASS=DESC>Experts use a single ribbon cable from J15A, and connect the E input (which addresses the LCD) with a single wire to J15B:E:<BR>
29
<IMG SRC="mbhp/mbhp_lcd_2x2x40_singleline_1.jpg" width=800 height=229 ALT="" align=left>
30
<BR clear="all">
31
More pictures: <A HREF="mbhp/mbhp_lcd_2x2x40_singleline_2.jpg">#2</A> <A HREF="mbhp/mbhp_lcd_2x2x40_singleline_3.jpg">#3</A> <A HREF="mbhp/mbhp_lcd_2x2x40_singleline_4.jpg">#4</A>.<BR>
32
See also <A HREF="mbhp/mbhp_lcd_2x2x20_mios32.pdf">this schematic</A>.</P>
33
 
34
 
35
<P CLASS=DESC>In the <A HREF="midibox_ng_manual_ngc.html">.NGC file</A> the first LCD can be addressed with (example):
36
<TT><PRE style="margin-left:50px; font-size:8pt">
37
EVENT_xxx ... lcd_pos=1:1:1 label="First LCD, First Line"
38
</PRE></TT>
39
and the second LCD with:
40
<TT><PRE style="margin-left:50px; font-size:8pt">
41
EVENT_xxx ... lcd_pos=2:1:1 label="Second LCD, First Line"
42
</PRE></TT>
43
 
44
<P CLASS=DESC>It's also possible to write to both LCDs from a single label by moving the cursor within the label string, such as:
45
<TT><PRE style="margin-left:50px; font-size:8pt">
46
EVENT_xxx ... label="@(1:1:1)LCD1@(2:1:1)LCD2"
47
</PRE></TT>
48
 
49
<P CLASS=DESC>Another point, which might be interesting is, that the two LCDs can be combined to a 2x80 display, which is especially useful when large text messages are received via SysEx, e.g. from a DAW during a Logic (resp. Mackie) Control emulation. For example:
50
<TT><PRE style="margin-left:50px; font-size:8pt">
51
EVENT_xxx ... lcd_pos=1:1:1 label="This text message could also be print   from an external SysEx message."
52
EVENT_xxx ... lcd_pos=1:1:2 label="And this is the second line."
53
</PRE></TT>
54
will output:
55
<IMG SRC="midibox_ng/cs/lcdhw1.gif" width=986 height=38 ALT="Screen"></IMG><BR>
56
on the two LCDs.</P>
57
 
58
<H2> <IMG SRC="images/bullet.gif" ALT=""> 3..6 CLCDs </H2>
59
 
60
<P CLASS=DESC>Once more than 2 CLCDs should be connected to the core module, J28 can be used to extend
61
the number of enable (E) lines.<BR>
62
Dedicated drivers and trimpots are required for the Backlight luminance and contrast for each pair of 2 CLCDs.<BR>
63
See also <A HREF="mbhp/mbhp_lcd_6x2x20_mios32.pdf">this schematic</A>.
64
 
65
<P CLASS=DESC>Softwarewise the number of connected CLCDs has to be configured with the <A HREF="mios32_bootstrap_newbies.html">Bootloader Update Application</A>. This application can be uploaded at any time to change the LCD parameters, and to store them in a special flash location which won't be overwritten by applications, so that the configuration is permanently available.</P>
66
 
67
<P CLASS=DESC>After this application has been uploaded, enter following commands to configure 6 2x20 LCDs:
68
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 69
set lcd_type CLCD
70
set lcd_num_x 6
71
set lcd_num_y 1
72
set lcd_width 20
73
set lcd_height 2
1113 tk 74
store
75
</PRE></TT>
76
 
77
With this configuration, the CLCDs can be accessed in the .NGC file with:
78
<TT><PRE style="margin-left:50px; font-size:8pt">
79
EVENT_xxx ... lcd_pos=1:1:1 label="LCD1"
80
EVENT_xxx ... lcd_pos=2:1:1 label="LCD2"
81
EVENT_xxx ... lcd_pos=3:1:1 label="LCD3"
82
EVENT_xxx ... lcd_pos=4:1:1 label="LCD4"
83
EVENT_xxx ... lcd_pos=5:1:1 label="LCD5"
84
EVENT_xxx ... lcd_pos=6:1:1 label="LCD6"
85
</PRE></TT>
86
 
87
and will print:<BR>
88
<IMG SRC="midibox_ng/cs/lcdhw2.gif" width=781 height=19 ALT="Screen"></IMG><BR>
89
 
90
Long text messages will be combined in a single 'X' line with an overall dimension of 120x2:
91
<IMG SRC="midibox_ng/cs/lcdhw3.gif" width=781 height=19 ALT="Screen"></IMG><BR>
92
 
93
With following configuration:
94
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 95
set lcd_type CLCD
96
set lcd_num_x 3
97
set lcd_num_y 2
98
set lcd_width 20
99
set lcd_height 2
1113 tk 100
store
101
</PRE></TT>
102
 
103
we would get a 60x4 screen instead:<BR>
104
<IMG SRC="midibox_ng/cs/lcdhw4_1.gif" width=385 height=19 ALT="Screen"></IMG><BR>
105
<IMG SRC="midibox_ng/cs/lcdhw4_2.gif" width=385 height=19 ALT="Screen"></IMG><BR>
106
 
107
 
108
<H2> <IMG SRC="images/bullet.gif" ALT=""> 7..64 CLCDs </H2>
109
 
110
<P CLASS=DESC>Once more than 6 CLCDs should be connected to the core module, <A HREF="mbhp_dout.html">MBHP_DOUT</A> modules (resp. 74HC595 shift registers)
111
have to be used to output the enable (E) lines. Summa summarum up to 64 E lines are supported: two from the J15A/B port, and 62 additional lines from two MBHP_DOUTX4 boards! The remaining two outputs of the 8th 74HC595 shift register in the chain aren't used!<BR>
112
Dedicated drivers and trimpots are required for the Backlight luminance and contrast for each pair of 2 CLCDs.<BR>
113
See also <A HREF="mbhp/mbhp_lcd_nx2x20_mios32.pdf">this schematic</A>.
114
<P CLASS=DESC>This schematic doesn't show that the data lines D0..D7 probably have to be buffered as well. This is currently under evaluation!</P>
115
 
116
 
117
<H2> <IMG SRC="images/bullet.gif" ALT=""> LCD Buffer Limitations </H2>
118
 
119
<P CLASS=DESC>Since version 1.013 there are no buffer limits anymore - up to 64 CLCDs with any size can be accessed! :-)</P>
120
 
121
 
122
<H2> <IMG SRC="images/bullet.gif" ALT=""> Testing CLCDs </H2>
123
 
124
<P CLASS=DESC>For the case that the connected LCDs don't seem to work, following testing procedure (hopefully) helps:
125
 
126
<UL CLASS=CL>
127
  <LI>Most MIOS32 applications only initialize the first two CLCDs (connected to J15A/B) by default. Currently only MIDIbox NG initializes all LCDs which have been specified in the bootloader.
128
  <LI>MBNG will only output messages on the first LCD, connected to J15A, by default. You've to enhance your <A HREF="midibox_ng_manual_ngc.html">.NGC file</A> to address the remaining LCDs.
129
  <LI>check the contrast trimpot in both directions. Usually the display doesn't show anything if this trimpot selects a voltage >1V. With 0V you should see the full contrast.
130
  <LI>if the LCD only shows bars in the upper line, it hasn't been initialized. Ensure that the correct number of displays has been specified in the <A HREF="mios32_bootstrap_newbies.html">Bootloader Update Application</A> by typing "help" after the application has been uploaded.
131
  <LI>if the parameters are correct, you can upload the MIDIbox NG application again and continue debugging from there.
132
  <LI>use the "testlcdpin" command into MIOS Terminal to change the state of the LCD control pins directly.<BR>
133
If you enter the command without parameters, following help page will show you the available options:
134
<TT><PRE style="margin-left:50px; font-size:8pt">
135
testlcdpin rs 0  -> sets J15(AB):RS to ca. 0V
136
testlcdpin rs 1  -> sets J15(AB):RS to ca. 3.3V
137
testlcdpin e1 0  -> sets J15A:E to ca. 0V
138
testlcdpin e1 1  -> sets J15A:E to ca. 3.3V
139
testlcdpin e2 0  -> sets J15B:E to ca. 0V
140
testlcdpin e2 1  -> sets J15B:E to ca. 3.3V
141
testlcdpin rw 0  -> sets J15(AB):RW to ca. 0V
142
testlcdpin rw 1  -> sets J15(AB):RW to ca. 3.3V
143
testlcdpin d0 0  -> sets J15(AB):D0 to ca. 0V
144
testlcdpin d0 1  -> sets J15(AB):D0 to ca. 5V (resp. 3.3V)
145
testlcdpin d1 0  -> sets J15(AB):D1 to ca. 0V
146
testlcdpin d1 1  -> sets J15(AB):D1 to ca. 5V (resp. 3.3V)
147
testlcdpin d...  -> same for J15(AB):D2, D3, D4, D5, D6, D7
148
testlcdpin reset -> re-initializes LCD modules so that they can be used again.</PRE></TT>
149
 
150
Whenever a pin state has been changed, you should measure the appr. voltage (0, ca. 3.3V or ca. 5V) at the selected control or data pin.<BR>
151
Note: the remaining pins are set to 0V, only a single pin is set to ca. 3.3V resp. 5V!
152
  <LI>With these tests you are able to:
153
    <UL CLASS=CL>
154
      <LI>check that the core module can control all LCD pins
155
      <LI>that the LCD pins are connected to the right signals
156
      <LI>that there is no short circuit between the pins (due to a soldering error, e.g. a bridge)
157
      <LI>Good luck!
158
    </UL>
159
</UL>
160
 
161
<P CLASS=DESC>Note that under certain circumstances a wrong connection could permanently damage the LCD! So, if you notice that pins are swapped, and the LCD is even not working after the corrected connections, it could be that there is no hope to fix this damaged LCD anymore, and you would have to buy a new one!</P>
162
 
163
 
164
<H2> <IMG SRC="images/bullet.gif" ALT=""> Graphical LCDs </H2>
165
 
166
<P CLASS=DESC>Graphical LCDs are supported as well. Various fonts are available which can be selected in the "label" message as described in the <A HREF="midibox_ng_manual_ngc.html">.NGC chapter</A>. The LCD buffer is reduced to 512 characters only, because the upper half is used to store the used font!
167
 
168
<P CLASS=DESC>The subchapters below list the supported LCD types.</P>
169
 
170
 
171
<H2> <IMG SRC="images/bullet.gif" ALT=""> KS0107/KS0108 or HD61202 based GLCDs </H2>
172
 
1117 tk 173
<P CLASS=DESC>The bus interface of this GLCD is similar to a CLCD, but every 64x64 segment needs a CS (chip select) line which is available at J28 (MBHP_CORE_STM32: J5C).<BR>
1113 tk 174
All graphical LCDs require a negative voltage to drive the Liquid Crystal cells. Some LCDs provide an inbuild DC converter, some others not. The schematic below shows a MAX759 voltage converter which can be used if a Vout pin is not provided by the GLCD.<BR>
175
Schematic: <A HREF="mbhp/mbhp_lcd_ks0108_mios32.pdf">mbhp_lcd_ks0108_mios32.pdf</A>
176
 
177
<P CLASS=DESC>Following configuration is required in the <A HREF="mios32_bootstrap_newbies.html">Bootloader Update Application</A> for a 128x64 GLCD (2 CS lines):
178
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 179
set lcd_type GLCD_KS0108
180
set lcd_num_x 1
181
set lcd_num_y 1
182
set lcd_width 128
183
set lcd_height 64
1113 tk 184
store
185
</PRE></TT>
186
 
187
<P CLASS=DESC>If the CS lines of your GLCD are inverted (=low-active), then enter following configuration:
188
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 189
set lcd_type GLCD_KS0108_INVCS
190
set lcd_num_x 1
191
set lcd_num_y 1
192
set lcd_width 128
193
set lcd_height 64
1113 tk 194
store
195
</PRE></TT>
196
 
197
 
198
<P CLASS=DESC>For a 240x64 GLCD (with 4 CS lines) like used for the original <A HREF="midibox_lc/midibox_lc_1.jpg">MIDIbox LC</A> enter:
199
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 200
set lcd_type GLCD_KS0108
201
set lcd_num_x 1
202
set lcd_num_y 1
203
set lcd_width 240
204
set lcd_height 64
1113 tk 205
store
206
</PRE></TT>
207
 
208
<P CLASS=DESC>Note that lcd_num_x/num_y have no effect yet; only 4 CS lines are supported for KS0108 based GLCDs!</P>
209
 
210
<P CLASS=DESC><B>Limitations:</B> up to 4 LCD segments are supported (limited by the number of pins at J28).<BR>
211
Each segment has a size of 64x64, makes 256x64 in total.<BR>
212
With the "normal font" (6x8) up to 42x8 characters can be print, fonts can be selected without limitations.</P>
213
 
214
 
1117 tk 215
<H2> <IMG SRC="images/bullet.gif" ALT=""> SED1520 based GLCDs </H2>
216
 
217
<P CLASS=DESC>GLCDs which are SED1520 compatible are an inexpensive alternative solution for KS0108 based displays.<BR>
218
E.g. the "Wintek WD-G1203T" with 122x32 pixel resolution available at <A HREF="http://www.pollin.de/shop/dt/MzM0OTc4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Displays/LCD_Modul_WINTEK_WD_G1203T.html" TARGET="_blank">Pollin</A> is sold for only 2 EUR!<BR>
219
Please note that not every SED1520 based GLCD at Pollin is recommendable. E.g. the "LCD Datavision DG-12232" didn't work at my side. It would also need a negative display voltage and 50V AC (!) to supply the EL backlight - forget this display! ;-)
220
 
221
<P CLASS=DESC>The bus interface is similar to a character based LCD, but every 61x32 segment needs a CS (chip select) line which is available at J28<BR>
222
Schematic: <A HREF="mbhp/mbhp_lcd_sed1520_mios32.pdf">mbhp_lcd_sed1520_mios32.pdf</A>
223
Picture: <A HREF="mbhp/mbhp_lcd_sed1520.jpg">mbhp_lcd_sed1520.jpg</A>
224
 
225
<P CLASS=DESC>Following configuration is required in the <A HREF="mios32_bootstrap_newbies.html">Bootloader Update Application</A> for a 122x32 GLCD (2 CS lines):
226
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 227
set lcd_type GLCD_SED1520
228
set lcd_num_x 1
229
set lcd_num_y 1
230
set lcd_width 122
231
set lcd_height 32
1117 tk 232
store
233
</PRE></TT>
234
 
235
<P CLASS=DESC>It's possible to combine two SED1520 LCDs by connecting all signals (beside of CS) in parallel to J15A. The two CS lines of the second display have to be connected to the CS3 and CS4 output at J28. Configuration:
236
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 237
set lcd_type GLCD_SED1520
238
set lcd_num_x 1
239
set lcd_num_y 1
240
set lcd_width 244
241
set lcd_height 32
1117 tk 242
store
243
</PRE></TT>
244
 
245
<P CLASS=DESC>It's also possible to combine four SED1520 LCDs by
246
<UL CLASS=CL>
247
  <LI>connecting all signals of the first and second display (beside of CS) in parallel to J15A. The four CS lines have to be connected to J28.
248
  <LI>connecting all signals of the third and fourth display (beside of CS) in parallel to J15B. The four CS lines have to be connected to J28 (in parallel to the CS lines of the first and second display
249
</UL>
250
Configuration:
251
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 252
set lcd_type GLCD_SED1520
253
set lcd_num_x 2
254
set lcd_num_y 1
255
set lcd_width 244
256
set lcd_height 32
1117 tk 257
store
258
</PRE></TT>
259
 
260
<P CLASS=DESC><B>Limitations:</B> up to 8 LCD segments are supported (limited by the number of E pins at J15A/B, and the 4 pins at J28)
261
Each segment has a size of 61x32, makes 488x32 in total.<BR>
262
With the "normal font" (6x8) up to 160x4 characters can be print, fonts can be selected without limitations.</P>
263
 
264
 
1113 tk 265
<H2> <IMG SRC="images/bullet.gif" ALT=""> DOGM and DOGL based GLCDs </H2>
266
 
267
<P CLASS=DESC>This 128x64 graphical LCD is really nice, because it provides a serial interface, so that the data pins of the J15 socket can be used as chip-select pins! Accordingly, it's possible to connect up to 8 GLCDs to J15A.<BR>
268
Schematic: <A HREF="mbhp/mbhp_lcd_dogm128_mios32.pdf">mbhp_lcd_dogm128_mios32.pdf</A>
269
 
270
<P CLASS=DESC>Following configuration is required in the <A HREF="mios32_bootstrap_newbies.html">Bootloader Update Application</A> for a single DOGM GLCD:
271
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 272
set lcd_type GLCD_DOG
273
set lcd_num_x 1
274
set lcd_num_y 1
275
set lcd_width 128
276
set lcd_height 64
1113 tk 277
store
278
</PRE></TT>
279
 
280
 
281
<P CLASS=DESC>Following configuration for 8 DOGM GLCDs:
282
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 283
set lcd_type GLCD_DOG
284
set lcd_num_x 8
285
set lcd_num_y 1
286
set lcd_width 128
287
set lcd_height 64
1113 tk 288
store
289
</PRE></TT>
290
 
291
<P CLASS=DESC>Following configuration for 12 DOGM GLCDs (remaining CS pins connected to J28):
292
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 293
set lcd_type GLCD_DOG
294
set lcd_num_x 12
295
set lcd_num_y 1
296
set lcd_width 128
297
set lcd_height 64
1113 tk 298
store
299
</PRE></TT>
300
 
301
<P CLASS=DESC>Following configuration for 16 DOGM GLCDs (remaining CS pins connected to a 74HC595 based shift register at J28):
302
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 303
set lcd_type GLCD_DOG
304
set lcd_num_x 16
305
set lcd_num_y 1
306
set lcd_width 128
307
set lcd_height 64
1113 tk 308
store
309
</PRE></TT>
310
 
311
<P CLASS=DESC>Following configuration for 64 DOGM GLCDs (remaining CS pins connected to seven chained 74HC595 based shift register at J28):
312
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 313
set lcd_type GLCD_DOG
314
set lcd_num_x 64
315
set lcd_num_y 1
316
set lcd_width 128
317
set lcd_height 64
1113 tk 318
store
319
</PRE></TT>
320
 
321
<P CLASS=DESC><B>IMPORTANT:</B> please power-cycle the MBHP_CORE_LPC17 module whenever the lcd_type has been changed, otherwise the GLCD won't be initialized correctly (it has to be reset!)</P>
322
 
323
<P CLASS=DESC><B>Limitations:</B> up to 64 LCDs are supported.<BR>
324
Each LCD has a size of 128x64, the LCD handler will reserve 21x8 characters for each LCD!</P>
325
 
326
<H2> <IMG SRC="images/bullet.gif" ALT=""> SSD1306 GLCDs </H2>
327
 
328
<P CLASS=DESC>These are my personal favourites: the tiny OLEDs which are available today provide high resolution and nice looking colours for an attractive price of typically 4..8 EUR. If you are searching for OLEDs, take care that they come with a breakout board, because soldering the pads on a veroboard is almost impossible, and some caps for the integrated DCDC to generate higher voltages have to be added as well... no fun! I found an attractive OLED/PCB combination from Alientek at <A HREF="http://item.taobao.com/item.htm?id=6239945991" TARGET="_blank">Taobao</A> which is recommendable. Buy it via <A HREF="http://www.yoybuy.com" TARGET="_blank">Yoybuy</A> for easier handling if you don't like shops w/o english translations.<BR>
329
Up to 12 OLEDs can be (natively) controlled by a MIOS32 based core, they are accessed via 4-wire serial interface.<BR>
330
Schematics: <A HREF="mbhp/mbhp_lcd_ssd1306_single_mios32.pdf">mbhp_lcd_ssd1306_single_mios32.pdf</A>, <A HREF="mbhp/mbhp_lcd_ssd1306_multiple_mios32.pdf">mbhp_lcd_ssd1306_multiple_mios32.pdf</A><BR>
331
Photo: <A HREF="mbhp/mbhp_glcd_ssd1306.jpg">follow this link</A> and <A HREF="mbhp/mbhp_glcd_ssd1306_sideview.jpg">this link</A>
332
 
333
<P CLASS=DESC>Following configuration is required in the <A HREF="mios32_bootstrap_newbies.html">Bootloader Update Application</A> for a single SSD1306 GLCD:
334
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 335
set lcd_type GLCD_SSD1306
336
set lcd_num_x 1
337
set lcd_num_y 1
338
set lcd_width 128
339
set lcd_height 64
1113 tk 340
store
341
</PRE></TT>
342
 
343
<P CLASS=DESC>Following configuration for 8 SSD1306 GLCDs:
344
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 345
set lcd_type GLCD_SSD1306
346
set lcd_num_x 8
347
set lcd_num_y 1
348
set lcd_width 128
349
set lcd_height 64
1113 tk 350
store
351
</PRE></TT>
352
 
353
<P CLASS=DESC>Following configuration for 12 SSD1306 GLCDs (remaining CS pins connected to J28):
354
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 355
set lcd_type GLCD_SSD1306
356
set lcd_num_x 12
357
set lcd_num_y 1
358
set lcd_width 128
359
set lcd_height 64
1113 tk 360
store
361
</PRE></TT>
362
 
363
<P CLASS=DESC>Following configuration for 16 SSD1306 GLCDs (remaining CS pins connected to a 74HC595 based shift register at J28):
364
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 365
set lcd_type GLCD_SSD1306
366
set lcd_num_x 16
367
set lcd_num_y 1
368
set lcd_width 128
369
set lcd_height 64
1113 tk 370
store
371
</PRE></TT>
372
 
373
<P CLASS=DESC>Following configuration for 64 SSD1306 GLCDs (remaining CS pins connected to seven chained 74HC595 based shift register at J28):
374
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 375
set lcd_type GLCD_SSD1306
376
set lcd_num_x 64
377
set lcd_num_y 1
378
set lcd_width 128
379
set lcd_height 64
1113 tk 380
store
381
</PRE></TT>
382
 
383
 
384
<P CLASS=DESC>Alternatively the SSD1306 screen can be rotated by 180 degrees, which might be useful in some cases (e.g. if it has been mounted the wrong way). In this case, please enter following lcd_type into the bootloader:
385
<TT><PRE style="margin-left:50px; font-size:8pt">
1228 tk 386
set lcd_type GLCD_SSD1306_ROTATED
1113 tk 387
store
388
</PRE></TT>
389
resp. "lcd_type 0x85" if you are using Bootloader V1.010 (V1.011 hasn't been released yet...)
390
 
391
<P CLASS=DESC><B>IMPORTANT:</B> please power-cycle the MBHP_CORE_LPC17 module whenever the lcd_type has been changed, otherwise the GLCD won't be initialized correctly (it has to be reset!)</P>
392
 
393
<P CLASS=DESC><B>Limitations:</B> up to 64 LCDs are supported.<BR>
394
Each LCD has a size of 128x64, the LCD handler will reserve 21x8 characters for each LCD!</P>
395
 
396
FOOTER