To honest, I've never really been a fan of the A, B, C.... display types. I know that it can make it easier to hook up panels
for less technical folks but it comes with some potential serious consequences. The biggest being if people start
to simply try them one after the other or simply pick the wrong one,
rather than compare it to the real datasheet to determine which one is the correct one,
it is possible that their display will be damaged.
The other issue that we ran into recently (which is what you are probably noticing) is the ks0108 playground is a "wiki"
page that is open for anyone to edit. The table has been updated/extended - which is what we wanted. Unfortunately, the
updates to the table were done incorrectly and have caused a deviation from the original table
and a deviation from the documentation included with the library.
i.e. the A, B, C, D.... display types on the wiki page no longer match the display types in the included library documentation.
This is very problematic because when they don't match, if someone says I have type "X" or vendor display "Y" is type "Z"
and they go by the table on the wiki, it can cause someone to wire it up incorrectly, which might damage the display.
The table on the wiki also currently does include the pinouts for the Teensy boards, whereas
the table included in the library HTML & PDF documentation does.
New table entries must always be added to end of the table and existing table entries cannot be modified.
Since the wiki is open for anyone to update,
I'm not sure how to really resolve this other than to remove the ability for people to update the wiki
or simply remove the table from wiki all together and only supply it with the library itself.
The safest thing to do is to always go by the data sheet and the "GLCD functions"
and Board type columns rather than use the display panel type columns in the table.
In other words, ignore the panel types columns in the table and match up your modules glcd pin functions
with the appropriate pins column for your board type.
It is simply a matter of looking at the table in a slightly different way.
To do this, you will be looking at your data-sheet, along with the "GLCD function" column
and then the appropriate board type column in table in the documentation included in the library.
(I prefer the HTML documentation)
So for example, if you want to know where to wire up the pin for glcd data bit 0,
scan down the "GLCD function" column until you see D0.
Then scan over to the board type you have.
If you have a standard Arduino board, you can see that glcd function pin D0 gets hooked up
to arduino pin 8.
Regardless of the panel, or panel type (A, B, C,....X...) glcd function pin D0 is *always* hooked up
to pin 8 on a standard Arduino. The columns for the different panel types were accounting for the
different pin numbers for glcd function pin D0 on the different glcd modules.
In your case, I would recommend that you hook up your display using this method.
Actually, I'd recommend this method for everyone, but some folks just want a simple table
The reason I prefer this method is that it works for any glcd module as long as you have the
Assuming your data-sheet is correct. (That pinout is very rare BTW).
Then start hooking up the pins by matching up your glcd functions to the correct
"arduino" pin. Assuming you have standard Arduino, here is are a few examples
to get you started.
Use the table that is included HTML documentation.
Pin 1 on your GLCD is cs1 (This is the same as CSEL1 in the table)
If you look in the table in the "GLCD Function" column, scan down until
you see the "CSEL1" entry. Then scan left until you get to the column
for your board type. Assuming you have a standard arduino, you will
see that CSEL1 connects to Arduino pin 14/Analog-0
So that means that GLCD pin 1 (CS1/CSEL1) connects to Arduino Pin 14/Analog-0.
GLCD pin 6 is Cd - (same as D_I)
[ Cd is command/data; D_I is for Data/Instruction - but are the same]
So scanning through the table, GLCD pin 6 (Cd/D_I) would be hooked up to Arduino pin 17/Analog-3
A few more pins for example
GLCD pin 8 Enable, would go to the EN Function or Arduino pin 18/Analog-4
GLCD pin 9 Db0, would go to the D0 Function or Arduino pin 8
If you have a mega or a Teensy, then use the appropriate board type column.
Hope that helps.