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.