Repeater Overview

Extends the range of the wireless capabilities on the Cybiko by forwarding messages transparently.

Repeater units may also be chained infinately to extend the RF as far as you want. But be aware that the more repeaters you introduce into the chain the longer the propagation delay between a message leaving the laptop and arriving at the Desktop (and visa versa).
Disabling debug on the repeater unit will increase throughput marginally.

When chaining repeaters you will need to use the <SELECT> button on one of them to select the other.

To increase the robustness of the application, it can be configured to automatically reboot itself when a threshold is met. This can be either based on the number of bytes processed or an amount of elapsed time.
Just before a unit reboots itself the SLOT information is saved to flash, when the program restarted it checks for a saved flash configuration and reloads it.

As the extreme does not have an RS232 port it cannot run SerialRelay, this however does not exclude it from being used a repeater unit.

Single Repeater

Start up the repeater on a standalone Cybiko. It is best that you set the Slot Alloc mode to Auto, and Auto Join on. These are the defaults for a new repeater installation. Once the repeater is running there is nothing else you need to do on the GUI.

Each of the programs that will be talking to the repeater must have its PartnerType changed to repeater. Once this is done you can use <SELECT> to locate the repeater from both ProgramA and ProgramB and there you go.

Multi Repeater

A multi repeater configuration is the same as a single repeater with the addition that from one of the Repeaters you will press its <SELECT> button and locate the other repeater to chain them together.

Options

  • Slot allocation - When a program asks the repeater program to forward a message for it, a slot must be allocated by the repeater.
    There are two available slots 0 and 1. When slot allocation is set to manual a GUI popup menu will be invoked when the repeater program received an IDENT message from a partner, when in +auto+ mode the next available slot will be allocated.
    If no free slot is available an error message will be sent to the console.
    Default mode is Auto.
  • Report Quit - when a partner exits and notifies us do we want to display a dialog. When in OFF mode a message will be written to the console instead.
    Default: off.
  • Auto Reboot (mins) - The unit will automatically reboot itself after this many minutes have elapsed. This can be used in concert with Desktop replacement with an auto runnable program.
  • Reboot bytes (kb) - After a given number of bytes are processed via RF the unit will auto reboot.
  • RF silence - that amount of time in minutes that has to elapse after RF activity before the unit can be considered ready for reboot. This setting runs in parallel with the reboot Mins setting. For example if the unit is told to reboot after 10 mins, and it requires 2min of RF silence. If a packet is received at 9mins then the unit will wait until 11min before rebooting.
  • Power Mode - Invokes an RF power hack to increase a units range. Default low
  • Auto Join - default on When the repeater is selecting another to create a repeating chain, this option is used to control the behaviour. When in auto-join mode a dialog will not be presented when joining a request from another unit.

Feature Request

  1. A Broadcast option would be nice too, so that whenever any Cybiko sent a message to the repeater, the repeater would forward the message to all Cybikos.
  2. Store and forward mode. This would enable the repeater to buffer several messages and send them. This would enable either end of the repeater to drop out and reappear with the lost of packets. There would have to be a time limit on how long the repeater will buffer message for a missing Cybiko before just ignore them completely.
Code
repeater.zip 1.0