F4LW user manual
On power on, F4LW is displayed briefly, after that the software version V15E (or V15G for the German version). The F4LW has four major modes which can be selected via the colored buttons on the remote control.
Word mode (red button)
Various 4-letter words are displayed, the speed buttons control the duration one word is displayed. Use the numeric buttons to select from these options:
Button | Function | Example |
---|---|---|
Vocabulary | ||
1 | Select random words from the dictionary in EEPROM. | |
2 | Try to build random word chains from the dictionary in EEPROM. Each word differs by one character from the previous one. Repeating words is possibly avoided, but if there's no way out from a dead end, **** is displayed and a new starting word from the dictionary is chosen. | |
3 | Select random pseudo-words by choosing independent characters for each tube. This mode emulates the 70ies "word" generation scheme. | |
Character case | ||
4 | Selects all upper case. That's what B7971 tubes are made for. | |
5 | Selects title case, the first char is upper case, the rest is lower case. | |
6 | Selects all lower case. Some lower case chars look good, others fair and a few quite ugly. But that's the display technology of the 70ies. Nobody expected to use lower case at this time ;-) | |
Animations | ||
7 | Selects dropping down animation. | |
8 | Selects rotating clock face animation. | |
9 | Selects random segment animation. | |
0 | No animation, words appear at once. | |
Misc. | ||
Menu | Display the EEPROM tag briefly |
The character case selected in this mode also influences the case of prompts in other modes. However, case in terminal or message mode is not affected.
Uploading EEPROM contents
Pressing the hardware button on the F4LW in word mode starts uploading
the EEPROM via RS232. >UW< is displayed to indicate that
F4LW is waiting for data from the PC. Start the Python program
uploadROM.py
to transfer the memory image. A count down is
displayed indicating the number of 64 byte blocks remaining to be
uploaded. When finished, OK is displayed briefly and
word generation starts. If the EEPROM contents are invalid, ROM?
is displayed and only vocabulary mode 3 is enabled. It takes about 55s
to upload a 62k memory image.
Creating EEPROM image from a word list
The Python program makeROM.py
reads standard text files
containing one word per line, filters the 4 letter words, constructs
transition tables for word chains, and creates the memory image to be
uploaded. A 4-letter EEPROM tag must be specified, too. My favorite word
list 5desk.txt
contains 2731 four-letter words, 21644 word
chain transitions and compiles to the 62k image mentioned above.
An easier way is using F4LWGui.
Clock mode (green button)
The real-time clock is the only timebase used by F4LW, so don't expect too much accuracy. Currently there's no way to set the clock on the F4LW itself, you must use the RS232 to set it, but you can synchronize the RTC to the nearest minute manually.
Button | Function | Example |
---|---|---|
Single displays | ||
1 | Displays hours and minutes, 24h mode only. | |
2 | Displays minutes and seconds. | |
3 | Displays day and month. | |
4 | Displays day of week as 3 letter abbreviation. The rightmost tube displays *, if daylight-saving time is active. | |
5 | Displays 4 digit year. | |
6 | Displays 8 different images representing the moon phase. | |
7 | Displays the sunrise time for the current day. The 2 left-most cursor segments are always on in this mode. | |
8 | Displays the sunset time for the current day. The 2 right-most cursor segments are always on in this mode. | |
Cycling displays | ||
9 | Cycle thru all 8 displays above. The duration of each display can be adjusted with the speed buttons. | |
0 | Cycle thru the first 4 displays above. The duration of each display can be adjusted with the speed buttons. | |
Misc. | ||
Menu | Toggles seconds display via the cursor segments. When active, the cursor segments sweep left to right and back every second. | |
-/-- | Toggles between daylight-saving and standard time. Current time and sunrise/sunset times are adjusted accordingly. | |
Enter | In clock synchronization mode, time is set to the nearest minute. |
Setting the clock
Until the clock is set, RTC? is displayed.
Pressing the hardware button on the F4LW in clock mode sets the
real-time clock of the F4LW via RS232. >SC< is
displayed to indicate that F4LW is waiting for the clock data from the PC.
Start the Python program setclock.py latitude longitude
to calculate sun rise/set times for your location and upload the PC's
current time and date. When finished, OK is displayed briefly
and clock display starts.
An easier way is using F4LWGui.
Pressing the hardware button in mode 2 (minutes and seconds) enters synchronization mode, which is indicated by all 4 cursor segments lit. Press Enter on the remote control to adjust the RTC's time to the nearest minute and set seconds to zero. This way you can compensate for small inaccuracies of the RTC without having to connect F4LW to a computer.
Terminal mode (yellow button)
In this mode characters received via the RS232 interface are displayed
(shifted into the display from the right) Buttons pressed on the remote
control are converted into characters (translation table see
keymap.inc
) and sent to the PC, where
arbitrary functionality can be implemented. Have a look at the samples,
where a simple 5-function pocket calculator is implemented in just 70
lines of Python.
The speed and brightness control buttons are disabled in this mode, they are also sent to the PC.
Message mode (blue button)
Upto 10 messages (4 chars each) can be selected to be displayed and edited via the remote control. Message texts are stored in the non-volatile RAM of the real-time clock. Press the numeric buttons 0-9 to select a message, or press the Menu button to toggle blinking the current message. To edit a message, press Enter on the remote control.
Uploading messages
Pressing the hardware button on the F4LW in message mode starts uploading
messages to the F4LW via RS232. >UM< is
displayed to indicate that F4LW is waiting for messages from the PC.
Start the Python program uploadMessages.py
to transfer them.
When finished, OK is displayed briefly
and message display starts.
An easier way is using F4LWGui.
Message edit mode
The current tube to be edited is indicated by the cursor segment.
Button | Function | Example |
---|---|---|
Cursor left | Move the cursor to the left (cycling) | |
Cursor right | Move the cursor to the right (cycling) | |
Cursor up | Change the char to the following in ASCII order | |
Cursor down | Change the char to the previous in ASCII order | |
Numeric buttons | Enter a letter, similar to SMS entry on a mobile phone. E.g., pressing 8 cycles thru the chars T, U, V, and 8. There may be additional characters for some keys, too. | |
-/-- | Toggle upper/lower case. | |
Enter | Exit edit mode and store message. | |
Back | Abort edit mode without storing. |
Remote control test mode
To get into this mode, press the hardware button during the power-on
display. Now every RC-5 code received is displayed in hexadecimal as
RCxx. Write down the codes to adapt F4LW to your
remote control and edit rc5codes.inc
and
keymap.inc
accordingly.
This mode can only be left by powering off the F4LW, since the colored buttons display their codes but don't switch modes.
Other buttons
Off
Turns all tubes off. To reactive F4LW, press one of the colored buttons to go to the respective major mode.
Volume +/-
Adjust the display brightness from 0 to 6. The brightness is displayed briefly as BRnn.
Program +/-
Adjust the display speed from 0 to 50. The speed is displayed briefly as SPnn. The speed value is approximately the delay in units of 0.1 seconds, so Speed 0 is fastest and Speed 50 holds the display for about 5 seconds.
Summary of F4LW system messages
Message | Cause |
---|---|
BRnn | Display brightness has been set to nn. |
F4LW | Hello world, it's me. :-) The first message on power-up. |
MSGx | When switching to Message mode, no
messages have been entered yet. Either press the hardware button and
start the Python program uploadMessages.py , or
enter messages via the remote control as
described here. |
OK | Upload has been successfull. |
OVER | Overflow when converting a 16 bit number to decimal (>9999). You should never see this message. |
RCxx | Remote control code xx (hexadecimal) has been received. |
ROM? | The EEPROM is not yet initialized or an improper file has been
uploaded. Press the hardware button and start the program
uploadROM.py to upload a word list ROM file. |
RTC? | The real-time clock is not yet initialized or was disconnected
from the backup battery. Press the hardware button and start
the program setClock.py to upload the current time. |
>SC< | After pressing the hardware button in
Clock mode, F4LW is now
waiting to receive the clock data via RS232. Start
setClock.py now. |
SER? | You switched to Terminal mode but there was no response from the serial interface. Either the cable is not connected or no server program has been started at the host. The server should send some chars on start-up to shift this message out of the display. |
SPnn | Display speed has been set to nn. |
>UM< | After pressing the hardware button in
Message mode, F4LW is now
waiting to receive the messages via RS232. Start
uploadMessages.py now. |
>UW< | After pressing the hardware button in
Word mode, F4LW is now
waiting to receive the EEPROM contents via RS232. Start
uploadROM.py now. |
Vnnl | The second message after power-up, nn is the software version, l the language (currently E or G). |
WRAP | When trying to toggle daylight-saving time or synchronizing the clock, the date would change. This is forbidden to simplify software. |