F203/Core/Src/keys.c

2772 lines
60 KiB
C
Raw Blame History

/*
* 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; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
static uint8_t first = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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) //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
first = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
return 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0
}
else //<2F><><EFBFBD><EFBFBD><EFBFBD>
{
if(first) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>
first = 0; //<2F><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
repeat = rep = 2000;
return key; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
if(repeat)
return 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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.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_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.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_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.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_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.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_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.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_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.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);
}
/*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.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_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.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_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.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_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.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_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.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_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.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);
}
/*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.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) {
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.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) {
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) {
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 < 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.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 VerifyGain(float32_t sens)
{
return; //!!!<21><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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;
}
}
}