 
 void dds_update(Frequency frequency)
 {
+  // if not online, do nothing
+  if (VfoMode != vfo_Online)
+    return;
+    
   // as in datasheet page 12 - modified to include calibration offset
   unsigned long data = (frequency * 4294967296) / (180000000 - VfoClockOffset);
 


//----------------------------------------
// Toggle the VFO mode: vfo_Online or vfo_Standby.
//----------------------------------------
void vfo_toggle_mode(void)
{

  attachInterrupt(digitalPinToInterrupt(re_pinPush), pinPush_isr, CHANGE);

  // look at RE button, if DOWN this function returns 'true'
  return (PIND & 0x10);
}

//----------------------------------------
// Handler for pusbutton interrupts (UP or DOWN).
// Note: input signal has been inverted.
//----------------------------------------

void pinPush_isr(void)
{
  // sample the pin value
  re_down = (PIND & 0x10);
  
  if (re_down)
  {
