Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 Apr 2015 12:48:41 +0200
From:      Milan Obuch <freebsd-arch@dino.sk>
To:        Adrian Chadd <adrian@freebsd.org>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: using libgpio to bitbang LCDs!
Message-ID:  <20150427124841.7b8a59bc@zeta.dino.sk>
In-Reply-To: <CAJ-VmonT1FvoNUAAY1JeHM9LopaCiWvPBjw_ubP5Ktm0FYZBvA@mail.gmail.com>
References:  <CAJ-Vmo=n=Lfh_XqkxwAA43jUi7suoPjWV1uSv4VnKNncw3%2BPfw@mail.gmail.com> <CAJ-VmonT1FvoNUAAY1JeHM9LopaCiWvPBjw_ubP5Ktm0FYZBvA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 11 Apr 2015 23:45:55 -0700
Adrian Chadd <adrian@freebsd.org> wrote:

> Hi,
> 
> The library source code and a demo program is available here:
> 
> https://github.com/erikarn/freebsd-liblcd
> 
> It includes the wiring needed to hook the example OLED board up
> (http://www.adafruit.com/products/684) to a Carambola 2 evaluation
> board.
> 
> Anything you can get 5v and 5 GPIO pins from will work. (Well, as long
> as there's also libgpio / gpio API support for your device..)
> 
> 
> 
> -adrian
>

Hi,

I downloaded master.zip from github and now I am trying to modify it
for my hardware - Raspberry PI and TFT display with ILI9341 chip
https://learn.adafruit.com/adafruit-pitft-28-inch-resistive-touchscreen-display-raspberry-pi
My original attempt to use SPI failed probably because ILI9341 does not
use pure SPI, but there is one extension - DC pin. I did not manage to
satisfy chip's timing/bit sequence/whatever, so I would like to try bit
banging.

I found two small issues with archive downloaded -
freebsd-liblcd-master/src/beastie_ili9340c_320x240/Makefile seems to ba
a copy of freebsd-liblcd-master/src/beastie_ssd1351_128x128/Makefile, I
think there should be a difference, after my fix

--- beastie_ili9340c_320x240/Makefile   2015-04-23 21:40:10.693847000 +0200
+++ beastie_ssd1351_128x128/Makefile    2015-04-13 00:58:06.000000000 +0200
@@ -3,7 +3,7 @@
 
 .include <bsd.own.mk>
 
-PROG=beastie_ili9340c_320x240
+PROG=beastie_ssd1351_128x128
 SRCS=main.c
 CFLAGS+=-I../../lib/liblcd
 LDFLAGS+=-L../../lib/liblcd


The second issue is when doing 'make install' binaries produced are
being installed into / directory. While both are not fatal for me, they
are annoyances at least.

I found following in source files:

        /* Configured for the carambola 2 board */
        cfg.gpio_unit = 0;
        cfg.pin_cs = 19;
        cfg.pin_rst = 20;
        cfg.pin_dc = 21;
        cfg.pin_sck = 22;
        cfg.pin_mosi = 23;

I see there no 'pin_miso', so does this mean only one directional
communication is being used, no status reading, or both reading and
writing are being carried over one pin? If the former, then all I
should to do is change pin numbers in above given excerption to ones
valid for Raspberry Pi, if the later, I can't use this without more
modifications.

Also, I have simple monochrome display with PCD8544 chip, which should
use basically the same bus design, so it could be used for this too,
with some modification.

Regards,
Milan



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150427124841.7b8a59bc>