Add imonlcd driver for SoundGraph iMON OEM LCD modules (by Dean Harding,
Christian Leuschen, Jonathan Kyler and Eric Pooch)
This commit is contained in:
@@ -211,6 +211,7 @@ Eric Pooch:
|
|||||||
- Mac OS X / Darwin support
|
- Mac OS X / Darwin support
|
||||||
- serialPOS driver
|
- serialPOS driver
|
||||||
- uss720 connection type for hd44780 driver
|
- uss720 connection type for hd44780 driver
|
||||||
|
- driver for SoundGraph iMON OEM LCD Modules
|
||||||
|
|
||||||
Benjamin Wiedmann
|
Benjamin Wiedmann
|
||||||
- Added functionality for HITACHI SP14Q002 gLCD (320x240)
|
- Added functionality for HITACHI SP14Q002 gLCD (320x240)
|
||||||
@@ -259,6 +260,11 @@ Phant0m / Aron Parsons
|
|||||||
Malte Poeggel
|
Malte Poeggel
|
||||||
- support for ST7036 controller in hd44780
|
- support for ST7036 controller in hd44780
|
||||||
|
|
||||||
|
Dean Harding,
|
||||||
|
Christian Leuschen,
|
||||||
|
Jonathan Kyler:
|
||||||
|
- driver for SoundGraph iMON OEM LCD Modules
|
||||||
|
|
||||||
|
|
||||||
Further developers in the sourceforge lcdproc team:
|
Further developers in the sourceforge lcdproc team:
|
||||||
Mindaugas Idzelis aim4min
|
Mindaugas Idzelis aim4min
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ v.0.5dev (ongoing development)
|
|||||||
* imon driver: Change hbars to make last char in-/decrease vertically
|
* imon driver: Change hbars to make last char in-/decrease vertically
|
||||||
+ hd44780 driver: port usblcd connection type from 0.4.5 to 0.5 (M. Dolze)
|
+ hd44780 driver: port usblcd connection type from 0.4.5 to 0.5 (M. Dolze)
|
||||||
* server: Fix interpretation of named screen priorities
|
* server: Fix interpretation of named screen priorities
|
||||||
|
+ new driver imonlcd for SoundGraph iMON LCD (Dean Harding, Jonathan Kyler)
|
||||||
|
|
||||||
v.0.5.2
|
v.0.5.2
|
||||||
* fix switching on/off the Load screen in lcdproc client using the menu
|
* fix switching on/off the Load screen in lcdproc client using the menu
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ DriverPath=server/drivers/
|
|||||||
#
|
#
|
||||||
# The following drivers are supported:
|
# The following drivers are supported:
|
||||||
# bayrad, CFontz, CFontz633, CFontzPacket, curses, CwLnx, ea65,
|
# bayrad, CFontz, CFontz633, CFontzPacket, curses, CwLnx, ea65,
|
||||||
# EyeboxOne, g15, glcdlib, glk, hd44780, icp_a106, imon, IOWarrior,
|
# EyeboxOne, g15, glcdlib, glk, hd44780, icp_a106, imon, imonlcd, IOWarrior,
|
||||||
# irman, joy, lb216, lcdm001, lcterm, lirc, lis, MD8800, ms6931, mtc_s16209x,
|
# irman, joy, lb216, lcdm001, lcterm, lirc, lis, MD8800, ms6931, mtc_s16209x,
|
||||||
# MtxOrb, mx5000, NoritakeVFD, picolcd, pyramid, sed1330, sed1520, serialPOS,
|
# MtxOrb, mx5000, NoritakeVFD, picolcd, pyramid, sed1330, sed1520, serialPOS,
|
||||||
# serialVFD, shuttleVFD, sli, stv5730, svga, t6963, text, tyan, ula200,
|
# serialVFD, shuttleVFD, sli, stv5730, svga, t6963, text, tyan, ula200,
|
||||||
@@ -550,6 +550,34 @@ Size=16x2
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Soundgraph iMON LCD ##
|
||||||
|
[imonlcd]
|
||||||
|
# Specify which iMon protocol should be used [legal: 0=15c2:ffdc device,
|
||||||
|
# 1=15c2:0038 device; default: 0]
|
||||||
|
Protocol=0
|
||||||
|
|
||||||
|
# Set the exit behavior [legal: 0=leave shutdown message, 1=show the big clock,
|
||||||
|
# 2=blank device; default: 1]
|
||||||
|
#OnExit=2
|
||||||
|
|
||||||
|
# Select the output device to use [default: /dev/lcd0]
|
||||||
|
Device=/dev/lcd0
|
||||||
|
|
||||||
|
# Select the displays contrast [default: 200; legal: 0-1000]
|
||||||
|
Contrast=200
|
||||||
|
|
||||||
|
# Specify the size of the display in pixels [default: 96x16]
|
||||||
|
#Size=96x16
|
||||||
|
|
||||||
|
# Set the backlight state [default: on; legal: on, off]
|
||||||
|
#Backlight=on
|
||||||
|
|
||||||
|
# Set the disc mode [legal: 0=spin the "slim" disc - two disc segments,
|
||||||
|
# 1=their complement spinning; default: 0]
|
||||||
|
#DiscMode=0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## IrMan driver ##
|
## IrMan driver ##
|
||||||
[IrMan]
|
[IrMan]
|
||||||
# in case of trouble with IrMan, try the Lirc emulator for IrMan
|
# in case of trouble with IrMan, try the Lirc emulator for IrMan
|
||||||
@@ -1063,5 +1091,4 @@ Offset=200x200
|
|||||||
# X font to use, in XLFD format, as given by "xfontsel"
|
# X font to use, in XLFD format, as given by "xfontsel"
|
||||||
Font=-*-terminus-*-r-*-*-*-320-*-*-*-*-*
|
Font=-*-terminus-*-r-*-*-*-320-*-*-*-*-*
|
||||||
|
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|||||||
+6
-2
@@ -9,7 +9,7 @@ AC_ARG_ENABLE(drivers,
|
|||||||
[ which is a comma-separated list of drivers.]
|
[ which is a comma-separated list of drivers.]
|
||||||
[ Possible drivers are:]
|
[ Possible drivers are:]
|
||||||
[ bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,ea65,]
|
[ bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,ea65,]
|
||||||
[ EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,icp_a106,imon,]
|
[ EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,icp_a106,imon,imonlcd,]
|
||||||
[ IOWarrior,irman,irtrans,joy,lb216,lcdm001,lcterm,lirc,lis,]
|
[ IOWarrior,irman,irtrans,joy,lb216,lcdm001,lcterm,lirc,lis,]
|
||||||
[ MD8800,ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,picolcd,]
|
[ MD8800,ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,picolcd,]
|
||||||
[ pyramid,sed1330,sed1520,serialPOS,serialVFD,shuttleVFD,sli,]
|
[ pyramid,sed1330,sed1520,serialPOS,serialVFD,shuttleVFD,sli,]
|
||||||
@@ -19,7 +19,7 @@ AC_ARG_ENABLE(drivers,
|
|||||||
drivers="$enableval",
|
drivers="$enableval",
|
||||||
drivers=[bayrad,CFontz,CFontz633,curses,CwLnx,glk,lb216,lcdm001,MtxOrb,pyramid,text])
|
drivers=[bayrad,CFontz,CFontz633,curses,CwLnx,glk,lb216,lcdm001,MtxOrb,pyramid,text])
|
||||||
|
|
||||||
allDrivers=[bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,icp_a106,imon,IOWarrior,irman,irtrans,joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,picolcd,pyramid,sed1330,sed1520,serialPOS,serialVFD,shuttleVFD,sli,stv5730,svga,t6963,text,tyan,ula200,xosd]
|
allDrivers=[bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,picolcd,pyramid,sed1330,sed1520,serialPOS,serialVFD,shuttleVFD,sli,stv5730,svga,t6963,text,tyan,ula200,xosd]
|
||||||
|
|
||||||
drivers=`echo $drivers | sed -e 's/,/ /g'`
|
drivers=`echo $drivers | sed -e 's/,/ /g'`
|
||||||
|
|
||||||
@@ -224,6 +224,10 @@ dnl else
|
|||||||
DRIVERS="$DRIVERS imon${SO}"
|
DRIVERS="$DRIVERS imon${SO}"
|
||||||
actdrivers=["$actdrivers imon"]
|
actdrivers=["$actdrivers imon"]
|
||||||
;;
|
;;
|
||||||
|
imonlcd)
|
||||||
|
DRIVERS="$DRIVERS imonlcd${SO}"
|
||||||
|
actdrivers=["$actdrivers imonlcd"]
|
||||||
|
;;
|
||||||
IOWarrior)
|
IOWarrior)
|
||||||
if test "$enable_libusb" = yes ; then
|
if test "$enable_libusb" = yes ; then
|
||||||
DRIVERS="$DRIVERS IOWarrior${SO}"
|
DRIVERS="$DRIVERS IOWarrior${SO}"
|
||||||
|
|||||||
@@ -150,6 +150,9 @@ credit_screen(int rep, int display, int *flags_ptr)
|
|||||||
"Jack Cleaver",
|
"Jack Cleaver",
|
||||||
"Aron Parsons",
|
"Aron Parsons",
|
||||||
"Malte Poeggel",
|
"Malte Poeggel",
|
||||||
|
"Dean Harding",
|
||||||
|
"Christian Leuschen",
|
||||||
|
"Jonathan Kyler",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
int contr_num = 0;
|
int contr_num = 0;
|
||||||
|
|||||||
@@ -186,6 +186,9 @@ ICP A106 alarm/LCD board in 19" rack cases by ICP
|
|||||||
.B imon
|
.B imon
|
||||||
iMON IR/VFD modules in cases by Soundgraph/Ahanix/Silverstone/Uneed/Accent
|
iMON IR/VFD modules in cases by Soundgraph/Ahanix/Silverstone/Uneed/Accent
|
||||||
.TP
|
.TP
|
||||||
|
.B imonlcd
|
||||||
|
iMON IR/LCD modules in cases by Soundgraph/Ahanix/Silverstone/Uneed/Accent/Antec
|
||||||
|
.TP
|
||||||
.B irtrans
|
.B irtrans
|
||||||
IRTrans IR/VFD modules in cases by Ahanix (e.g. MCE303) and possibly others
|
IRTrans IR/VFD modules in cases by Ahanix (e.g. MCE303) and possibly others
|
||||||
May require irserver (http://www.irtrans.de/en/download/linux.php) to be running for connectivity.
|
May require irserver (http://www.irtrans.de/en/download/linux.php) to be running for connectivity.
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ well as the configuration of LCDd.
|
|||||||
&hd44780;
|
&hd44780;
|
||||||
&icp_a106;
|
&icp_a106;
|
||||||
&imon;
|
&imon;
|
||||||
|
&imonlcd;
|
||||||
&IOWarrior;
|
&IOWarrior;
|
||||||
&irman;
|
&irman;
|
||||||
&irtrans;
|
&irtrans;
|
||||||
|
|||||||
@@ -0,0 +1,134 @@
|
|||||||
|
<sect1 id="imonlcd-howto">
|
||||||
|
<title>The imonlcd Driver</title>
|
||||||
|
|
||||||
|
<sect2 id="imonlcd-general">
|
||||||
|
<title>General</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This section talks about using LCDproc with LCD devices manufactured by SoundGraph.
|
||||||
|
For example, <ulink url="http://www.soundgraph.com/Eng_/Products/oem3.aspx">the iMON OEM LCD</ulink>.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
This driver currently supports versions 15c2:ffdc and 15c2:0038 of the device.
|
||||||
|
(You can find the version of your lcd via the lsusb command).
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
In many systems, the LCD backlight will remain on after the system is shutdown.
|
||||||
|
This behavior remains a mystery - somehow the lcd recieves a reset command (or
|
||||||
|
similar) AFTER LCDd is stopped.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para id="imonlcd-kernelmodules">
|
||||||
|
This driver requires the iMON module included with LIRC v0.8.4a or newer,
|
||||||
|
available from the <ulink url="http://www.lirc.org">LIRC project</ulink>.
|
||||||
|
The 15c2:0038 device may require LIRC v0.8.5 or newer.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
|
||||||
|
<sect2 id="imonlcd-config">
|
||||||
|
<title>Configuration in LCDd.conf</title>
|
||||||
|
|
||||||
|
<sect3 id="imonlcd-config-section">
|
||||||
|
<title>[imonlcd]</title>
|
||||||
|
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<command>Protocol</command> =
|
||||||
|
<arg choice="plain">
|
||||||
|
<replaceable>PROTOCOL</replaceable>
|
||||||
|
</arg>
|
||||||
|
</term>
|
||||||
|
<listitem><para>
|
||||||
|
Specify which version of iMON LCD is installed.
|
||||||
|
The default, <literal>0</literal> specifies the :ffdc device.
|
||||||
|
<literal>1</literal> should be used for the :0038 device.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<command>OnExit</command> =
|
||||||
|
<arg choice="plain"><replaceable>ONEXIT</replaceable></arg>
|
||||||
|
</term>
|
||||||
|
<listitem><para>
|
||||||
|
Specify the exit behavior.
|
||||||
|
The default is <literal>1</literal>, which turns on the big ugly clock upon
|
||||||
|
shutdown. <literal>0</literal> leaves the shutdown message on the screen.
|
||||||
|
<literal>2</literal> turns the LCD off.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<command>Device</command> =
|
||||||
|
<arg choice="plain"><replaceable>DEVICE</replaceable></arg>
|
||||||
|
</term>
|
||||||
|
<listitem><para>
|
||||||
|
Select the output device to use. Change this from the default
|
||||||
|
<filename>/dev/lcd0</filename> to the device file that gets created
|
||||||
|
when the kernel module (<link linkend="imonlcd-kernelmodules">see above</link>)
|
||||||
|
is loaded.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<command>Contrast</command> =
|
||||||
|
<arg choice="plain"><replaceable>CONTRAST</replaceable></arg>
|
||||||
|
</term>
|
||||||
|
<listitem><para>
|
||||||
|
Select the display's contrast <literal>200</literal> is the default.
|
||||||
|
Permissible values are in the range of <literal>0</literal>-<literal>1000</literal>.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<command>Size</command> =
|
||||||
|
<arg choice="plain">
|
||||||
|
<replaceable>WIDTH</replaceable>
|
||||||
|
<literal>x</literal>
|
||||||
|
<replaceable>HEIGHT</replaceable>
|
||||||
|
</arg>
|
||||||
|
</term>
|
||||||
|
<listitem><para>
|
||||||
|
Set the display size in pixels. The default <literal>96x16</literal> should
|
||||||
|
be safe for most if not all users, since the device seeems to be made only
|
||||||
|
with this one size.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<command>Backlight</command> =
|
||||||
|
<arg choice="plain"><replaceable>BACKLIGHT</replaceable></arg>
|
||||||
|
</term>
|
||||||
|
<listitem><para>
|
||||||
|
Set the backlight state. The default is <literal>1</literal>, which turns
|
||||||
|
the backlight on. <literal>0</literal> turns the backlight off.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<command>DiscMode</command> =
|
||||||
|
<arg choice="plain"><replaceable>DISCMODE</replaceable></arg>
|
||||||
|
</term>
|
||||||
|
<listitem><para>
|
||||||
|
Sets the disc mode. The default is <literal>0</literal> which spins the
|
||||||
|
"slim" disc. <literal>1</literal> spins their complement.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
</variablelist>
|
||||||
|
|
||||||
|
</sect3>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
</sect1>
|
||||||
@@ -28,6 +28,7 @@
|
|||||||
<!ENTITY i2500vfd SYSTEM "drivers/i2500vfd.docbook">
|
<!ENTITY i2500vfd SYSTEM "drivers/i2500vfd.docbook">
|
||||||
<!ENTITY icp_a106 SYSTEM "drivers/icp_a106.docbook">
|
<!ENTITY icp_a106 SYSTEM "drivers/icp_a106.docbook">
|
||||||
<!ENTITY imon SYSTEM "drivers/imon.docbook">
|
<!ENTITY imon SYSTEM "drivers/imon.docbook">
|
||||||
|
<!ENTITY imonlcd SYSTEM "drivers/imonlcd.docbook">
|
||||||
<!ENTITY IOWarrior SYSTEM "drivers/IOWarrior.docbook">
|
<!ENTITY IOWarrior SYSTEM "drivers/IOWarrior.docbook">
|
||||||
<!ENTITY irman SYSTEM "drivers/irman.docbook">
|
<!ENTITY irman SYSTEM "drivers/irman.docbook">
|
||||||
<!ENTITY irtrans SYSTEM "drivers/irtrans.docbook">
|
<!ENTITY irtrans SYSTEM "drivers/irtrans.docbook">
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ AM_LDFLAGS = @LDSHARED@
|
|||||||
#LIBS =
|
#LIBS =
|
||||||
|
|
||||||
pkglib_PROGRAMS = @DRIVERS@
|
pkglib_PROGRAMS = @DRIVERS@
|
||||||
EXTRA_PROGRAMS = bayrad CFontz CFontz633 CFontzPacket curses CwLnx ea65 EyeboxOne g15 glcdlib glk hd44780 icp_a106 imon IOWarrior irman joy lb216 lcdm001 lcterm lirc lis MD8800 ms6931 mtc_s16209x MtxOrb mx5000 NoritakeVFD picolcd pyramid sed1330 sed1520 serialPOS serialVFD shuttleVFD stv5730 svga t6963 text tyan sli ula200 xosd i2500vfd irtrans
|
EXTRA_PROGRAMS = bayrad CFontz CFontz633 CFontzPacket curses CwLnx ea65 EyeboxOne g15 glcdlib glk hd44780 icp_a106 imon imonlcd IOWarrior irman joy lb216 lcdm001 lcterm lirc lis MD8800 ms6931 mtc_s16209x MtxOrb mx5000 NoritakeVFD picolcd pyramid sed1330 sed1520 serialPOS serialVFD shuttleVFD stv5730 svga t6963 text tyan sli ula200 xosd i2500vfd irtrans
|
||||||
noinst_LIBRARIES = libLCD.a libbignum.a
|
noinst_LIBRARIES = libLCD.a libbignum.a
|
||||||
|
|
||||||
IOWarrior_CFLAGS = @LIBUSB_CFLAGS@ $(AM_CFLAGS)
|
IOWarrior_CFLAGS = @LIBUSB_CFLAGS@ $(AM_CFLAGS)
|
||||||
@@ -42,6 +42,7 @@ hd44780_LDADD = libLCD.a @HD44780_DRIVERS@ @LIBUSB_LIBS@ @LIBFTDI_LIBS@ lib
|
|||||||
hd44780_DEPENDENCIES = @HD44780_DRIVERS@
|
hd44780_DEPENDENCIES = @HD44780_DRIVERS@
|
||||||
icp_a106_LDADD = libLCD.a
|
icp_a106_LDADD = libLCD.a
|
||||||
imon_LDADD = libLCD.a
|
imon_LDADD = libLCD.a
|
||||||
|
imonlcd_LDADD = libLCD.a
|
||||||
IOWarrior_LDADD = @LIBUSB_LIBS@ libLCD.a libbignum.a
|
IOWarrior_LDADD = @LIBUSB_LIBS@ libLCD.a libbignum.a
|
||||||
irman_LDADD = @LIBIRMAN@
|
irman_LDADD = @LIBIRMAN@
|
||||||
lcterm_LDADD = libLCD.a
|
lcterm_LDADD = libLCD.a
|
||||||
@@ -84,6 +85,7 @@ EXTRA_hd44780_SOURCES = hd44780-4bit.c hd44780-4bit.h hd44780-ext8bit.c hd44780-
|
|||||||
|
|
||||||
icp_a106_SOURCES = lcd.h lcd_lib.h icp_a106.c icp_a106.h report.h
|
icp_a106_SOURCES = lcd.h lcd_lib.h icp_a106.c icp_a106.h report.h
|
||||||
imon_SOURCES = lcd.h lcd_lib.h imon.h imon.c report.h
|
imon_SOURCES = lcd.h lcd_lib.h imon.h imon.c report.h
|
||||||
|
imonlcd_SOURCES = lcd.h lcd_lib.h imonlcd.h imonlcd_font.h imonlcd.c report.h
|
||||||
IOWarrior_SOURCES = lcd.h lcd_lib.h hd44780-charmap.h IOWarrior.c IOWarrior.h report.h adv_bignum.h
|
IOWarrior_SOURCES = lcd.h lcd_lib.h hd44780-charmap.h IOWarrior.c IOWarrior.h report.h adv_bignum.h
|
||||||
irman_SOURCES = lcd.h irmanin.c irmanin.h report.h
|
irman_SOURCES = lcd.h irmanin.c irmanin.h report.h
|
||||||
joy_SOURCES = lcd.h joy.c joy.h port.h report.h
|
joy_SOURCES = lcd.h joy.c joy.h port.h report.h
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,62 @@
|
|||||||
|
/** \file server/drivers/imonlcd.h
|
||||||
|
* Driver for SoundGraph iMON OEM LCD Modules
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*-
|
||||||
|
* Copyright (c) 2004, Venky Raju <dev (at) venky (dot) ws>
|
||||||
|
* 2007, Dean Harding <dean (at) codeka dotcom>
|
||||||
|
* 2007, Christian Leuschen <christian (dot) leuschen (at) gmx (dot) de>
|
||||||
|
* 2009, Jonathan Kyler <jkyler (at) users (dot) sourceforge (dot) net>
|
||||||
|
* 2009, Eric Pooch < epooch (at) cox (dot) net>
|
||||||
|
*
|
||||||
|
* This file is released under the GNU General Public License. Refer to the
|
||||||
|
* COPYING file distributed with this package.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef IMONLCD_H
|
||||||
|
#define IMONLCD_H
|
||||||
|
|
||||||
|
#include "lcd.h"
|
||||||
|
|
||||||
|
/* mandatory functions (necessary for all drivers) */
|
||||||
|
MODULE_EXPORT int imonlcd_init (Driver *drvthis);
|
||||||
|
MODULE_EXPORT void imonlcd_close (Driver *drvthis);
|
||||||
|
|
||||||
|
/* essential output functions (necessary for output drivers) */
|
||||||
|
MODULE_EXPORT int imonlcd_width (Driver *drvthis);
|
||||||
|
MODULE_EXPORT int imonlcd_height (Driver *drvthis);
|
||||||
|
MODULE_EXPORT void imonlcd_clear (Driver *drvthis);
|
||||||
|
MODULE_EXPORT void imonlcd_flush (Driver *drvthis);
|
||||||
|
MODULE_EXPORT void imonlcd_string (Driver *drvthis, int x, int y, const char string[]);
|
||||||
|
MODULE_EXPORT void imonlcd_chr (Driver *drvthis, int x, int y, char c);
|
||||||
|
|
||||||
|
/* essential input functions (necessary for all input drivers) */
|
||||||
|
/* char *imonlcd_get_key NOT IMPLEMENTED */
|
||||||
|
|
||||||
|
/* extended output functions (optional; core provides alternatives) */
|
||||||
|
MODULE_EXPORT void imonlcd_vbar (Driver *drvthis, int x, int y, int len, int promille, int options);
|
||||||
|
MODULE_EXPORT void imonlcd_hbar (Driver *drvthis, int x, int y, int len, int promille, int options);
|
||||||
|
MODULE_EXPORT void imonlcd_num (Driver *drvthis, int x, int num);
|
||||||
|
/* MODULE_EXPORT void imonlcd_heartbeat (Driver *drvthis, int state); NOT IMPLEMENTED */
|
||||||
|
/* MODULE_EXPORT int imonlcd_icon (Driver *drvthis, int x, int y, int icon); NOT IMPLEMENTED */
|
||||||
|
/* MODULE_EXPORT void imonlcd_cursor (Driver *drvthis, int x, int y, int type); NOT IMPLEMENTED */
|
||||||
|
|
||||||
|
/* user-defined character functions, are those still supported ? */
|
||||||
|
/* MODULE_EXPORT void imonlcd_set_char (Driver *drvthis, int n, char *dat); NOT IMPLEMENTED */
|
||||||
|
/* MODULE_EXPORT int imonlcd_get_free_chars (Driver *drvthis); NOT IMPLEMENTED */
|
||||||
|
MODULE_EXPORT int imonlcd_cellwidth (Driver *drvthis);
|
||||||
|
MODULE_EXPORT int imonlcd_cellheight (Driver *drvthis);
|
||||||
|
|
||||||
|
/* Hardware functions */
|
||||||
|
MODULE_EXPORT int imonlcd_get_contrast (Driver *drvthis);
|
||||||
|
MODULE_EXPORT void imonlcd_set_contrast (Driver *drvthis, int promille);
|
||||||
|
/* MODULE_EXPORT int imonlcd_get_brightness (Driver *drvthis, int state); NOT IMPLEMENTED */
|
||||||
|
/* MODULE_EXPORT void imonlcd_set_brightness (Driver *drvthis, int state, int promille); NOT IMPLEMENTED */
|
||||||
|
MODULE_EXPORT void imonlcd_backlight(Driver *drvthis, int on);
|
||||||
|
MODULE_EXPORT void imonlcd_output (Driver *drvthis, int state);
|
||||||
|
|
||||||
|
/* informational functions */
|
||||||
|
MODULE_EXPORT const char *imonlcd_get_info (Driver *drvthis);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
@@ -0,0 +1,630 @@
|
|||||||
|
// -*- coding:iso-8859-15 -*-
|
||||||
|
/** \file server/drivers/imonlcd_font.h
|
||||||
|
* This is a definition of a font for use with the iMON LCD.
|
||||||
|
*
|
||||||
|
* The iMON LCD doesn't have a "text mode" - everthing is pixel-based.
|
||||||
|
* So we need to define our own font, basically.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*-
|
||||||
|
* Created March 2009 by Jonathan Kyler for inclusion in lcdproc
|
||||||
|
* Structure based on codeka's imonlcd patch by Dean Harding
|
||||||
|
* Font based on Toshiba T6963 based LCD display driver font by Manuel Stahl
|
||||||
|
*
|
||||||
|
* Copyright (c) 2009, Jonathan Kyler <jkyler (at) users (dot) sourceforge (dot) net>
|
||||||
|
*
|
||||||
|
* This file is released under the GNU General Public License. Refer to the
|
||||||
|
* COPYING file distributed with this package.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef IMONLCD_EXTENDED_CHARACTERS
|
||||||
|
#define IMONLCD_EXTENDED_CHARACTERS
|
||||||
|
|
||||||
|
#define IMONLCD_FONT_FULL_HEART 3
|
||||||
|
#define IMONLCD_FONT_SMALL_HEART 4
|
||||||
|
#define IMONLCD_FONT_FULL_BLOCK 141
|
||||||
|
#define IMONLCD_FONT_LEFT_ARROW 155
|
||||||
|
#define IMONLCD_FONT_UP_ARROW 156
|
||||||
|
#define IMONLCD_FONT_RIGHT_ARROW 157
|
||||||
|
#define IMONLCD_FONT_DOWN_ARROW 158
|
||||||
|
|
||||||
|
#define IMONLCD_FONT_STOP 19
|
||||||
|
#define IMONLCD_FONT_PLAY 16
|
||||||
|
#define IMONLCD_FONT_PAUSE 18
|
||||||
|
#define IMONLCD_FONT_REVERSE 17
|
||||||
|
#define IMONLCD_FONT_FWD 21
|
||||||
|
#define IMONLCD_FONT_RWD 22
|
||||||
|
#define IMONLCD_FONT_RECORD 15
|
||||||
|
|
||||||
|
#define IMONLCD_FONT_START_VBAR_FULL 23
|
||||||
|
#define IMONLCD_FONT_START_VBAR_NARROW 127
|
||||||
|
#define IMONLCD_FONT_START_HBAR_NARROW 135
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This structure holds the definition of the font.
|
||||||
|
*
|
||||||
|
* The characters we define here are 6x8 pixels in size, each byte in the
|
||||||
|
* 'pixels' array represents one column of pixels. The most significant bit
|
||||||
|
* is the top row, the least significant bit is the bottom row.
|
||||||
|
*/
|
||||||
|
typedef struct _imon_font {
|
||||||
|
unsigned char pixels[LCD_DEFAULT_CELL_WIDTH];
|
||||||
|
} imon_font;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Based on ISO 8859-15: http://en.wikipedia.org/wiki/ISO_8859-15
|
||||||
|
* Characters 0-14 are from the t6963 font, which is based on the
|
||||||
|
* CP437 character set. The diamond is replaced with a small heart
|
||||||
|
* for use in a heartbeat display.
|
||||||
|
* Characters 15-22 provide common play, record, stop, etc icons.
|
||||||
|
* Characters 23-29 provide a vertical progress bar display - using all
|
||||||
|
* 6 pixels in width
|
||||||
|
* Characters 30 & 31 are currently blank
|
||||||
|
* Characters 32-126 match ISO_8859-15 characters
|
||||||
|
* Characters 127-134 provide a vertical progress bar display, but only
|
||||||
|
* use 4 of the 6 characters in width
|
||||||
|
* Characters 135-140 provide a horizontal progress bar, using only
|
||||||
|
* 4 of the 8 characters in height
|
||||||
|
* Character 141 is a full block (all pixels used)
|
||||||
|
* Characters 142-152 provide some greek symbols
|
||||||
|
* Characters 153 & 154 make up a mail envelope icon
|
||||||
|
* Characters 155-159 are arrows
|
||||||
|
* Character 160 is currently blank
|
||||||
|
* Characters 161-255 match ISO_8859-15 characters
|
||||||
|
*/
|
||||||
|
static imon_font font[] = {
|
||||||
|
{ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // 0 \u0020 space
|
||||||
|
{ {0x00, 0x7c, 0xa2, 0x8a, 0xa2, 0x7c } }, // 1 \u263a light smiley face
|
||||||
|
{ {0x00, 0x7c, 0xd6, 0xf6, 0xd6, 0x7c } }, // 2 \u263b dark smiley face
|
||||||
|
{ {0x00, 0x38, 0x7c, 0x3e, 0x7c, 0x38 } }, // 3 \u2665 full heart
|
||||||
|
{ {0x00, 0x00, 0x38, 0x1c, 0x38, 0x00 } }, // 4 small heart
|
||||||
|
{ {0x00, 0x0c, 0x6c, 0xfe, 0x6c, 0x0c } }, // 5 \u2660 club
|
||||||
|
{ {0x00, 0x18, 0x3a, 0x7e, 0x3a, 0x18 } }, // 6 \u2660 spade
|
||||||
|
{ {0x00, 0x00, 0x18, 0x18, 0x00, 0x00 } }, // 7 \u2022 bullet
|
||||||
|
{ {0xff, 0xff, 0xe7, 0xe7, 0xff, 0xff } }, // 8 \u25d8 big rectangle
|
||||||
|
{ {0x00, 0x3c, 0x24, 0x24, 0x3c, 0x00 } }, // 9 \u25cb small rectangle
|
||||||
|
{ {0xff, 0xc3, 0xdb, 0xdb, 0xc3, 0xff } }, // 10 \u25d9 filled rectangle
|
||||||
|
{ {0x00, 0x0c, 0x12, 0x52, 0x6c, 0x70 } }, // 11 \u2642 man symbol
|
||||||
|
{ {0x00, 0x60, 0x94, 0x9e, 0x94, 0x60 } }, // 12 \u2640 woman symbol
|
||||||
|
{ {0x00, 0x06, 0x0e, 0xfc, 0x40, 0x20 } }, // 13 \u266a musical note
|
||||||
|
{ {0x00, 0x06, 0x7e, 0x50, 0xac, 0xfc } }, // 14 \u266b double music note
|
||||||
|
{ {0x00, 0x18, 0x24, 0x24, 0x24, 0x18 } }, // 15 \u25cf record
|
||||||
|
{ {0x00, 0x00, 0xfe, 0x7c, 0x38, 0x10 } }, // 16 \u25b6 play
|
||||||
|
{ {0x00, 0x10, 0x38, 0x7c, 0xfe, 0x00 } }, // 17 \u25c0 play backwards
|
||||||
|
{ {0x00, 0x7e, 0x7e, 0x00, 0x7e, 0x7e } }, // 18 pause
|
||||||
|
{ {0x00, 0x3c, 0x3c, 0x3c, 0x3c, 0x00 } }, // 19 \u25fe stop
|
||||||
|
{ {0x00, 0x0a, 0x3a, 0xfa, 0x3a, 0x0a } }, // 20 \u23cf eject
|
||||||
|
{ {0x00, 0xfe, 0x7c, 0x38, 0x10, 0xfe } }, // 21 fwd
|
||||||
|
{ {0x00, 0xfe, 0x10, 0x38, 0x7c, 0xfe } }, // 22 rev
|
||||||
|
{ {0x01, 0x01, 0x01, 0x01, 0x01, 0x01 } }, // 23 \u2581 lower 1/8 block (full)
|
||||||
|
{ {0x03, 0x03, 0x03, 0x03, 0x03, 0x03 } }, // 24 \u2582 lower 1/4 block (full)
|
||||||
|
{ {0x07, 0x07, 0x07, 0x07, 0x07, 0x07 } }, // 25 \u2583 lower 3/8 block (full)
|
||||||
|
{ {0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f } }, // 26 \u2584 lower 1/2 block (full)
|
||||||
|
{ {0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f } }, // 27 \u2585 lower 5/8 block (full)
|
||||||
|
{ {0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f } }, // 28 \u2586 lower 3/4 block (full)
|
||||||
|
{ {0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f } }, // 29 \u2587 lower 7/8 block (full)
|
||||||
|
{ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // 30
|
||||||
|
{ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // 31
|
||||||
|
{ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // 32 \u0020 space
|
||||||
|
{ {0x00, 0x00, 0x60, 0xfa, 0x60, 0x00 } }, // 33 \u0021 !
|
||||||
|
{ {0x00, 0xe0, 0xc0, 0x00, 0xe0, 0xc0 } }, // 34 \u0022 "
|
||||||
|
{ {0x00, 0x24, 0x7e, 0x24, 0x7e, 0x24 } }, // 35 \u0023 #
|
||||||
|
{ {0x00, 0x24, 0x54, 0xd6, 0x48, 0x00 } }, // 36 \u0024 $
|
||||||
|
{ {0x00, 0xc6, 0xc8, 0x10, 0x26, 0xc6 } }, // 37 \u0025 %
|
||||||
|
{ {0x00, 0x6c, 0x92, 0x6a, 0x04, 0x0a } }, // 38 \u0026 &
|
||||||
|
{ {0x00, 0x00, 0xe0, 0xc0, 0x00, 0x00 } }, // 39 \u0027 '
|
||||||
|
{ {0x00, 0x00, 0x7c, 0x82, 0x00, 0x00 } }, // 40 \u0028 (
|
||||||
|
{ {0x00, 0x00, 0x82, 0x7c, 0x00, 0x00 } }, // 41 \u0029 )
|
||||||
|
{ {0x00, 0x10, 0x7c, 0x38, 0x7c, 0x10 } }, // 42 \u002a *
|
||||||
|
{ {0x00, 0x10, 0x10, 0x7c, 0x10, 0x10 } }, // 43 \u002b +
|
||||||
|
{ {0x00, 0x00, 0x07, 0x06, 0x00, 0x00 } }, // 44 \u002c ,
|
||||||
|
{ {0x00, 0x10, 0x10, 0x10, 0x10, 0x10 } }, // 45 \u002d -
|
||||||
|
{ {0x00, 0x00, 0x06, 0x06, 0x00, 0x00 } }, // 46 \u002e .
|
||||||
|
{ {0x00, 0x04, 0x08, 0x10, 0x20, 0x40 } }, // 47 \u002f /
|
||||||
|
{ {0x00, 0x7c, 0x8a, 0x92, 0xa2, 0x7c } }, // 48 \u0030 0
|
||||||
|
{ {0x00, 0x00, 0x42, 0xfe, 0x02, 0x00 } }, // 49 \u0031 1
|
||||||
|
{ {0x00, 0x46, 0x8a, 0x92, 0x92, 0x62 } }, // 50 \u0032 2
|
||||||
|
{ {0x00, 0x44, 0x92, 0x92, 0x92, 0x6c } }, // 51 \u0033 3
|
||||||
|
{ {0x00, 0x18, 0x28, 0x48, 0xfe, 0x08 } }, // 52 \u0034 4
|
||||||
|
{ {0x00, 0xf4, 0x92, 0x92, 0x92, 0x8c } }, // 53 \u0035 5
|
||||||
|
{ {0x00, 0x3c, 0x52, 0x92, 0x92, 0x0c } }, // 54 \u0036 6
|
||||||
|
{ {0x00, 0x80, 0x8e, 0x90, 0xa0, 0xc0 } }, // 55 \u0037 7
|
||||||
|
{ {0x00, 0x6c, 0x92, 0x92, 0x92, 0x6c } }, // 56 \u0038 8
|
||||||
|
{ {0x00, 0x60, 0x92, 0x92, 0x94, 0x78 } }, // 57 \u0039 9
|
||||||
|
{ {0x00, 0x00, 0x6c, 0x6c, 0x00, 0x00 } }, // 58 \u003a :
|
||||||
|
{ {0x00, 0x00, 0x37, 0x36, 0x00, 0x00 } }, // 59 \u003b ;
|
||||||
|
{ {0x00, 0x10, 0x28, 0x44, 0x82, 0x00 } }, // 60 \u003c <
|
||||||
|
{ {0x00, 0x24, 0x24, 0x24, 0x24, 0x24 } }, // 61 \u003d =
|
||||||
|
{ {0x00, 0x00, 0x82, 0x44, 0x28, 0x10 } }, // 62 \u003e >
|
||||||
|
{ {0x00, 0x40, 0x80, 0x9a, 0x90, 0x60 } }, // 63 \u003f ?
|
||||||
|
{ {0x00, 0x7c, 0x82, 0xba, 0xaa, 0x78 } }, // 64 \u0040 @
|
||||||
|
{ {0x00, 0x7e, 0x88, 0x88, 0x88, 0x7e } }, // 65 \u0041 A
|
||||||
|
{ {0x00, 0xfe, 0x92, 0x92, 0x92, 0x6c } }, // 66 \u0042 B
|
||||||
|
{ {0x00, 0x7c, 0x82, 0x82, 0x82, 0x44 } }, // 67 \u0043 C
|
||||||
|
{ {0x00, 0xfe, 0x82, 0x82, 0x82, 0x7c } }, // 68 \u0044 D
|
||||||
|
{ {0x00, 0xfe, 0x92, 0x92, 0x92, 0x82 } }, // 69 \u0045 E
|
||||||
|
{ {0x00, 0xfe, 0x90, 0x90, 0x90, 0x80 } }, // 70 \u0046 F
|
||||||
|
{ {0x00, 0x7c, 0x82, 0x92, 0x92, 0x5e } }, // 71 \u0047 G
|
||||||
|
{ {0x00, 0xfe, 0x10, 0x10, 0x10, 0xfe } }, // 72 \u0048 H
|
||||||
|
{ {0x00, 0x00, 0x82, 0xfe, 0x82, 0x00 } }, // 73 \u0049 I
|
||||||
|
{ {0x00, 0x0c, 0x02, 0x02, 0x02, 0xfc } }, // 74 \u004a J
|
||||||
|
{ {0x00, 0xfe, 0x10, 0x28, 0x44, 0x82 } }, // 75 \u004b K
|
||||||
|
{ {0x00, 0xfe, 0x02, 0x02, 0x02, 0x02 } }, // 76 \u004c L
|
||||||
|
{ {0x00, 0xfe, 0x40, 0x20, 0x40, 0xfe } }, // 77 \u004d M
|
||||||
|
{ {0x00, 0xfe, 0x40, 0x20, 0x10, 0xfe } }, // 78 \u004e N
|
||||||
|
{ {0x00, 0x7c, 0x82, 0x82, 0x82, 0x7c } }, // 79 \u004f O
|
||||||
|
{ {0x00, 0xfe, 0x90, 0x90, 0x90, 0x60 } }, // 80 \u0050 P
|
||||||
|
{ {0x00, 0x7c, 0x82, 0x8a, 0x84, 0x7a } }, // 81 \u0051 Q
|
||||||
|
{ {0x00, 0xfe, 0x90, 0x90, 0x98, 0x66 } }, // 82 \u0052 R
|
||||||
|
{ {0x00, 0x64, 0x92, 0x92, 0x92, 0x4c } }, // 83 \u0053 S
|
||||||
|
{ {0x00, 0x80, 0x80, 0xfe, 0x80, 0x80 } }, // 84 \u0054 T
|
||||||
|
{ {0x00, 0xfc, 0x02, 0x02, 0x02, 0xfc } }, // 85 \u0055 U
|
||||||
|
{ {0x00, 0xf8, 0x04, 0x02, 0x04, 0xf8 } }, // 86 \u0056 V
|
||||||
|
{ {0x00, 0xfc, 0x02, 0x3c, 0x02, 0xfc } }, // 87 \u0057 W
|
||||||
|
{ {0x00, 0xc6, 0x28, 0x10, 0x28, 0xc6 } }, // 88 \u0058 X
|
||||||
|
{ {0x00, 0xe0, 0x10, 0x0e, 0x10, 0xe0 } }, // 89 \u0059 Y
|
||||||
|
{ {0x00, 0x8e, 0x92, 0xa2, 0xc2, 0x00 } }, // 90 \u005a Z
|
||||||
|
{ {0x00, 0x00, 0xfe, 0x82, 0x82, 0x00 } }, // 91 \u005b [
|
||||||
|
{ {0x00, 0x40, 0x20, 0x10, 0x08, 0x04 } }, // 92 \u005c slash
|
||||||
|
{ {0x00, 0x00, 0x82, 0x82, 0xfe, 0x00 } }, // 93 \u005d ]
|
||||||
|
{ {0x00, 0x20, 0x40, 0x80, 0x40, 0x20 } }, // 94 \u005e ^
|
||||||
|
{ {0x01, 0x01, 0x01, 0x01, 0x01, 0x01 } }, // 95 \u005f _
|
||||||
|
{ {0x00, 0x00, 0xc0, 0xe0, 0x00, 0x00 } }, // 96 \u0060 `
|
||||||
|
{ {0x00, 0x04, 0x2a, 0x2a, 0x2a, 0x1e } }, // 97 \u0061 a
|
||||||
|
{ {0x00, 0xfe, 0x22, 0x22, 0x22, 0x1c } }, // 98 \u0062 b
|
||||||
|
{ {0x00, 0x1c, 0x22, 0x22, 0x22, 0x14 } }, // 99 \u0063 c
|
||||||
|
{ {0x00, 0x1c, 0x22, 0x22, 0x22, 0xfe } }, // 100 \u0064 d
|
||||||
|
{ {0x00, 0x1c, 0x2a, 0x2a, 0x2a, 0x10 } }, // 101 \u0065 e
|
||||||
|
{ {0x00, 0x10, 0x7e, 0x90, 0x90, 0x00 } }, // 102 \u0066 f
|
||||||
|
{ {0x00, 0x18, 0x25, 0x25, 0x25, 0x3e } }, // 103 \u0067 g
|
||||||
|
{ {0x00, 0xfe, 0x20, 0x20, 0x1e, 0x00 } }, // 104 \u0068 h
|
||||||
|
{ {0x00, 0x00, 0x00, 0xbe, 0x02, 0x00 } }, // 105 \u0069 i
|
||||||
|
{ {0x00, 0x02, 0x01, 0x21, 0xbe, 0x00 } }, // 106 \u006a j
|
||||||
|
{ {0x00, 0xfe, 0x08, 0x14, 0x22, 0x00 } }, // 107 \u006b k
|
||||||
|
{ {0x00, 0x00, 0x00, 0xfe, 0x02, 0x00 } }, // 108 \u006c l
|
||||||
|
{ {0x00, 0x3e, 0x20, 0x18, 0x20, 0x1e } }, // 109 \u006d m
|
||||||
|
{ {0x00, 0x3e, 0x20, 0x20, 0x1e, 0x00 } }, // 110 \u006e n
|
||||||
|
{ {0x00, 0x1c, 0x22, 0x22, 0x22, 0x1c } }, // 111 \u006f o
|
||||||
|
{ {0x00, 0x3f, 0x22, 0x22, 0x22, 0x1c } }, // 112 \u0070 p
|
||||||
|
{ {0x00, 0x1c, 0x22, 0x22, 0x22, 0x3f } }, // 113 \u0071 q
|
||||||
|
{ {0x00, 0x22, 0x1e, 0x22, 0x20, 0x10 } }, // 114 \u0072 r
|
||||||
|
{ {0x00, 0x10, 0x2a, 0x2a, 0x2a, 0x04 } }, // 115 \u0073 s
|
||||||
|
{ {0x00, 0x20, 0x7c, 0x22, 0x24, 0x00 } }, // 116 \u0074 t
|
||||||
|
{ {0x00, 0x3c, 0x02, 0x04, 0x3e, 0x00 } }, // 117 \u0075 u
|
||||||
|
{ {0x00, 0x38, 0x04, 0x02, 0x04, 0x38 } }, // 118 \u0076 v
|
||||||
|
{ {0x00, 0x3c, 0x06, 0x0c, 0x06, 0x3c } }, // 119 \u0077 w
|
||||||
|
{ {0x00, 0x36, 0x08, 0x08, 0x36, 0x00 } }, // 120 \u0078 x
|
||||||
|
{ {0x00, 0x39, 0x05, 0x06, 0x3c, 0x00 } }, // 121 \u0079 y
|
||||||
|
{ {0x00, 0x26, 0x2a, 0x2a, 0x32, 0x00 } }, // 122 \u007a z
|
||||||
|
{ {0x00, 0x10, 0x7c, 0x82, 0x82, 0x00 } }, // 123 \u007b {
|
||||||
|
{ {0x00, 0x00, 0x00, 0xff, 0x00, 0x00 } }, // 124 \u007c |
|
||||||
|
{ {0x00, 0x00, 0x82, 0x82, 0x7c, 0x10 } }, // 125 \u007d }
|
||||||
|
{ {0x00, 0x40, 0x80, 0x40, 0x80, 0x00 } }, // 126 \u007e ~
|
||||||
|
{ {0x00, 0x01, 0x01, 0x01, 0x01, 0x00 } }, // 127 \u2581 lower 1/8 block (trim)
|
||||||
|
{ {0x00, 0x03, 0x03, 0x03, 0x03, 0x00 } }, // 128 \u2582 lower 1/4 block (trim)
|
||||||
|
{ {0x00, 0x07, 0x07, 0x07, 0x07, 0x00 } }, // 129 \u2583 lower 3/8 block (trim)
|
||||||
|
{ {0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0x00 } }, // 130 \u2584 lower 1/2 block (trim)
|
||||||
|
{ {0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x00 } }, // 131 \u2585 lower 5/8 block (trim)
|
||||||
|
{ {0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x00 } }, // 132 \u2586 lower 3/4 block (trim)
|
||||||
|
{ {0x00, 0x7f, 0x7f, 0x7f, 0x7f, 0x00 } }, // 133 \u2587 lower 7/8 block (trim)
|
||||||
|
{ {0x00, 0xff, 0xff, 0xff, 0xff, 0x00 } }, // 134 \u2588 full block (vert trim)
|
||||||
|
{ {0x3c, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // 135 \u258f left 1/6 block (trim)
|
||||||
|
{ {0x3c, 0x3c, 0x00, 0x00, 0x00, 0x00 } }, // 136 \u258e left 1/3 block (trim)
|
||||||
|
{ {0x3c, 0x3c, 0x3c, 0x00, 0x00, 0x00 } }, // 137 \u258c left 1/2 block (trim)
|
||||||
|
{ {0x3c, 0x3c, 0x3c, 0x3c, 0x00, 0x00 } }, // 138 \u258b left 2/3 block (trim)
|
||||||
|
{ {0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x00 } }, // 139 \u258a left 5/6 block (trim)
|
||||||
|
{ {0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c } }, // 140 \u2588 full block (horiz trim)
|
||||||
|
{ {0xff, 0xff, 0xff, 0xff, 0xff, 0xff } }, // 141 \u2588 really full block
|
||||||
|
{ {0x00, 0x44, 0xaa, 0x9a, 0x0c, 0x00 } }, // 142 \u03b4 delta
|
||||||
|
{ {0x00, 0x38, 0x54, 0x54, 0x54, 0x00 } }, // 143 \u03b5 epsilon
|
||||||
|
{ {0x00, 0x40, 0x7e, 0x40, 0x7e, 0x40 } }, // 144 \u03c0 pi
|
||||||
|
{ {0x00, 0x18, 0x24, 0x24, 0x38, 0x20 } }, // 145 \u03c3 sigma
|
||||||
|
{ {0x00, 0x10, 0x20, 0x1e, 0x20, 0x00 } }, // 146 \u03c4 tau
|
||||||
|
{ {0x00, 0x18, 0x24, 0x7e, 0x24, 0x18 } }, // 147 \u03c6 phi
|
||||||
|
{ {0x00, 0x18, 0x24, 0x18, 0x24, 0x18 } }, // 148 \u221e infinity
|
||||||
|
{ {0x00, 0xfe, 0x80, 0x80, 0xc0, 0x00 } }, // 149 \u0393 Gamma
|
||||||
|
{ {0x00, 0x7c, 0x92, 0x92, 0x7c, 0x00 } }, // 150 \u0398 Theta
|
||||||
|
{ {0x00, 0x10, 0xaa, 0xee, 0xaa, 0x10 } }, // 151 \u03a6 Phi
|
||||||
|
{ {0x00, 0x32, 0x4e, 0x40, 0x4e, 0x32 } }, // 152 \u03a9 Omega
|
||||||
|
{ {0x3f, 0x31, 0x31, 0x29, 0x29, 0x25 } }, // 153 left half of mail icon
|
||||||
|
{ {0x25, 0x29, 0x29, 0x31, 0x31, 0x3f } }, // 154 right half of mail icon
|
||||||
|
{ {0x00, 0x10, 0x38, 0x54, 0x10, 0x10 } }, // 155 \u2190 left arrow
|
||||||
|
{ {0x00, 0x20, 0x40, 0xfe, 0x40, 0x20 } }, // 156 \u2191 up arrow
|
||||||
|
{ {0x00, 0x10, 0x10, 0x54, 0x38, 0x10 } }, // 157 \u2192 right arrow
|
||||||
|
{ {0x00, 0x08, 0x04, 0xfe, 0x04, 0x08 } }, // 158 \u2193 down arrow
|
||||||
|
{ {0x10, 0x38, 0x54, 0x54, 0x38, 0x10 } }, // 159 \u2194 left right arrrow
|
||||||
|
{ {0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, // 160
|
||||||
|
{ {0x00, 0x00, 0x0c, 0xbe, 0x0c, 0x00 } }, // 161 \u00a1 ¡ inverted exclamation mark
|
||||||
|
{ {0x00, 0x18, 0x24, 0x7e, 0x24, 0x00 } }, // 162 \u00a2 ¢ cent
|
||||||
|
{ {0x00, 0x12, 0x7c, 0x92, 0x92, 0x46 } }, // 163 \u00a3 £ pound
|
||||||
|
{ {0x00, 0x1c, 0x2a, 0x2a, 0x22, 0x14 } }, // 164 \u20ac ¤ euro
|
||||||
|
{ {0x00, 0x94, 0x54, 0x3e, 0x54, 0x94 } }, // 165 \u00a5 ¥ yen
|
||||||
|
{ {0x00, 0x12, 0xaa, 0x6a, 0xaa, 0x24 } }, // 166 \u0160 ¦ capital S with caron
|
||||||
|
{ {0x00, 0x44, 0xb2, 0xaa, 0x9a, 0x44 } }, // 167 \u00a7 § section
|
||||||
|
{ {0x00, 0x10, 0xaa, 0x6a, 0xaa, 0x04 } }, // 168 \u0161 ¨ small s with caron
|
||||||
|
{ {0x00, 0x1c, 0x3e, 0x36, 0x22, 0x1c } }, // 169 \u00a9 © copyright
|
||||||
|
{ {0x00, 0x10, 0xaa, 0xaa, 0xaa, 0x7a } }, // 170 \u00aa ª feminine ordinal
|
||||||
|
{ {0x00, 0x10, 0x28, 0x00, 0x10, 0x28 } }, // 171 \u00ab « left double angle
|
||||||
|
{ {0x20, 0x20, 0x20, 0x20, 0x20, 0x38 } }, // 172 \u00ac ¬ not
|
||||||
|
{ {0x00, 0x10, 0x10, 0x10, 0x10, 0x10 } }, // 173 \u00ad hyphen
|
||||||
|
{ {0x00, 0x1c, 0x3e, 0x3a, 0x2e, 0x1c } }, // 174 \u00ae ® registered
|
||||||
|
{ {0x00, 0x80, 0x80, 0x80, 0x80, 0x80 } }, // 175 \u00af ¯ macron
|
||||||
|
{ {0x00, 0x60, 0x90, 0x90, 0x90, 0x60 } }, // 176 \u00b0 ° degree
|
||||||
|
{ {0x00, 0x24, 0x24, 0xfc, 0x24, 0x24 } }, // 177 \u00b1 ± plus-minus
|
||||||
|
{ {0x00, 0x90, 0xb0, 0x50, 0x00, 0x00 } }, // 178 \u00b2 ² superscript 2
|
||||||
|
{ {0x00, 0xa8, 0xa8, 0x50, 0x00, 0x00 } }, // 179 \u00b3 ³ superscript 3
|
||||||
|
{ {0x00, 0xa6, 0x6a, 0x72, 0xa2, 0x00 } }, // 180 \u017d ´ Z caron
|
||||||
|
{ {0x00, 0x3f, 0x04, 0x04, 0x38, 0x00 } }, // 181 \u00b5 µ micro
|
||||||
|
{ {0x00, 0x60, 0x90, 0xfe, 0x80, 0xfe } }, // 182 \u00b6 ¶ paragraph
|
||||||
|
{ {0x00, 0x00, 0x18, 0x18, 0x00, 0x00 } }, // 183 \u00b7 · middle dot
|
||||||
|
{ {0x00, 0xa6, 0x6a, 0x6a, 0xb2, 0x00 } }, // 184 \u017e ¸ z caron
|
||||||
|
{ {0x00, 0x48, 0xf8, 0x08, 0x00, 0x00 } }, // 185 \u00b9 ¹ superscript 1
|
||||||
|
{ {0x00, 0x72, 0x8a, 0x8a, 0x72, 0x00 } }, // 186 \u00ba º masculine ordinal
|
||||||
|
{ {0x00, 0x28, 0x10, 0x00, 0x28, 0x10 } }, // 187 \u00bb » right double angle
|
||||||
|
{ {0x00, 0xfe, 0x82, 0xfe, 0x92, 0x92 } }, // 188 \u0152 ¼ OE
|
||||||
|
{ {0x00, 0x3e, 0x22, 0x3e, 0x2a, 0x12 } }, // 189 \u0153 ½ oe
|
||||||
|
{ {0x00, 0x20, 0x90, 0x0e, 0x90, 0x20 } }, // 190 \u0178 ¾ Y diaeresis
|
||||||
|
{ {0x00, 0x0c, 0x12, 0xb2, 0x02, 0x04 } }, // 191 \u00bf ¿ inverted question mark
|
||||||
|
{ {0x00, 0x0e, 0x94, 0xa4, 0x54, 0x0e } }, // 192 \u00c0 À A grave
|
||||||
|
{ {0x00, 0x0e, 0x54, 0xa4, 0x94, 0x0e } }, // 193 \u00c1 Á A acute
|
||||||
|
{ {0x00, 0x0e, 0x54, 0xa4, 0x54, 0x0e } }, // 194 \u00c2 Â A circumflex
|
||||||
|
{ {0x00, 0x4e, 0x94, 0x64, 0x94, 0x0e } }, // 195 \u00c3 Ã A tilde
|
||||||
|
{ {0x00, 0x0e, 0x94, 0x24, 0x94, 0x0e } }, // 196 \u00c4 Ä A diaeresis
|
||||||
|
{ {0x00, 0x1e, 0xf4, 0xa4, 0xf4, 0x1e } }, // 197 \u00c5 Å A ring
|
||||||
|
{ {0x00, 0x7e, 0x90, 0xfe, 0x92, 0x92 } }, // 198 \u00c6 Æ AE
|
||||||
|
{ {0x00, 0x78, 0x85, 0x87, 0x84, 0x48 } }, // 199 \u00c7 Ç C cedilla
|
||||||
|
{ {0x00, 0x3e, 0xaa, 0xaa, 0x6a, 0x62 } }, // 200 \u00c8 È E grave
|
||||||
|
{ {0x00, 0x3e, 0x6a, 0x6a, 0xaa, 0xa2 } }, // 201 \u00c9 É E acute
|
||||||
|
{ {0x00, 0x7e, 0xaa, 0xaa, 0x6a, 0x22 } }, // 202 \u00ca Ê E circumflex
|
||||||
|
{ {0x00, 0x3e, 0xaa, 0x2a, 0x2a, 0xa2 } }, // 203 \u00cb Ë E diaeresis
|
||||||
|
{ {0x00, 0x00, 0xa2, 0xbe, 0x62, 0x00 } }, // 204 \u00cc Ì I grave
|
||||||
|
{ {0x00, 0x00, 0x62, 0xbe, 0xa2, 0x00 } }, // 205 \u00cd Í I acute
|
||||||
|
{ {0x00, 0x00, 0x62, 0xbe, 0x62, 0x00 } }, // 206 \u00ce Î I circumflex
|
||||||
|
{ {0x00, 0x00, 0xa2, 0x3e, 0xa2, 0x00 } }, // 207 \u00cf Ï I diaeresis
|
||||||
|
{ {0x00, 0xfe, 0x92, 0x92, 0x82, 0x7c } }, // 208 \u00d0 Ð Eth
|
||||||
|
{ {0x00, 0x5e, 0x88, 0x44, 0x9e, 0x00 } }, // 209 \u00d1 Ñ N tilde
|
||||||
|
{ {0x00, 0x9c, 0xa2, 0x62, 0x1c, 0x00 } }, // 210 \u00d2 Ò O grave
|
||||||
|
{ {0x00, 0x1c, 0x62, 0xa2, 0x9c, 0x00 } }, // 211 \u00d3 Ó O acute
|
||||||
|
{ {0x00, 0x1c, 0x62, 0xa2, 0x5c, 0x00 } }, // 212 \u00d4 Ô O circumflex
|
||||||
|
{ {0x00, 0x5c, 0xa2, 0x62, 0x9c, 0x00 } }, // 213 \u00d5 Õ O tilde
|
||||||
|
{ {0x00, 0x9c, 0x22, 0x22, 0x9c, 0x00 } }, // 214 \u00d6 Ö O diaeresis
|
||||||
|
{ {0x00, 0x14, 0x08, 0x08, 0x14, 0x00 } }, // 215 \u00d7 × multiplication
|
||||||
|
{ {0x00, 0x7c, 0x86, 0xba, 0xc2, 0x7c } }, // 216 \u00d8 Ø O slash
|
||||||
|
{ {0x00, 0x3c, 0x82, 0x82, 0x7c, 0x00 } }, // 217 \u00d9 Ù U grave
|
||||||
|
{ {0x00, 0x3c, 0x42, 0x82, 0xbc, 0x00 } }, // 218 \u00da Ú U acute
|
||||||
|
{ {0x00, 0x1c, 0x42, 0x82, 0x5c, 0x00 } }, // 219 \u00db Û U circumflex
|
||||||
|
{ {0x00, 0x3c, 0x82, 0x02, 0xbc, 0x00 } }, // 220 \u00dc Ü U diaeresis
|
||||||
|
{ {0x00, 0x20, 0x50, 0x8e, 0x90, 0x20 } }, // 221 \u00dd Ý Y acute
|
||||||
|
{ {0x00, 0xff, 0x22, 0x22, 0x22, 0x1c } }, // 222 \u00de Þ Thorn
|
||||||
|
{ {0x00, 0x7e, 0x50, 0x52, 0x2c, 0x00 } }, // 223 \u00df ß Eszett
|
||||||
|
{ {0x00, 0x04, 0xaa, 0xaa, 0x6a, 0x1e } }, // 224 \u00e0 à a grave
|
||||||
|
{ {0x00, 0x04, 0x6a, 0xaa, 0xaa, 0x1e } }, // 225 \u00e1 á a acute
|
||||||
|
{ {0x00, 0x04, 0x6a, 0xaa, 0x6a, 0x1e } }, // 226 \u00e2 â a circumplex
|
||||||
|
{ {0x00, 0x04, 0x6a, 0xaa, 0x6a, 0x9e } }, // 227 \u00e3 ã a tilde
|
||||||
|
{ {0x00, 0x04, 0xaa, 0x2a, 0xaa, 0x1e } }, // 228 \u00e4 ä a diaeresis
|
||||||
|
{ {0x00, 0x04, 0xea, 0xaa, 0xea, 0x1e } }, // 229 \u00e5 å a ring
|
||||||
|
{ {0x00, 0x2c, 0x2a, 0x3e, 0x2a, 0x1a } }, // 230 \u00e6 æ ae
|
||||||
|
{ {0x00, 0x38, 0x45, 0x47, 0x44, 0x28 } }, // 231 \u00e7 ç c cedilla
|
||||||
|
{ {0x00, 0x1c, 0xaa, 0xaa, 0x6a, 0x10 } }, // 232 \u00e8 è e grave
|
||||||
|
{ {0x00, 0x1c, 0x2a, 0x6a, 0xaa, 0x90 } }, // 233 \u00e9 é e acute
|
||||||
|
{ {0x00, 0x1c, 0x6a, 0xaa, 0x6a, 0x10 } }, // 234 \u00ea ê e circumflex
|
||||||
|
{ {0x00, 0x1c, 0xaa, 0x2a, 0xaa, 0x10 } }, // 235 \u00eb ë e diaeresis
|
||||||
|
{ {0x00, 0x00, 0x80, 0xbe, 0x42, 0x00 } }, // 236 \u00ec ì i grave
|
||||||
|
{ {0x00, 0x00, 0x40, 0xbe, 0x82, 0x00 } }, // 237 \u00ed í i acute
|
||||||
|
{ {0x00, 0x00, 0x40, 0x9e, 0x42, 0x00 } }, // 238 \u00ee î i circumflex
|
||||||
|
{ {0x00, 0x00, 0x80, 0x3e, 0x82, 0x00 } }, // 239 \u00ef ï i diaeresis
|
||||||
|
{ {0x00, 0x9c, 0xe2, 0xa2, 0xa2, 0x7c } }, // 240 \u00f0 ð eth
|
||||||
|
{ {0x00, 0x5e, 0x90, 0x50, 0x8e, 0x00 } }, // 241 \u00f1 ñ n tilde
|
||||||
|
{ {0x00, 0x9c, 0xa2, 0x62, 0x1c, 0x00 } }, // 242 \u00f2 ò o grave
|
||||||
|
{ {0x00, 0x1c, 0x62, 0xa2, 0x9c, 0x00 } }, // 243 \u00f3 ó o acute
|
||||||
|
{ {0x00, 0x1c, 0x62, 0xa2, 0x5c, 0x00 } }, // 244 \u00f4 ô o circumflex
|
||||||
|
{ {0x00, 0x5c, 0xa2, 0x62, 0x9c, 0x00 } }, // 245 \u00f5 õ o tilde
|
||||||
|
{ {0x00, 0x1c, 0xa2, 0x22, 0x9c, 0x00 } }, // 246 \u00f6 ö o diaeresis
|
||||||
|
{ {0x00, 0x10, 0x10, 0x54, 0x10, 0x10 } }, // 247 \u00f7 ÷ division
|
||||||
|
{ {0x00, 0x1d, 0x26, 0x2a, 0x32, 0x5c } }, // 248 \u00f8 ø o slash
|
||||||
|
{ {0x00, 0xbc, 0x82, 0x44, 0x3e, 0x00 } }, // 249 \u00f9 ù u grave
|
||||||
|
{ {0x00, 0x3c, 0x42, 0x84, 0xbe, 0x00 } }, // 250 \u00fa ú u acute
|
||||||
|
{ {0x00, 0x1c, 0x42, 0x84, 0x5e, 0x00 } }, // 251 \u00fb û u circumflex
|
||||||
|
{ {0x00, 0x3c, 0x82, 0x04, 0xbe, 0x00 } }, // 252 \u00fc ü u diaeresis
|
||||||
|
{ {0x00, 0x39, 0x45, 0x86, 0xbc, 0x00 } }, // 253 \u00fd ý y acute
|
||||||
|
{ {0x00, 0xff, 0x12, 0x12, 0x12, 0x0c } }, // 254 \u00fe þ thorn
|
||||||
|
{ {0x00, 0x39, 0x85, 0x06, 0xbc, 0x00 } } // 255 \u00ff ÿ y diaeresis
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef IMONLCD_FONT_DESC
|
||||||
|
/* This char array is available for use when converting to and from the
|
||||||
|
* structure. It is not needed for normal LCD use.
|
||||||
|
*/
|
||||||
|
static char *desc[] = {
|
||||||
|
" 0 \\u0020 space",
|
||||||
|
" 1 \\u263a light smiley face",
|
||||||
|
" 2 \\u263b dark smiley face",
|
||||||
|
" 3 \\u2665 full heart",
|
||||||
|
" 4 small heart",
|
||||||
|
" 5 \\u2660 club",
|
||||||
|
" 6 \\u2660 spade",
|
||||||
|
" 7 \\u2022 bullet",
|
||||||
|
" 8 \\u25d8 big rectangle",
|
||||||
|
" 9 \\u25cb small rectangle",
|
||||||
|
" 10 \\u25d9 filled rectangle",
|
||||||
|
" 11 \\u2642 man symbol",
|
||||||
|
" 12 \\u2640 woman symbol",
|
||||||
|
" 13 \\u266a musical note",
|
||||||
|
" 14 \\u266b double music note",
|
||||||
|
" 15 \\u25cf record",
|
||||||
|
" 16 \\u25b6 play",
|
||||||
|
" 17 \\u25c0 play backwards",
|
||||||
|
" 18 pause",
|
||||||
|
" 19 \\u25fe stop",
|
||||||
|
" 20 \\u23cf eject",
|
||||||
|
" 21 fwd",
|
||||||
|
" 22 rev",
|
||||||
|
" 23 \\u2581 lower 1/8 block (full)",
|
||||||
|
" 24 \\u2582 lower 1/4 block (full)",
|
||||||
|
" 25 \\u2583 lower 3/8 block (full)",
|
||||||
|
" 26 \\u2584 lower 1/2 block (full)",
|
||||||
|
" 27 \\u2585 lower 5/8 block (full)",
|
||||||
|
" 28 \\u2586 lower 3/4 block (full)",
|
||||||
|
" 29 \\u2587 lower 7/8 block (full)",
|
||||||
|
" 30",
|
||||||
|
" 31",
|
||||||
|
" 32 \\u0020 space",
|
||||||
|
" 33 \\u0021 !",
|
||||||
|
" 34 \\u0022 \"",
|
||||||
|
" 35 \\u0023 #",
|
||||||
|
" 36 \\u0024 $",
|
||||||
|
" 37 \\u0025 %",
|
||||||
|
" 38 \\u0026 &",
|
||||||
|
" 39 \\u0027 '",
|
||||||
|
" 40 \\u0028 (",
|
||||||
|
" 41 \\u0029 )",
|
||||||
|
" 42 \\u002a *",
|
||||||
|
" 43 \\u002b +",
|
||||||
|
" 44 \\u002c ,",
|
||||||
|
" 45 \\u002d -",
|
||||||
|
" 46 \\u002e .",
|
||||||
|
" 47 \\u002f /",
|
||||||
|
" 48 \\u0030 0",
|
||||||
|
" 49 \\u0031 1",
|
||||||
|
" 50 \\u0032 2",
|
||||||
|
" 51 \\u0033 3",
|
||||||
|
" 52 \\u0034 4",
|
||||||
|
" 53 \\u0035 5",
|
||||||
|
" 54 \\u0036 6",
|
||||||
|
" 55 \\u0037 7",
|
||||||
|
" 56 \\u0038 8",
|
||||||
|
" 57 \\u0039 9",
|
||||||
|
" 58 \\u003a :",
|
||||||
|
" 59 \\u003b ;",
|
||||||
|
" 60 \\u003c <",
|
||||||
|
" 61 \\u003d =",
|
||||||
|
" 62 \\u003e >",
|
||||||
|
" 63 \\u003f ?",
|
||||||
|
" 64 \\u0040 @",
|
||||||
|
" 65 \\u0041 A",
|
||||||
|
" 66 \\u0042 B",
|
||||||
|
" 67 \\u0043 C",
|
||||||
|
" 68 \\u0044 D",
|
||||||
|
" 69 \\u0045 E",
|
||||||
|
" 70 \\u0046 F",
|
||||||
|
" 71 \\u0047 G",
|
||||||
|
" 72 \\u0048 H",
|
||||||
|
" 73 \\u0049 I",
|
||||||
|
" 74 \\u004a J",
|
||||||
|
" 75 \\u004b K",
|
||||||
|
" 76 \\u004c L",
|
||||||
|
" 77 \\u004d M",
|
||||||
|
" 78 \\u004e N",
|
||||||
|
" 79 \\u004f O",
|
||||||
|
" 80 \\u0050 P",
|
||||||
|
" 81 \\u0051 Q",
|
||||||
|
" 82 \\u0052 R",
|
||||||
|
" 83 \\u0053 S",
|
||||||
|
" 84 \\u0054 T",
|
||||||
|
" 85 \\u0055 U",
|
||||||
|
" 86 \\u0056 V",
|
||||||
|
" 87 \\u0057 W",
|
||||||
|
" 88 \\u0058 X",
|
||||||
|
" 89 \\u0059 Y",
|
||||||
|
" 90 \\u005a Z",
|
||||||
|
" 91 \\u005b [",
|
||||||
|
" 92 \\u005c \\",
|
||||||
|
" 93 \\u005d ]",
|
||||||
|
" 94 \\u005e ^",
|
||||||
|
" 95 \\u005f _",
|
||||||
|
" 96 \\u0060 `",
|
||||||
|
" 97 \\u0061 a",
|
||||||
|
" 98 \\u0062 b",
|
||||||
|
" 99 \\u0063 c",
|
||||||
|
"100 \\u0064 d",
|
||||||
|
"101 \\u0065 e",
|
||||||
|
"102 \\u0066 f",
|
||||||
|
"103 \\u0067 g",
|
||||||
|
"104 \\u0068 h",
|
||||||
|
"105 \\u0069 i",
|
||||||
|
"106 \\u006a j",
|
||||||
|
"107 \\u006b k",
|
||||||
|
"108 \\u006c l",
|
||||||
|
"109 \\u006d m",
|
||||||
|
"110 \\u006e n",
|
||||||
|
"111 \\u006f o",
|
||||||
|
"112 \\u0070 p",
|
||||||
|
"113 \\u0071 q",
|
||||||
|
"114 \\u0072 r",
|
||||||
|
"115 \\u0073 s",
|
||||||
|
"116 \\u0074 t",
|
||||||
|
"117 \\u0075 u",
|
||||||
|
"118 \\u0076 v",
|
||||||
|
"119 \\u0077 w",
|
||||||
|
"120 \\u0078 x",
|
||||||
|
"121 \\u0079 y",
|
||||||
|
"122 \\u007a z",
|
||||||
|
"123 \\u007b {",
|
||||||
|
"124 \\u007c |",
|
||||||
|
"125 \\u007d }",
|
||||||
|
"126 \\u007e ~",
|
||||||
|
"127 \\u2581 lower 1/8 block (trim)",
|
||||||
|
"128 \\u2582 lower 1/4 block (trim)",
|
||||||
|
"129 \\u2583 lower 3/8 block (trim)",
|
||||||
|
"130 \\u2584 lower 1/2 block (trim)",
|
||||||
|
"131 \\u2585 lower 5/8 block (trim)",
|
||||||
|
"132 \\u2586 lower 3/4 block (trim)",
|
||||||
|
"133 \\u2587 lower 7/8 block (trim)",
|
||||||
|
"134 \\u2588 full block (vert trim)",
|
||||||
|
"135 \\u258f left 1/6 block (trim)",
|
||||||
|
"136 \\u258e left 1/3 block (trim)",
|
||||||
|
"137 \\u258c left 1/2 block (trim)",
|
||||||
|
"138 \\u258b left 2/3 block (trim)",
|
||||||
|
"139 \\u258a left 5/6 block (trim)",
|
||||||
|
"140 \\u2588 full block (horiz trim)",
|
||||||
|
"141 \\u2588 really full block",
|
||||||
|
"142 \\u03b4 delta",
|
||||||
|
"143 \\u03b5 epsilon",
|
||||||
|
"144 \\u03c0 pi",
|
||||||
|
"145 \\u03c3 sigma",
|
||||||
|
"146 \\u03c4 tau",
|
||||||
|
"147 \\u03c6 phi",
|
||||||
|
"148 \\u221e infinity",
|
||||||
|
"149 \\u0393 Gamma",
|
||||||
|
"150 \\u0398 Theta",
|
||||||
|
"151 \\u03a6 Phi",
|
||||||
|
"152 \\u03a9 Omega",
|
||||||
|
"153 left half of mail icon",
|
||||||
|
"154 right half of mail icon",
|
||||||
|
"155 \\u2190 left arrow",
|
||||||
|
"156 \\u2191 up arrow",
|
||||||
|
"157 \\u2192 right arrow",
|
||||||
|
"158 \\u2193 down arrow",
|
||||||
|
"159 \\u2194 left right arrrow",
|
||||||
|
"160",
|
||||||
|
"161 \\u00a1 ¡ inverted exclamation mark",
|
||||||
|
"162 \\u00a2 ¢ cent",
|
||||||
|
"163 \\u00a3 £ pound",
|
||||||
|
"164 \\u20ac ¤ euro",
|
||||||
|
"165 \\u00a5 ¥ yen",
|
||||||
|
"166 \\u0160 ¦ capital S with caron",
|
||||||
|
"167 \\u00a7 § section",
|
||||||
|
"168 \\u0161 ¨ small s with caron",
|
||||||
|
"169 \\u00a9 © copyright",
|
||||||
|
"170 \\u00aa ª feminine ordinal",
|
||||||
|
"171 \\u00ab « left double angle",
|
||||||
|
"172 \\u00ac ¬ not",
|
||||||
|
"173 \\u00ad hyphen",
|
||||||
|
"174 \\u00ae ® registered",
|
||||||
|
"175 \\u00af ¯ macron",
|
||||||
|
"176 \\u00b0 ° degree",
|
||||||
|
"177 \\u00b1 ± plus-minus",
|
||||||
|
"178 \\u00b2 ² superscript 2",
|
||||||
|
"179 \\u00b3 ³ superscript 3",
|
||||||
|
"180 \\u017d ´ Z caron",
|
||||||
|
"181 \\u00b5 µ micro",
|
||||||
|
"182 \\u00b6 ¶ paragraph",
|
||||||
|
"183 \\u00b7 · middle dot",
|
||||||
|
"184 \\u017e ¸ z caron",
|
||||||
|
"185 \\u00b9 ¹ superscript 1",
|
||||||
|
"186 \\u00ba º masculine ordinal",
|
||||||
|
"187 \\u00bb » right double angle",
|
||||||
|
"188 \\u0152 ¼ OE",
|
||||||
|
"189 \\u0153 ½ oe",
|
||||||
|
"190 \\u0178 ¾ Y diaeresis",
|
||||||
|
"191 \\u00bf ¿ inverted question mark",
|
||||||
|
"192 \\u00c0 À A grave",
|
||||||
|
"193 \\u00c1 Á A acute",
|
||||||
|
"194 \\u00c2 Â A circumflex",
|
||||||
|
"195 \\u00c3 Ã A tilde",
|
||||||
|
"196 \\u00c4 Ä A diaeresis",
|
||||||
|
"197 \\u00c5 Å A ring",
|
||||||
|
"198 \\u00c6 Æ AE",
|
||||||
|
"199 \\u00c7 Ç C cedilla",
|
||||||
|
"200 \\u00c8 È E grave",
|
||||||
|
"201 \\u00c9 É E acute",
|
||||||
|
"202 \\u00ca Ê E circumflex",
|
||||||
|
"203 \\u00cb Ë E diaeresis",
|
||||||
|
"204 \\u00cc Ì I grave",
|
||||||
|
"205 \\u00cd Í I acute",
|
||||||
|
"206 \\u00ce Î I circumflex",
|
||||||
|
"207 \\u00cf Ï I diaeresis",
|
||||||
|
"208 \\u00d0 Ð Eth",
|
||||||
|
"209 \\u00d1 Ñ N tilde",
|
||||||
|
"210 \\u00d2 Ò O grave",
|
||||||
|
"211 \\u00d3 Ó O acute",
|
||||||
|
"212 \\u00d4 Ô O circumflex",
|
||||||
|
"213 \\u00d5 Õ O tilde",
|
||||||
|
"214 \\u00d6 Ö O diaeresis",
|
||||||
|
"215 \\u00d7 × multiplication",
|
||||||
|
"216 \\u00d8 Ø O slash",
|
||||||
|
"217 \\u00d9 Ù U grave",
|
||||||
|
"218 \\u00da Ú U acute",
|
||||||
|
"219 \\u00db Û U circumflex",
|
||||||
|
"220 \\u00dc Ü U diaeresis",
|
||||||
|
"221 \\u00dd Ý Y acute",
|
||||||
|
"222 \\u00de Þ Thorn",
|
||||||
|
"223 \\u00df ß Eszett",
|
||||||
|
"224 \\u00e0 à a grave",
|
||||||
|
"225 \\u00e1 á a acute",
|
||||||
|
"226 \\u00e2 â a circumplex",
|
||||||
|
"227 \\u00e3 ã a tilde",
|
||||||
|
"228 \\u00e4 ä a diaeresis",
|
||||||
|
"229 \\u00e5 å a ring",
|
||||||
|
"230 \\u00e6 æ ae",
|
||||||
|
"231 \\u00e7 ç c cedilla",
|
||||||
|
"232 \\u00e8 è e grave",
|
||||||
|
"233 \\u00e9 é e acute",
|
||||||
|
"234 \\u00ea ê e circumflex",
|
||||||
|
"235 \\u00eb ë e diaeresis",
|
||||||
|
"236 \\u00ec ì i grave",
|
||||||
|
"237 \\u00ed í i acute",
|
||||||
|
"238 \\u00ee î i circumflex",
|
||||||
|
"239 \\u00ef ï i diaeresis",
|
||||||
|
"240 \\u00f0 ð eth",
|
||||||
|
"241 \\u00f1 ñ n tilde",
|
||||||
|
"242 \\u00f2 ò o grave",
|
||||||
|
"243 \\u00f3 ó o acute",
|
||||||
|
"244 \\u00f4 ô o circumflex",
|
||||||
|
"245 \\u00f5 õ o tilde",
|
||||||
|
"246 \\u00f6 ö o diaeresis",
|
||||||
|
"247 \\u00f7 ÷ division",
|
||||||
|
"248 \\u00f8 ø o slash",
|
||||||
|
"249 \\u00f9 ù u grave",
|
||||||
|
"250 \\u00fa ú u acute",
|
||||||
|
"251 \\u00fb û u circumflex",
|
||||||
|
"252 \\u00fc ü u diaeresis",
|
||||||
|
"253 \\u00fd ý y acute",
|
||||||
|
"254 \\u00fe þ thorn",
|
||||||
|
"255 \\u00ff ÿ y diaeresis"
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is the definition for a "big" font, which is a font that
|
||||||
|
* simply takes up twice as many pixels as the normal font.
|
||||||
|
* (12 col x 18 row pixels). It is only used for drawing numbers.
|
||||||
|
*/
|
||||||
|
typedef struct _imon_bigfont {
|
||||||
|
int ch;
|
||||||
|
unsigned short pixels[12];
|
||||||
|
} imon_bigfont;
|
||||||
|
|
||||||
|
/** Character data for the big font */
|
||||||
|
static imon_bigfont bigfont[] = {
|
||||||
|
{'0', {0x0000, 0x07E0, 0x1FF8, 0x3FFC, 0x7FFE, 0x4002, 0x4002, 0x4002, 0x3FFC, 0x3FFC, 0x1FF8, 0x07E0}},
|
||||||
|
{'1', {0x0000, 0x0000, 0x0000, 0x4002, 0x7FFE, 0x7FFE, 0x7FFE, 0x7FFE, 0x0002, 0x0000, 0x0000, 0x0000}},
|
||||||
|
{'2', {0x0000, 0x1806, 0x3C2C, 0x7C7C, 0x5C5C, 0x40DE, 0x7F9E, 0x7F8E, 0x3F0E, 0x1E0C, 0x0018, 0x0000}},
|
||||||
|
{'3', {0x0000, 0x001C, 0x3C3C, 0x7C3E, 0x7C1A, 0x0080, 0x4182, 0x7FFE, 0x7FFE, 0x3E7C, 0x1C38, 0x0000}},
|
||||||
|
{'4', {0x0000, 0x0030, 0x0050, 0x0190, 0x0610, 0x0002, 0x1FFE, 0x3FFE, 0x7FFE, 0x7FFE, 0x0012, 0x0002}},
|
||||||
|
{'5', {0x0000, 0x0018, 0x7FBC, 0x793E, 0x3B1A, 0x3800, 0x3B02, 0x3BFE, 0x31FE, 0x61FC, 0x00F8, 0x0000}},
|
||||||
|
{'6', {0x0000, 0x07E0, 0x1FF8, 0x3FFC, 0x7FFE, 0x4002, 0x0180, 0x5982, 0x7DFE, 0x3DFC, 0x18FC, 0x0078}},
|
||||||
|
{'7', {0x0000, 0x0800, 0x7000, 0x3000, 0x703C, 0x787E, 0x79FE, 0x7BFC, 0x3E00, 0x3000, 0x6000, 0x0000}},
|
||||||
|
{'8', {0x0000, 0x1C3C, 0x3E7E, 0x7FFE, 0x7FFE, 0x4182, 0x4182, 0x7FFE, 0x7FFE, 0x3E7E, 0x1C3C, 0x0000}},
|
||||||
|
{'9', {0x0000, 0x1E18, 0x3F3C, 0x7FBE, 0x7F9A, 0x0180, 0x4002, 0x7FFE, 0x3FFC, 0x1FF8, 0x07E0, 0x0000}},
|
||||||
|
{':', {0x0000, 0x030C, 0x079E, 0x079E, 0x030C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}},
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Marks the end of the array, but also serves as the character that
|
||||||
|
* unknown inputs are mapped to (essentially, a "space")
|
||||||
|
*/
|
||||||
|
{'\0', {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user