Jump to content
43oh

The Terminal - 43oh OLED Booster Pack


Recommended Posts

Yes as per the video for each of the OLED booster packs.

 

I will wire it up to my male header launchpads that don't have a crystal tonight but I doubt that is the issue. I have an MSP-TS430PW28A with a tssop based msp4302452 so I will jumper the OLED screens to that as well.

Link to post
Share on other sites
  • Replies 130
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

So since the past month, I have been working on an OLED display for the Launchpad. It is a 128*64 OLED based on the SSD1306 driver. The booster pack is currently configured as SPI to a MSP430G2452. Th

MikroElektronica GLCD Font Creator (free)   "GLCD Font Creator is the ultimate solution to create personalized fonts, symbols and icons for Graphic LCD (GLCD). It lets you create fonts for Liquid Cr

Posted Images

  • 2 weeks later...

Here's a little preview of the OLED running on the G2553 using USCI.

 

[attachment=0]oled_2553.jpg[/attachment]

This weekend, I'll post code/drivers. It works on F2274 and G2553 so it should work on any USCI devices. I am using a standard 6x8 font instead of the included fonts with the USI drivers.

 

Functions Included

void SSD1306SendCommand( char *data, int i );

void SSD1306SendData( char *data, int i );

void setAddress( char page, char column );

void clearScreen(void);

void charDraw(char row, char column, int data);

void stringDraw( char row, char column, char *word);

void pixelDraw(char x, char y);

void horizontalLine(char xStart, char xStop, char y);

void verticalLine(char x, char yStart, char yStop);

void imageDraw(const char IMAGE[], char row, char column);

void circleDraw(char x, char y, char radius); (not completed)

 

Minor Hardware Changes (previously mentioned by Robg)

SJ4 -> change to VDD (pulls BS0 high for 4 wire SPI)

SJ3 -> change to P1.7 (moves SDIN to USCI SIMO)

SJ6 -> change to P2.2 (moves D/C to GPIO)

Link to post
Share on other sites
void circle(register int x, register int y, int r)
{
   register int xx = -r;
   register int yy = 0;
   register int e = 2 - (2 * r);
   do {
       pixel(x - xx, y + yy);
       pixel(x - yy, y - xx);
       pixel(x + xx, y - yy);
       pixel(x + yy, y + xx);
       if(e >  xx) e += ((++xx << 1) + 1);
       if(e <= yy) e += ((++yy << 1) + 1);
   } while (xx < 0);
}

Link to post
Share on other sites

Ok, sweet, with oPossum's code, a circle is somewhat working...

 

[attachment=0]oled_circle.jpg[/attachment]

Now, I'm seeing where the issue is. I've put all of this together based on page addressing mode. The lack of pixels around the x-axis are due to the column of that page being addressed multiple times. So, I either need to change modes for drawing circles (involves a lot more work and new pixelDraw function), or do a check for the column number to make sure they retain the proper fill (possibly easiest solution), or waste a lot of RAM and slow things down by writing to a memory location and the OLED in each function (lots of work and slow).

Link to post
Share on other sites

The drivers and demo program are ready. I would post a video but the camera and focus are not being cooperative. The demo runs a noisy pattern to get a visual of the framerate, displays an icon, then shows text in an outline. Button functionality is included; S2 on the LP toggles the display on or off, left button of the BP toggles inverting the display and the right button adjusts the contrast levels in steps of 10.

 

I've uploaded everything to github. Please fork it and let's work on a few things together. The circle near the x-axis needs a bit of work. The next update will include text scrolling commands and, possibly, a 24x32 numerals only font.

https://github.com/GWDeveloper/OLED_MSP430_USCI

 

@bluehash, Feel free to download the .zip from git and post it with the BP in the store.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...