KUI

midibox_mm_v3

32 posts in this topic

Wow, this is an interesting input!

I haven't noticed this problem with my own SSD1306 displays yet, since they are connected to a minimalistic breadboard based CORE_LPC17 module (-> http://www.ucapps.de/mbhp/mbhp_core_lpc17_miniproto1.jpg)

The connection between J15:D7 and P1.19 is intended, the CLCD driver uses it to poll the busy bit.

I thought that I disabled the USB PPWR option, but it seems that this isn't the case.

While checking the schematic, I also noticed that there might be a problem with the BSL_HOLD function which is connected to J15:RW (more about this topic if it turns out that my assumptions are true).

I will check this today and evtl. release a new universal LCD driver.

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

I fixed this in http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fmios32%2FLPC17xx%2Fmios32_board.c

The issue wasn't related to the USB PPWR option, but to the activated pull-up device, which conflicted with the D7 driver. As a result the voltage level at this pin was a bit lower than for the other ones, and the SSD1306 OLED doesn't "like this".

Could you please check if this solution also works at your side?

Next step is to improve the reset circuit for the SSD1306 OLEDs, because it seems that they are sporadically not properly initialized after power-on.

A cap which stretches the reset pulse should help.

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Last update: a 10 uF cap should be added between the reset pins and ground to stretch the reset after power-on.

-> http://www.ucapps.de/mbhp/mbhp_lcd_ssd1306_single_mios32.pdf

The LCD driver now waits for 500 mS before the OLEDs are initialized.

This delay is especially required if the "fast_boot" option has been enabled in the bootloader.

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Wow very nice indeed,

That has fixed the 7th cs line with the ssd1306.

I will add the cap to the board and report back.

Can BUFLCD address all 8 displays?

Tipping my hat to you Sir,

KUI

Share this post


Link to post
Share on other sites

Can BUFLCD address all 8 displays?

It should work with following configuration in mios32_config.h:


#define BUFLCD_NUM_DEVICES 8
#define BUFLCD_COLUMNS_PER_DEVICE 20
#define BUFLCD_MAX_LINES 4
[/code]

The text output has to be adapted in mm_lcd.c

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

It should work with following configuration in mios32_config.h:


#define BUFLCD_NUM_DEVICES          8

#define BUFLCD_COLUMNS_PER_DEVICE  20

#define BUFLCD_MAX_LINES            4

The text output has to be adapted in mm_lcd.c

Best Regards, Thorsten.

Thanks,

Is the same true for LCv2?

KUI

Share this post


Link to post
Share on other sites

yes, it uses buflcd as well (meanwhile) :)

Best Regards, Thorsten.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now