Main Site Documentation

Newbie questions


#1

I haven’t even received my board yet (just now ordered Fez Cobra), but I wanted to get a head start.

I bought a really pretty yellow (monochrome/grayscale) 128x64 OLED display that will work either via SPI or Parallel. If update speed isn’t too bad, I’d like to connect via SPI to save pins. This device will be a web enabled (control alarms on web page) alarm clock that stores its settings and sounds on SD and uses NTP to stay up to date. I’ve already seen code for writing bits to the screen one frame at a time, and I’ve got a code snippet for NTP so I’m well on my way. However, what I’m curious about is if someone can tell me how screen access is set up in the API and in general.

My main goal is just to write some large and small fonts at a few places, updated every so many milliseconds or worst case 1 second, and it looks like the code example I saw would tackle that, but what I’m trying to understand is if normally when the LCD connector is used if it operates a different way or if everything is just done by setting up a bitmap and pushing it out to the display a frame at a time- eg can i/do i need to write some sort of display driver that implements an interface so that it can drive my OLED screen and have all the features available (to the limitations of the screen of course- several shades of grayscale).

TL;DR; can someone walk me through the screen API/layout in general terms?


#2

Welcome to the forum!

Do you have a link for your display? We might have something close on the code site for you to start with.


#3

Here is a code example for SPI Display (I don;t expect it to be compatible with yours but you can get an idea how to communicate with the display through his example)
http://code.tinyclr.com/project/250/graphical-36-128x64-display/
http://code.tinyclr.com/project/229/monochrome-128x64-oled-graphic-display-driver/

Here is a simple example how to draw characters:
http://code.tinyclr.com/project/32/graphical-128x64-uext—simple-graphics/

In general, code.tinyclr.com and wiki.tinyclr.com has a lot of examples. Also this link has many tutorials:
http://www.tinyclr.com/support/


#4

The display itself is a NHD-2.7-12864UCY3 (http://www.newhavendisplay.com/index.php?main_page=product_info&cPath=119_577&products_id=3621) spec doc linked on page or directly (http://www.newhavendisplay.com/specs/NHD-2.7-12864UCY3.pdf)

I’m considering re-purposing the original LCD pins (which it looks like I can do- i saw a post on this) for this, but I suppose that’s beyond the scope of this part.

I do have another question too- the Glide project has no releases yet says it has had 25 downloads of it… Where do I download glide?


#5

It looks like everything is pretty much frame by frame when writing to the display.
I saw some examples of rotating images and things, is this all done frame by frame as well?

[edit: snip]
My basic process looks like it will be:

  1. wait for stuff to arrive
  2. create LCD class that extends Bitmap, handles writing to the display and display’s commandset
  3. paint bitmap, watch results on screen?
    [/edit: snip]

edit: it actually looks like the graphical lcd example you gave works differently, using GPainter?


#6

You can download Glide source code and VS project from codeplex:

http://netmfglide.codeplex.com/

Then you need to include Glide project in your solution and add reference to your application project.


#7

That’s the page I was on. I went to downloads and it says no releases?

edit: ahh I found it- source code tab.


#8

Well thanks for your intro help. I’m sure I’ll be back next weekend- should be getting my stuff this week I hope. Who knows about the LCD. It seems like too good a deal for $35- I can only hope it ends up looking as pretty as it does on the website. I really wanted a nice bright black background display for my clock. Its like christmas or something- I won’t be able to sleep all week.


#9

Click on “Source Code” tab and then “Download”.

Edit: Good, you found it on your own, while I was making a screenshot 8)


#10

We’ll be here ;D. Good luck!