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 }
int ConfigSampling(void) { SetupCounter(&counterPackage); return 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; } } }