!readme.txt
来自「旋转16个LED灯控制程序」· 文本 代码 · 共 207 行
TXT
207 行
# The software for SpokePOV is available for use in accordance with the
# following open source license (MIT License). For more information about
# OS licensing, please visit -> http://www.opensource.org/
# See the header files for more information. Use at your own risk, your
# mileage may vary, etc...
# Mac Users - the !README-MAC.txt file contains instructions on how to
# install the software infrastructure on your Mac. Or at least, it will,
# when I get that sorted out.
# IMPORTANT BUG NOTE: There appears to be specific display situations
# (displaying particular bit patterns at particular times and places)
# that cause the ATMEL to reset when running later versions of the
# charpovfirmware. I have not been able to track down the precise
# cause, it appears to be a weird hardware/software problem. If you
# run into this issue (the reset will consistently happen when the display
# is trying to show one particular part of your message), then
# reword the message to avoid it. Debug by blanking out a single line in
# order to find the line with the offending character (usually, its the
# outermost line being FULLY displayed)
Instructions:
The core SpokePOV software is found here:
http://www.ladyada.net/make/spokepov/software.html
Go get it and install it.
In order to use the .py scripts in this distribution, you will need to install
Python on your machine. I have not tested them under Linux, just Windows.
Python 2.4.x should do the trick (not 2.3!)
http://www.python.org/download/releases/
You will also need the following packages:
wxPython for Python 2.4:
http://www.wxpython.org/
pyParallel for Python 2.4:
http://pyserial.sourceforge.net/pyparallel.html
cTypes for Python 2.4:
http://sourceforge.net/project/showfiles.php?group_id=71702
IMPORTANT: pyParallel seems to want the older 0.9.6 version of cTypes. Stuff
would not run on my Windows XP box with more recent versions.
In order to compile firmware, you'll need WinAVR
http://winavr.sourceforge.net/
Files in this package:
SpokePOV.py
Minor tweak to the basic SpokePOV program that lets you map a 256x30 BMP file
to the circular array of LEDs, with a 1-1 pixel to LED-pixel relationship.
Lets you nicely wrap text/graphics around the disc of the SpokePOV display.
If a larger file is presented, only the top 256x30 pixels are used; scaling
is not done.
Logo.bmp & Logo.dat
Contains a simple SpokePOV logo that the new SpokePOV.py will load.
SpokePOVFontMaker:
RealBasic app that makes it easy to generate font files for my project.
Includes builds for Mac, Windows, Linux, though I've only played with it
on the Mac. On Windows/Linux it should create BMP files, on the Mac it
creates PICTs that you have to convert (ie: using GraphicConverter).
Included are several decent fonts.
To use the app, select font, size and bold/italic until you get something
that fits inside the red squares. Type letters to change the sample
text (I suggest lowercase f and g to get ascenders and descenders).
The up and down buttons shift everything up and down.
Once you have it looking OK, click Make! to output a bitmap of the font
(characters 32-127) in a format suitable for loading via SpokePOV.py
or (more usually) SpokeChar.py It autocenters stuff left/right to
deal with the fact that the SpokePOV software will only handle
monospaced fonts.
The "usable" area for fonts in this implementation is 14x14, and the
output font is shifted down a pixel to make sure that all the "visible"
pixels will show on the 30 leds of the SpokePOV.
The last character (\0x7F, ascii 127) is set to all pixels on, making it
an anti-space character, useful for borders.
SpokeChar.py
Cribbed from SpokePOV, this provides support for loading character sets
(3K) and messages (up to 63 16-character lines) into the EEPROM.
Use the buttons/menu items to load and verify character sets (3K long,
they take about 10 minutes).
Enter a message you want the SpokePOV to display (when I have the firmware
done!) into the text editor panel. You can load and save it using
the file menu. The tweaks menu lets you wrap stuff to fit the 16-character
SpokePOV lines, and also hard center them. It's clumsy, I know, but
not worth doing better (and I don't have good doco on the wxWindows stuff).
The Upload Message button (also in the menus) lets you upload the message
to the final 1K bank of the 4K memory (this code does require the 4K
chip!) This feature is not currently used in my firmware.
SpokeCharInterleaved.py
A modified version of SpokeChar.py that uploads character sets in the
interleaved format required by charpovfirmware 1.06 and later.
spokepovfirmware1_01 annotated:
This contains a heavily annotated version of the spokepov 1.01 firmware
which I created to help myself better understand how it works. Limor
had a couple of cute hacks, I was quite impressed. Still some things I
don't understand, but as my knowledge grows, I'll tweak it.
Bring up a windows command window, cd to this directory, then:
make all - rebuilds the software as needed
make full - rebuilds and sends it to an attached spokePOV
charpovfirmware1_01:
The first stab at displaying messages. It doesn't display the text
loaded into the final 1K eeprom bank yet, just 2 lines that are hard-coded
into the main.c file. The current message is an in-joke.
Same make commands as the other firmware directories.
charpovfirmware1_02:
Displays up to 16 lines of messages instead of just 2, wrapping around
from last to first message. Messages are defined in the actual code.
charpovfirmware1_03:
Displays up to 16 lines of messages instead of just 2, wrapping around
from last to first message with smooth scrolling. A single #define
lets you select jump scrolling (like 1_02) or the smooth scrolling.
charpovfirmware1_04:
Lets you display the rotation count in realtime, in combination with
scrolling and other features. First step in adding a lot of
special effects.
charpovfirmware1_05:
Adds the ability to display RPMs.
charpovfirmware1_06:
Major code squeeze; requires special interleaved character sets (use
SpokeCharInterleaved.py to upload a character set in this format).
Lines are now indexed so that a line can be repeatedly displayed in
the scrolling list of lines without having multiple copies of it
(particularly useful for blank seperator lines). Limit of 256
characters of line text (16 unique lines) should not be a problem.
Able to display RPM and REVCOUNT while smooth scrolling!
To save space, SpokePOV button now toggles between resetting the
device and putting it to sleep (eg: if awake, goes to sleep; if
asleep, wakes and resets). No need to hold button down anymore.
Fixes bug in 1_05 where the last character in each line wasn't
displaying.
charpovfirmware1_07:
Implements calibrated time clock.
charpovfirmware1_08:
Implements half-shifted lines (to center even/odd length lines)
charpovfirmware1_09:
Implements 2-line shifts as well as 1-line shifts, allowing you
to completely change both lines at a single update. Obviously not
very compatible with smoothscroll, but makes for a nice cycling
display of dynamic info. You can just barely show Revs, RPM and
Clock all at the same time!
backgroundfirmware1_**
Several iterations of simple background graphics firmware, that
can display not only the stored bitmap images, but also various
scrolling patterns, and even a pacman.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?