2
0
mirror of https://github.com/lm-sensors/lm-sensors synced 2025-08-30 22:05:11 +00:00

(Phil) This is a simple Perl script which reads standard input and sends

the results to the display.  Only the first four lines are read, and only
the first 20 chars of each line are displayed.

Example use:

echo -e "hi\nthere,\nhow are\nyou?" | displayit.pl

Displays this on the display:

hi
there,
how are
you?


It doesn't get much simpler than this!

TODO: The code isn't very efficient and goes slow for what it is doing.
It assumes that the display is 20x4 (easily changable).  And, it assumes
that there is only one display. This is really more of a simple example
than a feature-rich app.


git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@483 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
Philip Edelbrock
1999-06-16 06:25:31 +00:00
parent 63a083da8e
commit e9c1b45a44

31
prog/matorb/displayit.pl Executable file
View File

@@ -0,0 +1,31 @@
#!/usr/bin/perl
# This is a simple perl script to display a 'screen'
# on a Matrix Orbital Display. In this case, this
# script will read the first four lines (up to 20
# chars a line) and display them on the display.
# Written and copywritten (C) by Philip Edelbrock, 1999.
# Clear the screen
$temp=`echo "254 88" > /proc/sys/dev/sensors/matorb*/disp`;
# Turn off the blinking cursor
$temp=`echo "254 84" > /proc/sys/dev/sensors/matorb*/disp`;
$line=1;
while (<STDIN>) {
# Reset the position of the cursor to the next line
$temp=`echo "254 71 1 $line" > /proc/sys/dev/sensors/matorb*/disp`;
if (/^(.{1,20})/) {
$_=$1;
while (/(.)/gc) {
$temp=ord($1);
$temp=`echo "$temp" > /proc/sys/dev/sensors/matorb*/disp`;
}
}
$line= $line + 1;
if ($line > 4) { exit; }
}