Example #1
0
void Menu_Init(void)
{
  Disp_Init();                //display init
  Port_Init();                //port init
  Keyboard_Init();            //keyboard init
#ifdef LCD1602
  Meter_Init();               //level meter init
#endif

  if(ESignature != SIGNATURE) //check EEPROM signature, if error, init params:
  {
    for(char i = 0; i < PARAMS; i++)
      Par[i] = ParLim[i][P_NOM];
    ParToEEPROM();                        //params init
    for(char i = 0; i < MODES; i++)
      EScale[i] = SCALE_NOM + AUTO_SCALE; //scales init
  }
  else
  {
    for(char i = 0; i < PARAMS; i++)
      Par[i] = EPar[i];                   //read params from EEPROM
  }
  SetupCounter();
  Count_Start();              //start counter

  DispMenu = MNU_NO;          //no menu
  Hold = 0;                   //no hold mode
  Hide = 0;                   //display not hided
  Menu = MNU_SPLASH;          //go to splash screen menu
}
Example #2
0
int ConfigSampling(void)
{
	SetupCounter(&counterPackage);
	return 0;
}
Example #3
0
void Mnu_Setup(bool ini)
{
  //draw menu:
  if(ini)                        //if redraw needed
  {
    Count_Stop();                //stop counter
    Show_Setup(Param);           //draw setup menu
    if(Param == PAR_INT)         //if interpolator par,
    {
      Count_StartCalib();        //start interpolator calibration
      MenuTimer = ms2sys(T_CALIB);             //reload timer
    }
    DispMenu = Menu;             //menu displayed
  }
  //update interpolator value:
  if(Param == PAR_INT && !MenuTimer)
  {
    DispMenu = MNU_NO;           //redraw menu
  }
  //MENU key:
  if(KeyCode == KEY_MN)
  {
    if(Param >= PAR_INT)
    {
      KeyCode = KEY_OK;          //last param, exit
    }
    else
    {
      Param++;                   //new param
      DispMenu = MNU_NO;         //redraw menu request
      KeyCode = KEY_NO;          //key code processed
    }
  }
  //DOWN key:
  if(KeyCode == KEY_DN)
  {
    if(ParUpDn(Param, 0))          //step param down
    {
      DispMenu = MNU_NO;         //redraw menu request
      KeyCode = KEY_NO;          //key code processed
    }
  }
  //UP key:
  if(KeyCode == KEY_UP)
  {
    if(ParUpDn(Param, 1))          //step param up
    {
      DispMenu = MNU_NO;         //redraw menu request
      KeyCode = KEY_NO;          //key code processed
    }
  }
  //OK key:
  if(KeyCode == KEY_OK)
  {
    if(Param == PAR_SIF || Param == PAR_SRF)
    {
      KeyCode = KEY_UD;          //key code processed
    }
    else
    {
      ParToEEPROM();             //save parameters to EEPROM
      SetupCounter();
      Count_Start();             //start counter
      Menu = MNU_MAIN;           //go to main menu
      KeyCode = KEY_NO;          //key code processed
    }
  }
  //MENU + OK key:
  if(KeyCode == KEY_MK)
  {
    Par[Param] = ParLim[Param][P_NOM];
    DispMenu = MNU_NO;           //redraw menu request
    KeyCode = KEY_NO;            //key code processed
  }
  //UP + DOWN key:
  if(KeyCode == KEY_UD)          //UP + DOWN pressed,
  {
    if(Param == PAR_IF)
    {
      Param = PAR_SIF;
      DispMenu = MNU_NO;         //redraw menu request
      KeyCode = KEY_NO;          //key code processed
      return;
    }
    if(Param == PAR_RF)
    {
      Param = PAR_SRF;
      DispMenu = MNU_NO;         //redraw menu request
      KeyCode = KEY_NO;          //key code processed
      return;
    }
    if(Param == PAR_SIF)
    {
      Param = PAR_IF;
      DispMenu = MNU_NO;         //redraw menu request
      KeyCode = KEY_NO;          //key code processed
      return;
    }
    if(Param == PAR_SRF)
    {
      Param = PAR_RF;
      DispMenu = MNU_NO;         //redraw menu request
      KeyCode = KEY_NO;          //key code processed
      return;
    }
  }
}