TrxAVR-Picastar    Useful facts and hints

Programming - setting fuses
- see:  
TrxAVR_Picastar setup instructions - 3 - Atmega2560 programming

When setting fuses, do not set SUT_CKSEL to an external option.
In-situ programming needs the clock to be running. The ATmega2560 is supplied with
the internal R/C clock oscillator selected - so you can program it. Switching to internal
oscillator using the 16Mhz crystal allows you to program it.  BUT - if you select a
non-existent external clock source, then you thereafter have no clock and so you are
effectively locked out. ie: you cant program the chip and so so can't change back to a
working clock option. To recover from this sitiuation you need to apply an external clock
signal (eg: from the other ATmega2560 using a piece of wire and a capacitor!)

TrxAVR construction - minimum configuration to allow early testing
    see: Minimum configuration

DDS Commands:

DDS23 Toggles PortA bit 0

DDS26 Toggles the DSP and DDS help displays:
The sequence is: nil  >   DDS help  >  DSP help  >
 DDS and DPS help  >  nil    etc
(DSP help is on the screen in the resting state. DDS help occurs after a long key press.)
The selection is stored in internal EEMEM / trxavreemem.ini

DDS78 Toggles key value display. ( off > key code > matrix column )
If this is on, then the key code of a key press is briefly displayed on the screen.
This is very useful in setting up the keypad.
If your keyboard isn't working yet, then you can activate the key code display, by setting
DisplayKeyValue=0 in trxavreemem.ini and then using load EEMEM to load to TrxAVR.

Memory stack slot buttons.
Refer to Picastar manual.

Button tasks:
    Memory stack 67 sets the current memory stack to 67 (of 67, 68, 69, 60)
    Memory slot 61 set load slot 61 from the current memory stack.
      (same action as DDS61)
    Mem stack tune 67 sets the current memory stack to 67 loads slot 67:61
       and enters memory stack tuning mode (same action as DDS67)

Soft keys labelling
TrxAVR-Picastar allows you to assign tasks to:

See Keypads and buttons for more information

Shift key and encoder assignment

If the S(hift) key is pressed, then provided no other key is pressed in the next 5 seconds,
the twiddling of an encoder will bring up the encoder assignment menu for that encoder.
You can, if you wish, in the usual way use the menu encoder to the assign the required function
BUT in fact the encoder you twiddled can be used to select a parameter for assignment to
itself. M(enu) will save the change and E(scape) or “#” will exit.
So encoder assignment is simplified to pressing shift and then twiddling the encoder you want

to assign to and then pressing menu to save the assignment.

Encoder assign button

Encoder assign is a button task than can be assigned to a button or touchpad.
When you press it, it
brings up the encoder assignment menu for the last encoder to have been
assigned (or encoder 1 if no assignments have been made since startup).
Turning that encoder moves through the parameter assignment list to select a parameter for itself.
Pressing the last encoder button again saves the current parameter selection to the encoder.
(ie it has the function of the menu button)
At first sight this seems to do nothing much different to the Shift key encoder assignment described above.

The intended application is that one encoder (preferably Encoder 1) is an encoder with a push switch.
This push switch is connected into the key matrix and has a Rx button assignment as Encoder assign.
This now means that Encoder 1 has its own 'Shift' and 'Menu' key functionality.
Pushing in the encoder will bring up the encoder's parameter assignment menu. Twiddling it will select a
parameter and then pushing it in again will save that parameter to it.

So this is a fast way to assign a parameter to Encoder 1 .... without taking you fingers off it.
I may be of use in rig where the builder has chosen to have only a small number of encoders.


TrxAVR-Picastar home page