Notes for the codppmx8US version of the ATtiny85 fox controller

Created: August 30, 2016  G. D. (Joe) Young <jyoung@islandnet.com>

Revised: Sept 4/16 - put together web site package. ..US.hex, ..USNO.hex,
                     ..USinv.hex, ..USNOinv.hex


The US version of the controller arose to conform to the US call sign ID being
required at the END of a transmission. This change caused considerable
modifications to the timing logic compared to the 'final' Canadian version of
the controller software codppmx8inv.

An initial version 'simply' delayed the timing of the ID by calculating a first
ID time to occur in from the end of the ON time by the duration of the call
sign, and then just adding the ID interval from then on. Unfortunately, this
resulted in a race condition where sometimes the callsign insertion time got
lost (when the callsign sending extended past the end of the ON time) and the
ID then reverted to the beginning of the ON time. So the logic was changed to
always reset the call insertion time calculation at the beginning of the ON 
time. This in turn required the insertion time calculation to be mode 
sensitive, required also because it was deemed desireable that mode 3 identify
at the end of each ON time.

The resetting the call-insertion timing at each ON time then requires that the
test for expiry of the call ID interval include a counting of the ON plus OFF
times. This counting introduces a constraint on the call ID interval--it has to
be an exact multiple of 60 seconds.

Then, discussion with Dale suggested that the timing should also have the
transmissions not overlap. The previous version of the controller allowed the
fox ID to complete if the sending was in progress when the ON time expired,
allowing the transmitter to continue into the following Tx interval. This
non-overlap capability is implemented within an #ifdef block so it can be
easily reverted to overlap timing. This feature needs field verification to
assess its desireability. For instance, with the slow sprint sending MOS, you
get only two repetitions of MOS and just over 3 seconds of silence.

Sept 4/16
---------
In addition to the .hex versions codppmx8US.hex and codppmx8USinv.hex mentioned
in the software manual, the .zip package also includes compiled versions of the
firmware with the NO_OVERLAP option enabled for both the Tx open-drain and the
Tx active high versions of the transmiter keying line.



