From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13670 invoked by alias); 27 Oct 2009 12:20:20 -0000 Received: (qmail 13658 invoked by uid 22791); 27 Oct 2009 12:20:19 -0000 X-SWARE-Spam-Status: No, hits=-1.2 required=5.0 tests=AWL,BAYES_05,SPF_PASS X-Spam-Check-By: sourceware.org Received: from cheviot21.ncl.ac.uk (HELO cheviot21.ncl.ac.uk) (128.240.234.21) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 27 Oct 2009 12:20:14 +0000 Received: from cheviot21.ncl.ac.uk (localhost.localdomain [127.0.0.1]) by cheviot21.ncl.ac.uk (8.13.8/8.13.8) with ESMTP id n9RCKBaL020563 for ; Tue, 27 Oct 2009 12:20:11 GMT Received: from exhubdb01.campus.ncl.ac.uk (exhubdb01.ncl.ac.uk [10.8.239.3]) by cheviot21.ncl.ac.uk (cheviot21.ncl.ac.uk [128.240.234.73]) envelope-from with ESMTP id l9QCKB19680508704s ret-id none; Tue, 27 Oct 2009 12:20:11 +0000 Received: from EXSAN01.campus.ncl.ac.uk ([10.8.239.12]) by exhubdb01.campus.ncl.ac.uk ([10.8.239.3]) with mapi; Tue, 27 Oct 2009 12:20:10 +0000 From: Steven Clugston To: "ecos-discuss@ecos.sourceware.org" Date: Tue, 27 Oct 2009 12:20:00 -0000 Message-ID: <4DCF6DBD3535F742BB167C528BBEE9803828B88A30@EXSAN01.campus.ncl.ac.uk> Content-Type: multipart/mixed; boundary="_002_4DCF6DBD3535F742BB167C528BBEE9803828B88A30EXSAN01campus_" MIME-Version: 1.0 X-smtpf-Report: sid=l9QCK6196805087000; client=lan,relay,white,ipv6; mail=; rcpt=; nrcpt=1:0; fails=0 Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: [ECOS] Alphanumeric LCD driver X-SW-Source: 2009-10/txt/msg00165.txt.bz2 --_002_4DCF6DBD3535F742BB167C528BBEE9803828B88A30EXSAN01campus_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-length: 1720 Hi all. I've got some code to offer for discussion/comments. I've written a simple bit-bash style LCD driver for those very common 2-lin= e LCDs that use the Hitachi 4 or 8-bit HD44780 protocol. I created an IO layer so that other types such as SPI, I2C, USB might be ad= ded at a later stage. I've been using this code with an Olimex SAM7MT256 board which comes with o= ne of these screens already soldered on it. I think they also do an almost identical board which uses an LPC2xxx chip i= nstead of an AT91. Anyway, the code works as it stands with the above board, but I need to add= some macros in a similar way to the I2C bit bang bus so that the HAL or ap= plication can define which IO lines are used for the LCD data and control l= ines. The end goal for me is to be able to use a pdcurses wrapper driver with it = so that the management of the screen's contents is improved by creating vir= tual pages which can be cycled through for example. It might seem like over= kill and a major code bloat for a 2-line screen I suppose, but it could be = extended for larger screens at some point in the future. I've started to w= rite the pdcurses driver and tested it and it seems to work in a standalone= application, but I've not included it yet as it need more cleanup and test= ing. I think LCD screens can be a useful debugging/tracing tool when all serial = ports are taken or where there are none in the first place. They are a step= better than just flashing a LED anyway. Before I send any more time on it, is anybody else interested in this and w= ould it eventually acceptable for CVS? Are there any comments/suggestions particularly with regard to the IO layer= generality? Regards, Steven= --_002_4DCF6DBD3535F742BB167C528BBEE9803828B88A30EXSAN01campus_ Content-Type: application/x-gzip; name="alphanumlcd.tar.gz" Content-Description: alphanumlcd.tar.gz Content-Disposition: attachment; filename="alphanumlcd.tar.gz"; size=5229; creation-date="Tue, 27 Oct 2009 11:59:09 GMT"; modification-date="Tue, 27 Oct 2009 11:59:09 GMT" Content-Transfer-Encoding: base64 Content-length: 7089 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 L+LJe8EAoAAA --_002_4DCF6DBD3535F742BB167C528BBEE9803828B88A30EXSAN01campus_ Content-Type: text/plain; charset=us-ascii Content-length: 148 -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss --_002_4DCF6DBD3535F742BB167C528BBEE9803828B88A30EXSAN01campus_--