Proton BASIC Compiler - Amicus18 WIN KEYER

  • Amicus18 WIN KEYER

    I have considered this project as a programming exercise. I wanted to know if I could perform a CW Keyer using the Proton Basic Compiler and the Amicus18 board. This code is part of a larger more complex project that I hope to complete in the future.
    The initial proyect was planned for an 8-pin PIC. Gradually I have added more functions and I have stopped when the ideas are over.

    The keyer provides for a semi automatic CW contact between two amateur radio stations.
    The keyer has sixteen pre-programmed sequences that may be altered at compile time or through a serial connection to a computer. Content and timing of the CW is adjustable through the PC keyboard and CW speed is adjustable through an external potentiometer.
    A signal report may be entered through thumbwheel switches.
    Facility for a buzzer for CW practice is also provided.
    Interface to a computer is made through the hardware serial port of the processor while the transmitter interface is via a switched transistor driven by the processor.
    See the Specific Features for details.

    The manual describes the software options and how the keyer may be flexibly adjusted to suit many operators' needs.
    The PIC18F26K20 has been chosen for the size of its eeprom memory (1024 bytes) and ROM.
    However it would have been better to use a PIC18F46K20 or PIC18F46K22 for the greater number of pins.

    Specific Features:
    - 115200 Baud Serial Interface.
    - All CW characters generated by the paddles or keyboard are sent to the terminal in ASCII format.
    - FOSC = 64Mhz used for better timing accuracy due to the large code. (Xtal 16Mhz)
    - Keyboard option. All ASCII characters and some macros could be generated by the PC keyboard and transformed to CW (dot/dash) characters.
    - CW speed (8 - 40 WPM)
    - Iambic A, Iambic B or Ultimatic keyer.
    - Select 3:1 or 4:1 Dash/Dot ratio.
    - Autospacing (letter space + Word space)
    - Word Space option.
    - Adjustable Wordspace.
    - Adjustable Letterspace.
    - Farnsworth spacing.
    - 10 Tones availables.
    - 2 TUNE Transmitter Modes with configurable TimeOut.
    - PTT Output with adjustable delay (IN and OUT)
    - 1 PTT port pin.
    - 1 CW data output port pin.
    - 1 Tone port pin.
    - Separate Dot/Dash input port pins.
    - 1 CW output practice pin for buzzer.
    - Sixteen messages in eeprom memory with Hex encoder and one Button.
    - Beacon Mode with TimeOut.
    - 100 messages (or more) in ROM memory downloadable to the eeprom within 5 message blocks.
    - Numbers transformation in abbreviated form with Macros for contests.
    - Serial number generator for Contest/Load number/Clear number/Decrease number by button.
    - 10 or more Custom Prosigns (shorthand signals in morse code).
    - 100 macros available.
    - On line Macros for the Keyboard Mode.
    - Paddle only Sidetone (MUTE).
    - External Potentiometer speed control.
    - Stackable messages.
    - Automatic detection of correspondent’s CallSign.
    - Read & send the RST value from decimal encoders ej:<589>.
    - Multi-functions with 1 Button only and 1 decimal encoder.

    For more details the manual & code are available HERE.

    I have to thank John Drew for his help in correcting the text of the manual.
    Alberto Freixanet