/* * keys.c * * Created on: Oct 24, 2017 * Author: toporov */ #include "my.h" #include "main.h" #include "tim.h" DynamicCursor_TypeDef DynamicCursor[2] = {{0},{0}}; extern __IO uint32_t LAST_ACTIVE_CHANNEL, ACTIVE_CHANNEL, CNT_CHANNELS, MASK_CHANNELS; __IO bool needSend = false; extern volatile uint8_t READY; extern volatile uint16_t cntmeas; extern volatile uint16_t cntADC; extern volatile DiagnData_TypeDef DiagnFileData; extern __IO uint8_t CALC_FREQ; extern __IO bool WARNING, ALARM; extern __IO bool AUTOKU; extern __IO bool NEWFILE; extern __IO bool FLAG_CALC_MEAN; extern __IO float32_t MEAN; extern __IO float32_t MEAN_TEMP; volatile bool ZOOM_OUT = false; volatile bool ZOOM_IN = false; __IO uint32_t RouteIndex = 0, MaxRouteIndex = 0; volatile bool FirstStart = true; extern __attribute__ ((aligned (32))) DTCM bool Freq[4096]; extern volatile float32_t Fvr, Fc, Fv, Fn, Ftk, deltaDB, fv; extern volatile bool DEFECTS[NUM_DEFECTS]; extern volatile uint8_t DefectType; extern volatile bool SeeResults; extern volatile bool READY_TO_SEE; char TEMP_Comment[40]; extern __IO uint32_t CommentLen; extern char Comment[40]; extern float32_t MultRec; extern volatile bool FirstTime; extern volatile float32_t CorrKk[3]; extern __IO uint8_t CURR_POINT, NUM_OPERANDS, CURR_USL; extern float32_t skz[3]; extern float32_t skzDB[3]; extern volatile bool RepeatKm; extern volatile uint16_t Nr; extern volatile uint32_t Stability; extern volatile uint8_t CleanStatus; extern volatile uint8_t FormatStatus; extern RTC_HandleTypeDef hrtc; extern float32_t Vbat; extern char Serial[8]; extern volatile char _SERIAL[8]; extern volatile float32_t aa1; extern volatile float32_t aa0; volatile uint32_t STATUS; extern volatile PlayState_TypeDef PlayingState; extern float32_t operand[4]; volatile uint32_t CURSOR = 32; volatile uint8_t ViewLevel = 0; extern volatile bool screen; volatile bool NeedOff = false; volatile bool HISTORY = false; extern __IO uint8_t CardState; extern float32_t Kcorr[9]; extern float32_t Acorr[2]; extern __IO uint32_t RoutePointID; extern __IO uint16_t timerStatus; extern volatile uint32_t Ns; extern volatile uint32_t Fs; extern volatile bool screen, RefreshScreen; extern volatile UserData_TypeDef pardata, pardata_old; extern volatile CorrData_TypeDef corrdata; extern volatile bool measuring, AUTOZOOM; extern volatile bool Recording, clbr; extern volatile bool Threshold; extern float32_t skz[3]; volatile bool SeeLog = false; volatile uint16_t oldM = 32; volatile uint16_t Mpos, fineMpos; volatile uint16_t Xn; volatile uint16_t X0; volatile uint16_t lX; volatile uint16_t rX; volatile bool StartRec; volatile uint8_t menu = 0; volatile uint8_t lastmenu = 0; volatile uint8_t oldmenu = 255; volatile uint8_t menupos = 1; volatile uint8_t oldmenupos = 0; volatile uint8_t lastmenupos = 1; volatile uint16_t repeat = 0; volatile bool NeedSTOP = false; extern uint8_t StatusFile; volatile bool AddToFile, CheckFile, FIRST, ReadFromFile, DrawSavedData, CheckFileExist, SavingUnable, SavingPassed, DrawStatus, ThisFileExist; volatile bool needDispOn; extern volatile uint32_t FirstMeas; extern __IO uint32_t TIMEOUT_OFF, TIMEOUT_OFF2; volatile bool KeysIsReady = false; volatile uint32_t KEY_STATE = 0; volatile bool focused = false; void initKeys(void) { KeysIsReady = false; HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_SET); } uint32_t readkey(void) { uint32_t key = 0; if(KeysIsReady == false){ return 0; } if(HAL_GPIO_ReadPin(OFF_GPIO_Port, OFF_Pin) == GPIO_PIN_SET) { key = KEY_PW; } HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_RESET); if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_RESET) { key |= KEY_DN; } HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_RESET); if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_RESET) { key |= KEY_OK; } HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_SET); HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_RESET); if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_RESET) { key |= KEY_UP; } HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_SET); return key; } uint32_t kbhit(void) { volatile uint32_t key = 0;; static uint32_t dreb = 0; //дребезг static uint8_t first = 1; //признак первого момента нажатия кнопки static uint16_t rep = 50; do { key = readkey(); if(!key) { if(dreb) dreb--; else first = 1; } else { if(dreb < KEY_DBZ) dreb++; } } while((dreb > 0) && (dreb < KEY_DBZ)); /*if(key == KEY_PW) { do { key = readkey(); if(!key) { if(dreb) dreb--; else first = 1; } else { if(dreb < 50000) dreb++; } } while((dreb > 0) && (dreb < 50000)); }*/ if(!key) //если кнопки отпущены { first = 1; //достоверно кнопки отпущены return 0; //вернуть 0 } else //иначе { if(first) //определить кнопку { //только один раз first = 0; //за нажатие repeat = rep = 2000; return key; //вернуть в главную функцию состояние клавиатуры } else { if(repeat) return 0; //имитация свободной клавиатуры else { if(rep > 0) rep >>= 1; else rep = 100; repeat = rep; if(key == KEY_PW) return 0; return key; } } } } void keyIns(void) { /*int16_t tmpM;*/ uint32_t j, k, i, lvl_0, d, l, oldIndex; uint32_t key; volatile uint8_t idt, iet, ies, ied, iee, ikd, iks, ikt; uint16_t multA_u16, multB_u16, dX, dXold, MaxLevel; char string[40], str[40]; float32_t f, fl; uint32_t Year, Month, Day, Hour, Min, Sec; float32_t fa[3] = {0, 0, 0}; float32_t ff[3] = {0, 0, 0}; float64_t f64; uint8_t tmp8; uint16_t last_val, last_iin; key = KEY_STATE; KEY_STATE = 0; if(key) { if(DrawStatus) { DrawStatus = false; timerStatus = 0; STATUS = AP_OK; return; } switch(key) { case KEY_UP://TODO KEY UP { if(menu == OPTIONS) { if(!focused) { if(menupos == Back) menupos = PowerOff; else if(menupos == Inputs) menupos = Back; else menupos--; } else { if(menupos == Lang) { pardata.LANG ^= 1; } } } else if(menu == SETTINGS) { if(menupos == Back) menupos = Val_4; else if(menupos == Val_4) { if(!focused) menupos = Sens_4; else { last_iin = pardata.amplif[Ch4].IIN; last_val = pardata.amplif[Ch4].VAL; if(pardata.amplif[Ch4].VAL < pQ_mV) { if(pardata.amplif[Ch4].IIN < ICP) pardata.amplif[Ch4].IIN++; else { pardata.amplif[Ch4].IIN = CHARGE; pardata.amplif[Ch4].VAL++; } } else { pardata.amplif[Ch4].IIN = CHARGE; pardata.amplif[Ch4].VAL = Accel; } if(WriteChannel(Ch4)) { pardata.amplif[Ch4].IIN = last_iin; pardata.amplif[Ch4].VAL = last_val; } } } else if(menupos == Sens_4) menupos = Val_3; else if(menupos == Val_3) { if(!focused) menupos = Sens_3; else { last_iin = pardata.amplif[Ch3].IIN; last_val = pardata.amplif[Ch3].VAL; if(pardata.amplif[Ch3].VAL < pQ_mV) { if(pardata.amplif[Ch3].IIN < ICP) pardata.amplif[Ch3].IIN++; else { pardata.amplif[Ch3].IIN = CHARGE; pardata.amplif[Ch3].VAL++; } } else { pardata.amplif[Ch3].IIN = CHARGE; pardata.amplif[Ch3].VAL = Accel; } if(WriteChannel(Ch3)) { pardata.amplif[Ch3].IIN = last_iin; pardata.amplif[Ch3].VAL = last_val; } } } else if(menupos == Sens_3) menupos = Val_2; else if(menupos == Val_2) { if(!focused) menupos = Sens_2; else { last_iin = pardata.amplif[Ch2].IIN; last_val = pardata.amplif[Ch4].VAL; if(pardata.amplif[Ch2].VAL < pQ_mV) { if(pardata.amplif[Ch2].IIN < ICP) pardata.amplif[Ch2].IIN++; else { pardata.amplif[Ch2].IIN = CHARGE; pardata.amplif[Ch2].VAL++; } } else { pardata.amplif[Ch2].IIN = CHARGE; pardata.amplif[Ch2].VAL = Accel; } if(WriteChannel(Ch2)) { pardata.amplif[Ch2].IIN = last_iin; pardata.amplif[Ch2].VAL = last_val; } } } else if(menupos == Sens_2) menupos = Val_1; else if(menupos == Val_1) { if(!focused) menupos = Sens_1; else { last_iin = pardata.amplif[Ch1].IIN; last_val = pardata.amplif[Ch1].VAL; if(pardata.amplif[Ch1].VAL < pQ_mV) { if(pardata.amplif[Ch1].IIN < ICP) pardata.amplif[Ch1].IIN++; else { pardata.amplif[Ch1].IIN = CHARGE; pardata.amplif[Ch1].VAL++; } } else { pardata.amplif[Ch1].IIN = CHARGE; pardata.amplif[Ch1].VAL = Accel; } if(WriteChannel(Ch1)) { pardata.amplif[Ch1].IIN = last_iin; pardata.amplif[Ch1].VAL = last_val; } } } else if(menupos == Sens_1) menupos = Back; else { if(menupos >= Kikdt_1 && menupos <= Kpt_1) ACTIVE_CHANNEL = Ch1; else if(menupos >= Kikdt_2 && menupos <= Kpt_2) ACTIVE_CHANNEL = Ch2; else if(menupos >= Kikdt_3 && menupos <= Kpt_3) ACTIVE_CHANNEL = Ch3; else if(menupos >= Kikdt_4 && menupos <= Kpt_4) ACTIVE_CHANNEL = Ch4; DoKeyUP(); } } else if(menu == MAIN) { if(CNT_CHANNELS < 5) { if(ACTIVE_CHANNEL == Ch1) { if(menupos == Hp) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].IFV < Hp10) { pardata.amplif[ACTIVE_CHANNEL].IFV++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IFV--; } } } else { ACTIVE_CHANNEL = Ch4; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch3; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch2; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch1; } } } menupos = Out; } } else { SetUP(); } } else if(ACTIVE_CHANNEL == Ch2) { if(menupos == Hp) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].IFV < Hp10) { pardata.amplif[ACTIVE_CHANNEL].IFV++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IFV--; } } } else { ACTIVE_CHANNEL = Ch1; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch4; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch3; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch2; } } } menupos = Out; } } else { SetUP(); } } else if(ACTIVE_CHANNEL == Ch3) { if(menupos == Hp) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].IFV < Hp10) { pardata.amplif[ACTIVE_CHANNEL].IFV++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IFV--; } } } else { ACTIVE_CHANNEL = Ch2; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch1; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch4; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch3; } } } menupos = Out; } } else { SetUP(); } } else if(ACTIVE_CHANNEL == Ch4) { if(menupos == Hp) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].IFV < Hp10) { pardata.amplif[ACTIVE_CHANNEL].IFV++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IFV--; } } } else { ACTIVE_CHANNEL = Ch3; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch2; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch1; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch4; } } } menupos = Out; } } else { SetUP(); } } } else { } } else { if(menu == CALIBR_00) { if(menupos > Ch1) menupos--; } else if(menu >= CALIBR_0 && menu <= CALIBR_22) { if(menupos == Next) menupos = Set_1; else if(menupos == Set_1) menupos = Set1; else if(menupos == Set1) menupos = Set_10; else if(menupos == Set_10) menupos = Set10; else if(menupos == Set10) menupos = Set_100; else if(menupos == Set_100) menupos = Set100; } } } break; case KEY_DN://TODO KEY DOWN { if(menu == OPTIONS) { if(!focused) { if(menupos == Back) menupos = Inputs; else if(menupos == PowerOff) menupos = Back; else menupos++; } else { if(menupos == Lang) { pardata.LANG ^= 1; } } } else if(menu == SETTINGS) { if(menupos == Back) menupos = Sens_1; else if(menupos == Sens_1) menupos = Val_1; else if(menupos == Val_1) { if(!focused) menupos = Sens_2; else { last_iin = pardata.amplif[Ch1].IIN; last_val = pardata.amplif[Ch1].VAL; if(pardata.amplif[Ch1].VAL > Accel) { if(pardata.amplif[Ch1].IIN > CHARGE) pardata.amplif[Ch1].IIN--; else { pardata.amplif[Ch1].IIN = ICP; pardata.amplif[Ch1].VAL--; } } else { pardata.amplif[Ch1].IIN = ICP; pardata.amplif[Ch1].VAL = pQ_mV; } if(WriteChannel(Ch1)) { pardata.amplif[Ch1].IIN = last_iin; pardata.amplif[Ch1].VAL = last_val; } } } else if(menupos == Sens_2) menupos = Val_2; else if(menupos == Val_2) { if(!focused) menupos = Sens_3; else { last_iin = pardata.amplif[Ch2].IIN; last_val = pardata.amplif[Ch2].VAL; if(pardata.amplif[Ch2].VAL > Accel) { if(pardata.amplif[Ch2].IIN > CHARGE) pardata.amplif[Ch2].IIN--; else { pardata.amplif[Ch2].IIN = ICP; pardata.amplif[Ch2].VAL--; } } else { pardata.amplif[Ch2].IIN = ICP; pardata.amplif[Ch2].VAL = pQ_mV; } if(WriteChannel(Ch2)) { pardata.amplif[Ch2].IIN = last_iin; pardata.amplif[Ch2].VAL = last_val; } } } else if(menupos == Sens_3) menupos = Val_3; else if(menupos == Val_3) { if(!focused) menupos = Sens_4; else { last_iin = pardata.amplif[Ch3].IIN; last_val = pardata.amplif[Ch3].VAL; if(pardata.amplif[Ch3].VAL > Accel) { if(pardata.amplif[Ch3].IIN > CHARGE) pardata.amplif[Ch3].IIN--; else { pardata.amplif[Ch3].IIN = ICP; pardata.amplif[Ch3].VAL--; } } else { pardata.amplif[Ch3].IIN = ICP; pardata.amplif[Ch3].VAL = pQ_mV; } if(WriteChannel(Ch3)) { pardata.amplif[Ch3].IIN = last_iin; pardata.amplif[Ch3].VAL = last_val; } } } else if(menupos == Sens_4) menupos = Val_4; else if(menupos == Val_4) { if(!focused) menupos = Back; else { last_iin = pardata.amplif[Ch4].IIN; last_val = pardata.amplif[Ch4].VAL; if(pardata.amplif[Ch4].VAL > Accel) { if(pardata.amplif[Ch4].IIN > CHARGE) pardata.amplif[Ch4].IIN--; else { pardata.amplif[Ch4].IIN = ICP; pardata.amplif[Ch4].VAL--; } } else { pardata.amplif[Ch4].IIN = ICP; pardata.amplif[Ch4].VAL = pQ_mV; } if(WriteChannel(Ch4)) { pardata.amplif[Ch4].IIN = last_iin; pardata.amplif[Ch4].VAL = last_val; } } } else { if(menupos >= Kikdt_1 && menupos <= Kpt_1) ACTIVE_CHANNEL = Ch1; else if(menupos >= Kikdt_2 && menupos <= Kpt_2) ACTIVE_CHANNEL = Ch2; else if(menupos >= Kikdt_3 && menupos <= Kpt_3) ACTIVE_CHANNEL = Ch3; else if(menupos >= Kikdt_4 && menupos <= Kpt_4) ACTIVE_CHANNEL = Ch4; DoKeyDN(); } } else if(menu == MAIN) { if(CNT_CHANNELS < 5) { if(ACTIVE_CHANNEL == Ch1) { if(menupos == Out) { if(focused) { SetDN(); } else { ACTIVE_CHANNEL = Ch2; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch3; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch4; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch1; } } } menupos = Hp; } } else { SetDN(); } } else if(ACTIVE_CHANNEL == Ch2) { if(menupos == Out) { if(focused) { SetDN(); } else { ACTIVE_CHANNEL = Ch3; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch4; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch1; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch2; } } } menupos = Hp; } } else { SetDN(); } } else if(ACTIVE_CHANNEL == Ch3) { if(menupos == Out) { if(focused) { SetDN(); } else { ACTIVE_CHANNEL = Ch4; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch1; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch2; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch3; } } } menupos = Hp; } } else { SetDN(); } } else if(ACTIVE_CHANNEL == Ch4) { if(menupos == Out) { if(focused) { SetDN(); } else { ACTIVE_CHANNEL = Ch1; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch2; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch3; if((MASK_CHANNELS & (1 << ACTIVE_CHANNEL)) == 0) { ACTIVE_CHANNEL = Ch4; } } } menupos = Hp; } } else { SetDN(); } } } else { //CNT_CHANNELS > 4 } } else { if(menu == CALIBR_00) { if(menupos < Ch5) menupos++; } else if(menu >= CALIBR_0 && menu <= CALIBR_22) { if(menupos == Set100) menupos = Set_100; else if(menupos == Set_100) menupos = Set10; else if(menupos == Set10) menupos = Set_10; else if(menupos == Set_10) menupos = Set1; else if(menupos == Set1) menupos = Set_1; else if(menupos == Set_1) menupos = Next; } } } break; case KEY_OK: // TODO KEY OK { if(menu == OPTIONS) { if(menupos == Back) { ACTIVE_CHANNEL = LAST_ACTIVE_CHANNEL; menupos = lastmenupos; menu = MAIN; } else if(menupos == Inputs) { lastmenupos = menupos; menupos = Sens_1; menu = SETTINGS; } else if(menupos == Lang) { focused ^= 1; } else if(menupos == PowerOff) { Off(); } } else if(menu == SETTINGS) { if(menupos == Back) { menupos = lastmenupos; menu = OPTIONS; } else if(menupos == Val_1) { focused ^= 1; } else if(menupos == Val_2) { focused ^= 1; } else if(menupos == Val_3) { focused ^= 1; } else if(menupos == Val_4) { focused ^= 1; } else { if(menupos == Sens_1) { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(UserData_TypeDef)); focused = true; menupos = Kikdt_1; } else if(menupos >= Kikdt_1 && menupos <= Kpt_1) { if(menupos < Kpt_1) { focused = true; menupos++; } else { focused = false; menupos = Sens_1; if(WriteChannelSens(Ch1)) { memcpy((void *) &pardata, (void *) &pardata_old, sizeof(UserData_TypeDef)); } else { WriteChannel(Ch1); } } } else if(menupos == Sens_2) { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(UserData_TypeDef)); focused = true; menupos = Kikdt_2; } else if(menupos >= Kikdt_2 && menupos <= Kpt_2) { if(menupos < Kpt_2) { focused = true; menupos++; } else { focused = false; menupos = Sens_2; if(WriteChannelSens(Ch2)) { memcpy((void *) &pardata, (void *) &pardata_old, sizeof(UserData_TypeDef)); } else { WriteChannel(Ch2); } } } else if(menupos == Sens_3) { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(UserData_TypeDef)); focused = true; menupos = Kikdt_3; } else if(menupos >= Kikdt_3 && menupos <= Kpt_3) { if(menupos < Kpt_3) { focused = true; menupos++; } else { focused = false; menupos = Sens_3; if(WriteChannelSens(Ch3)) { memcpy((void *) &pardata, (void *) &pardata_old, sizeof(UserData_TypeDef)); } else { WriteChannel(Ch3); } } } else if(menupos == Sens_4) { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(UserData_TypeDef)); focused = true; menupos = Kikdt_4; } else if(menupos >= Kikdt_4 && menupos <= Kpt_4) { if(menupos < Kpt_4) { focused = true; menupos++; } else { focused = false; menupos = Sens_4; if(WriteChannelSens(Ch4)) { memcpy((void *) &pardata, (void *) &pardata_old, sizeof(UserData_TypeDef)); } else { WriteChannel(Ch4); } } } } } else if(menu == MAIN) { /*if(menupos != Sens) {*/ /*if(menupos >= Kikdt && menupos <= Kpt) { if(menupos < Kpt) { focused = true; menupos++; } else { focused = false; menupos = Sens; if(WriteChannelSens(ACTIVE_CHANNEL)) { memcpy((void *) &pardata, (void *) &pardata_old, sizeof(UserData_TypeDef)); } else { WriteChannel(ACTIVE_CHANNEL); } } } else*/ focused ^= 1; /*} else if(menupos == Sens) { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(UserData_TypeDef)); focused = true; menupos = Kikdt; }*/ } else { if(menu == CALIBR_00) { if(menupos <= Ch4) { ACTIVE_CHANNEL = menupos; menu = CALIBR_0; menupos = Next; Calibr(ACTIVE_CHANNEL, 1); } else { CalibrOFF(); Off(); } } else if(menu >= CALIBR_0 && menu <= CALIBR_22) { if(menupos == Next) { if(menu == CALIBR_22) { menu = CALIBR_00; menupos = ACTIVE_CHANNEL; } else { menu++; //menupos = Set_100; Calibr(ACTIVE_CHANNEL, 1); } } else if(menupos == Set_1) { WriteCorr(ACTIVE_CHANNEL, (menu - 2), (0x01 | 0x80)); } else if(menupos == Set1) { WriteCorr(ACTIVE_CHANNEL, (menu - 2), 0x01); } else if(menupos == Set_10) { WriteCorr(ACTIVE_CHANNEL, (menu - 2), (10 | 0x80)); } else if(menupos == Set10) { WriteCorr(ACTIVE_CHANNEL, (menu - 2), 10); } else if(menupos == Set_100) { WriteCorr(ACTIVE_CHANNEL, (menu - 2), (100 | 0x80)); } else if(menupos == Set100) { WriteCorr(ACTIVE_CHANNEL, (menu - 2), 100); } } } } break; case KEY_PW: //TODO if(menu == MAIN) { LAST_ACTIVE_CHANNEL = ACTIVE_CHANNEL; lastmenupos = menupos; menupos = Back; menu = OPTIONS; } else if(menupos == OPTIONS) { ACTIVE_CHANNEL = LAST_ACTIVE_CHANNEL; menupos = lastmenupos; menu = MAIN; } break; } } } void SetUP(void) { if(menupos == Lp) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].IFN < Lp100000) { pardata.amplif[ACTIVE_CHANNEL].IFN++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IFN--; } } } else { menupos = Hp; } } else if(menupos == Out) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 0.0010f) //0.001 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku1000) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 10.000f) //0.002 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku1000) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 20.000f) //20 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku500) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 50.000f) //50 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku200) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 100.00f) //100 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku100) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 200.00f) //200 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku50) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 500.00f) //500 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku20) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 1000.0f) //1000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku10) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 2000.0f) //2000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku5) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 5000.0f) //5000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku2) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 10000.0f) //10000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku1) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 20000.0f) //20000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku0_5) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 50000.0f) //50000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku0_2) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS < 100000.0f) //99999 { pardata.amplif[ACTIVE_CHANNEL].IKU = Ku0_1; if(WriteChannel(ACTIVE_CHANNEL)) { //pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else { menupos = Lp; } } } void SetDN(void) { if(menupos == Hp) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].IFV > Hp0_2) { pardata.amplif[ACTIVE_CHANNEL].IFV--; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IFV++; } } } else { menupos = Lp; } } else if(menupos == Lp) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].IFN > Lp200) { pardata.amplif[ACTIVE_CHANNEL].IFN--; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IFN++; } } } else { menupos = Out; } } else if(menupos == Out) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].IIN == CHARGE) { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku0_1) { pardata.amplif[ACTIVE_CHANNEL].IKU--; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU++; } } } else { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku1) { pardata.amplif[ACTIVE_CHANNEL].IKU--; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU++; } } } } } } void DoKeyUP(void) { uint32_t s, ikdt, ikt, iks, ikd, ike, ipt; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 10.0f) { s = (uint32_t) ((pardata.amplif[ACTIVE_CHANNEL].SENS * 10000.0f) + 0.5f); ipt = 4; } else if(pardata.amplif[ACTIVE_CHANNEL].SENS < 100.0f) { s = (uint32_t) ((pardata.amplif[ACTIVE_CHANNEL].SENS * 1000.0f) + 0.5f); ipt = 3; } else if(pardata.amplif[ACTIVE_CHANNEL].SENS < 1000.0f) { s = (uint32_t) ((pardata.amplif[ACTIVE_CHANNEL].SENS * 100.0f) + 0.5f); ipt = 2; } else if(pardata.amplif[ACTIVE_CHANNEL].SENS < 10000.0f) { s = (uint32_t) ((pardata.amplif[ACTIVE_CHANNEL].SENS * 10.0f) + 0.5f); ipt = 1; } else if(pardata.amplif[ACTIVE_CHANNEL].SENS < 100000.0f) { s = (uint32_t) ((pardata.amplif[ACTIVE_CHANNEL].SENS) + 0.5f); ipt = 0; } else if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 100000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 99999.0f; s = 99999; ipt = 0; } ikdt = (s / 10000); ikt = (s % 10000 / 1000); iks = (s % 10000 % 1000 / 100); ikd = (s % 10000 % 1000 % 100 / 10); ike = (s % 10000 % 1000 % 100 % 10); if(menupos == Kikdt_1 || menupos == Kikdt_2 || menupos == Kikdt_3 || menupos == Kikdt_4) { if(ikdt < 9) { ikdt++; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kikt_1 || menupos == Kikt_2 || menupos == Kikt_3 || menupos == Kikt_4) { if(ikt < 9) { ikt++; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kiks_1 || menupos == Kiks_2 || menupos == Kiks_3 || menupos == Kiks_4) { if(iks < 9) { iks++; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kikd_1 || menupos == Kikd_2 || menupos == Kikd_3 || menupos == Kikd_4) { if(ikd < 9) { ikd++; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kike_1 || menupos == Kike_2 || menupos == Kike_3 || menupos == Kike_4) { if(ike < 9) { ike++; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kpt_1 || menupos == Kpt_2 || menupos == Kpt_3 || menupos == Kpt_4) { if(ipt) { ipt--; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } /*if(menupos == Hp) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].IFV < Hp10) { pardata.amplif[ACTIVE_CHANNEL].IFV++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IFV--; } } } else { menupos = Input; } } else if(menupos == Lp) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].IFN < Lp100000) { pardata.amplif[ACTIVE_CHANNEL].IFN++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IFN--; } } } else { menupos = Hp; } } else if(menupos == Sens) { menupos = Lp; } else if(menupos == Val) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].VAL < Nython) { pardata.amplif[ACTIVE_CHANNEL].VAL++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].VAL--; } } } else { menupos = Sens; } } else if(menupos == Out) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 0.0010f) //0.001 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku1000) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 10.000f) //0.002 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku1000) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 20.000f) //20 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku500) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 50.000f) //50 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku200) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 100.00f) //100 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku100) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 200.00f) //200 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku50) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 500.00f) //500 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku20) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 1000.0f) //1000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku10) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 2000.0f) //2000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku5) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 5000.0f) //5000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku2) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 10000.0f) //10000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku1) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 20000.0f) //20000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku0_5) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 50000.0f) //50000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU < Ku0_2) { pardata.amplif[ACTIVE_CHANNEL].IKU++; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else if(pardata.amplif[ACTIVE_CHANNEL].SENS < 100000.0f) //99999 { pardata.amplif[ACTIVE_CHANNEL].IKU = Ku0_1; if(WriteChannel(ACTIVE_CHANNEL)) { //pardata.amplif[ACTIVE_CHANNEL].IKU--; } } } else { menupos = Val; } } else if(menupos == Kikdt) { if(ikdt < 9) { ikdt++; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 0.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0001f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 100000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 99999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kikt) { if(ikt < 9) { ikt++; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 0.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0001f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 100000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 99999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kiks) { if(iks < 9) { iks++; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 0.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0001f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 100000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 99999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kikd) { if(ikd < 9) { ikd++; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 0.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0001f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 100000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 99999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kike) { if(ike < 9) { ike++; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 0.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0001f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 100000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 99999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kpt) { if(ipt) { ipt--; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 0.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0001f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 100000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 99999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); }*/ } void DoKeyDN(void) { uint32_t s, ikdt, ikt, iks, ikd, ike, ipt; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 10.0f) { s = (uint32_t) ((pardata.amplif[ACTIVE_CHANNEL].SENS * 10000.0f) + 0.5f); ipt = 4; } else if(pardata.amplif[ACTIVE_CHANNEL].SENS < 100.0f) { s = (uint32_t) ((pardata.amplif[ACTIVE_CHANNEL].SENS * 1000.0f) + 0.5f); ipt = 3; } else if(pardata.amplif[ACTIVE_CHANNEL].SENS < 1000.0f) { s = (uint32_t) ((pardata.amplif[ACTIVE_CHANNEL].SENS * 100.0f) + 0.5f); ipt = 2; } else if(pardata.amplif[ACTIVE_CHANNEL].SENS < 10000.0f) { s = (uint32_t) ((pardata.amplif[ACTIVE_CHANNEL].SENS * 10.0f) + 0.5f); ipt = 1; } else if(pardata.amplif[ACTIVE_CHANNEL].SENS < 100000.0f) { s = (uint32_t) ((pardata.amplif[ACTIVE_CHANNEL].SENS) + 0.5f); ipt = 0; } else if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 100000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 99999.0f; s = 99999; ipt = 0; } ikdt = (s / 10000); ikt = (s % 10000 / 1000); iks = (s % 10000 % 1000 / 100); ikd = (s % 10000 % 1000 % 100 / 10); ike = (s % 10000 % 1000 % 100 % 10); if(menupos == Kikdt_1 || menupos == Kikdt_2 || menupos == Kikdt_3 || menupos == Kikdt_4) { if(ikdt) { ikdt--; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kikt_1 || menupos == Kikt_2 || menupos == Kikt_3 || menupos == Kikt_4) { if(ikt) { ikt--; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kiks_1 || menupos == Kiks_2 || menupos == Kiks_3 || menupos == Kiks_4) { if(iks) { iks--; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kikd_1 || menupos == Kikd_2 || menupos == Kikd_3 || menupos == Kikd_4) { if(ikd) { ikd--; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kike_1 || menupos == Kike_2 || menupos == Kike_3 || menupos == Kike_4) { if(ike) { ike--; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kpt_1 || menupos == Kpt_2 || menupos == Kpt_3 || menupos == Kpt_4) { if(ipt < 4) { ipt++; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } /*if(menupos == Input) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].IIN > CHARGE) { pardata.amplif[ACTIVE_CHANNEL].IIN--; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IIN++; } } } else { menupos = Hp; } } else if(menupos == Hp) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].IFV > Hp0_2) { pardata.amplif[ACTIVE_CHANNEL].IFV--; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IFV++; } } } else { menupos = Lp; } } else if(menupos == Lp) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].IFN > Lp200) { pardata.amplif[ACTIVE_CHANNEL].IFN--; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IFN++; } } } else { menupos = Sens; } } else if(menupos == Sens) { menupos = Val; } else if(menupos == Val) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].VAL > Accel) { pardata.amplif[ACTIVE_CHANNEL].VAL--; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].VAL++; } } } else { menupos = Out; } } else if(menupos == Out) { if(focused) { if(pardata.amplif[ACTIVE_CHANNEL].IIN == CHARGE) { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku0_1) { pardata.amplif[ACTIVE_CHANNEL].IKU--; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU++; } } } else { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku1) { pardata.amplif[ACTIVE_CHANNEL].IKU--; if(WriteChannel(ACTIVE_CHANNEL)) { pardata.amplif[ACTIVE_CHANNEL].IKU++; } } } } else { menupos = Sens; } } else if(menupos == Kikdt) { if(ikdt) { ikdt--; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kikt) { if(ikt) { ikt--; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS <= 0.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0001f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 100000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 99999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kiks) { if(iks) { iks--; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kikd) { if(ikd) { ikd--; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kike) { if(ike) { ike--; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); } else if(menupos == Kpt) { if(ipt < 4) { ipt++; } s = (uint32_t) (ikdt * 10000 + ikt * 1000 + iks * 100 + ikd * 10 + ike); pardata.amplif[ACTIVE_CHANNEL].SENS = (float32_t) s; if(ipt == 1) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.1f; else if(ipt == 2) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.01f; else if(ipt == 3) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.001f; else if(ipt == 4) pardata.amplif[ACTIVE_CHANNEL].SENS *= 0.0001f; if(pardata.amplif[ACTIVE_CHANNEL].SENS < 0.0010f) { //поправил pardata.amplif[ACTIVE_CHANNEL].SENS = 0.0010f; } if(pardata.amplif[ACTIVE_CHANNEL].SENS >= 10000.0f) { pardata.amplif[ACTIVE_CHANNEL].SENS = 9999.0f; } VerifyGain(pardata.amplif[ACTIVE_CHANNEL].SENS); }*/ } void VerifyGain(float32_t sens) { return; //!!!Отключил if(sens <= 0.0010f) //0.001 { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku1000) { pardata.amplif[ACTIVE_CHANNEL].IKU = Ku1000; } } else if(sens <= 10.000f) //0.002 { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku1000) { pardata.amplif[ACTIVE_CHANNEL].IKU = Ku1000; } } /* else if(sens <= 20.000f) //20 { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku500) { pardata.amplif[ACTIVE_CHANNEL].IKU = Ku500; } } else if(sens <= 50.000f) //50 { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku200) { pardata.amplif[ACTIVE_CHANNEL].IKU = Ku200; } } */ else if(sens <= 100.00f) //100 { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku100) { pardata.amplif[ACTIVE_CHANNEL].IKU = Ku100; } } /* else if(sens <= 200.00f) //200 { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku50) { pardata.amplif[ACTIVE_CHANNEL].IKU = Ku50; } } else if(sens <= 500.00f) //500 { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku20) { pardata.amplif[ACTIVE_CHANNEL].IKU = Ku20; } } */ else if(sens <= 1000.0f) //1000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku10) { pardata.amplif[ACTIVE_CHANNEL].IKU = Ku10; } } /* else if(sens <= 2000.0f) //2000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku5) { pardata.amplif[ACTIVE_CHANNEL].IKU = Ku5; } } else if(sens <= 5000.0f) //5000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku2) { pardata.amplif[ACTIVE_CHANNEL].IKU = Ku2; } } */ else if(sens <= 10000.0f) //10000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku1) { pardata.amplif[ACTIVE_CHANNEL].IKU = Ku1; } } /* else if(sens <= 20000.0f) //20000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku0_5) { pardata.amplif[ACTIVE_CHANNEL].IKU = Ku0_5; } } else if(sens <= 50000.0f) //50000 { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku0_2) { pardata.amplif[ACTIVE_CHANNEL].IKU = Ku0_2; } } */ else if(sens < 100000.0f) //99999 { if(pardata.amplif[ACTIVE_CHANNEL].IKU > Ku0_1) { pardata.amplif[ACTIVE_CHANNEL].IKU = Ku0_1; } } }