Subversion Repositories svn.mios

Rev

Rev 1031 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
163 tk 1
HEADER 3 MBHP LCD Module
2
 
3
<H1>MIDIbox Hardware Platform, LCD Infos</H1>
4
 
5
<P><CENTER><IMG SRC="mbhp/mbhp_lcd.jpg" width=500 height=117></CENTER></P>
6
 
810 tk 7
<P CLASS=INFO>J15 of the core module allows to connect one or more LCDs. Following table gives you informations on the supported types and connection diagrams. Additional LCD types could be supported in future. The driver concept is modular; the source code is located under $MIOS_PATH/modules/app_lcd/* (resp. $MIOS32_PATH/modules/app_lcd).</P>
163 tk 8
 
810 tk 9
<P CLASS=INFO>Please note that there are some additional hints at the <A HREF="http://www.midibox.org/dokuwiki/doku.php?id=home:mbhp:module:lcd" TARGET="_blank">MIDIbox Wiki</A> page!</P>
163 tk 10
 
11
<DL>
12
   <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> Supported LCD options </H2></DT>
13
   <DD>
14
   <DD><TABLE WIDTH="100%" BORDER=0 CELLSPACING=5 CELLPADDING=0>
15
    <TR>
810 tk 16
      <TD COLSPAN=2 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>Character LCD</STRONG></FONT></TD>
163 tk 17
    </TR>
18
    <TR>
810 tk 19
      <TD COLSPAN=2 CLASS=TABCOLOR1><FONT SIZE=2><STRONG>Description</STRONG></FONT></TD>
163 tk 20
    </TR>
21
    <TR>
883 tk 22
      <TD COLSPAN=2 CLASS=TABCOLOR2>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. But note, that the supported display types depend on the firmware or MIOS application. For instance, if you connect a 2x20 characters display to the MIDIbox64, the 2x4 field at the right side will stay blank. MIOS applications are mostly more flexible and allow you to customize the screen by enhancing the source code, therefore a general statement - which LCD is the best for your MIDIbox - cannot be given here. Please search on the project pages for more informations regarding the supported display sizes or ask in the <A HREF="http://forum.midibox.org">MIDIbox forum</A> if you are unsure.<BR><B>Availability:</B>At every <A HREF="http://www.midibox.org/dokuwiki/doku.php?id=where_to_order_components">good sorted electronic store</A> and especially at <A HREF="http://www.ebay.de" TARGET="_blank">EBay</A> (search for <I>2x16 lcd</I> or similar). Order numbers for <A HREF="http://www.reichelt.de" TARGET="_blank">Reichelt</A>: LCD 162C LED (2x16 with backlight, 12.70 EUR), LCD 164A LED (4x16 with backlight, 20.90 EUR), LCD 202A LED (2x20 with backlight, 13.10 EUR), LCD 204A LED (4x20 with backlight, 27.20 EUR)<BR>
163 tk 23
    </TR>
810 tk 24
    <TR>
25
      <TD CLASS=TABCOLOR2><B>MIOS8 Connectivity:</B> During the design phase of the core module I took focus on easy soldering and tried to place as less bridges as possible on the board. As an side effect, the pin assignments of the LCD interface J15 unfortunately aren't 1:1. So, you have to take special care for the interconnections.<BR>Following schematic show, how to connect a LCD 162C display from <A HREF="http://www.displaytech.com.hk/" TARGET="_blank">Displaytech</A> to the interface. <I>Please note, that the pin assignments are different on some other displays!</I> Sometimes the pins are mirrored, sometimes the backlight pads are on another place. Fortunately the order of the bus pins is the same on every display! So, before you buy one, try also to get a datasheet from the display: consult <A HREF="http://www.google.com" TARGET="_blank">www.google.com</A>, keywords: "displayname datasheet".<BR>
26
<B>Wiring Diagram:</B> <A HREF="mbhp/mbhp_lcd_mios8.pdf">mbhp_lcd_mios8.pdf</A><BR>
27
If a PIC18F4685 is used in the project (-> <A HREF="midibox_sid.html">MIDIbox SID V2</A>), the LCD is accessed in 4bit mode. Accordingly, the data pins D0/D1/D2 and D3 should be left open at core and LCD side (don't connect them to ground!) - see <A HREF="mbhp/mbhp_lcd_4bit_mios8.pdf">mbhp_lcd_4bit_mios8.pdf</A></TD>
883 tk 28
      <TD CLASS=TABCOLOR2><B>MIOS32 Connectivity:</B> thanks to the double sided PCB layout, the pinning is 1:1 (*)!<BR>Following schematic shows, how to connect a LCD 162C display from <A HREF="http://www.displaytech.com.hk/" TARGET="_blank">Displaytech</A> to the interface. <I>Please note, that the pin assignments are different on some other displays!</I> Sometimes the pins are mirrored, sometimes the backlight pads are on another place. Fortunately the order of the bus pins is the same on every display! So, before you buy one, try also to get a datasheet from the display: consult <A HREF="http://www.google.com" TARGET="_blank">www.google.com</A>, keywords: "displayname datasheet".<BR>
1113 tk 29
<B>Wiring Diagram for 2x16:</B> <A HREF="mbhp/mbhp_lcd_mios32.pdf">mbhp_lcd_mios32.pdf</A><BR>
30
<B>Wiring Diagram for 2x20 (and 2x40):</B> <A HREF="mbhp/mbhp_lcd_2x20_mios32.pdf">mbhp_lcd_2x20_mios32.pdf</A><BR>
883 tk 31
<B>(*) it's 1:1 and mirrored</B> to simplify the cabling of common 2x40 displays (and partly due to historical reasons - it's originated from the so called "UltraPCB").<BR> Pictures of LCD cable for 2x40 displays:</B> <A HREF="mbhp/mbhp_core_stm32_lcd_cable1.jpg">Image1</A> <A HREF="mbhp/mbhp_core_stm32_lcd_cable2.jpg">Image2</A></TD>
810 tk 32
    </TR>
163 tk 33
 
34
    <TR>
810 tk 35
      <TD COLSPAN=2 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>2 x Character LCDs</STRONG></FONT></TD>
163 tk 36
    </TR>
37
    <TR>
810 tk 38
      <TD COLSPAN=2 CLASS=TABCOLOR2>Two character LCDs are natively supported by <A HREF="mios.html">MIOS</A>, but only two applications are using this option yet: MIDIbox LC and MIDIbox SEQ. However, people with programming skills are free to add this option also to their own MIOS application (the second display can be addressed by adding 0x80 to the cursor position).</TD>
39
    </TR>
40
    <TR>
41
      <TD CLASS=TABCOLOR2>MIOS8 Connectivity: Both displays have to be connected to the same data and control pins at J15, only the E (enable) input of the second LCD requires a dedicated output (pin C.4, J10:RC) which is not routed to J15 and therefore has to be soldered directly to the core module.<BR>
42
<B>Wiring Diagram:</B> <A HREF="mbhp/mbhp_2xclcd_mios8.pdf">mbhp_2xclcd_mios8.pdf</A></TD>
1001 tk 43
      <TD CLASS=TABCOLOR2>MIOS32 Connectivity: the <A HREF="mbhp_core_stm32.html">MBHP_CORE_STM32</A> and <A HREF="mbhp_core_lpc17.html">MBHP_CORE_LPC17</A> module provides two LCD ports (J15A and J15B) where displays can be directly plugged in without the need for an adapter cable.</TD>
810 tk 44
    </TR>
45
    </TR>
46
    <TR>
47
      <TD COLSPAN=2 CLASS=TABCOLOR2><B>Photo:</B> <A HREF="http://www.midibox.org/midibox_gallery/axel15.jpg">follow this link</A></TD></TD>
48
    </TR>
163 tk 49
 
50
    <TR>
810 tk 51
      <TD COLSPAN=2 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>Multiple Character LCDs</STRONG></FONT></TD>
163 tk 52
    </TR>
53
    <TR>
810 tk 54
      <TD CLASS=TABCOLOR2>MIOS8: A special driver module is available which allows to connect up to 8 CLCDs to a single core (<A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios&path=%2Ftrunk%2Fmodules%2Fapp_lcd%2Fclcd_multi%2F" TARGET="_blank">clcd_multi</A>). Displays have to be selected with the USER_LCD_Select function by the application.<BR>
55
<B>Connectivity:</B> any free pin of the PIC can be used for the enable line. For instance, if your application doesn't use the analog pins at J5 of the core module, you are able to connect 8 additional LCDs. You could also program a multiplexer interface in order to address even more LCDs by routing the enable line to one PIC pin.<BR>
56
<B>Wiring Diagram:</B> <A HREF="mbhp/mbhp_nxclcd_mios8.pdf">mbhp_nxclcd_mios8.pdf</A><BR></TD>
1021 tk 57
      <TD CLASS=TABCOLOR2>MIOS32: the standard CLCD driver is prepared for controlling up to 256 devices selected via MIOS32_LCD_DeviceSet(). Please understand this value as a theoretical possibility, physical parameters (like cable capacities) have to be considered as well. ;-) <BR>
1113 tk 58
<B>Connectivity:</B> see <A HREF="midibox_ng_manual_lcd.html">this MIDIbox NG Manual Chapter</A>.<BR>
810 tk 59
<B>Wiring Diagram:</B> <A HREF="mbhp/mbhp_nxclcd_mios32.pdf">mbhp_nxclcd_mios32.pdf</A><BR></TD>
163 tk 60
    </TR>
61
 
62
    <TR>
810 tk 63
      <TD COLSPAN=2 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>EA DOGM26xx-A LCDs</STRONG></FONT></TD>
433 TK 64
    </TR>
65
    <TR>
810 tk 66
      <TD COLSPAN=2 CLASS=TABCOLOR2>These modern character LCDs are easy to mount on a PCB, and faster than HD44780 based displays, although they are almost compatible. A special configuration sequence is required, which is provided by the driver module under modules/app_lcd/dog.<BR>
67
    </TR>
68
    <TR>
69
      <TD CLASS=TABCOLOR2><B>MIOS8 Wiring Diagram:</B> <A HREF="mbhp/mbhp_lcd_dog_mios8.pdf">mbhp_lcd_dog_mios8.pdf</A></TD>
70
      <TD CLASS=TABCOLOR2><B>MIOS32 Wiring Diagram:</B> <A HREF="mbhp/mbhp_lcd_dog_mios32.pdf">mbhp_lcd_dog_mios32.pdf</A></TD>
71
    </TR>
72
    <TR>
73
      <TD COLSPAN=2 CLASS=TABCOLOR2)<B>Photos:</B> <A HREF="mbhp/mbhp_lcd7_dog_3.jpg">3 lines</A>, <A HREF="mbhp/mbhp_lcd7_dog_2b.jpg">One small, one big line</A>, <A HREF="mbhp/mbhp_lcd7_dog_side.jpg">Sideview</A>, <A HREF="mbhp/mbhp_lcd7_dog_below.jpg">additional ICs can be stuffed under LCD, e.g. a DINX1</A>.</TD>
74
    </TR>
433 TK 75
 
76
    <TR>
810 tk 77
      <TD COLSPAN=2 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>KS0107/KS0108 or HD61202 based graphical LCD</STRONG></FONT></TD>
163 tk 78
    </TR>
79
    <TR>
810 tk 80
      <TD COLSPAN=2 CLASS=TABCOLOR2>
919 tk 81
GLCDs which are KS0107/KS0108 or HD61202 compatible are the preferred displays when using the graphic LCD option of MIOS8 (for MIOS32 the access performance doesn't matter). GLCDs are handled like character LCDs, that means that you can use the same MIOS_LCD_* functions to set the cursor and to print characters, strings and values. By default 5x8 characters are used, but you are also able to change the font in order to print bigger or smaller characters, icons or pictures.<BR>
810 tk 82
The performance of the KS0107 and HD61202 controller is perfect, as the pixel information is stored in the <A HREF="mbhp/mbhp_glcd_vertical.gif">vertical direction</A>. This means, that only 5 bus accesses are required to print a 5x8 character (however, the Y position must be aligned to 8 pixels in the vertical direction).<BR>Note that currently only the MIDIbox LC applications gets use of customized fonts and icons.</TD>
83
    </TR>
84
    <TR>
85
      <TD CLASS=TABCOLOR2><B>MIOS8 Connectivity:</B> the bus interface is similar to a character based LCD, but every 128x64 block needs a CS (chip select) line. Since these lines are gated through the E (enable) pin, it was possible to share the CS lines with other PIC outputs. The MIOS driver takes care for possible conflicts.<BR>
163 tk 86
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>
810 tk 87
<B>Wiring Diagram:</B> <A HREF="mbhp/mbhp_lcd_ks0108_mios8.pdf">mbhp_lcd_ks0108_mios8.pdf</A> and <A HREF="mbhp/mbhp_lcd_64240a_mios8.pdf">mbhp_lcd_64240a_mios8.pdf</A> (Displaytech 64240A)</TD>
1113 tk 88
      <TD CLASS=TABCOLOR2><B>MIOS32 Connectivity:</B> the bus interface is similar to a character based LCD, but every 128x64 block needs a CS (chip select) line which is available at J28 (MBHP_CORE_STM32: J5C).<BR>
810 tk 89
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>
90
<B>Wiring Diagram:</B> <A HREF="mbhp/mbhp_lcd_ks0108_mios32.pdf">mbhp_lcd_ks0108_mios32.pdf</A></TD>
163 tk 91
    </TR>
810 tk 92
    <TR>
93
      <TD COLSPAN=2 CLASS=TABCOLOR2><B>Photos:</B> <A HREF="mbhp/mbhp_glcd0_photo.jpg">follow this link</A><BR>or see the MIDIbox LC in Action: <A HREF="midibox_lc/mblc_lcd_page1.jpg">[1]</A> <A HREF="midibox_lc/mblc_lcd_page2.jpg">[2]</A> <A HREF="midibox_lc/mblc_lcd_page3.jpg">[3]</A></TD>
94
    </TR>
163 tk 95
 
96
    <TR>
810 tk 97
      <TD COLSPAN=2 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>T6963C based graphical LCD, horizontal screen</STRONG></FONT></TD>
163 tk 98
    </TR>
99
    <TR>
931 tk 100
      <TD COLSPAN=2 CLASS=TABCOLOR2>T6963C based displays are cheap and popular, but the performance is extreme poor compared to KS0108 which has been introduced above, therefore the use of such displays is not recommended for MIOS8, although a "custom driver" is provided. The driver ensures that the display can be accessed in the same way like a KS0108 based LCD, but since the pixel information is stored in the <A HREF="mbhp/mbhp_glcd_horizontal.gif">horizontal direction</A>, MIOS has to rotate every character, icon and picture by 90 degress. And it has to take care that only the shape of the character will be overwritten (-> in worst case two Read-Modify-Write transfers have to be performed for every 8-bit word). This means, that 2*5*8 =  80 bus accesses are required to print a 5x8 character!</TD>
810 tk 101
    </TR>
102
    <TR>
103
      <TD CLASS=TABCOLOR2><B>MIOS8:</B> this display should only be used for applications which don't rely on realtime behaviour. This display is not qualified for MIOS8 applications which receive MIDI data as there is a potential risk of buffer overruns.<BR>
163 tk 104
<B>Connectivity:</B> the bus interface is similar to a character based LCD.<BR>
105
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>
810 tk 106
<B>Wiring Diagram:</B> <A HREF="mbhp/mbhp_lcd_t6963c_mios8.pdf">mbhp_lcd_t6963c_mios8.pdf</A></TD>
107
      <TD CLASS=TABCOLOR2><B>MIOS32:</B> the situation is much more relaxed for MIOS32, as the driver uses an internal graphical buffer to avoid read-modify-write accesses. And thanks to the capability of RTOS to run the LCD output task at low priority, the performance of higher priority tasks (such as MIDI receiver) is not affected! :-)<BR>
108
<B>Wiring Diagram:</B> <A HREF="mbhp/mbhp_lcd_t6963c_mios32.pdf">mbhp_lcd_t6963c_mios32.pdf</A></TD>
163 tk 109
    </TR>
810 tk 110
    <TR>
111
      <TD COLSPAN=2 CLASS=TABCOLOR2><B>Photo:</B> <A HREF="mbhp/mbhp_lcd7_t6963c_h_photo.jpg">follow this link</A></TD>
112
    </TR>
163 tk 113
 
114
    <TR>
810 tk 115
      <TD COLSPAN=2 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>T6963C based graphical LCD, vertical screen</STRONG></FONT></TD>
163 tk 116
    </TR>
117
    <TR>
810 tk 118
      <TD COLSPAN=2 CLASS=TABCOLOR2>There is an alternative driver for T6963C based display available which doesn't rotate the T6963C screen output by 90 degress, therefore the performance is much better compared to the "horizontal" driver (realtime behaviour is given again). However, such variations are only practicable for very customized applications and only usefull for experienced people with programming skills.</TD>
163 tk 119
    </TR>
810 tk 120
    <TR>
121
      <TD CLASS=TABCOLOR2><B>MIOS8 Wiring Diagram:</B> <A HREF="mbhp/mbhp_lcd_t6963c_mios8.pdf">mbhp_lcd_t6963c_mios8.pdf</A></TD>
122
      <TD CLASS=TABCOLOR2><B>MIOS32 Wiring Diagram:</B> <A HREF="mbhp/mbhp_lcd_t6963c_mios32.pdf">mbhp_lcd_t6963c_mios32.pdf</A></TD>
123
    </TR>
124
    <TR>
125
      <TD COLSPAN=2 CLASS=TABCOLOR2><B>Photo:</B> <A HREF="mbhp/mbhp_lcd7_t6963c_v_photo.jpg">follow this link</A></TD>
126
    </TR>
163 tk 127
 
128
    <TR>
810 tk 129
      <TD COLSPAN=2 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>PCD8544 based graphical LCD</STRONG></FONT></TD>
163 tk 130
    </TR>
131
    <TR>
810 tk 132
      <TD COLSPAN=2 CLASS=TABCOLOR2>PCD8544 LCDs are very small and providing only a resolution of 84x48. But they are connected via a serial interface with a small number of wires to the MIOS core, therefore up to 8 LCDs can be handled by the driver w/o performance loss. It's possible to use three of the displays as KS0108 replacement for <A HREF="midibox_lc.html.gen">MIDIbox LC</A>, but you can also use it with any other MIDIbox --- also a completely new designed MIDIbox application could be programmed which gets use of all 8 displays (e.g. for 8 control channels) --- but please keep in mind, that due to the low resolution only 14x6 characters are displayed by default. A smaller font could be used to display 21 or 28 characters per line, but the appr. program modifications won't be supported from my side (you have to write the appr. code into the application by yourself).<BR>
133
Note: regardless of the serial interface, the performance of this display is even better than the performance of a KS0108. I whished the manufacturers would produce larger displays with this perfect interface!</TD>
163 tk 134
    </TR>
810 tk 135
    <TR>
136
      <TD CLASS=TABCOLOR2><B>MIOS8 Wiring Diagrams:</B> <A HREF="mbhp/mbhp_lcd_pcd8544_single_mios8.pdf">mbhp_lcd_pcd8544_single_mios8.pdf</A>, <A HREF="mbhp/mbhp_lcd_pcd8544_multiple_mios8.pdf">mbhp_lcd_pcd8544_multiple_mios8.pdf</A></TD>
1001 tk 137
      <TD CLASS=TABCOLOR2><B>MIOS32 Wiring Diagrams:</B> <A HREF="mbhp/mbhp_lcd_pcd8544_single_mios32.pdf">mbhp_lcd_pcd8544_single_mios32.pdf</A>, <A HREF="mbhp/mbhp_lcd_pcd8544_multiple_mios32.pdf">mbhp_lcd_pcd8544_multiple_mios32.pdf</A></TD>
810 tk 138
    </TR>
139
    <TR>
140
      <TD COLSPAN=2 CLASS=TABCOLOR2><B>Photo:</B> <A HREF="mbhp/mbhp_glcd_pcd5844.jpg">follow this link</A><BR>
141
      <B>More informations:</B> see <A HREF="http://serdisplib.sourceforge.net/ser/pcd8544.html" TARGET="_blank">this sourceforge page</A>.</TD>
142
    </TR>
163 tk 143
 
144
    <TR>
1031 tk 145
      <TD COLSPAN=2 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>DOGM and DOGL Displays</STRONG></FONT></TD>
146
    </TR>
147
    <TR>
148
      <TD COLSPAN=2 CLASS=TABCOLOR2>This 128x64 graphical LCD allows to add a touchscreen panel which can be scanned with two ADC channels as demonstrated in <A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F022_glcd_touchpanel%2F">this application</A>.<BR>
1113 tk 149
Up to 8 DOGM displays can be (natively) controlled by a MIOS32 based core, they are accessed via 4-wire serial interface.<BR>
150
<A HREF="midibox_ng_manual_lcd.html">MIDIbox NG</A> even supports up to 64 SSD1306 displays!<BR>
151
<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!)</TD>
1031 tk 152
    </TR>
153
    <TR>
154
      <TD CLASS=TABCOLOR2><B>MIOS8 Wiring Diagrams:</B> not adapted (yet)</TD>
155
      <TD CLASS=TABCOLOR2><B>MIOS32 Wiring Diagrams:</B> <A HREF="mbhp/mbhp_lcd_dogm128_mios32.pdf">mbhp_lcd_dogm128_mios32.pdf</A></TD>
156
    </TR>
157
    <TR>
158
      <TD COLSPAN=2 CLASS=TABCOLOR2><B>Photo:</B> <A HREF="mbhp/mbhp_glcd_dogm128.jpg">follow this link</A>
159
    </TR>
160
 
161
    <TR>
1001 tk 162
      <TD COLSPAN=2 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>SSD1306 based OLED</STRONG></FONT></TD>
163
    </TR>
164
    <TR>
165
      <TD COLSPAN=2 CLASS=TABCOLOR2>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>
1113 tk 166
Up to 8 OLEDs can be (natively) controlled by a MIOS32 based core, they are accessed via 4-wire serial interface.<BR>
167
<A HREF="midibox_ng_manual_lcd.html">MIDIbox NG</A> even supports up to 64 SSD1306 displays!<BR>
168
<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!)</TD>
1001 tk 169
    </TR>
170
    <TR>
171
      <TD CLASS=TABCOLOR2><B>MIOS8 Wiring Diagrams:</B> not adapted (yet)</TD>
172
      <TD CLASS=TABCOLOR2><B>MIOS32 Wiring Diagrams:</B> <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></TD>
173
    </TR>
174
    <TR>
175
      <TD COLSPAN=2 CLASS=TABCOLOR2><B>Photo:</B> <A HREF="mbhp/mbhp_glcd_ssd1306.jpg">follow this link</A> and <A HREF="mbhp/mbhp_glcd_ssd1306_sideview.jpg">this link</A>
176
    </TR>
177
 
178
    <TR>
810 tk 179
      <TD COLSPAN=2 CLASS=TABCOLOR1><FONT SIZE=3><STRONG>Custom LCD driver</STRONG></FONT></TD>
163 tk 180
    </TR>
181
    <TR>
811 tk 182
      <TD CLASS=TABCOLOR2><B>MIOS8:</B> since MIOS V1.3 it is possible to integrate a custom LCD driver into the application. This allows programmers to write low-level drivers not only for GLCDs, but also for IIC or LED digit displays, without "touching" the operating system. And they are able to use the same MIOS_LCD_* functions like for other displays.<BR>Two examples are already mentioned above - the T6963C driver has been removed from the main MIOS8 release and is now available as separate driver (module/app_lcd/app_lcd.inc) which can be linked into every application.<BR>
810 tk 183
Another example is given with the IIC driver which accesses Magic Orbital LCDs via the IIC interface. This interface is normaly used by the BankStick, but can also be used to access other IIC devices (all IIC devices are connected to port CORE:J4 in parallel like shown in <A HREF="mbhp/mbhp_lcd_iic_mios8.pdf">this schematic</A>.</TD>
1021 tk 184
      <TD CLASS=TABCOLOR2><B>MIOS32:</B> each LCD has a separate driver which is selelected from the Makefile with an environment variable: modules/app_lcd/$MIOS32_LCD - the source code of all drivers is stored in the <A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fmodules%2Fapp_lcd%2F">repository</A>. The "universal" driver is used by default (to developers: 'export MIOS32_LCD=universal') and allows to select the most favourite LCDs during boot phase (and runtime). Users would typically specify the LCD type and dimensions with the bootloader update application which is available in the <A HREF="mios32_download.html">MIOS 32 download section</A>.</TD>
163 tk 185
    </TR>
186
 
187
  </TABLE></DD>
188
  </DD>
189
</DL>
190
 
191
 
192
<DL>
193
  <DT><H2> <IMG SRC="images/bullet.gif" ALT=""> Soldering Guide </H2></DT>
194
  <DD>
195
  <DD>
810 tk 196
<P CLASS=DESC>Jim Henry wrote a superb guide which can be downloaded from the MIDIbox server: <A HREF="http://www.midibox.org/users/jim_henry/building_a_midibox_lcd_cable.pdf">building_a_midibox_lcd_cable.pdf</A>. It has been written for the pinning of the <A HREF="mbhp_core.html">MBHP_CORE</A> module.<BR>
1001 tk 197
The <A HREF="mbhp_core_stm32.html">MBHP_CORE_STM32</A> and <A HREF="mbhp_core_lpc17.html">MBHP_CORE_LPC17</A> module uses a 1:1 pinning instead which simplifies the wiring a bit.</P>
163 tk 198
 
810 tk 199
<P CLASS=DESC>Please note that there are some additional hints at the <A HREF="http://www.midibox.org/dokuwiki/doku.php?id=home:mbhp:module:lcd" TARGET="_blank">MIDIbox Wiki</A> page!</P>
163 tk 200
  </DD>
201
</DL>
202
 
203
FOOTER