no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | cybiko:rfterm [2009/11/27 17:54] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ======RF Term====== | ||
+ | {{RFTerm.gif? | ||
+ | As you can see, box drawing, cursor positioning, | ||
+ | {{ cybiko: | ||
+ | This application is designed to work in conjunction with a second Cybiko which is running the [[SerialRelay|Serial Relay]] program that allows RS232 traffic to be xferred, wirelessly, between Cybikos. | ||
+ | {{ cybiko: | ||
+ | It can also operate as a directly cabled RS232 serial VT terminal as well. | ||
+ | |||
+ | {{ vttest.jpg? | ||
+ | |||
+ | The remote screen running this app is typically handheld and not connected to an RS232 port, instead receiving info to be displayed and returning keystrokes to the host Cybiko that is driving it. | ||
+ | |||
+ | The RFTerm screen simply displays whatever text is sent via the wireless link. Screen and device management is achieved by a set of control codes (rather like VT100 codes) that allow the controlling device to clear the screen, set the font, position the cursor etc... | ||
+ | |||
+ | <note important> | ||
+ | =====Fonts===== | ||
+ | Three font sizes are supported : | ||
+ | |||
+ | {{lf_1.jpg? | ||
+ | |||
+ | We aim to minimise the volume of wireless comms needed to achieve a given display. e.g. hold pre-prepared screens on the ' | ||
+ | |||
+ | Keypresses on the remote screen keypad are simply sent back to the host via the wireless link. | ||
+ | |||
+ | =====Keyboard===== | ||
+ | |||
+ | Any key pressed will be sent to remote registered program. | ||
+ | |||
+ | * **SELECT** - Will present a dialog of other cybiko units in the area to communicate with. | ||
+ | * **Shift-SELECT** - Locate a debug partner. | ||
+ | * **Fn-SELECT** - Screen dump to the file RFTerm.scr | ||
+ | * **Fn-ENTER** - Present the options screen, these are described below. | ||
+ | * **ESC** - Quit the application. | ||
+ | |||
+ | =====Options===== | ||
+ | The options screen is accessed by pressing the ' | ||
+ | Currently, the following options are provided : | ||
+ | * **Tx/Rx Type** - This menu option is only available when running on a [[ClassicHardware|Classic]]. | ||
+ | * **Serial Settings** - Sub menu to setup serial port parameters. | ||
+ | * **Partner Type** - the program that will receive messages transmitted from RFTerm either [[SerialRelay]]< | ||
+ | * **Set Font** - choose the default font size: 3x5, 4x6, 5x7< | ||
+ | * **Local echo** - determines whether locally typed characters are echoed to the local screen | ||
+ | * **Power** - Sets the wireless Tx to low< | ||
+ | * **Enter Key** - Send either CR< | ||
+ | * **CR Handling** - When an inbound CR is received should an LF be automatically added? | ||
+ | * **Cursor key state** - Toggle between application or normal mode. The difference is the preceding escape sequence, in Normal mode < | ||
+ | * **Cursor mode** - Flashing< | ||
+ | * **Backspace key** - send either Ctrl-H (8)< | ||
+ | * **Remote quit notify** - when the [[SerialRelay|Serial Relay]] program exits do we want a notification dialog. | ||
+ | * **Bell action** - what to do when the terminal receives a CTRL-G chr(8) character. | ||
+ | * Do nothing | ||
+ | * Sound the beeper< | ||
+ | * Vibrate | ||
+ | |||
+ | < | ||
+ | |||
+ | =====Function Keys===== | ||
+ | * Use %xx and hex to embed special characters. | ||
+ | * < | ||
+ | * < | ||
+ | * <Esc> to exit | ||
+ | |||
+ | =====VT100 Emulated Sequences===== | ||
+ | The list of VT100 escape sequence supported by this emulator is presented here. | ||
+ | ====Key Mappings==== | ||
+ | Some of the special keys on the VT100 have been mapped to the cybikos special row of function keys. | ||
+ | PF1 - Fn1 (Squiggly @ symbol) | ||
+ | PF2 - Fn2 (Telephone) | ||
+ | PF3 - Fn3 (Mans face) < | ||
+ | PF4 - Fn4 (Alarm clock) | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====Cursor Control==== | ||
+ | ^Cursor\\ Home | < | ||
+ | ^Cursor\\ Up | < | ||
+ | ^Cursor\\ Down | < | ||
+ | ^Cursor\\ Forward | < | ||
+ | ^Cursor\\ Backward | < | ||
+ | ^Force Cursor\\ Position | < | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====Erasing Text==== | ||
+ | |||
+ | ^ Erase\\ in Line | < | ||
+ | ^ Erase\\ in Display | <ESC> [ Ps J\\ \\ **Parameters**\\ 0 - Erase from the active position to the end of the screen, inclusive (default)\\ 1 - Erase from start of the screen to the active position, inclusive\\ 2 - Erase all of the display -- all lines are erased, changed to single-width, | ||
+ | |||
+ | |||
+ | |||
+ | ====Font modifiers==== | ||
+ | |||
+ | ^ Underline | < | ||
+ | ^ Reverse Video | < | ||
+ | ^ Reset colour attributes to default | < | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====Graphics==== | ||
+ | Support for line drawing characters is available for the 5x7 font only. This table describes the font mapping http:// | ||
+ | ^ Enter GR mode | < | ||
+ | ^ Exit GR mode | < | ||
+ | |||
+ | Loading of bitmaps as defined in the RFTerm.scr file. This file contains a list of bitmaps and their X,Y coordinate.\\ | ||
+ | Sample **RFTerm.scr** file: | ||
+ | < | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ^ Load bitmap | < | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====Music==== | ||
+ | The cybiko has the ability to play .mus files, using the same sort of mapping as was done for the Graphics. | ||
+ | |||
+ | ^ Play music file | < | ||
+ | |||
+ | The music file will be called RFTerm.snd and will contain a lines of text identifying that .mus file that you wish to play. | ||
+ | |||
+ | **Example RFTerm.snd file** | ||
+ | < | ||
+ | beep.mus | ||
+ | burp.mus | ||
+ | away.mus | ||
+ | </ | ||
+ | |||
+ | If the following sequence was sent to RFTerm it would play **burp.mus** | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====Misc ==== | ||
+ | |||
+ | It would be useful to be able to get answer back strings from RFTerm in response to queries posted by the driving application. | ||
+ | |||
+ | To this extent this escape sequence can offer up information back to caller about the state of play on a cybiko. | ||
+ | |||
+ | ^Answer back| < | ||
+ | |||
+ | ==Index values== | ||
+ | The following table identifies the possible answer back items that can be queried. | ||
+ | ^ Description ^ Value ^ Length ^ Options ^ | ||
+ | | Battery Life | 1 | 3 | The battery life range 0-100 | | ||
+ | | Nick name | 2 | 8 | Name of the cybiko | | ||
+ | | Date | 3 | 9 | Local cybiko date dd-mon-yy| | ||
+ | | Time | 4 | 8 | Local cybiko time 24hh:mi:ss| | ||
+ | | Uptime | ||
+ | |||
+ | ====Screen Dump==== | ||
+ | Pressing the Fn-Select keysequence will cause a screendump ' | ||
+ | |||
+ | 1. {{rfterm.jpg? | ||
+ | - File Missing? | ||
+ | - {{vt100test.txt}} | ||
+ | - See test directory in ZIP file. | ||
+ | |||
+ | ===== Reference Material ===== | ||
+ | VT100 User Guide - http:// | ||
+ | |||
+ | =====Ideas===== | ||
+ | * **Options** - there are a great many options that might be defined to control the behaviour of the terminal. These include ... | ||
+ | * Cursor style ... block/ | ||
+ | * Logging ... record printable data to a textfile on the Cybiko. Have to think about when to flush this file ... | ||
+ | * Inverse video mode. | ||
+ | * Recognise XON/XOFF characters (or not). | ||
+ | * **Pre-defined Strings** - rather than send very long strings over the wireless link, it would be neat it these strings could be pre-loaded into a .dat file that is held locally on the Cybiko that runs RFTerm. An escape sequence would then cause a given string to be displayed. | ||
+ | |||
+ | * **Scrollback** - maintain a screen buffer and allow user to scrollback thru this. | ||
+ | |||
+ | * **Time/ | ||
+ | |||
+ | * **Nickname** - an escape code that prints the nickname of the current ' | ||
+ | |||
+ | * **Battery** - an escape code that prints the current %age battery power remaining. | ||
+ | |||
+ | =====Change Log===== | ||
+ | 7-Jul-06 1.7 | ||
+ | * Added the ability to be able to define function keys using FN and one of the numeric keys. Function keys can send an arbitary string of up to 32 characters in length. | ||
+ | |||
+ | 3-Dec-05 1.6 | ||
+ | * To save power if RFTerm is operating in Direct serial mode the RF subsystem will be disabled. | ||
+ | |||
+ | 30-Sep-05 1.5 | ||
+ | * It now has the ability to auto detect the hardware that it is running on, either Classic or Extreme and provide additional configuration options via FN-ENTER.\\ | ||
+ | |||
+ | 27-Sep-05 1.4 | ||
+ | * Answer back support. | ||
+ | |||
+ | 18-Sep-05 1.3 | ||
+ | * Added music playing support. | ||
+ | |||
+ | 8-Aug-05 1.2 | ||
+ | * Added remote debug capability. | ||
+ | * key fixup with flashing cursor | ||
+ | |||
+ | 7-Aug-05 | ||
+ | * Bitmap support, Flashing cursor, CR interpretation option | ||
+ | |||
+ | =====Code===== | ||
+ | {{RFTerm.zip}} v1.6 | ||
+ | {{RFTerm-1.7.zip}} | ||
+ | {{tag> |