$Id: README,v 1.7 2003/08/29 05:43:00 dwalters Exp $
-- Open Automaton Project: http://oap.sourceforge.net -- 

RF REMOTE INTRODUCTION
----------------------

This README covers the source code and circuit schematics for the Open 
Automaton Project RF Remote Module.

The RF Remote Module is a battery-powered handheld device that transmits RF 
(radio frequency) commands to the Input Module (which in turn, sends keypress
signals to a PC motherboard). See the directory input_module fo the full 
details of the Input Module, including circuit schematic and source code.

The circuit schematic (rf_remote.sch) was developed in gschem, part of the 
gEDA package, version 20030525.

Circuit schematic symbols that are not in the symbol library bundled with gEDA
are included as separate sym files (these .sym files can be copied into your
local symbol directory, typically /usr/local/share/gEDA/sym/local/).


LICENSING
---------

All source code and electronic circuit designs are copyright (C) 2003, Dafydd 
Walters.

The Open Automaton Project software is distributed under the terms of the GNU
General Public License. See the file COPYING.SOFTWARE for details.

Please see the file COPYING.ELECTRONICS to see the terms under which the
electronic circuit designs of the Open Automaton Project are distributed.


CIRCUIT NOTES
-------------

NOTE: The use of radio frequency components may be regulated by some 
governments. Please check your local laws before using such components. 

The 0.1uF capacitors are power supply decoupling capacitors, and should be 
placed near U1 and CONN1.

Any momentary action pushbuttons should work in the keypad switch matrix.
Project boxes are available from electronic retail outlets (e.g. Fry's,
Radio Shack) that include a membrane keypad matrix and a battery compartment
suitable for a 9 volt battery. These project boxes (particularly the 4x6 key
version) are ideal for this project.


OPERATIONAL NOTES
-----------------

One button on the keypad, labeled 'SET ROBOT CODE' is assigned to setting 
the Robot ID to be sent out in data packets by the transmitter (the receiving
Input Module must be set to the same Robot ID to recognize packets from the
transmitter). The 'SET ROBOT CODE' button must be held down for at least 2.5
seconds, and then one of the digit keys, 1 through 7, pressed to select the 
ID number. The Robot ID is then saved to EEPROM.

The initial default value of the Robot ID code is 1.

A single LED provides user feedback as follows:

 * On power up - 3 flashes.
 * When a normal key is pressed - LED is illuminated during RF transmission.
 * After 'SET ROBOT CODE' button has been held down for 2.5 seconds - 2 flashes.
 * After robot code has been selected (1 through 7) and set - 2 flashes.
 * Error (e.g. key other than 1-7 while waiting for code) - 5 flashes.


FIRMWARE NOTES
--------------

The software for the PIC16F84 PICMicro is written in assembly language, and
compiles using the GNU PIC Assembler, gpasm. To compile the source code into a 
hex file suitable for programming a device, type

    gpasm -n rf_remote.asm

The resulting hex file will be called rf_remote.hex  The -n option puts
DOS-style CR-LF newline sequences in the .hex file, required by most device
programmers. 

It also compiles with the MPASM compiler for Microsoft Windows that is a part
of the MPLAB suite from Microchip. However, you must make sure the assembly
(.asm) file is in Windows/DOS format (i.e. with CR-LF sequences at the end of
each line) before it will successfully compile in MPASM for Windows.

Some device programmers require the configuration bits to be set manually. It
is very important that these are set correctly. The RF Remote module requires
the following configuration bit settings:

 - Code Protection off
 - Crystal oscillator
 - Power-Up Timer on
 - Watchdog Timer off

The above settings are represented by the configuration word 3FF1 in hex.