diff --git a/.DS_Store b/.DS_Store index 7b1b4691..def9f7f8 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Arduino/.DS_Store b/Arduino/.DS_Store index 2d75760b..35e5cb6b 100644 Binary files a/Arduino/.DS_Store and b/Arduino/.DS_Store differ diff --git a/Arduino/Esp32/.DS_Store b/Arduino/Esp32/.DS_Store index fe4d645f..b5f75a22 100644 Binary files a/Arduino/Esp32/.DS_Store and b/Arduino/Esp32/.DS_Store differ diff --git a/Arduino/Esp32/Main/ABSOscillation.h b/Arduino/Esp32/Main/ABSOscillation.h index ae13a013..c5bb906f 100644 --- a/Arduino/Esp32/Main/ABSOscillation.h +++ b/Arduino/Esp32/Main/ABSOscillation.h @@ -206,3 +206,85 @@ class BitePointOscillation { } }; + +// moving average filter:https://github.com/sebnil/Moving-Avarage-Filter--Arduino-Library-/tree/master + +#define MAX_DATA_POINTS 100 +class MovingAverageFilter +{ +public: + //construct without coefs + MovingAverageFilter(unsigned int newDataPointsCount); + int dataPointsCount; + float process(float in); + + +private: + float values[MAX_DATA_POINTS]; + int k; // k stores the index of the current array read to create a circular memory through the array + + float out; + int i; // just a loop counter +}; + +MovingAverageFilter::MovingAverageFilter(unsigned int newDataPointsCount) +{ + k = 0; //initialize so that we start to write at index 0 + if (newDataPointsCount < MAX_DATA_POINTS) + dataPointsCount = newDataPointsCount; + else + dataPointsCount = MAX_DATA_POINTS; + + for (i = 0; i < dataPointsCount; i++) + { + values[i] = 0; // fill the array with 0's + } +} + +float MovingAverageFilter::process(float in) +{ + out = 0; + + values[k] = in; + k = (k + 1) % dataPointsCount; + + for (i = 0; i < dataPointsCount; i++) + { + out += values[i]; + } + + return out / dataPointsCount; +} + +MovingAverageFilter movingAverageFilter(100); +// G force effect +class G_force_effect +{ + public: + float G_value=0; + float G_force_raw=0; + float G_force=0; + + + void forceOffset(DAP_calculationVariables_st* calcVars_st, uint8_t G_multi) + { + uint32_t Force_Range; + float G_multiplier=((float)G_multi)/100; + Force_Range=calcVars_st->Force_Range; + if(G_value==-128) + { + G_force_raw=0; + + } + else + { + G_force_raw=10*(G_value)*G_multiplier/9.8; + //G_force_raw=constrain(G_force_raw,-1*Force_Range*0.25,Force_Range*0.25); + } + + //apply filter + G_force=movingAverageFilter.process(G_force_raw); + //G_force=G_force_raw; + + } +}; diff --git a/Arduino/Esp32/Main/DiyActivePedal_types.cpp b/Arduino/Esp32/Main/DiyActivePedal_types.cpp index 9dc8faaf..1d74899d 100644 --- a/Arduino/Esp32/Main/DiyActivePedal_types.cpp +++ b/Arduino/Esp32/Main/DiyActivePedal_types.cpp @@ -43,6 +43,13 @@ void DAP_config_st::initialiseDefaults() { payLoadPedalConfig_.RPM_max_freq = 40; payLoadPedalConfig_.RPM_min_freq = 10; payLoadPedalConfig_.RPM_AMP = 5; + payLoadPedalConfig_.BP_trigger_value =50; + payLoadPedalConfig_.BP_amp=1; + payLoadPedalConfig_.BP_freq=15; + payLoadPedalConfig_.BP_trigger=0; + payLoadPedalConfig_.G_multi = 50; + payLoadPedalConfig_.G_window=60; + payLoadPedalConfig_.cubic_spline_param_a_array[0] = 0; payLoadPedalConfig_.cubic_spline_param_a_array[1] = 0; payLoadPedalConfig_.cubic_spline_param_a_array[2] = 0; @@ -58,7 +65,12 @@ void DAP_config_st::initialiseDefaults() { payLoadPedalConfig_.PID_p_gain = 0.3; payLoadPedalConfig_.PID_i_gain = 50.0; payLoadPedalConfig_.PID_d_gain = 0.0; - payLoadPedalConfig_.PID_feedforward_gain = 0.0; + payLoadPedalConfig_.PID_velocity_feedforward_gain = 0.0; + + + payLoadPedalConfig_.MPC_0th_order_gain = 1.0; + payLoadPedalConfig_.MPC_1st_order_gain = 0.0; + payLoadPedalConfig_.MPC_2nd_order_gain = 0.0; payLoadPedalConfig_.control_strategy_b = 0; @@ -139,7 +151,17 @@ void DAP_calculationVariables_st::updateFromConfig(DAP_config_st& config_st) { Force_Min = ((float)config_st.payLoadPedalConfig_.preloadForce); Force_Max = ((float)config_st.payLoadPedalConfig_.maxForce); Force_Range = Force_Max - Force_Min; - + Force_Max_default=((float)config_st.payLoadPedalConfig_.maxForce); +} + +void DAP_calculationVariables_st::dynamic_update() +{ + Force_Range = Force_Max - Force_Min; +} + +void DAP_calculationVariables_st::reset_maxforce() +{ + Force_Max = Force_Max_default; } void DAP_calculationVariables_st::updateEndstops(long newMinEndstop, long newMaxEndstop) { @@ -157,3 +179,5 @@ void DAP_calculationVariables_st::updateStiffness() { springStiffnesssInv = 1.0 / springStiffnesss; } + + diff --git a/Arduino/Esp32/Main/DiyActivePedal_types.h b/Arduino/Esp32/Main/DiyActivePedal_types.h index a0c3e20e..9436cf43 100644 --- a/Arduino/Esp32/Main/DiyActivePedal_types.h +++ b/Arduino/Esp32/Main/DiyActivePedal_types.h @@ -2,13 +2,14 @@ #include +// define the payload revision +#define DAP_VERSION_CONFIG 126 -#define DAP_VERSION_CONFIG 119 - - +// define the payload types #define DAP_PAYLOAD_TYPE_CONFIG 100 #define DAP_PAYLOAD_TYPE_ACTION 110 -#define DAP_PAYLOAD_TYPE_STATE 120 +#define DAP_PAYLOAD_TYPE_STATE_BASIC 120 +#define DAP_PAYLOAD_TYPE_STATE_EXTENDED 130 struct payloadHeader { @@ -29,14 +30,29 @@ struct payloadPedalAction { uint8_t startSystemIdentification_u8; uint8_t returnPedalConfig_u8; uint8_t RPM_u8; + uint8_t G_value; }; -struct payloadPedalState { + +struct payloadPedalState_Basic { uint16_t pedalPosition_u16; uint16_t pedalForce_u16; uint16_t joystickOutput_u16; }; +struct payloadPedalState_Extended { + + unsigned long timeInMs_u32; + uint16_t pedalForce_raw_u16; + uint16_t pedalForce_filtered_u16; + int16_t forceVel_est_i16; + + // register values from servo + int16_t servoPosition_i16; + int16_t servoPositionTarget_i16; + int16_t servo_voltage_0p1V; +}; + struct payloadPedalConfig { // configure pedal start and endpoint // In percent @@ -86,7 +102,10 @@ struct payloadPedalConfig { uint8_t BP_amp; uint8_t BP_freq; uint8_t BP_trigger; - + //G force effect + uint8_t G_multi; + uint8_t G_window; + // cubic spline parameters float cubic_spline_param_a_array[5]; float cubic_spline_param_b_array[5]; @@ -95,7 +114,12 @@ struct payloadPedalConfig { float PID_p_gain; float PID_i_gain; float PID_d_gain; - float PID_feedforward_gain; + float PID_velocity_feedforward_gain; + + // MPC settings + float MPC_0th_order_gain; + float MPC_1st_order_gain; + float MPC_2nd_order_gain; uint8_t control_strategy_b; @@ -117,6 +141,9 @@ struct payloadPedalConfig { // invert loadcell sign uint8_t invertLoadcellReading_u8; + // spindle pitch in mm/rev + uint8_t spindlePitch_mmPerRev_u8; + }; struct payloadFooter { @@ -131,9 +158,15 @@ struct DAP_actions_st { payloadFooter payloadFooter_; }; -struct DAP_state_st { +struct DAP_state_basic_st { + payloadHeader payLoadHeader_; + payloadPedalState_Basic payloadPedalState_Basic_; + payloadFooter payloadFooter_; +}; + +struct DAP_state_extended_st { payloadHeader payLoadHeader_; - payloadPedalState payloadPedalState_; + payloadPedalState_Extended payloadPedalState_Extended_; payloadFooter payloadFooter_; }; @@ -177,8 +210,11 @@ struct DAP_calculationVariables_st float BP_amp; float BP_freq; float dampingPress; + float Force_Max_default; void updateFromConfig(DAP_config_st& config_st); void updateEndstops(long newMinEndstop, long newMaxEndstop); void updateStiffness(); + void dynamic_update(); + void reset_maxforce(); }; diff --git a/Arduino/Esp32/Main/LoadCell.cpp b/Arduino/Esp32/Main/LoadCell.cpp index 942766cb..c010e08b 100644 --- a/Arduino/Esp32/Main/LoadCell.cpp +++ b/Arduino/Esp32/Main/LoadCell.cpp @@ -121,7 +121,7 @@ void LoadCell_ADS1256::estimateVariance() { if (varEstimate < LOADCELL_VARIANCE_MIN) { varEstimate = LOADCELL_VARIANCE_MIN; } - varEstimate *= 9; + varEstimate *= 9; // The variance is 1*sigma --> to make it 3*sigma, we have to multiply by 3*3 _varianceEstimate = varEstimate; diff --git a/Arduino/Esp32/Main/Main.ino b/Arduino/Esp32/Main/Main.ino index 731b30e5..e95a2be0 100644 --- a/Arduino/Esp32/Main/Main.ino +++ b/Arduino/Esp32/Main/Main.ino @@ -7,7 +7,9 @@ #define DEBUG_INFO_0_LOADCELL_READING 4 #define DEBUG_INFO_0_SERVO_READINGS 8 #define DEBUG_INFO_0_PRINT_ALL_SERVO_REGISTERS 16 -#define DEBUG_INFO_0_STATE_INFO_STRUCT 32 +#define DEBUG_INFO_0_STATE_BASIC_INFO_STRUCT 32 +#define DEBUG_INFO_0_STATE_EXTENDED_INFO_STRUCT 64 +#define DEBUG_INFO_0_CONTROL_LOOP_ALGO 128 bool resetServoEncoder = true; bool isv57LifeSignal_b = false; @@ -35,7 +37,7 @@ void updatePedalCalcParameters(); bool systemIdentificationMode_b = false; - +int16_t servoPos_i16 = 0; @@ -51,6 +53,7 @@ bool splineDebug_b = false; ABSOscillation absOscillation; RPMOscillation RPMOscillation; BitePointOscillation BitePointOscillation; +G_force_effect _G_force_effect; #define ABS_OSCILLATION @@ -58,8 +61,8 @@ BitePointOscillation BitePointOscillation; #include "DiyActivePedal_types.h" DAP_config_st dap_config_st; DAP_calculationVariables_st dap_calculationVariables_st; -DAP_state_st dap_state_st; - +DAP_state_basic_st dap_state_basic_st; +DAP_state_extended_st dap_state_extended_st; #include "CycleTimer.h" @@ -113,6 +116,8 @@ static SemaphoreHandle_t semaphore_updateJoystick=NULL; static SemaphoreHandle_t semaphore_resetServoPos=NULL; bool resetPedalPosition = false; +static SemaphoreHandle_t semaphore_readServoValues=NULL; + /**********************************************************************************************/ /* */ @@ -153,6 +158,10 @@ bool resetPedalPosition = false; KalmanFilter* kalman = NULL; +#include "SignalFilter_2nd_order.h" +KalmanFilter_2nd_order* kalman_2nd_order = NULL; + + /**********************************************************************************************/ /* */ /* FIR notch filter definitions */ @@ -277,6 +286,9 @@ void setup() Serial.println(loadcell->getVarianceEstimate()); kalman = new KalmanFilter(loadcell->getVarianceEstimate()); + kalman_2nd_order = new KalmanFilter_2nd_order(1); + + // setup FIR filter firNotchFilter = new FirNotchFilter(15); @@ -428,7 +440,7 @@ unsigned long cycleTimeLastCall = micros(); unsigned long minCyclesForFirToInit = 1000; unsigned long firCycleIncrementer = 0; - +float filteredReading_exp_filter = 0; unsigned long printCycleCounter = 0; @@ -541,8 +553,16 @@ void pedalUpdateTask( void * pvParameters ) RPMOscillation.trigger(); RPMOscillation.forceOffset(&dap_calculationVariables_st); BitePointOscillation.forceOffset(&dap_calculationVariables_st); + _G_force_effect.forceOffset(&dap_calculationVariables_st, dap_config_st.payLoadPedalConfig_.G_multi); #endif + //update max force with G force effect + movingAverageFilter.dataPointsCount=dap_config_st.payLoadPedalConfig_.G_window; + dap_calculationVariables_st.reset_maxforce(); + dap_calculationVariables_st.Force_Max+=_G_force_effect.G_force; + dap_calculationVariables_st.dynamic_update(); + dap_calculationVariables_st.updateStiffness(); + // compute the pedal incline angle //#define COMPUTE_PEDAL_INCLINE_ANGLE #ifdef COMPUTE_PEDAL_INCLINE_ANGLE @@ -574,6 +594,22 @@ void pedalUpdateTask( void * pvParameters ) float changeVelocity = kalman->changeVelocity(); + // Do position state estimate + float stepper_pos_filtered_fl32 = kalman_2nd_order->filteredValue(stepper->getCurrentPosition(), 0, dap_config_st.payLoadPedalConfig_.kf_modelNoise); + float stepper_vel_filtered_fl32 = kalman_2nd_order->changeVelocity(); + float stepper_accel_filtered_fl32 = kalman_2nd_order->changeAccel(); + + + /*Serial.print(stepper->getCurrentPosition()); + Serial.print(", "); + Serial.print(stepper_pos_filtered_fl32); + Serial.print(", "); + Serial.print(stepper_vel_filtered_fl32); + Serial.println(" ");*/ + + /*float alpha_exp_filter = 0.98; + float filteredReading_exp_filter = filteredReading_exp_filter * alpha_exp_filter + loadcellReading * (1.0-alpha_exp_filter); + filteredReading = filteredReading_exp_filter;*/ // Apply FIR notch filter to reduce force oscillation caused by ABS //#define APPLY_FIR_FILTER @@ -619,10 +655,20 @@ void pedalUpdateTask( void * pvParameters ) // use interpolation to determine local linearized spring stiffness double stepperPosFraction = stepper->getCurrentPositionFraction(); - //double stepperPosFraction2 = stepper->getCurrentPositionFractionFromExternalPos( -(int32_t)(isv57.servo_pos_given_p + isv57.servo_pos_error_p - isv57.getZeroPos()) ); - //int32_t Position_Next = MoveByInterpolatedStrategy(filteredReading, stepperPosFraction, &forceCurve, &dap_calculationVariables_st, &dap_config_st); - //int32_t Position_Next = MoveByPidStrategy(filteredReading, stepperPosFraction, stepper, &forceCurve, &dap_calculationVariables_st, &dap_config_st, absForceOffset); - int32_t Position_Next = MoveByPidStrategy(filteredReading, stepperPosFraction, stepper, &forceCurve, &dap_calculationVariables_st, &dap_config_st, effect_force); + int32_t Position_Next = 0; + + // select control loop algo + if (dap_config_st.payLoadPedalConfig_.control_strategy_b <= 1) + { + Position_Next = MoveByPidStrategy(filteredReading, stepperPosFraction, stepper, &forceCurve, &dap_calculationVariables_st, &dap_config_st, effect_force, changeVelocity); + } + + if (dap_config_st.payLoadPedalConfig_.control_strategy_b == 2) + { + Position_Next = MoveByForceTargetingStrategy(filteredReading, stepper, &forceCurve, &dap_calculationVariables_st, &dap_config_st, effect_force, changeVelocity, stepper_vel_filtered_fl32, stepper_accel_filtered_fl32); + } + + @@ -630,7 +676,7 @@ void pedalUpdateTask( void * pvParameters ) if (dap_config_st.payLoadPedalConfig_.debug_flags_0 & DEBUG_INFO_0_STEPPER_POS) { static RTDebugOutput rtDebugFilter({ "ESP_pos", "ESP_tar_pos", "ISV_pos", "frac1"}); - rtDebugFilter.offerData({ stepper->getCurrentPositionSteps(), Position_Next, -(int32_t)(isv57.servo_pos_given_p + isv57.servo_pos_error_p - isv57.getZeroPos()), (int32_t)(stepperPosFraction * 10000.)}); + rtDebugFilter.offerData({ stepper->getCurrentPositionFromMin(), Position_Next, -(int32_t)(isv57.servo_pos_given_p + isv57.servo_pos_error_p - isv57.getZeroPos()), (int32_t)(stepperPosFraction * 10000.)}); } @@ -691,7 +737,7 @@ void pedalUpdateTask( void * pvParameters ) // get current stepper position right before sheduling a new move - //int32_t stepperPosCurrent = stepper->getCurrentPositionSteps(); + //int32_t stepperPosCurrent = stepper->getCurrentPositionFromMin(); //int32_t stepperPosCurrent = stepper->getTargetPositionSteps(); //int32_t movement = abs(stepperPosCurrent - Position_Next); //if (movement > MIN_STEPS) @@ -702,6 +748,9 @@ void pedalUpdateTask( void * pvParameters ) // compute controller output + dap_calculationVariables_st.reset_maxforce(); + dap_calculationVariables_st.dynamic_update(); + dap_calculationVariables_st.updateStiffness(); if(semaphore_updateJoystick!=NULL) { if(xSemaphoreTake(semaphore_updateJoystick, (TickType_t)1)==pdTRUE) { @@ -712,8 +761,9 @@ void pedalUpdateTask( void * pvParameters ) } else { - joystickNormalizedToInt32 = NormalizeControllerOutputValue(loadcellReading, dap_calculationVariables_st.Force_Min, dap_calculationVariables_st.Force_Max, dap_config_st.payLoadPedalConfig_.maxGameOutput); - //joystickNormalizedToInt32 = NormalizeControllerOutputValue(filteredReading, dap_calculationVariables_st.Force_Min, dap_calculationVariables_st.Force_Max, dap_config_st.payLoadPedalConfig_.maxGameOutput); + //joystickNormalizedToInt32 = NormalizeControllerOutputValue(loadcellReading, dap_calculationVariables_st.Force_Min, dap_calculationVariables_st.Force_Max, dap_config_st.payLoadPedalConfig_.maxGameOutput); + + joystickNormalizedToInt32 = NormalizeControllerOutputValue(filteredReading, dap_calculationVariables_st.Force_Min, dap_calculationVariables_st.Force_Max, dap_config_st.payLoadPedalConfig_.maxGameOutput); } xSemaphoreGive(semaphore_updateJoystick); @@ -746,28 +796,69 @@ void pedalUpdateTask( void * pvParameters ) - if ( !(dap_config_st.payLoadPedalConfig_.debug_flags_0 & DEBUG_INFO_0_STATE_INFO_STRUCT) ) + if ( !(dap_config_st.payLoadPedalConfig_.debug_flags_0 & DEBUG_INFO_0_STATE_BASIC_INFO_STRUCT) ) { printCycleCounter++; - if (printCycleCounter >= 10) + if (printCycleCounter >= 2) { printCycleCounter = 0; - dap_state_st.payloadPedalState_.pedalForce_u16 = normalizedPedalReading_fl32 * 65535; - dap_state_st.payloadPedalState_.pedalPosition_u16 = stepperPosFraction * 65535; - dap_state_st.payloadPedalState_.joystickOutput_u16 = (float)joystickNormalizedToInt32 / 10000. * 32000.0;//65535; - dap_state_st.payLoadHeader_.payloadType = DAP_PAYLOAD_TYPE_STATE; - dap_state_st.payLoadHeader_.version = DAP_VERSION_CONFIG; - dap_state_st.payloadFooter_.checkSum = checksumCalculator((uint8_t*)(&(dap_state_st.payLoadHeader_)), sizeof(dap_state_st.payLoadHeader_) + sizeof(dap_state_st.payloadPedalState_)); - - DAP_state_st * dap_state_st_local_ptr; - dap_state_st_local_ptr = &dap_state_st; - Serial.write((char*)dap_state_st_local_ptr, sizeof(DAP_state_st)); + dap_state_basic_st.payloadPedalState_Basic_.pedalForce_u16 = normalizedPedalReading_fl32 * 65535; + dap_state_basic_st.payloadPedalState_Basic_.pedalPosition_u16 = constrain(stepperPosFraction, 0, 1) * 65535; + dap_state_basic_st.payloadPedalState_Basic_.joystickOutput_u16 = (float)joystickNormalizedToInt32 / 10000. * 32000.0;//65535; + + dap_state_basic_st.payLoadHeader_.payloadType = DAP_PAYLOAD_TYPE_STATE_BASIC; + dap_state_basic_st.payLoadHeader_.version = DAP_VERSION_CONFIG; + dap_state_basic_st.payloadFooter_.checkSum = checksumCalculator((uint8_t*)(&(dap_state_basic_st.payLoadHeader_)), sizeof(dap_state_basic_st.payLoadHeader_) + sizeof(dap_state_basic_st.payloadPedalState_Basic_)); + + DAP_state_basic_st * dap_state_basic_st_local_ptr; + dap_state_basic_st_local_ptr = &dap_state_basic_st; + Serial.write((char*)dap_state_basic_st_local_ptr, sizeof(DAP_state_basic_st)); Serial.print("\r\n"); } - } + + if ( (dap_config_st.payLoadPedalConfig_.debug_flags_0 & DEBUG_INFO_0_STATE_EXTENDED_INFO_STRUCT) ) + { + //printCycleCounter++; + + //if (printCycleCounter >= 2) + { + printCycleCounter = 0; + dap_state_extended_st.payloadPedalState_Extended_.timeInMs_u32 = millis(); + dap_state_extended_st.payloadPedalState_Extended_.pedalForce_raw_u16 = (uint16_t)constrain(loadcellReading * 200, 0, 65000); + dap_state_extended_st.payloadPedalState_Extended_.pedalForce_filtered_u16 = (uint16_t)constrain(filteredReading * 200, 0, 65000); + dap_state_extended_st.payloadPedalState_Extended_.forceVel_est_i16 = (uint16_t)constrain(changeVelocity * 100, -32000, 32000); + + if(semaphore_readServoValues!=NULL) + { + if(xSemaphoreTake(semaphore_readServoValues, (TickType_t)1)==pdTRUE) { + dap_state_extended_st.payloadPedalState_Extended_.servoPosition_i16 = servoPos_i16; + dap_state_extended_st.payloadPedalState_Extended_.servo_voltage_0p1V = isv57.servo_voltage_0p1V; + xSemaphoreGive(semaphore_readServoValues); + } + } + else + { + semaphore_readServoValues = xSemaphoreCreateMutex(); + } + + dap_state_extended_st.payloadPedalState_Extended_.servoPositionTarget_i16 = stepper->getCurrentPositionFromMin(); + + + dap_state_extended_st.payLoadHeader_.payloadType = DAP_PAYLOAD_TYPE_STATE_EXTENDED; + dap_state_extended_st.payLoadHeader_.version = DAP_VERSION_CONFIG; + dap_state_extended_st.payloadFooter_.checkSum = checksumCalculator((uint8_t*)(&(dap_state_extended_st.payLoadHeader_)), sizeof(dap_state_extended_st.payLoadHeader_) + sizeof(dap_state_extended_st.payloadPedalState_Extended_)); + + DAP_state_extended_st * dap_state_extended_st_local_ptr; + dap_state_extended_st_local_ptr = &dap_state_extended_st; + Serial.write((char*)dap_state_extended_st_local_ptr, sizeof(DAP_state_extended_st)); + Serial.print("\r\n"); + } + } + + #ifdef PRINT_USED_STACK_SIZE unsigned int temp2 = uxTaskGetStackHighWaterMark(nullptr); Serial.print("PU task stack size="); Serial.println(temp2); @@ -933,7 +1024,8 @@ void serialCommunicationTask( void * pvParameters ) } //RPM effect RPMOscillation.RPM_value=dap_actions_st.payloadPedalAction_.RPM_u8; - + //G force effect + _G_force_effect.G_value=dap_actions_st.payloadPedalAction_.G_value-128; // trigger system identification if (dap_actions_st.payloadPedalAction_.startSystemIdentification_u8) { @@ -1016,6 +1108,7 @@ int64_t timeDiff = 0; uint64_t print_cycle_counter_u64 = 0; uint64_t lifeline_cycle_counter_u64 = 0; +unsigned long cycleTimeLastCall_lifelineCheck = micros(); void servoCommunicationTask( void * pvParameters ) { @@ -1027,20 +1120,38 @@ void servoCommunicationTask( void * pvParameters ) timerServoCommunication.Bump(); } - // check if servo communication is still there every N cycles - if ( (lifeline_cycle_counter_u64 % 2000) == 0 ) + // check if servo communication is still there every N milliseconds + unsigned long now = millis(); + if ( (now - cycleTimeLastCall_lifelineCheck) > 5000) { + // if target cycle time is reached, update last time + cycleTimeLastCall_lifelineCheck = now; + isv57LifeSignal_b = isv57.checkCommunication(); lifeline_cycle_counter_u64 = 0; - } - + //Serial.println("Lifeline check"); + } + + - delay(20); if (isv57LifeSignal_b) { + //delay(5); + isv57.readServoStates(); + + if(semaphore_readServoValues!=NULL) + { + if(xSemaphoreTake(semaphore_readServoValues, (TickType_t)1)==pdTRUE) { + servoPos_i16 = -( isv57.servo_pos_given_p - isv57.getZeroPos() ); + xSemaphoreGive(semaphore_readServoValues); + } + } + else + { + semaphore_readServoValues = xSemaphoreCreateMutex(); + } - //isv57.readServoStates(); int32_t servo_offset_compensation_steps_local_i32 = 0; @@ -1056,7 +1167,7 @@ void servoCommunicationTask( void * pvParameters ) if (cond_2 == true) { - isv57.readServoStates(); + //isv57.readServoStates(); int16_t servoPos_now_i16 = isv57.servo_pos_given_p; timeNow_l = millis(); diff --git a/Arduino/Esp32/Main/Modbus.cpp b/Arduino/Esp32/Main/Modbus.cpp index 324c6ecc..1b8264f5 100644 --- a/Arduino/Esp32/Main/Modbus.cpp +++ b/Arduino/Esp32/Main/Modbus.cpp @@ -254,17 +254,26 @@ int Modbus::requestFrom(int slaveId, int type, int address,int nb) } } else if(found == 1){ - // Serial.print("Len: "); - // Serial.println(rx,DEC); - rawRx[0] = txout[0]; - rawRx[1] = txout[1]; - rawRx[2] = rx; + + rawRx[0] = txout[0]; // Slave ID + rawRx[1] = txout[1]; // Function code + rawRx[2] = rx; // Bytes count to follow + 2 Byte CRC lenRx = 3; found = 2; } else if(found == 2) { this->rawRx[lenRx++] = rx; + + // the receive message looks like this + // Byte 1: SalveId e.g. 0x3F + // Byte 2: Function code e.g. 0x03 + // Byte 3: Bytes to read e.g. m=8 to read 4 consecutive registers + // Byte 4-(N-2): Register values + // Byte N-1: CRC MSB + // Byte N: CRC LSB + + // The total message length is thus N = 5+m if(lenRx >= rawRx[2] + 5) { break; } } diff --git a/Arduino/Esp32/Main/PedalGeometry.cpp b/Arduino/Esp32/Main/PedalGeometry.cpp index a3fdee28..9c6203e6 100644 --- a/Arduino/Esp32/Main/PedalGeometry.cpp +++ b/Arduino/Esp32/Main/PedalGeometry.cpp @@ -21,7 +21,7 @@ static const float KF_MODEL_NOISE_FORCE_ACCELERATION = ( 10000000000. ); float sledPositionInMM(StepperWithLimits* stepper) { - float currentPos = stepper->getCurrentPositionSteps(); + float currentPos = stepper->getCurrentPositionFromMin(); return (currentPos / STEPS_PER_MOTOR_REVOLUTION) * TRAVEL_PER_ROTATION_IN_MM; } diff --git a/Arduino/Esp32/Main/SignalFilter.cpp b/Arduino/Esp32/Main/SignalFilter.cpp index f961d5cb..086602a8 100644 --- a/Arduino/Esp32/Main/SignalFilter.cpp +++ b/Arduino/Esp32/Main/SignalFilter.cpp @@ -10,7 +10,7 @@ // a = 300 / delta_t^2 // adjust model noise here s = 0.5 * a * delta_t^2 --> a = 2 * s / delta_t^2 //static const float KF_MODEL_NOISE_FORCE_ACCELERATION = ( 2.0f * 1000.0f / 0.05f/ 0.05f ); -static const float KF_MODEL_NOISE_FORCE_ACCELERATION = ( 2.0f * 10.0f / 0.05f/ 0.05f ); +static const float KF_MODEL_NOISE_FORCE_ACCELERATION = ( 2.0f * 4.0f / 0.1f/ 0.1f ); KalmanFilter::KalmanFilter(float varianceEstimate) @@ -40,7 +40,7 @@ float KalmanFilter::filteredValue(float observation, float command, uint8_t mode unsigned long currentTime = micros(); unsigned long elapsedTime = currentTime - _timeLastObservation; float modelNoiseScaling_fl32 = modelNoiseScaling_u8; - modelNoiseScaling_fl32 /= 128.0; + modelNoiseScaling_fl32 /= 255.0; if (elapsedTime < 1) { elapsedTime=1; } _timeLastObservation = currentTime; @@ -55,7 +55,6 @@ float KalmanFilter::filteredValue(float observation, float command, uint8_t mode 0.0, 1.0}; _K.B = {1.0, - 0.0}; float K_Q_11 = modelNoiseScaling_fl32 * KF_MODEL_NOISE_FORCE_ACCELERATION * 0.5f * delta_t_pow3; diff --git a/Arduino/Esp32/Main/SignalFilter_2nd_order.cpp b/Arduino/Esp32/Main/SignalFilter_2nd_order.cpp new file mode 100644 index 00000000..c52ff1c3 --- /dev/null +++ b/Arduino/Esp32/Main/SignalFilter_2nd_order.cpp @@ -0,0 +1,94 @@ +#include "SignalFilter_2nd_order.h" + + + + + +// v = s / t +// a = v/t +// a = s / t^2 +// a = 300 / delta_t^2 +// adjust model noise here s = 1/6 * j * delta_t^3 --> j = 6 * s / delta_t^3 +//static const float KF_MODEL_NOISE_FORCE_ACCELERATION = ( 2.0f * 1000.0f / 0.05f/ 0.05f ); +static const float KF_MODEL_NOISE_FORCE_ACCELERATION = 180 * 1e6;//( 2.0f * 4.0f / 0.1f/ 0.1f ); + + +KalmanFilter_2nd_order::KalmanFilter_2nd_order(float varianceEstimate) + : _timeLastObservation(micros()) +{ + // evolution matrix. Size is + _K.F = {1.0, 0.0, 0.0, + 0.0, 1.0, 0.0, + 0.0, 0.0, 1.0}; + + // command matrix. Size is + _K.B = {1.0, + 0.0, + 0.0 }; + + // measurement matrix. Size is + _K.H = {1.0, 0.0, 0.0}; + + // model covariance matrix. Size is + _K.Q = {1.0, 0.0, 0.0, + 0.0, 1.0, 0.0, + 0.0, 0.0, 1.0}; + + // measurement covariance matrix. Size is + _K.R = { varianceEstimate }; +} + +float KalmanFilter_2nd_order::filteredValue(float observation, float command, uint8_t modelNoiseScaling_u8) { + // obtain time + unsigned long currentTime = micros(); + unsigned long elapsedTime = currentTime - _timeLastObservation; + float modelNoiseScaling_fl32 = modelNoiseScaling_u8; + modelNoiseScaling_fl32 /= 255.0; + + if (elapsedTime < 1) { elapsedTime=1; } + _timeLastObservation = currentTime; + + // update state transition and system covariance matrices + float delta_t = (float)elapsedTime / 1000000.0f; // convert to seconds + float delta_t_pow2 = delta_t * delta_t; + float delta_t_pow3 = delta_t_pow2 * delta_t; + float delta_t_pow4 = delta_t_pow2 * delta_t_pow2; + + _K.F = {1.0, delta_t, 0.5f * delta_t * delta_t, + 0.0, 1.0, delta_t, + 0.0, 0.0, 1.0}; + + _K.B = {1.0, + 0.0, + 0.0}; + + float Q11 = KF_MODEL_NOISE_FORCE_ACCELERATION * (1. / 6. * delta_t * delta_t * delta_t) * (1. / 6. * delta_t * delta_t * delta_t); + float Q12 = KF_MODEL_NOISE_FORCE_ACCELERATION * (1. / 6. * delta_t * delta_t * delta_t) * (1. / 2. * delta_t * delta_t); + float Q13 = KF_MODEL_NOISE_FORCE_ACCELERATION * (1. / 6. * delta_t * delta_t * delta_t) * (delta_t); + + float Q21 = Q12; + float Q22 = KF_MODEL_NOISE_FORCE_ACCELERATION * (1. / 2. * delta_t * delta_t) * (1. / 2. * delta_t * delta_t); + float Q23 = KF_MODEL_NOISE_FORCE_ACCELERATION * (1. / 2. * delta_t * delta_t) * (delta_t); + + float Q31 = Q13; + float Q32 = Q23; + float Q33 = KF_MODEL_NOISE_FORCE_ACCELERATION * (delta_t) * (delta_t); + + _K.Q = { Q11, Q12, Q12, + Q21, Q21, Q21, + Q31, Q32, Q33}; + + + + // APPLY KALMAN FILTER + _K.update({observation}, {command}); + return _K.x(0,0); +} + +float KalmanFilter_2nd_order::changeVelocity() { + return _K.x(0,1); +} + +float KalmanFilter_2nd_order::changeAccel() { + return _K.x(0,2); +} diff --git a/Arduino/Esp32/Main/SignalFilter_2nd_order.h b/Arduino/Esp32/Main/SignalFilter_2nd_order.h new file mode 100644 index 00000000..791cc92e --- /dev/null +++ b/Arduino/Esp32/Main/SignalFilter_2nd_order.h @@ -0,0 +1,21 @@ +#pragma once + +#include + +static const int Nobs_2nd_order = 1; // 1 filter input: observed value +static const int Nstate_2nd_order = 3; // 2 filter outputs: change, velocity & acceleration +static const int Ncom_2nd_order = 1; // Number of commands, u vector + + +class KalmanFilter_2nd_order { +private: + KALMAN _K; + unsigned long _timeLastObservation; + +public: + KalmanFilter_2nd_order(float varianceEstimate); + + float filteredValue(float observation, float command, uint8_t modelNoiseScaling_u8); + float changeVelocity(); + float changeAccel(); +}; diff --git a/Arduino/Esp32/Main/StepperMovementStrategy.h b/Arduino/Esp32/Main/StepperMovementStrategy.h index 04ef03d8..0eec8d34 100644 --- a/Arduino/Esp32/Main/StepperMovementStrategy.h +++ b/Arduino/Esp32/Main/StepperMovementStrategy.h @@ -23,6 +23,7 @@ QuickPID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, /* OPTIONS */ myPID.Action::direct); /* direct, reverse */ bool pidWasInitialized = false; +#define PID_OUTPUT_LIMIT_FL32 0.5f /**********************************************************************************************/ /* */ @@ -66,7 +67,7 @@ void tunePidValues(DAP_config_st& config_st) myPID.SetTunings(config_st.payLoadPedalConfig_.PID_p_gain, config_st.payLoadPedalConfig_.PID_i_gain, config_st.payLoadPedalConfig_.PID_d_gain); } -int32_t MoveByPidStrategy(float loadCellReadingKg, float stepperPosFraction, StepperWithLimits* stepper, ForceCurve_Interpolated* forceCurve, const DAP_calculationVariables_st* calc_st, DAP_config_st* config_st, float absForceOffset_fl32) { +int32_t MoveByPidStrategy(float loadCellReadingKg, float stepperPosFraction, StepperWithLimits* stepper, ForceCurve_Interpolated* forceCurve, const DAP_calculationVariables_st* calc_st, DAP_config_st* config_st, float absForceOffset_fl32, float changeVelocity) { if (pidWasInitialized == false) { @@ -80,39 +81,49 @@ int32_t MoveByPidStrategy(float loadCellReadingKg, float stepperPosFraction, Ste pidWasInitialized = true; myPID.SetSampleTimeUs(PUT_TARGET_CYCLE_TIME_IN_US); - myPID.SetOutputLimits(-1.0,0.0); + //myPID.SetOutputLimits(-1.0,0.0); + myPID.SetOutputLimits(-PID_OUTPUT_LIMIT_FL32, PID_OUTPUT_LIMIT_FL32); // allow the PID to only change the position a certain amount per cycle myPID.SetTunings(config_st->payLoadPedalConfig_.PID_p_gain, config_st->payLoadPedalConfig_.PID_i_gain, config_st->payLoadPedalConfig_.PID_d_gain); } - float loadCellTargetKg = forceCurve->EvalForceCubicSpline(config_st, calc_st, stepperPosFraction); - loadCellTargetKg -=absForceOffset_fl32; - // clip to min & max force to prevent Ki to overflow - float loadCellReadingKg_clip = constrain(loadCellReadingKg, calc_st->Force_Min, calc_st->Force_Max); - float loadCellTargetKg_clip = constrain(loadCellTargetKg, calc_st->Force_Min, calc_st->Force_Max); + // clamp the stepper position to prevent problems with the spline + float stepperPosFraction_constrained = constrain(stepperPosFraction, 0, 1); - // compute feedforward - float posStepperNew_FF_fl32 = 0; - if ((config_st->payLoadPedalConfig_.PID_feedforward_gain > 0) - & (config_st->payLoadPedalConfig_.PID_feedforward_gain <= 1) - & (calc_st->stepperPosMax > calc_st->stepperPosMin) - & (calc_st->Force_Max > calc_st->Force_Min)) + // constrain the output to the correct positioning interval to prevent PID windup + float neg_output_limit_fl32 = 1.0 - stepperPosFraction_constrained; + float pos_output_limit_fl32 = stepperPosFraction_constrained; + if (pos_output_limit_fl32 < PID_OUTPUT_LIMIT_FL32) { - //float gradient_FF_fl32 = forceCurve->EvalForceGradientCubicSpline(config_st, calc_st, stepperPosFraction, false); - float gradient_FF_fl32 = (calc_st->Force_Max - calc_st->Force_Min) / ( (float)(calc_st->stepperPosMax - calc_st->stepperPosMin) ); - if (gradient_FF_fl32 > 0) - { - posStepperNew_FF_fl32 = (loadCellReadingKg_clip - calc_st->Force_Min) / gradient_FF_fl32; - posStepperNew_FF_fl32 *= config_st->payLoadPedalConfig_.PID_feedforward_gain; - } + myPID.SetOutputLimits(-PID_OUTPUT_LIMIT_FL32, pos_output_limit_fl32); + } + else if (neg_output_limit_fl32 < PID_OUTPUT_LIMIT_FL32) + { + myPID.SetOutputLimits(-neg_output_limit_fl32, PID_OUTPUT_LIMIT_FL32); } + else + { + myPID.SetOutputLimits(-PID_OUTPUT_LIMIT_FL32, PID_OUTPUT_LIMIT_FL32); + } + + // read target force at spline position + float loadCellTargetKg = forceCurve->EvalForceCubicSpline(config_st, calc_st, stepperPosFraction_constrained); + + // apply effect force offset + loadCellTargetKg -=absForceOffset_fl32; + + // clip to min & max force to prevent Ki to overflow + float loadCellReadingKg_clip = constrain(loadCellReadingKg, calc_st->Force_Min, calc_st->Force_Max); + float loadCellTargetKg_clip = constrain(loadCellTargetKg, calc_st->Force_Min, calc_st->Force_Max); + - if (control_strategy_u8 == 1) // dynamic PID parameters depending on force curve gradient + // dynamically scale the PID values depending on the force curve gradient + if (control_strategy_u8 == 1) { - float gradient_orig_fl32 = forceCurve->EvalForceGradientCubicSpline(config_st, calc_st, stepperPosFraction, true); // determine gradient to modify the PID gain. The steeper the gradient, the less gain should be used + float gradient_orig_fl32 = forceCurve->EvalForceGradientCubicSpline(config_st, calc_st, stepperPosFraction_constrained, true); // determine gradient to modify the PID gain. The steeper the gradient, the less gain should be used // normalize gradient float gradient_fl32 = gradient_orig_fl32; @@ -125,17 +136,16 @@ int32_t MoveByPidStrategy(float loadCellReadingKg, float stepperPosFraction, Ste } gain_modifier_fl32 = constrain( gain_modifier_fl32, 0.1, 10); -//#define PRINT_PID_DYNAMIC_PARAMETERS -#ifdef PRINT_PID_DYNAMIC_PARAMETERS - { - static RTDebugOutput rtDebugFilter({ "gradient_orig_fl32", "gradient_fl32", "gain_modifier_fl32", "KP_default", "KP_mod"}); - rtDebugFilter.offerData({ gradient_orig_fl32, gradient_fl32, gain_modifier_fl32, Kp, gain_modifier_fl32 * Kp}); - } -#endif - - myPID.SetTunings(gain_modifier_fl32 * Kp, gain_modifier_fl32 * Ki, Kd); + myPID.SetTunings(gain_modifier_fl32 * Kp, gain_modifier_fl32 * Ki, gain_modifier_fl32 * Kd); + } + else + { + myPID.SetTunings(Kp, Ki, Kd); } - + + + + @@ -147,33 +157,28 @@ int32_t MoveByPidStrategy(float loadCellReadingKg, float stepperPosFraction, Ste // https://www.youtube.com/watch?v=XaD8Lngfkzk // https://github.com/pronenewbits/Arduino_Constrained_MPC_Library - - - - // normalize input & setpoint - //Setpoint = (loadCellReadingKg_clip - calc_st.Force_Min) / calc_st.Force_Range; - //Input = (loadCellTargetKg - calc_st.Force_Min) / calc_st.Force_Range; - - Setpoint = (loadCellTargetKg_clip - calc_st->Force_Min) / calc_st->Force_Range; - Input = (loadCellReadingKg_clip - calc_st->Force_Min) / calc_st->Force_Range; + Input = ( loadCellReadingKg_clip - calc_st->Force_Min) / calc_st->Force_Range; + Setpoint = ( loadCellTargetKg_clip - calc_st->Force_Min) / calc_st->Force_Range; // compute PID output myPID.Compute(); - - // unnormalize output - //int32_t posStepperNew = -1.0 * Output * (float)(calc_st->stepperPosMax - calc_st->stepperPosMin);//stepper->getTravelSteps(); - //posStepperNew += calc_st->stepperPosMin; - - float posStepperNew_fl32 = -1.0 * Output * (float)(calc_st->stepperPosMax - calc_st->stepperPosMin);//stepper->getTravelSteps(); + // integrate the position update + // The setpoint comes from the force curve. The input comes from the loadcell. When the loadcell reading is below the force curve, the difference becomes positive. + // Thus, the stepper has to move towards the foot to increase the loadcell reading. + // Since the QuickPID has some filtering applied on the input, both variables are changed for performance reasons. + float posStepperNew_fl32 = stepperPosFraction - Output; + posStepperNew_fl32 *= (float)(calc_st->stepperPosMax - calc_st->stepperPosMin); posStepperNew_fl32 += calc_st->stepperPosMin; - // add feedforward gain - posStepperNew_fl32 += posStepperNew_FF_fl32; + // add velocity feedforward + posStepperNew_fl32 += changeVelocity * config_st->payLoadPedalConfig_.PID_velocity_feedforward_gain; + // convert position to integer int32_t posStepperNew = floor(posStepperNew_fl32); + // clamp target position to range posStepperNew=constrain(posStepperNew,calc_st->stepperPosMin,calc_st->stepperPosMax ); //#define PLOT_PID_VALUES @@ -189,6 +194,100 @@ int32_t MoveByPidStrategy(float loadCellReadingKg, float stepperPosFraction, Ste +int32_t MoveByForceTargetingStrategy(float loadCellReadingKg, StepperWithLimits* stepper, ForceCurve_Interpolated* forceCurve, const DAP_calculationVariables_st* calc_st, DAP_config_st* config_st, float absForceOffset_fl32, float changeVelocity, float stepper_vel_filtered_fl32, float stepper_accel_filtered_fl32) { + + /* + This closed-loop control strategy models the foot as a spring with a certain stiffness k1. + The force resulting from that model is F1 = k1 * x. + To find the servo target position: + 1) A line with the slope -k1 at the point of the loadcell reading & current position is drawn. + 2) The intersection with the force-travel curve gives the target position + + Since the force-travel curve might be non-linear, Newtons method is used to numerically find the intersection point. + f(x_n) = -k1 * x + b - forceCurve(x) = 0 + x_n+1 = x_n - f(x_n) / f'(x_n) + whereas x_n is the servo position at iteration n + f(x_n) = -k1 * x + b - forceCurve(x) + f'(x_n) = -k1 - d(forceCurve(x)) / dx + */ + + // get current stepper position + float stepperPos = stepper->getCurrentPosition(); + + // add velocity feedforward + stepperPos += changeVelocity * config_st->payLoadPedalConfig_.PID_velocity_feedforward_gain; + + // motion corrected loadcell reading + float loadCellReadingKg_corrected = loadCellReadingKg; + //loadCellReadingKg_corrected += config_st->payLoadPedalConfig_.MPC_1st_order_gain * stepper_vel_filtered_fl32 / STEPS_PER_MOTOR_REVOLUTION / 10;// + stepper_accel_filtered_fl32; + //loadCellReadingKg_corrected += config_st->payLoadPedalConfig_.MPC_1st_order_gain * stepper_accel_filtered_fl32 / STEPS_PER_MOTOR_REVOLUTION / 10;// + stepper_accel_filtered_fl32; + + + // set initial guess + float stepperPos_initial = stepperPos; + + // Find the intersections of the force curve and the foot model via Newtons-method + #define MAX_NUMBER_OF_NEWTON_STEPS 5 + for (uint8_t iterationIdx = 0; iterationIdx < MAX_NUMBER_OF_NEWTON_STEPS; iterationIdx++) + { + //float stepperPosFraction = stepper->getCurrentPositionFraction(); + float stepperPosFraction = stepper->getCurrentPositionFractionFromExternalPos( stepperPos ); + + // clamp the stepper position to prevent problems with the spline + float x_0 = constrain(stepperPosFraction, 0, 1); + + // get force and force gradient of force vs travel curve + float loadCellTargetKg = forceCurve->EvalForceCubicSpline(config_st, calc_st, x_0); + float gradient_force_curve_fl32 = forceCurve->EvalForceGradientCubicSpline(config_st, calc_st, x_0, false); + + // apply effect force offset + loadCellTargetKg -=absForceOffset_fl32; + + // how many mm movement to order if 1kg of error force is detected + // this can be tuned for responsiveness vs oscillation + float mm_per_motor_rev = config_st->payLoadPedalConfig_.spindlePitch_mmPerRev_u8;//TRAVEL_PER_ROTATION_IN_MM; + float steps_per_motor_rev = STEPS_PER_MOTOR_REVOLUTION; + float move_mm_per_kg = config_st->payLoadPedalConfig_.MPC_0th_order_gain; + + float MOVE_STEPS_FOR_1KG = 0; + if (mm_per_motor_rev>0) + { + MOVE_STEPS_FOR_1KG = (move_mm_per_kg / mm_per_motor_rev) * steps_per_motor_rev; + } + + + // make stiffness dependent on force curve gradient + // less steps per kg --> steeper line + float gradient_normalized_force_curve_fl32 = forceCurve->EvalForceGradientCubicSpline(config_st, calc_st, x_0, true); + gradient_normalized_force_curve_fl32 = constrain(gradient_normalized_force_curve_fl32, 0.05, 1); + MOVE_STEPS_FOR_1KG *= gradient_normalized_force_curve_fl32; + + float m1 = -1000; + if (MOVE_STEPS_FOR_1KG > 0) + { + m1 = -1. / MOVE_STEPS_FOR_1KG; // line has negative slope --> pedal moves towards the front endstop will increase the loadcell reading as it pushes more against the foot + } + + float m2 = gradient_force_curve_fl32; + + // Newton update + float denom = m1 - m2; + if ( fabs(denom) > 0 ) + { + stepperPos -= ( loadCellReadingKg_corrected - loadCellTargetKg) / ( denom ); + } + } + + // limit the position update + float deltaMax = 0.5 * (float)(calc_st->stepperPosMax - calc_st->stepperPosMin); + int32_t posStepperNew = constrain(stepperPos, stepperPos_initial-deltaMax, stepperPos_initial+deltaMax ); + + // clamp target position to range + posStepperNew = constrain(posStepperNew,calc_st->stepperPosMin,calc_st->stepperPosMax ); + + return posStepperNew; +} + int32_t mpcBasedMove(float loadCellReadingKg, float stepperPosFraction, StepperWithLimits* stepper, ForceCurve_Interpolated* forceCurve, const DAP_calculationVariables_st* calc_st, DAP_config_st* config_st, float absForceOffset_fl32) { @@ -291,7 +390,7 @@ int32_t mpcBasedMove(float loadCellReadingKg, float stepperPosFraction, StepperW void measureStepResponse(StepperWithLimits* stepper, const DAP_calculationVariables_st* calc_st, const DAP_config_st* config_st, const LoadCell_ADS1256* loadcell) { - int32_t currentPos = stepper->getCurrentPositionSteps(); + int32_t currentPos = stepper->getCurrentPositionFromMin(); int32_t minPos = currentPos - dap_calculationVariables_st.stepperPosRange * 0.05; int32_t maxPos = currentPos + dap_calculationVariables_st.stepperPosRange * 0.05; diff --git a/Arduino/Esp32/Main/StepperWithLimits.cpp b/Arduino/Esp32/Main/StepperWithLimits.cpp index 2a388afe..957f3d8b 100644 --- a/Arduino/Esp32/Main/StepperWithLimits.cpp +++ b/Arduino/Esp32/Main/StepperWithLimits.cpp @@ -224,17 +224,21 @@ int8_t StepperWithLimits::moveTo(int32_t position, bool blocking) { return _stepper->moveTo(position, blocking); } -int32_t StepperWithLimits::getCurrentPositionSteps() const { +int32_t StepperWithLimits::getCurrentPositionFromMin() const { return _stepper->getCurrentPosition() - _posMin; } +int32_t StepperWithLimits::getCurrentPosition() const { + return _stepper->getCurrentPosition(); +} + double StepperWithLimits::getCurrentPositionFraction() const { - return double(getCurrentPositionSteps()) / getTravelSteps(); + return double(getCurrentPositionFromMin()) / getTravelSteps(); } double StepperWithLimits::getCurrentPositionFractionFromExternalPos(int32_t extPos_i32) const { - return double(extPos_i32) / getTravelSteps(); + return (double(extPos_i32) - _posMin)/ getTravelSteps(); } int32_t StepperWithLimits::getTargetPositionSteps() const { @@ -267,7 +271,7 @@ bool StepperWithLimits::isAtMinPos() { bool isNotRunning = !_stepper->isRunning(); - bool isAtMinPos = getCurrentPositionSteps() == 0; + bool isAtMinPos = getCurrentPositionFromMin() == 0; return isAtMinPos && isNotRunning; } diff --git a/Arduino/Esp32/Main/StepperWithLimits.h b/Arduino/Esp32/Main/StepperWithLimits.h index ebee0727..4f012603 100644 --- a/Arduino/Esp32/Main/StepperWithLimits.h +++ b/Arduino/Esp32/Main/StepperWithLimits.h @@ -34,7 +34,8 @@ class StepperWithLimits { void printStates(); public: - int32_t getCurrentPositionSteps() const; + int32_t getCurrentPositionFromMin() const; + int32_t getCurrentPosition() const; double getCurrentPositionFraction() const; double getCurrentPositionFractionFromExternalPos(int32_t extPos_i32) const; int32_t getTargetPositionSteps() const; diff --git a/Arduino/Esp32/Main/isv57communication.cpp b/Arduino/Esp32/Main/isv57communication.cpp index 1d157414..b1c16c98 100644 --- a/Arduino/Esp32/Main/isv57communication.cpp +++ b/Arduino/Esp32/Main/isv57communication.cpp @@ -23,11 +23,11 @@ void isv57communication::setupServoStateReading() { // tell the modbus slave, which registers will be read cyclicly modbus.holdingRegisterWrite(slaveId, 0x0191, reg_add_position_given_p); delay(50); - modbus.holdingRegisterWrite(slaveId, 0x0192, reg_add_position_error_p); + modbus.holdingRegisterWrite(slaveId, 0x0192, reg_add_velocity_current_feedback_percent); delay(50); - modbus.holdingRegisterWrite(slaveId, 0x0193, reg_add_velocity_current_feedback_percent); + modbus.holdingRegisterWrite(slaveId, 0x0193, reg_add_position_error_p); delay(50); - modbus.holdingRegisterWrite(slaveId, 0x0194, reg_add_velocity_current_given_percent); + modbus.holdingRegisterWrite(slaveId, 0x0194, reg_add_voltage_0p1V); delay(50); @@ -146,34 +146,41 @@ int16_t isv57communication::getZeroPos() void isv57communication::readServoStates() { // read the four registers simultaneously - if(modbus.requestFrom(slaveId, 0x03, ref_cyclic_read_0, 8) > 0) + int8_t numberOfRegistersToRead_u8 = 4; + int bytesReceived_i = modbus.requestFrom(slaveId, 0x03, ref_cyclic_read_0, numberOfRegistersToRead_u8); + if(bytesReceived_i == (numberOfRegistersToRead_u8*2)) { modbus.RxRaw(raw, len); - for (uint8_t regIdx = 0; regIdx < 4; regIdx++) + for (uint8_t regIdx = 0; regIdx < numberOfRegistersToRead_u8; regIdx++) { regArray[regIdx] = modbus.uint16(regIdx); } + + // write to public variables + servo_pos_given_p = regArray[0]; + servo_current_percent = regArray[1]; + servo_pos_error_p = regArray[2]; + servo_voltage_0p1V = regArray[3]; } + //Serial.print("Bytes :"); + //Serial.println(bytesReceived_i); + - // write to public variables - servo_pos_given_p = regArray[0]; - servo_pos_error_p = regArray[1]; - servo_current_percent = regArray[2]; // print registers if (0) { Serial.print("Pos_given:"); - Serial.print(regArray[0]); + Serial.print(servo_pos_given_p); Serial.print(",Pos_error:"); - Serial.print(regArray[1]); + Serial.print(servo_pos_error_p); Serial.print(",Cur_given:"); - Serial.print(regArray[2]); + Serial.print(servo_current_percent); - Serial.print(",Cur_fb:"); - Serial.print(regArray[3]); + Serial.print(",Voltage:"); + Serial.print(servo_voltage_0p1V); Serial.println(" "); } diff --git a/Arduino/Esp32/Main/isv57communication.h b/Arduino/Esp32/Main/isv57communication.h index ac1ed037..78bce9f8 100644 --- a/Arduino/Esp32/Main/isv57communication.h +++ b/Arduino/Esp32/Main/isv57communication.h @@ -26,6 +26,7 @@ #define reg_add_position_command_velocity_rpm 0x0049 // checked #define reg_add_velocity_current_given_percent 0x0080 // checked #define reg_add_velocity_current_feedback_percent 0x0081 // checked +#define reg_add_voltage_0p1V 0x0140 // checked #define ref_cyclic_read_0 0x01F3 #define ref_cyclic_read_1 0x01F4 @@ -62,6 +63,7 @@ class isv57communication { int16_t servo_pos_given_p = 0; int16_t servo_pos_error_p = 0; int16_t servo_current_percent = 0; + int16_t servo_voltage_0p1V = 0; private: // declare variables diff --git a/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/23a992f0-bcf1-4792-a145-3f7b75d6a0ae.vsidx b/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/23a992f0-bcf1-4792-a145-3f7b75d6a0ae.vsidx deleted file mode 100644 index 1162143d..00000000 Binary files a/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/23a992f0-bcf1-4792-a145-3f7b75d6a0ae.vsidx and /dev/null differ diff --git a/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/3fde7044-f8b2-4505-ac27-79b824c0255d.vsidx b/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/3fde7044-f8b2-4505-ac27-79b824c0255d.vsidx deleted file mode 100644 index 5bfa419c..00000000 Binary files a/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/3fde7044-f8b2-4505-ac27-79b824c0255d.vsidx and /dev/null differ diff --git a/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/598b2ff4-3fa2-4936-b5ac-8f6002963e91.vsidx b/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/598b2ff4-3fa2-4936-b5ac-8f6002963e91.vsidx new file mode 100644 index 00000000..0015dbed Binary files /dev/null and b/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/598b2ff4-3fa2-4936-b5ac-8f6002963e91.vsidx differ diff --git a/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/7a80992c-992a-4792-912c-e36b0d6bc69f.vsidx b/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/7a80992c-992a-4792-912c-e36b0d6bc69f.vsidx deleted file mode 100644 index fe7c1441..00000000 Binary files a/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/7a80992c-992a-4792-912c-e36b0d6bc69f.vsidx and /dev/null differ diff --git a/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/7a9db233-7985-40c7-88a3-b01555dbf093.vsidx b/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/7a9db233-7985-40c7-88a3-b01555dbf093.vsidx new file mode 100644 index 00000000..bcf149d0 Binary files /dev/null and b/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/7a9db233-7985-40c7-88a3-b01555dbf093.vsidx differ diff --git a/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/acb620c1-0d15-43ef-a177-26f6196cab88.vsidx b/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/acb620c1-0d15-43ef-a177-26f6196cab88.vsidx deleted file mode 100644 index cf92fd4e..00000000 Binary files a/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/acb620c1-0d15-43ef-a177-26f6196cab88.vsidx and /dev/null differ diff --git a/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/c6cbd9b6-e456-4330-bb34-bf4b0dd3c99d.vsidx b/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/c6cbd9b6-e456-4330-bb34-bf4b0dd3c99d.vsidx new file mode 100644 index 00000000..c6822e67 Binary files /dev/null and b/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/c6cbd9b6-e456-4330-bb34-bf4b0dd3c99d.vsidx differ diff --git a/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/d473c3a0-0ee9-40e5-828d-052ca8fc3bb8.vsidx b/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/d473c3a0-0ee9-40e5-828d-052ca8fc3bb8.vsidx new file mode 100644 index 00000000..091c46b7 Binary files /dev/null and b/SimHubPlugin/.vs/User.PluginSdkDemo/FileContentIndex/d473c3a0-0ee9-40e5-828d-052ca8fc3bb8.vsidx differ diff --git a/SimHubPlugin/.vs/User.PluginSdkDemo/v17/.suo b/SimHubPlugin/.vs/User.PluginSdkDemo/v17/.suo index 8f3d2b4e..9d83fb7b 100644 Binary files a/SimHubPlugin/.vs/User.PluginSdkDemo/v17/.suo and b/SimHubPlugin/.vs/User.PluginSdkDemo/v17/.suo differ diff --git a/SimHubPlugin/DataPluginDemo.cs b/SimHubPlugin/DataPluginDemo.cs index ec40ddcb..e13b6d91 100644 --- a/SimHubPlugin/DataPluginDemo.cs +++ b/SimHubPlugin/DataPluginDemo.cs @@ -20,13 +20,14 @@ static class Constants { // payload revisiom - public const uint pedalConfigPayload_version = 119; + public const uint pedalConfigPayload_version = 126; // pyload types public const uint pedalConfigPayload_type = 100; public const uint pedalActionPayload_type = 110; - public const uint pedalStatePayload_type = 120; + public const uint pedalStateBasicPayload_type = 120; + public const uint pedalStateExtendedPayload_type = 130; } @@ -50,13 +51,28 @@ public struct payloadPedalAction public byte startSystemIdentification_u8; public byte returnPedalConfig_u8; public byte RPM_u8; + public byte G_value; }; -public struct payloadPedalState +public struct payloadPedalState_Basic { public UInt16 pedalPosition_u16; public UInt16 pedalForce_u16; - public UInt16 joystickOutput_u16; + public UInt16 joystickOutput_u16; + +}; + +public struct payloadPedalState_Extended +{ + public UInt32 timeInMs_u32; + public UInt16 pedalForce_raw_u16; + public UInt16 pedalForce_filtered_u16; + public Int16 forceVel_est_i16; + + // register values from servo + public Int16 servoPosition_i16; + public Int16 servoPositionTarget_i16; + public Int16 servo_voltage_0p1V_i16; }; public struct payloadPedalConfig @@ -105,6 +121,8 @@ public struct payloadPedalConfig public byte BP_amp; public byte BP_freq; public byte BP_trigger; + public byte G_multi; + public byte G_window; // cubic spline params public float cubic_spline_param_a_0; public float cubic_spline_param_a_1; @@ -122,7 +140,14 @@ public struct payloadPedalConfig public float PID_p_gain; public float PID_i_gain; public float PID_d_gain; - public float PID_feedforward_gain; + public float PID_velocity_feedforward_gain; + + // MPC settings + public float MPC_0th_order_gain; + public float MPC_1st_order_gain; + public float MPC_2nd_order_gain; + + public byte control_strategy_b; @@ -143,6 +168,9 @@ public struct payloadPedalConfig // invert loadcell sign public byte invertLoadcellReading_u8; + // spindle pitch in mm/rev + public byte spindlePitch_mmPerRev_u8; + } @@ -169,13 +197,19 @@ public struct DAP_config_st public payloadFooter payloadFooter_; } -public struct DAP_state_st +public struct DAP_state_basic_st { public payloadHeader payloadHeader_; - public payloadPedalState payloadPedalState_; + public payloadPedalState_Basic payloadPedalBasicState_; public payloadFooter payloadFooter_; } +public struct DAP_state_extended_st +{ + public payloadHeader payloadHeader_; + public payloadPedalState_Extended payloadPedalExtendedState_; + public payloadFooter payloadFooter_; +} namespace User.PluginSdkDemo @@ -191,6 +225,7 @@ public class DataPluginDemo : IPlugin, IDataPlugin, IWPFSettingsV2 public bool sendAbsSignal = false; public DAP_config_st dap_config_initial_st; public byte rpm_last_value = 0 ; + public double g_force_last_value = 128; public byte game_running_index = 0 ; public uint testValue = 0; @@ -200,6 +235,11 @@ public class DataPluginDemo : IPlugin, IDataPlugin, IWPFSettingsV2 // ABS trigger timer DateTime absTrigger_currentTime = DateTime.Now; DateTime absTrigger_lastTime = DateTime.Now; + + //G force timer + DateTime GTrigger_currentTime = DateTime.Now; + DateTime GTrigger_lastTime = DateTime.Now; + //// payload revisiom //public uint pedalConfigPayload_version = 110; @@ -295,6 +335,7 @@ unsafe public void DataUpdate(PluginManager pluginManager, ref GameData data) bool sendTcSignal_local_b = false; double RPM_value =0; double RPM_MAX = 0; + double _G_force = 128; //for (uint pedalIdx = 0; pedalIdx < 3; pedalIdx++) //{ @@ -330,18 +371,30 @@ unsafe public void DataUpdate(PluginManager pluginManager, ref GameData data) { RPM_MAX = data.NewData.CarSettings_MaxRPM; } + RPM_value = (data.NewData.Rpms / RPM_MAX*100); + + if (data.NewData.GlobalAccelerationG != 0) + { + _G_force = -1 * data.NewData.GlobalAccelerationG + 128; + } + else + { + _G_force = 128; + } game_running_index = 1; } else { - RPM_value = 0; + RPM_value = 0; + _G_force = 128; } } else { RPM_value = 0; + _G_force = 128; } @@ -363,6 +416,7 @@ unsafe public void DataUpdate(PluginManager pluginManager, ref GameData data) + bool update_flag = false; if (data.GameRunning) @@ -378,6 +432,15 @@ unsafe public void DataUpdate(PluginManager pluginManager, ref GameData data) tmp.payloadHeader_.payloadType = (byte)Constants.pedalActionPayload_type; tmp.payloadPedalAction_.triggerAbs_u8 = 0; tmp.payloadPedalAction_.RPM_u8 = (Byte)rpm_last_value; + if (Settings.G_force_enable_flag[pedalIdx] == 1) + { + tmp.payloadPedalAction_.G_value = (Byte)g_force_last_value; + } + else + { + tmp.payloadPedalAction_.G_value = 128; + } + if (Settings.RPM_enable_flag[pedalIdx] == 1) { if (Math.Abs(RPM_value - rpm_last_value) >10) @@ -388,6 +451,35 @@ unsafe public void DataUpdate(PluginManager pluginManager, ref GameData data) } } + //G force effect only effect on brake + if (pedalIdx == 1) + { + + GTrigger_currentTime = DateTime.Now; + TimeSpan diff_G = GTrigger_currentTime - GTrigger_lastTime; + int millisceonds_G = (int)diff_G.TotalMilliseconds; + if (millisceonds <= 10) + { + _G_force = g_force_last_value; + } + else + { + GTrigger_lastTime = DateTime.Now; + } + if (Settings.G_force_enable_flag[pedalIdx] == 1) + { + //double value_check_g = 1 - _G_force / ((double)g_force_last_value); + double value_check_g = (_G_force - (double)g_force_last_value); + if (Math.Abs(value_check_g) > 2) + { + tmp.payloadPedalAction_.G_value = (Byte)_G_force; + update_flag = true; + g_force_last_value = (Byte)_G_force; + } + + } + } + if (pedalIdx == 1) { if (sendAbsSignal_local_b & Settings.ABS_enable_flag[pedalIdx] ==1) @@ -434,56 +526,7 @@ unsafe public void DataUpdate(PluginManager pluginManager, ref GameData data) } } } - /* - // Send TC trigger signal via serial - if (_serialPort[2].IsOpen) - { - DAP_action_st tmp; - - tmp.payloadHeader_.version = (byte)Constants.pedalConfigPayload_version; - tmp.payloadHeader_.payloadType = (byte)Constants.pedalActionPayload_type; - tmp.payloadPedalAction_.triggerAbs_u8 = 0; - tmp.payloadPedalAction_.RPM_u8 = rpm_last_value; - - if ((RPM_value - rpm_last_value > 10) || (RPM_value - rpm_last_value < -10)) - { - tmp.payloadPedalAction_.RPM_u8 = (Byte)RPM_value; - update_flag = true; - rpm_last_value = (Byte)RPM_value; - } - if (sendTcSignal_local_b) - { - // compute checksum - - tmp.payloadPedalAction_.triggerAbs_u8 = 1; - update_flag = true; - - } - if (update_flag) - { - DAP_action_st* v = &tmp; - byte* p = (byte*)v; - tmp.payloadFooter_.checkSum = checksumCalc(p, sizeof(payloadHeader) + sizeof(payloadPedalAction)); - - - int length = sizeof(DAP_action_st); - byte[] newBuffer = new byte[length]; - newBuffer = getBytes_Action(tmp); - - - // clear inbuffer - _serialPort[2].DiscardInBuffer(); - - // send query command - _serialPort[2].Write(newBuffer, 0, newBuffer.Length); - rpm_last_value = (Byte)RPM_value; - } - - - - } - */ - + } else { @@ -495,6 +538,7 @@ unsafe public void DataUpdate(PluginManager pluginManager, ref GameData data) tmp.payloadHeader_.payloadType = (byte)Constants.pedalActionPayload_type; tmp.payloadPedalAction_.triggerAbs_u8 = 0; tmp.payloadPedalAction_.RPM_u8 = 0; + tmp.payloadPedalAction_.G_value = 128; rpm_last_value = 0; DAP_action_st* v = &tmp; byte* p = (byte*)v; @@ -526,6 +570,7 @@ unsafe public void DataUpdate(PluginManager pluginManager, ref GameData data) tmp.payloadHeader_.payloadType = (byte)Constants.pedalActionPayload_type; tmp.payloadPedalAction_.triggerAbs_u8 = 1; tmp.payloadPedalAction_.RPM_u8 = 0; + tmp.payloadPedalAction_.G_value = 128; DAP_action_st* v = &tmp; byte* p = (byte*)v; tmp.payloadFooter_.checkSum = checksumCalc(p, sizeof(payloadHeader) + sizeof(payloadPedalAction)); @@ -1097,7 +1142,8 @@ public void Init(PluginManager pluginManager) dap_config_initial_st.payloadPedalConfig_.BP_amp = 1; dap_config_initial_st.payloadPedalConfig_.BP_freq = 15; dap_config_initial_st.payloadPedalConfig_.BP_trigger = 0; - + dap_config_initial_st.payloadPedalConfig_.G_multi = 50; + dap_config_initial_st.payloadPedalConfig_.G_window = 60; dap_config_initial_st.payloadPedalConfig_.maxGameOutput = 100; dap_config_initial_st.payloadPedalConfig_.kf_modelNoise = 128; @@ -1118,22 +1164,26 @@ public void Init(PluginManager pluginManager) dap_config_initial_st.payloadPedalConfig_.PID_p_gain = 0.3f; dap_config_initial_st.payloadPedalConfig_.PID_i_gain = 50.0f; dap_config_initial_st.payloadPedalConfig_.PID_d_gain = 0.0f; - dap_config_initial_st.payloadPedalConfig_.PID_feedforward_gain = 0.0f; - + dap_config_initial_st.payloadPedalConfig_.PID_velocity_feedforward_gain = 0.0f; + + dap_config_initial_st.payloadPedalConfig_.MPC_0th_order_gain = 1.0f; - dap_config_initial_st.payloadPedalConfig_.control_strategy_b = 0; + dap_config_initial_st.payloadPedalConfig_.control_strategy_b = 2; dap_config_initial_st.payloadPedalConfig_.loadcell_rating = 150; dap_config_initial_st.payloadPedalConfig_.travelAsJoystickOutput_u8 = 0; - dap_config_initial_st.payloadPedalConfig_.invertLoadcellReading_u8 = 0; - - - - - - + dap_config_initial_st.payloadPedalConfig_.invertLoadcellReading_u8 = 0; + + dap_config_initial_st.payloadPedalConfig_.spindlePitch_mmPerRev_u8 = 5; + + + + + + + } } } \ No newline at end of file diff --git a/SimHubPlugin/DataPluginDemoSettings.cs b/SimHubPlugin/DataPluginDemoSettings.cs index ce1699dc..b5833c04 100644 --- a/SimHubPlugin/DataPluginDemoSettings.cs +++ b/SimHubPlugin/DataPluginDemoSettings.cs @@ -16,6 +16,7 @@ public class DataPluginDemoSettings public int[] selectedComPortNamesInt = new int[3] { -1, -1, -1 }; public int[] ABS_enable_flag = new int[3] { 0, 0, 0 }; public int[] RPM_enable_flag = new int[3] { 0, 0, 0 }; + public int[] G_force_enable_flag = new int[3] { 0, 0, 0 }; public int vjoy_output_flag = 0; public uint vjoy_order = 1; } diff --git a/SimHubPlugin/Images/Plugin-UI-0128.gif b/SimHubPlugin/Images/Plugin-UI-0128.gif new file mode 100644 index 00000000..08ad8d67 Binary files /dev/null and b/SimHubPlugin/Images/Plugin-UI-0128.gif differ diff --git a/SimHubPlugin/SettingsControlDemo.xaml b/SimHubPlugin/SettingsControlDemo.xaml index e30975f3..24fb2573 100644 --- a/SimHubPlugin/SettingsControlDemo.xaml +++ b/SimHubPlugin/SettingsControlDemo.xaml @@ -18,11 +18,12 @@ + - - - + + + @@ -38,7 +39,7 @@ - + @@ -46,8 +47,6 @@ - - @@ -69,8 +68,8 @@ Grid.Row="0" Grid.Column="2" Width="160" - Foreground="White"/> - + Foreground="White" Grid.RowSpan="2" Height="16"/> + @@ -78,11 +77,11 @@ VerticalAlignment="Top" Margin="5,79,0,0" Text="Serial monitor:" - Grid.Row="1" + Grid.Row="2" Grid.Column="2" Width="160" - Foreground="White"/> - + Foreground="White" Height="16"/> + @@ -140,7 +139,7 @@ Grid.Row="9" Grid.Column="0" Width="120" - Foreground="White"/> + Foreground="White" Height="16"/> @@ -157,8 +156,8 @@ DiyPedalConfig_accelerator_2 DiyPedalConfig_accelerator_3 --> - - + + + @@ -227,6 +222,8 @@ + + - + @@ -267,10 +260,7 @@ - + @@ -406,7 +396,7 @@ - + - + + - - + + - - - - - - - - - + + - + - - - - - - - - - - - - - - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SimHubPlugin/SettingsControlDemo.xaml.cs b/SimHubPlugin/SettingsControlDemo.xaml.cs index c81a248b..c704f7d5 100644 --- a/SimHubPlugin/SettingsControlDemo.xaml.cs +++ b/SimHubPlugin/SettingsControlDemo.xaml.cs @@ -43,12 +43,17 @@ using vJoyInterfaceWrap; //using vJoy.Wrapper; using System.Runtime; +using SimHub.Plugins.DataPlugins.ShakeItV3.Settings; +using System.Windows.Media.Effects; +using System.Diagnostics; +using System.Collections; +using System.Linq; // Win 11 install, see https://github.com/jshafer817/vJoy/releases -//using vJoy.Wrapper; - - - +//using vJoy.Wrapper; + + + namespace User.PluginSdkDemo { @@ -85,6 +90,14 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl //public VirtualJoystick joystick; internal vJoyInterfaceWrap.vJoy joystick; + + public bool[] dumpPedalToResponseFile = new bool[3]; + + private SolidColorBrush defaultcolor; + private SolidColorBrush lightcolor; + + + // read config from JSON on startup //ReadStructFromJson(); @@ -265,171 +278,223 @@ private void UpdateSerialPortList_click() private bool isDragging = false; private Point offset; - + + public void DAP_config_set_default(uint pedalIdx) + { + dumpPedalToResponseFile[pedalIdx] = false; + dap_config_st[pedalIdx].payloadHeader_.payloadType = (byte)Constants.pedalConfigPayload_type; + dap_config_st[pedalIdx].payloadHeader_.version = (byte)Constants.pedalConfigPayload_version; + dap_config_st[pedalIdx].payloadPedalConfig_.pedalStartPosition = 35; + dap_config_st[pedalIdx].payloadPedalConfig_.pedalEndPosition = 80; + dap_config_st[pedalIdx].payloadPedalConfig_.maxForce = 90; + dap_config_st[pedalIdx].payloadPedalConfig_.relativeForce_p000 = 0; + dap_config_st[pedalIdx].payloadPedalConfig_.relativeForce_p020 = 20; + dap_config_st[pedalIdx].payloadPedalConfig_.relativeForce_p040 = 40; + dap_config_st[pedalIdx].payloadPedalConfig_.relativeForce_p060 = 60; + dap_config_st[pedalIdx].payloadPedalConfig_.relativeForce_p080 = 80; + dap_config_st[pedalIdx].payloadPedalConfig_.relativeForce_p100 = 100; + dap_config_st[pedalIdx].payloadPedalConfig_.dampingPress = 0; + dap_config_st[pedalIdx].payloadPedalConfig_.dampingPull = 0; + dap_config_st[pedalIdx].payloadPedalConfig_.absFrequency = 5; + dap_config_st[pedalIdx].payloadPedalConfig_.absAmplitude = 20; + dap_config_st[pedalIdx].payloadPedalConfig_.absPattern = 0; + dap_config_st[pedalIdx].payloadPedalConfig_.absForceOrTarvelBit = 0; + dap_config_st[pedalIdx].payloadPedalConfig_.lengthPedal_AC = 150; + dap_config_st[pedalIdx].payloadPedalConfig_.horPos_AB = 215; + dap_config_st[pedalIdx].payloadPedalConfig_.verPos_AB = 80; + dap_config_st[pedalIdx].payloadPedalConfig_.lengthPedal_CB = 200; + dap_config_st[pedalIdx].payloadPedalConfig_.Simulate_ABS_trigger = 0; + dap_config_st[pedalIdx].payloadPedalConfig_.Simulate_ABS_value = 80; + dap_config_st[pedalIdx].payloadPedalConfig_.RPM_max_freq = 40; + dap_config_st[pedalIdx].payloadPedalConfig_.RPM_min_freq = 10; + dap_config_st[pedalIdx].payloadPedalConfig_.RPM_AMP = 30; + dap_config_st[pedalIdx].payloadPedalConfig_.BP_trigger_value = 50; + dap_config_st[pedalIdx].payloadPedalConfig_.BP_amp = 1; + dap_config_st[pedalIdx].payloadPedalConfig_.BP_freq = 15; + dap_config_st[pedalIdx].payloadPedalConfig_.BP_trigger = 0; + dap_config_st[pedalIdx].payloadPedalConfig_.G_multi = 50; + dap_config_st[pedalIdx].payloadPedalConfig_.G_window = 60; + dap_config_st[pedalIdx].payloadPedalConfig_.maxGameOutput = 100; + dap_config_st[pedalIdx].payloadPedalConfig_.kf_modelNoise = 128; + dap_config_st[pedalIdx].payloadPedalConfig_.cubic_spline_param_a_0 = 0; + dap_config_st[pedalIdx].payloadPedalConfig_.cubic_spline_param_a_1 = 0; + dap_config_st[pedalIdx].payloadPedalConfig_.cubic_spline_param_a_2 = 0; + dap_config_st[pedalIdx].payloadPedalConfig_.cubic_spline_param_a_3 = 0; + dap_config_st[pedalIdx].payloadPedalConfig_.cubic_spline_param_a_4 = 0; + + dap_config_st[pedalIdx].payloadPedalConfig_.cubic_spline_param_b_0 = 0; + dap_config_st[pedalIdx].payloadPedalConfig_.cubic_spline_param_b_1 = 0; + dap_config_st[pedalIdx].payloadPedalConfig_.cubic_spline_param_b_2 = 0; + dap_config_st[pedalIdx].payloadPedalConfig_.cubic_spline_param_b_3 = 0; + dap_config_st[pedalIdx].payloadPedalConfig_.cubic_spline_param_b_4 = 0; + + dap_config_st[pedalIdx].payloadPedalConfig_.PID_p_gain = 0.3f; + dap_config_st[pedalIdx].payloadPedalConfig_.PID_i_gain = 50.0f; + dap_config_st[pedalIdx].payloadPedalConfig_.PID_d_gain = 0.0f; + dap_config_st[pedalIdx].payloadPedalConfig_.PID_velocity_feedforward_gain = 0.0f; + + dap_config_st[pedalIdx].payloadPedalConfig_.MPC_0th_order_gain = 1.0f; + + dap_config_st[pedalIdx].payloadPedalConfig_.control_strategy_b = 2; + + dap_config_st[pedalIdx].payloadPedalConfig_.loadcell_rating = 150; + + dap_config_st[pedalIdx].payloadPedalConfig_.travelAsJoystickOutput_u8 = 0; + + dap_config_st[pedalIdx].payloadPedalConfig_.invertLoadcellReading_u8 = 0; + + dap_config_st[pedalIdx].payloadPedalConfig_.spindlePitch_mmPerRev_u8 = 5; + } public SettingsControlDemo() { - - - - - + for (uint pedalIdx = 0; pedalIdx < 3; pedalIdx++) + { - for (uint pedalIdx = 0; pedalIdx < 3; pedalIdx++) - { - dap_config_st[pedalIdx].payloadHeader_.payloadType = (byte)Constants.pedalConfigPayload_type; - dap_config_st[pedalIdx].payloadHeader_.version = (byte)Constants.pedalConfigPayload_version; - - dap_config_st[pedalIdx].payloadPedalConfig_.pedalStartPosition = 35; - dap_config_st[pedalIdx].payloadPedalConfig_.pedalEndPosition = 80; - dap_config_st[pedalIdx].payloadPedalConfig_.maxForce = 90; - dap_config_st[pedalIdx].payloadPedalConfig_.relativeForce_p000 = 0; - dap_config_st[pedalIdx].payloadPedalConfig_.relativeForce_p020 = 20; - dap_config_st[pedalIdx].payloadPedalConfig_.relativeForce_p040 = 40; - dap_config_st[pedalIdx].payloadPedalConfig_.relativeForce_p060 = 60; - dap_config_st[pedalIdx].payloadPedalConfig_.relativeForce_p080 = 80; - dap_config_st[pedalIdx].payloadPedalConfig_.relativeForce_p100 = 100; - dap_config_st[pedalIdx].payloadPedalConfig_.dampingPress = 0; - dap_config_st[pedalIdx].payloadPedalConfig_.dampingPull = 0; - dap_config_st[pedalIdx].payloadPedalConfig_.absFrequency = 5; - dap_config_st[pedalIdx].payloadPedalConfig_.absAmplitude = 20; - dap_config_st[pedalIdx].payloadPedalConfig_.absPattern = 0; - dap_config_st[pedalIdx].payloadPedalConfig_.absForceOrTarvelBit = 0; - dap_config_st[pedalIdx].payloadPedalConfig_.lengthPedal_AC = 150; - dap_config_st[pedalIdx].payloadPedalConfig_.horPos_AB = 215; - dap_config_st[pedalIdx].payloadPedalConfig_.verPos_AB = 80; - dap_config_st[pedalIdx].payloadPedalConfig_.lengthPedal_CB = 200; - dap_config_st[pedalIdx].payloadPedalConfig_.Simulate_ABS_trigger= 0; - dap_config_st[pedalIdx].payloadPedalConfig_.Simulate_ABS_value= 80; - dap_config_st[pedalIdx].payloadPedalConfig_.RPM_max_freq = 40; - dap_config_st[pedalIdx].payloadPedalConfig_.RPM_min_freq = 10; - dap_config_st[pedalIdx].payloadPedalConfig_.RPM_AMP = 30; - dap_config_st[pedalIdx].payloadPedalConfig_.BP_trigger_value = 50; - dap_config_st[pedalIdx].payloadPedalConfig_.BP_amp = 1; - dap_config_st[pedalIdx].payloadPedalConfig_.BP_freq = 15; - dap_config_st[pedalIdx].payloadPedalConfig_.BP_trigger = 0; - dap_config_st[pedalIdx].payloadPedalConfig_.maxGameOutput = 100; - dap_config_st[pedalIdx].payloadPedalConfig_.kf_modelNoise = 128; - dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.cubic_spline_param_a_0 = 0; - dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.cubic_spline_param_a_1 = 0; - dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.cubic_spline_param_a_2 = 0; - dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.cubic_spline_param_a_3 = 0; - dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.cubic_spline_param_a_4 = 0; - - dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.cubic_spline_param_b_0 = 0; - dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.cubic_spline_param_b_1 = 0; - dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.cubic_spline_param_b_2 = 0; - dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.cubic_spline_param_b_3 = 0; - dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.cubic_spline_param_b_4 = 0; - - dap_config_st[pedalIdx].payloadPedalConfig_.PID_p_gain = 0.3f; - dap_config_st[pedalIdx].payloadPedalConfig_.PID_i_gain = 50.0f; - dap_config_st[pedalIdx].payloadPedalConfig_.PID_d_gain = 0.0f; - dap_config_st[pedalIdx].payloadPedalConfig_.PID_feedforward_gain = 0.0f; - - dap_config_st[pedalIdx].payloadPedalConfig_.control_strategy_b = 0; - - dap_config_st[pedalIdx].payloadPedalConfig_.loadcell_rating = 150; - - dap_config_st[pedalIdx].payloadPedalConfig_.travelAsJoystickOutput_u8 = 0; - - dap_config_st[pedalIdx].payloadPedalConfig_.invertLoadcellReading_u8 = 0; - - + DAP_config_set_default(pedalIdx); InitializeComponent(); } // debug mode invisiable - text_debug_flag.Opacity = 0; - text_debug_PID_para.Opacity = 0; - text_debug_dgain.Opacity = 0; - text_debug_igain.Opacity = 0; - text_debug_pgain.Opacity = 0; - text_debug_feedforward.Opacity = 0; - text_serial.Opacity = 0; + text_debug_flag.Visibility = Visibility.Hidden; + text_serial.Visibility = Visibility.Hidden; TextBox_serialMonitor.Visibility = System.Windows.Visibility.Hidden; - InvertLoadcellReading_check.Opacity = 0; - PID_tuning_D_gain_slider.Opacity = 0; - PID_tuning_I_gain_slider.Opacity = 0; - PID_tuning_P_gain_slider.Opacity = 0; - PID_tuning_Feedforward_gain_slider.Opacity= 0; - textBox_debug_Flag_0.Opacity = 0; + InvertLoadcellReading_check.Visibility = Visibility.Hidden; + textBox_debug_Flag_0.Visibility = Visibility.Hidden; //btn_serial.Visibility = System.Windows.Visibility.Hidden; button_pedal_position_reset.Visibility = System.Windows.Visibility.Hidden; button_pedal_restart.Visibility = System.Windows.Visibility.Hidden; btn_system_id.Visibility = System.Windows.Visibility.Hidden; - btn_pedal_disconnect.Visibility = System.Windows.Visibility.Hidden; + btn_reset_default.Visibility = System.Windows.Visibility.Hidden; + dump_pedal_response_to_file.Visibility = System.Windows.Visibility.Hidden; //setting drawing color with Simhub theme workaround - text_min_force.Foreground = btn_update.Background; - text_max_force.Foreground = btn_update.Background; - text_max_pos.Foreground = btn_update.Background; - text_min_pos.Foreground = btn_update.Background; - text_position.Foreground = btn_update.Background; - rect0.Fill = btn_update.Background; - rect1.Fill = btn_update.Background; - rect2.Fill = btn_update.Background; - rect3.Fill = btn_update.Background; - rect4.Fill = btn_update.Background; - rect5.Fill = btn_update.Background; - rect6.Fill = btn_update.Background; - rect7.Fill = btn_update.Background; - rect8.Fill = btn_update.Background; - rect9.Fill = btn_update.Background; - Line_V_force.Stroke = btn_update.Background; - Line_H_pos.Stroke = btn_update.Background; - Polyline_BrakeForceCurve.Stroke = btn_update.Background; - - text_damping_text.Foreground = btn_update.Background; - Line_H_damping.Stroke = btn_update.Background; - text_damping.Foreground = btn_update.Background; - rect_damping.Fill = btn_update.Background; - Line_H_ABS.Stroke = btn_update.Background; - text_ABS.Foreground = btn_update.Background; - rect_ABS.Fill = btn_update.Background; - text_ABS_text.Foreground = btn_update.Background; - Line_H_ABS_freq.Stroke = btn_update.Background; - text_ABS_freq.Foreground = btn_update.Background; - rect_ABS_freq.Fill = btn_update.Background; - text_ABS_freq_text.Foreground = btn_update.Background; - Line_H_max_game.Stroke = btn_update.Background; - text_max_game.Foreground = btn_update.Background; - text_max_game_text.Foreground = btn_update.Background; - rect_max_game.Fill = btn_update.Background; - - Line_H_KF.Stroke = btn_update.Background; - text_KF.Foreground = btn_update.Background; - rect_KF.Fill = btn_update.Background; - text_KF_text.Foreground = btn_update.Background; - Line_H_LC_rating.Stroke = btn_update.Background; - text_LC_rating.Foreground = btn_update.Background; - text_LC_rating_text.Foreground = btn_update.Background; - rect_LC_rating.Fill = btn_update.Background; - - text_RPM_freq_min.Foreground = btn_update.Background; - text_RPM_freq_max.Foreground = btn_update.Background; - text_RPM_AMP.Foreground = btn_update.Background; - Line_H_RPM_AMP.Stroke = btn_update.Background; - rect_RPM_AMP.Fill = btn_update.Background; - text_RPM_AMP_text.Foreground = btn_update.Background; - - Line_H_RPM_freq.Stroke = btn_update.Background; - rect_RPM_max.Fill = btn_update.Background; - rect_RPM_min.Fill = btn_update.Background; - text_RPM_freq_text.Foreground = btn_update.Background; - - text_bite_amp.Foreground = btn_update.Background; - text_bite_freq.Foreground = btn_update.Background; - rect_bite_amp.Fill = btn_update.Background; - rect_bite_freq.Fill = btn_update.Background; - text_bite_amp_text.Foreground = btn_update.Background; - text_bite_freq_text.Foreground = btn_update.Background; - Line_H_bite_amp.Stroke = btn_update.Background; - Line_H_bite_freq.Stroke = btn_update.Background; + SolidColorBrush buttonBackground_ = btn_update.Background as SolidColorBrush; + + Color color = Color.FromArgb(150, buttonBackground_.Color.R, buttonBackground_.Color.G, buttonBackground_.Color.B); + Color color_2 = Color.FromArgb(200, buttonBackground_.Color.R, buttonBackground_.Color.G, buttonBackground_.Color.B); + Color color_3 = Color.FromArgb(255, buttonBackground_.Color.R, buttonBackground_.Color.G, buttonBackground_.Color.B); + SolidColorBrush Line_fill= new SolidColorBrush(color_2); + //SolidColorBrush rect_fill = new SolidColorBrush(color); + defaultcolor= new SolidColorBrush(color); + lightcolor= new SolidColorBrush(color_3); + + text_min_force.Foreground = Line_fill; + text_max_force.Foreground = Line_fill; + text_max_pos.Foreground = Line_fill; + text_min_pos.Foreground = Line_fill; + text_position.Foreground = Line_fill; + rect0.Fill = defaultcolor; + rect1.Fill = defaultcolor; + rect2.Fill = defaultcolor; + rect3.Fill = defaultcolor; + rect4.Fill = defaultcolor; + rect5.Fill = defaultcolor; + rect6.Fill = defaultcolor; + rect7.Fill = defaultcolor; + rect8.Fill = defaultcolor; + rect9.Fill = defaultcolor; + Line_V_force.Stroke = Line_fill; + Line_H_pos.Stroke = Line_fill; + //Polyline_BrakeForceCurve.Stroke = new SolidColorBrush(Line_fill); + Polyline_BrakeForceCurve.Stroke = Line_fill; + text_damping_text.Foreground = Line_fill; + Line_H_damping.Stroke = Line_fill; + text_damping.Foreground = Line_fill; + rect_damping.Fill = defaultcolor; + + text_Pgain_text.Foreground = Line_fill; + Line_H_Pgain.Stroke = Line_fill; + text_Pgain.Foreground = Line_fill; + rect_Pgain.Fill = defaultcolor; + + text_Igain_text.Foreground = Line_fill; + Line_H_Igain.Stroke = Line_fill; + text_Igain.Foreground = Line_fill; + rect_Igain.Fill = defaultcolor; + + text_Dgain_text.Foreground = Line_fill; + Line_H_Dgain.Stroke = Line_fill; + text_Dgain.Foreground = Line_fill; + rect_Dgain.Fill = defaultcolor; + + text_VFgain_text.Foreground = Line_fill; + Line_H_VFgain.Stroke = Line_fill; + text_VFgain.Foreground = Line_fill; + rect_VFgain.Fill = defaultcolor; + + Line_H_ABS.Stroke = Line_fill; + text_ABS.Foreground = Line_fill; + rect_ABS.Fill = defaultcolor; + text_ABS_text.Foreground = Line_fill; + Line_H_ABS_freq.Stroke = Line_fill; + text_ABS_freq.Foreground = Line_fill; + rect_ABS_freq.Fill = defaultcolor; + text_ABS_freq_text.Foreground = Line_fill; + Line_H_max_game.Stroke = Line_fill; + text_max_game.Foreground = Line_fill; + text_max_game_text.Foreground = Line_fill; + rect_max_game.Fill = defaultcolor; + + Line_H_KF.Stroke = Line_fill; + text_KF.Foreground = Line_fill; + rect_KF.Fill = defaultcolor; + text_KF_text.Foreground = Line_fill; + Line_H_LC_rating.Stroke = Line_fill; + text_LC_rating.Foreground = Line_fill; + text_LC_rating_text.Foreground = Line_fill; + rect_LC_rating.Fill = defaultcolor; + + text_RPM_freq_min.Foreground = Line_fill; + text_RPM_freq_max.Foreground = Line_fill; + text_RPM_AMP.Foreground = Line_fill; + Line_H_RPM_AMP.Stroke = Line_fill; + rect_RPM_AMP.Fill = defaultcolor; + text_RPM_AMP_text.Foreground = + + Line_H_RPM_freq.Stroke = Line_fill; + rect_RPM_max.Fill = Line_fill; + rect_RPM_min.Fill = defaultcolor; + text_RPM_freq_text.Foreground = Line_fill; + + text_bite_amp.Foreground = Line_fill; + text_bite_freq.Foreground = + rect_bite_amp.Fill = defaultcolor; + rect_bite_freq.Fill = defaultcolor; + text_bite_amp_text.Foreground = Line_fill; + text_bite_freq_text.Foreground = Line_fill; + Line_H_bite_amp.Stroke = Line_fill; + Line_H_bite_freq.Stroke = Line_fill; + + Line_G_force_multi.Stroke = Line_fill; + text_G_force_multi_text.Foreground = Line_fill; + text_G_multi.Foreground = Line_fill; + rect_G_force_multi.Fill = defaultcolor; + + Line_G_force_window.Stroke = Line_fill; + text_G_force_window_text.Foreground = Line_fill; + text_G_window.Foreground = Line_fill; + rect_G_force_window.Fill = defaultcolor; + + text_MPC_0th_order_gain.Foreground= Line_fill; + text_MPC_0th_order_gain_text.Foreground = Line_fill; + Line_H_MPC_0th_order_gain.Stroke= Line_fill; + rect_MPC_0th_order_gain.Fill= defaultcolor; + + //text_MPC_1st_order_gain.Foreground = Line_fill; + //text_MPC_1st_order_gain_text.Foreground = Line_fill; + //Line_H_MPC_1st_order_gain.Stroke = Line_fill; + //rect_MPC_1st_order_gain.Fill = defaultcolor; + + + + + + // Call this method to generate gridlines on the Canvas DrawGridLines(); @@ -504,17 +569,33 @@ public DAP_config_st getConfigFromBytes(byte[] myBuffer) } - public DAP_state_st getStateFromBytes(byte[] myBuffer) + public DAP_state_basic_st getStateFromBytes(byte[] myBuffer) { - DAP_state_st aux; + DAP_state_basic_st aux; // see https://stackoverflow.com/questions/31045358/how-do-i-copy-bytes-into-a-struct-variable-in-c - int size = Marshal.SizeOf(typeof(DAP_state_st)); + int size = Marshal.SizeOf(typeof(DAP_state_basic_st)); IntPtr ptr = Marshal.AllocHGlobal(size); Marshal.Copy(myBuffer, 0, ptr, size); - aux = (DAP_state_st)Marshal.PtrToStructure(ptr, typeof(DAP_state_st)); + aux = (DAP_state_basic_st)Marshal.PtrToStructure(ptr, typeof(DAP_state_basic_st)); + Marshal.FreeHGlobal(ptr); + + return aux; + } + + public DAP_state_extended_st getStateExtFromBytes(byte[] myBuffer) + { + DAP_state_extended_st aux; + + // see https://stackoverflow.com/questions/31045358/how-do-i-copy-bytes-into-a-struct-variable-in-c + int size = Marshal.SizeOf(typeof(DAP_state_extended_st)); + IntPtr ptr = Marshal.AllocHGlobal(size); + + Marshal.Copy(myBuffer, 0, ptr, size); + + aux = (DAP_state_extended_st)Marshal.PtrToStructure(ptr, typeof(DAP_state_extended_st)); Marshal.FreeHGlobal(ptr); return aux; @@ -769,11 +850,7 @@ public SettingsControlDemo(DataPluginDemo plugin) : this() public void updateTheGuiFromConfig() { // update the sliders - - PID_tuning_P_gain_slider.Value = (double)dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_p_gain; - PID_tuning_I_gain_slider.Value = (double)dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_i_gain; - PID_tuning_D_gain_slider.Value = (double)dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_d_gain; - PID_tuning_Feedforward_gain_slider.Value = (double)dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_feedforward_gain; + info_label.Content = "Connection State:\nDAP Version:"; string info_text; @@ -808,16 +885,24 @@ public void updateTheGuiFromConfig() { Simulate_ABS_check.IsChecked = false; } - // dynamic PID checkbox - if (dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.control_strategy_b == 1) + + + if (dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.control_strategy_b == 0) { - dynamic_PID_checkbox.IsChecked = true; - } - else - { - dynamic_PID_checkbox.IsChecked = false; - } - //set control point position + ControlStrategy_Sel_1.IsChecked = true; + } + if (dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.control_strategy_b == 1) + { + ControlStrategy_Sel_2.IsChecked = true; + } + if (dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.control_strategy_b == 2) + { + ControlStrategy_Sel_3.IsChecked = true; + } + + + + //set control point position text_point_pos.Opacity = 0; double control_rect_value_max = 100; double dyy = canvas.Height / control_rect_value_max; @@ -845,7 +930,7 @@ public void updateTheGuiFromConfig() } Canvas.SetTop(rect_State, canvas.Height - rect_State.Height / 2); Canvas.SetLeft(rect_State, -rect_State.Width / 2); - Canvas.SetLeft(text_state, Canvas.GetLeft(rect_State) + rect_State.Width); + Canvas.SetLeft(text_state, Canvas.GetLeft(rect_State) /*+ rect_State.Width*/); Canvas.SetTop(text_state, Canvas.GetTop(rect_State) - rect_State.Height); text_state.Text = "0%"; //set for ABS slider @@ -859,14 +944,14 @@ public void updateTheGuiFromConfig() text_SABS.Text = "ABS trigger value: " + dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.Simulate_ABS_value + "%"; if (dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.Simulate_ABS_trigger == 1) { - rect_SABS.Opacity = 1; - rect_SABS_Control.Opacity = 1; - text_SABS.Opacity = 1; + rect_SABS.Visibility = Visibility.Visible; + rect_SABS_Control.Visibility = Visibility.Visible; + text_SABS.Visibility = Visibility.Visible; } else { - rect_SABS.Opacity = 0; - rect_SABS_Control.Opacity = 0; - text_SABS.Opacity = 0; + rect_SABS.Visibility = Visibility.Hidden; + rect_SABS_Control.Visibility = Visibility.Hidden; + text_SABS.Visibility = Visibility.Hidden; } //set for travel slider; double dx = (canvas_horz_slider.Width-10) / 100; @@ -959,6 +1044,15 @@ public void updateTheGuiFromConfig() { } + // spindle pitch + try + { + SpindlePitch.SelectedIndex = (byte)dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.spindlePitch_mmPerRev_u8; + } + catch (Exception caughtEx) + { + } + //max game output slider double max_game_max = 100; @@ -1012,7 +1106,74 @@ public void updateTheGuiFromConfig() Canvas.SetLeft(rect_bite_amp, dx * dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.BP_amp); text_bite_amp.Text = ((float)dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.BP_amp) / 100.0f + "kg"; Canvas.SetLeft(text_bite_amp, Canvas.GetLeft(rect_bite_amp) + rect_bite_amp.Width / 2 - text_bite_amp.Width / 2); - Canvas.SetTop(text_bite_amp, 5); + Canvas.SetTop(text_bite_amp, 5); + + //Pgain slider + double value_max = 2; + dx = canvas_horz_Pgain.Width / value_max; + Canvas.SetLeft(rect_Pgain, dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_p_gain * dx); + text_Pgain.Text =""+Math.Round(dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_p_gain,2); + Canvas.SetLeft(text_Pgain, Canvas.GetLeft(rect_Pgain) + rect_Pgain.Width / 2 - text_Pgain.Width / 2); + Canvas.SetTop(text_Pgain, 5); + + //Igain slider + + value_max = 500; + dx = canvas_horz_Igain.Width / value_max; + Canvas.SetLeft(rect_Igain, dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_i_gain * dx); + text_Igain.Text = "" + Math.Round(dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_i_gain, 2); + Canvas.SetLeft(text_Igain, Canvas.GetLeft(rect_Igain) + rect_Igain.Width / 2 - text_Igain.Width / 2); + Canvas.SetTop(text_Igain, 5); + + //Dgain slider + value_max = 0.01; + dx = canvas_horz_Dgain.Width / value_max; + Canvas.SetLeft(rect_Dgain, dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_d_gain * dx); + text_Dgain.Text = "" +Math.Round(dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_d_gain,4); + Canvas.SetLeft(text_Dgain, Canvas.GetLeft(rect_Dgain) + rect_Dgain.Width / 2 - text_Dgain.Width / 2); + Canvas.SetTop(text_Dgain, 5); + + //VF gain slider + value_max = 20; + dx = canvas_horz_VFgain.Width / value_max; + Canvas.SetLeft(rect_VFgain, dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_velocity_feedforward_gain * dx); + text_VFgain.Text = "" + Math.Round(dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_velocity_feedforward_gain, 4); + Canvas.SetLeft(text_VFgain, Canvas.GetLeft(rect_VFgain) + rect_VFgain.Width / 2 - text_VFgain.Width / 2); + Canvas.SetTop(text_VFgain, 5); + + //MPC 0th order gain slider + value_max = 4; + dx = canvas_horz_MPC_0th_order_gain.Width / value_max; + Canvas.SetLeft(rect_MPC_0th_order_gain, dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.MPC_0th_order_gain * dx); + text_MPC_0th_order_gain.Text = "" + Math.Round(dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.MPC_0th_order_gain, 2) + "mm/kg"; + Canvas.SetLeft(text_MPC_0th_order_gain, Canvas.GetLeft(rect_MPC_0th_order_gain) + rect_MPC_0th_order_gain.Width / 2 - rect_MPC_0th_order_gain.Width / 2); + Canvas.SetTop(text_MPC_0th_order_gain, 5); + + + ////MPC 1st order gain slider + //value_max = 0.01; + //dx = canvas_horz_MPC_1st_order_gain.Width / (2 * value_max); + //Canvas.SetLeft(rect_MPC_1st_order_gain, dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.MPC_1st_order_gain * dx - value_max); + //text_MPC_1st_order_gain.Text = "" + Math.Round(dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.MPC_1st_order_gain, 2); + //Canvas.SetLeft(text_MPC_1st_order_gain, Canvas.GetLeft(rect_MPC_1st_order_gain) + rect_MPC_1st_order_gain.Width / 2 - rect_MPC_1st_order_gain.Width / 2); + //Canvas.SetTop(text_MPC_1st_order_gain, 5); + + + //G force multiplier slider + double G_force_multi_max = 100; + dx = canvas_horz_G_force_multi.Width / G_force_multi_max; + Canvas.SetLeft(rect_G_force_multi, dx * dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.G_multi); + text_G_multi.Text = (dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.G_multi) + "%"; + Canvas.SetLeft(text_G_multi, Canvas.GetLeft(rect_G_force_multi) + rect_G_force_multi.Width / 2 - text_G_multi.Width / 2); + Canvas.SetTop(text_G_multi, 5); + + //G force window slider + value_max = 100; + dx = canvas_horz_G_force_window.Width / value_max; + Canvas.SetLeft(rect_G_force_window, dx * dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.G_window); + text_G_window.Text = (dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.G_window) + ""; + Canvas.SetLeft(text_G_window, Canvas.GetLeft(rect_G_force_window) + rect_G_force_window.Width / 2 - text_G_window.Width / 2); + Canvas.SetTop(text_G_window, 5); //// Select serial port accordingly string tmp = (string)Plugin._serialPort[indexOfSelectedPedal_u].PortName; @@ -1073,6 +1234,38 @@ public void updateTheGuiFromConfig() text_BP.Visibility = Visibility.Hidden; rect_BP_Control.Visibility = Visibility.Hidden; checkbox_enable_bite_point.Content = "Bite Point Vibration Disabled"; + } + + if (indexOfSelectedPedal_u == 1) + { + checkbox_enable_G_force.IsEnabled = true; + if (Plugin.Settings.G_force_enable_flag[indexOfSelectedPedal_u] == 1) + { + checkbox_enable_G_force.IsChecked = true; + checkbox_enable_G_force.Content = "G Force Effect Enabled"; + } + else + { + checkbox_enable_G_force.IsChecked = false; + checkbox_enable_G_force.Content = "G Force Effect Disabled"; + } + } + else + { + checkbox_enable_G_force.IsEnabled = false; + checkbox_enable_G_force.IsChecked = false; + checkbox_enable_G_force.Content = "G Force Effect Disabled"; + } + + if (Plugin.Settings.connect_status[indexOfSelectedPedal_u] == 1) + { + Serial_port_text.Text = "Serial Port connected"; + Serial_port_text.Visibility= Visibility.Visible; + + } + else + { + Serial_port_text.Visibility = Visibility.Hidden; } @@ -1261,7 +1454,7 @@ public void PID_tuning_D_gain_changed(object sender, RoutedPropertyChangedEventA public void PID_tuning_Feedforward_gain_changed(object sender, RoutedPropertyChangedEventArgs e) { - dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_feedforward_gain = (float)e.NewValue; + dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_velocity_feedforward_gain = (float)e.NewValue; } @@ -1880,6 +2073,48 @@ public void closeSerialAndStopReadCallback(uint pedalIdx) } } + Int64 writeCntr = 0; + + int[] timeCntr = { 0, 0, 0}; + + double[] timeCollector = { 0, 0, 0 }; + + + static List FindAllOccurrences(byte[] source, byte[] sequence, int maxLength) + { + List indices = new List(); + + int len = source.Length - sequence.Length; + if (len > maxLength) + { + len = maxLength; + } + + for (int i = 0; i <= len; i++) + { + bool found = true; + for (int j = 0; j < sequence.Length; j++) + { + if (source[i + j] != sequence[j]) + { + found = false; + break; + } + } + if (found) + { + indices.Add(i); // Sequence found, add index to the list + } + } + + return indices; + } + + + int[] appendedBufferOffset = { 0, 0, 0 }; + + static int bufferSize = 100000; + byte[][] buffer_appended = { new byte[bufferSize], new byte[bufferSize], new byte[bufferSize] }; unsafe public void timerCallback_serial(object sender, EventArgs e) { @@ -1895,6 +2130,16 @@ unsafe public void timerCallback_serial(object sender, EventArgs e) //if (Plugin._serialPort[indexOfSelectedPedal_u].IsOpen) { + + + // Create a Stopwatch instance + Stopwatch stopwatch = new Stopwatch(); + + // Start the stopwatch + stopwatch.Start(); + + + SerialPort sp = Plugin._serialPort[pedalSelected]; @@ -1903,7 +2148,9 @@ unsafe public void timerCallback_serial(object sender, EventArgs e) //int length = sizeof(DAP_config_st); - //byte[] newBuffer_config = new byte[length]; + + + if (sp.IsOpen) { @@ -1912,252 +2159,365 @@ unsafe public void timerCallback_serial(object sender, EventArgs e) if (receivedLength > 0) { - string incomingData = sp.ReadExisting(); - //if the data doesn't end with a stop char this will signal to keep it in _data - //for appending to the following read of data - bool endsWithStop = EndsWithStop(incomingData); + timeCntr[pedalSelected] += 1; - //each array object will be sent separately to the callback - string[] dataArray = incomingData.Split(STOPCHAR, StringSplitOptions.None); - for (int i = 0; i < dataArray.Length - 1; i++) + // determine byte sequence which is defined as message end --> crlf + byte[] byteToFind = System.Text.Encoding.GetEncoding(28591).GetBytes(STOPCHAR[0].ToCharArray()); + + // check if buffer is large enough otherwise discard in buffer and set offset to 0 + if (bufferSize > (appendedBufferOffset[pedalSelected] + receivedLength) ) + { + sp.Read(buffer_appended[pedalSelected], appendedBufferOffset[pedalSelected], receivedLength); + } + else { - string newData = dataArray[i]; + sp.DiscardInBuffer(); + appendedBufferOffset[pedalSelected] = 0; + } + + + // calculate current buffer length + int currentBufferLength = appendedBufferOffset[pedalSelected] + receivedLength; + + + // copy to local buffer + byte[] localBuffer = new byte[currentBufferLength]; + Buffer.BlockCopy(buffer_appended[pedalSelected], 0, localBuffer, 0, currentBufferLength); + + + // find all occurences of crlf as they indicate message end + List indices = FindAllOccurrences(localBuffer, byteToFind, currentBufferLength); + - //if you are at the last object in the array and this hasn't got a stopchar after - //it will be saved in _data - if (!endsWithStop && (i == dataArray.Length - 2)) + + + // Destination array + byte[] destinationArray = new byte[1000]; + + // copy the last not finished buffer element to begining of next cycles buffer + // and determine buffer offset + if (indices.Count > 0) + { + // If at least one crlf was detected, check whether it arrieved at the last bytes + int lastElement = indices.Last(); + int remainingMessageLength = currentBufferLength - (lastElement + 2); + if (remainingMessageLength >= 0) { - _data[pedalSelected] += newData; + appendedBufferOffset[pedalSelected] = remainingMessageLength; + + Buffer.BlockCopy(buffer_appended[pedalSelected], lastElement+2, buffer_appended[pedalSelected], 0, remainingMessageLength); } - else - { - string dataToSend = _data[pedalSelected] + newData; - _data[pedalSelected] = ""; + } + else + { + appendedBufferOffset[pedalSelected] += receivedLength; + } - // check for pedal state struct - if ((dataToSend.Length == sizeof(DAP_state_st))) - { - // transform string into byte - fixed (byte* p = System.Text.Encoding.GetEncoding(28591).GetBytes(dataToSend)) - { - // create a fixed size buffer - int length = sizeof(DAP_state_st); - byte[] newBuffer_state_2 = new byte[length]; - // copy the received bytes into byte array - for (int j = 0; j < length; j++) - { - newBuffer_state_2[j] = p[j]; - } + int srcBufferOffset = 0; + // decode every message + foreach (int number in indices) + { + // computes the length of bytes to read + int destBuffLength = number - srcBufferOffset; + if (destBuffLength > 1000) + { + continue; + } - // parse byte array as config struct - DAP_state_st pedalState_read_st = getStateFromBytes(newBuffer_state_2); - // check whether receive struct is plausible - DAP_state_st* v_state = &pedalState_read_st; - byte* p_state = (byte*)v_state; + // copy bytes to subarray + Buffer.BlockCopy(localBuffer, srcBufferOffset, destinationArray, 0, destBuffLength); - // payload type check - bool check_payload_state_b = false; - if (pedalState_read_st.payloadHeader_.payloadType == Constants.pedalStatePayload_type) - { - check_payload_state_b = true; - } + // update src buffer offset + srcBufferOffset = number + 2; - // CRC check - bool check_crc_state_b = false; - if (Plugin.checksumCalc(p_state, sizeof(payloadHeader) + sizeof(payloadPedalState)) == pedalState_read_st.payloadFooter_.checkSum) - { - check_crc_state_b = true; - } - if ((check_payload_state_b) && check_crc_state_b) - { - // write vJoy data - if(Plugin.Settings.vjoy_output_flag==1) - { - switch (pedalSelected) - { - - case 0: - //joystick.SetJoystickAxis(pedalState_read_st.payloadPedalState_.joystickOutput_u16, Axis.HID_USAGE_RX); // Center X axis - joystick.SetAxis(pedalState_read_st.payloadPedalState_.joystickOutput_u16, Plugin.Settings.vjoy_order, HID_USAGES.HID_USAGE_RX); // HID_USAGES Enums - break; - case 1: - //joystick.SetJoystickAxis(pedalState_read_st.payloadPedalState_.joystickOutput_u16, Axis.HID_USAGE_RY); // Center X axis - joystick.SetAxis(pedalState_read_st.payloadPedalState_.joystickOutput_u16, Plugin.Settings.vjoy_order, HID_USAGES.HID_USAGE_RY); // HID_USAGES Enums - break; - case 2: - //joystick.SetJoystickAxis(pedalState_read_st.payloadPedalState_.joystickOutput_u16, Axis.HID_USAGE_RZ); // Center X axis - joystick.SetAxis(pedalState_read_st.payloadPedalState_.joystickOutput_u16, Plugin.Settings.vjoy_order, HID_USAGES.HID_USAGE_RZ); // HID_USAGES Enums - break; - default: - break; - } + // check for pedal state struct + if ((destBuffLength == sizeof(DAP_state_basic_st))) + { - } + // parse byte array as config struct + DAP_state_basic_st pedalState_read_st = getStateFromBytes(destinationArray); - + // check whether receive struct is plausible + DAP_state_basic_st* v_state = &pedalState_read_st; + byte* p_state = (byte*)v_state; - // GUI update - if ( (pedalStateHasAlreadyBeenUpdated_b == false) && (indexOfSelectedPedal_u == pedalSelected) ) - { - //TextBox_debugOutput.Text = "Pedal pos: " + pedalState_read_st.payloadPedalState_.pedalPosition_u16; - //TextBox_debugOutput.Text += "Pedal force: " + pedalState_read_st.payloadPedalState_.pedalForce_u16; - pedalStateHasAlreadyBeenUpdated_b = true; - - text_point_pos.Opacity = 0; - double control_rect_value_max = 65535; - double dyy = canvas.Height / control_rect_value_max; - double dxx = canvas.Width / control_rect_value_max; - - if (debug_flag) - { - Canvas.SetLeft(rect_State, dxx * pedalState_read_st.payloadPedalState_.pedalPosition_u16 - rect_State.Width / 2); - Canvas.SetTop(rect_State, canvas.Height - dyy * pedalState_read_st.payloadPedalState_.pedalForce_u16 - rect_State.Height / 2); - - Canvas.SetLeft(text_state, Canvas.GetLeft(rect_State) + rect_State.Width); - Canvas.SetTop(text_state, Canvas.GetTop(rect_State) - rect_State.Height); - text_state.Text = Math.Round( pedalState_read_st.payloadPedalState_.pedalForce_u16 / control_rect_value_max * 100) + "%"; - - } - else - { - Canvas.SetLeft(rect_State, dxx * pedalState_read_st.payloadPedalState_.pedalPosition_u16 - rect_State.Width / 2); - int round_x = (int)(100 * pedalState_read_st.payloadPedalState_.pedalPosition_u16 / control_rect_value_max)-1; - int x_showed = round_x + 1; - round_x = Math.Max(0, Math.Min(round_x, 99)); - Canvas.SetTop(rect_State, canvas.Height - Force_curve_Y[round_x] - rect_State.Height/2); - Canvas.SetLeft(text_state, Canvas.GetLeft(rect_State) + rect_State.Width); - Canvas.SetTop(text_state, Canvas.GetTop(rect_State) - rect_State.Height); - text_state.Text = x_showed + "%"; - } + // payload type check + bool check_payload_state_b = false; + if (pedalState_read_st.payloadHeader_.payloadType == Constants.pedalStateBasicPayload_type) + { + check_payload_state_b = true; + } - } + // CRC check + bool check_crc_state_b = false; + if (Plugin.checksumCalc(p_state, sizeof(payloadHeader) + sizeof(payloadPedalState_Basic)) == pedalState_read_st.payloadFooter_.checkSum) + { + check_crc_state_b = true; + } + + if ((check_payload_state_b) && check_crc_state_b) + { + // write vJoy data + if (Plugin.Settings.vjoy_output_flag == 1) + { + switch (pedalSelected) + { - continue; + case 0: + //joystick.SetJoystickAxis(pedalState_read_st.payloadPedalState_.joystickOutput_u16, Axis.HID_USAGE_RX); // Center X axis + joystick.SetAxis(pedalState_read_st.payloadPedalBasicState_.joystickOutput_u16, Plugin.Settings.vjoy_order, HID_USAGES.HID_USAGE_RX); // HID_USAGES Enums + break; + case 1: + //joystick.SetJoystickAxis(pedalState_read_st.payloadPedalState_.joystickOutput_u16, Axis.HID_USAGE_RY); // Center X axis + joystick.SetAxis(pedalState_read_st.payloadPedalBasicState_.joystickOutput_u16, Plugin.Settings.vjoy_order, HID_USAGES.HID_USAGE_RY); // HID_USAGES Enums + break; + case 2: + //joystick.SetJoystickAxis(pedalState_read_st.payloadPedalState_.joystickOutput_u16, Axis.HID_USAGE_RZ); // Center X axis + joystick.SetAxis(pedalState_read_st.payloadPedalBasicState_.joystickOutput_u16, Plugin.Settings.vjoy_order, HID_USAGES.HID_USAGE_RZ); // HID_USAGES Enums + break; + default: + break; } - } - } + } - // decode into config struct - if ((waiting_for_pedal_config[pedalSelected]) && (dataToSend.Length == sizeof(DAP_config_st))) - { - DAP_config_st tmp; - // transform string into byte - fixed (byte* p = System.Text.Encoding.GetEncoding(28591).GetBytes(dataToSend)) + // GUI update + if ((pedalStateHasAlreadyBeenUpdated_b == false) && (indexOfSelectedPedal_u == pedalSelected)) { - // create a fixed size buffer - int length = sizeof(DAP_config_st); - byte[] newBuffer_config_2 = new byte[length]; + //TextBox_debugOutput.Text = "Pedal pos: " + pedalState_read_st.payloadPedalState_.pedalPosition_u16; + //TextBox_debugOutput.Text += "Pedal force: " + pedalState_read_st.payloadPedalState_.pedalForce_u16; + //TextBox_debugOutput.Text += ", Servo pos targe: " + pedalState_read_st.payloadPedalState_.servoPosition_i16; + //TextBox_debugOutput.Text += ", Servo pos: " + pedalState_read_st.payloadPedalState_.servoPosition_i16; - // copy the received bytes into byte array - for (int j = 0; j < length; j++) - { - newBuffer_config_2[j] = p[j]; - } - // parse byte array as config struct - DAP_config_st pedalConfig_read_st = getConfigFromBytes(newBuffer_config_2); - // check whether receive struct is plausible - DAP_config_st* v_config = &pedalConfig_read_st; - byte* p_config = (byte*)v_config; + pedalStateHasAlreadyBeenUpdated_b = true; - // payload type check - bool check_payload_config_b = false; - if (pedalConfig_read_st.payloadHeader_.payloadType == Constants.pedalConfigPayload_type) - { - check_payload_config_b = true; - } + text_point_pos.Opacity = 0; + double control_rect_value_max = 65535; + double dyy = canvas.Height / control_rect_value_max; + double dxx = canvas.Width / control_rect_value_max; - // CRC check - bool check_crc_config_b = false; - if (Plugin.checksumCalc(p_config, sizeof(payloadHeader) + sizeof(payloadPedalConfig)) == pedalConfig_read_st.payloadFooter_.checkSum) + if (debug_flag) { - check_crc_config_b = true; - } + Canvas.SetLeft(rect_State, dxx * pedalState_read_st.payloadPedalBasicState_.pedalPosition_u16 - rect_State.Width / 2); + Canvas.SetTop(rect_State, canvas.Height - dyy * pedalState_read_st.payloadPedalBasicState_.pedalForce_u16 - rect_State.Height / 2); - if ((check_payload_config_b) && check_crc_config_b) - { - waiting_for_pedal_config[pedalSelected] = false; - dap_config_st[pedalSelected] = pedalConfig_read_st; - updateTheGuiFromConfig(); + Canvas.SetLeft(text_state, Canvas.GetLeft(rect_State) /*+ rect_State.Width*/); + Canvas.SetTop(text_state, Canvas.GetTop(rect_State) - rect_State.Height); + text_state.Text = Math.Round(pedalState_read_st.payloadPedalBasicState_.pedalForce_u16 / control_rect_value_max * 100) + "%"; - continue; } else { - TextBox_debugOutput.Text = "Payload config test 1: " + check_payload_config_b; - TextBox_debugOutput.Text += "Payload config test 2: " + check_crc_config_b; + Canvas.SetLeft(rect_State, dxx * pedalState_read_st.payloadPedalBasicState_.pedalPosition_u16 - rect_State.Width / 2); + int round_x = (int)(100 * pedalState_read_st.payloadPedalBasicState_.pedalPosition_u16 / control_rect_value_max) - 1; + int x_showed = round_x + 1; + round_x = Math.Max(0, Math.Min(round_x, 99)); + Canvas.SetTop(rect_State, canvas.Height - Force_curve_Y[round_x] - rect_State.Height / 2); + Canvas.SetLeft(text_state, Canvas.GetLeft(rect_State) /*+ rect_State.Width*/); + Canvas.SetTop(text_state, Canvas.GetTop(rect_State) - rect_State.Height); + text_state.Text = x_showed + "%"; } + } + + continue; } - //else - //{ + + } + - // When too many messages are received, only print every Nth message - // When only a few messages are received, make the counter greater than N thus every message is printed - if (dataArray.Length < 10) + + + // check for pedal extended state struct + if ((destBuffLength == sizeof(DAP_state_extended_st))) + { + + // parse byte array as config struct + DAP_state_extended_st pedalState_ext_read_st = getStateExtFromBytes(destinationArray); + + // check whether receive struct is plausible + DAP_state_extended_st* v_state = &pedalState_ext_read_st; + byte* p_state = (byte*)v_state; + + // payload type check + bool check_payload_state_b = false; + if (pedalState_ext_read_st.payloadHeader_.payloadType == Constants.pedalStateExtendedPayload_type) { - printCtr = 600; + check_payload_state_b = true; } - if (printCtr++ > 200) + // CRC check + bool check_crc_state_b = false; + if (Plugin.checksumCalc(p_state, sizeof(payloadHeader) + sizeof(payloadPedalState_Extended)) == pedalState_ext_read_st.payloadFooter_.checkSum) { - printCtr = 0; - TextBox_serialMonitor.Text += dataToSend + "\n"; - TextBox_serialMonitor.ScrollToEnd(); + check_crc_state_b = true; } - //} + if ((check_payload_state_b) && check_crc_state_b) + { + + + if (indexOfSelectedPedal_u == pedalSelected) + { + if (dumpPedalToResponseFile[indexOfSelectedPedal_u]) + { + // Specify the path to the file + string currentDirectory = Directory.GetCurrentDirectory(); + string filePath = currentDirectory + "\\PluginsData\\Common" + "\\output_" + indexOfSelectedPedal_u.ToString() + ".txt"; + + // Use StreamWriter to write to the file + using (StreamWriter writer = new StreamWriter(filePath, true)) + { + // Write the content to the file + writeCntr++; + writer.Write(writeCntr); + writer.Write(", "); + writer.Write(pedalState_ext_read_st.payloadPedalExtendedState_.timeInMs_u32); + writer.Write(", "); + writer.Write(pedalState_ext_read_st.payloadPedalExtendedState_.pedalForce_raw_u16); + writer.Write(", "); + writer.Write(pedalState_ext_read_st.payloadPedalExtendedState_.pedalForce_filtered_u16); + writer.Write(", "); + writer.Write(pedalState_ext_read_st.payloadPedalExtendedState_.servoPosition_i16); + writer.Write(", "); + writer.Write(pedalState_ext_read_st.payloadPedalExtendedState_.servoPositionTarget_i16); + writer.Write(", "); + writer.Write(pedalState_ext_read_st.payloadPedalExtendedState_.servo_voltage_0p1V_i16); + writer.Write("\n"); + } + } + } + + + + + continue; + } } - try + + + + + + + + // decode into config struct + if ((waiting_for_pedal_config[pedalSelected]) && (destBuffLength == sizeof(DAP_config_st))) { - while (TextBox_serialMonitor.LineCount > 30) + + // parse byte array as config struct + DAP_config_st pedalConfig_read_st = getConfigFromBytes(destinationArray); + + // check whether receive struct is plausible + DAP_config_st* v_config = &pedalConfig_read_st; + byte* p_config = (byte*)v_config; + + // payload type check + bool check_payload_config_b = false; + if (pedalConfig_read_st.payloadHeader_.payloadType == Constants.pedalConfigPayload_type) { - TextBox_serialMonitor.Text = TextBox_serialMonitor.Text.Remove(0, TextBox_serialMonitor.GetLineLength(0)); + check_payload_config_b = true; } + + // CRC check + bool check_crc_config_b = false; + if (Plugin.checksumCalc(p_config, sizeof(payloadHeader) + sizeof(payloadPedalConfig)) == pedalConfig_read_st.payloadFooter_.checkSum) + { + check_crc_config_b = true; + } + + if ((check_payload_config_b) && check_crc_config_b) + { + waiting_for_pedal_config[pedalSelected] = false; + dap_config_st[pedalSelected] = pedalConfig_read_st; + updateTheGuiFromConfig(); + + continue; + } + else + { + TextBox_debugOutput.Text = "Payload config test 1: " + check_payload_config_b; + TextBox_debugOutput.Text += "Payload config test 2: " + check_crc_config_b; + } + } - catch { } + // If non known array datatype was received, assume a text message was received and print it + byte[] destinationArray_sub = new byte[destBuffLength]; + Buffer.BlockCopy(destinationArray, 0, destinationArray_sub, 0, destBuffLength); + string resultString = Encoding.GetEncoding(28591).GetString(destinationArray_sub); + TextBox_serialMonitor.Text += resultString + "\n"; + TextBox_serialMonitor.ScrollToEnd(); - //limits the data stored to 1000 to avoid using up all the memory in case of - //failure to register callback or include stopchar + // When only a few messages are received, make the counter greater than N thus every message is printed + //if (destBuffLength < 100) + //{ + // printCtr = 600; + //} + + //if (printCtr++ > 200) + //{ + // printCtr = 0; + // TextBox_serialMonitor.Text += dataToSend + "\n"; + // TextBox_serialMonitor.ScrollToEnd(); + //} + + - if (_data[pedalSelected].Length > 1000) - { - _data[pedalSelected] = ""; - } } - // obtain data and check whether it is from known payload type or just debug info - } + + + + // Stop the stopwatch + stopwatch.Stop(); + + // Get the elapsed time + TimeSpan elapsedTime = stopwatch.Elapsed; + + timeCollector[pedalSelected] += elapsedTime.TotalMilliseconds; + + if (timeCntr[pedalSelected] >= 50) + { + + + double avgTime = timeCollector[pedalSelected] / timeCntr[pedalSelected]; + TextBox_debugOutput.Text = "Serial callback time in ms: " + avgTime.ToString(); + + timeCntr[pedalSelected] = 0; + timeCollector[pedalSelected] = 0; + } + } + } } } @@ -2297,12 +2657,27 @@ public void AbsPatternChanged(object sender, SelectionChangedEventArgs e) - - - - - + public void SpindlePitchChanged(object sender, SelectionChangedEventArgs e) + { + try + { + dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.spindlePitch_mmPerRev_u8 = (byte)SpindlePitch.SelectedIndex; + } + catch (Exception caughtEx) + { + string errorMessage = caughtEx.Message; + TextBox_debugOutput.Text = errorMessage; + } + } + + + + + + + + private void RestartPedal_click(object sender, RoutedEventArgs e) { Plugin._serialPort[indexOfSelectedPedal_u].DtrEnable = true; @@ -2473,25 +2848,35 @@ private void DisconnectToPedal_click(object sender, RoutedEventArgs e) updateTheGuiFromConfig(); } - + + private void dump_pedal_response_to_file_checked(object sender, RoutedEventArgs e) + { + dumpPedalToResponseFile[indexOfSelectedPedal_u] = true; + } + + private void dump_pedal_response_to_file_unchecked(object sender, RoutedEventArgs e) + { + dumpPedalToResponseFile[indexOfSelectedPedal_u] = false; + } + private void Simulate_ABS_check_Checked(object sender, RoutedEventArgs e) { dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.Simulate_ABS_trigger = 1; TextBox_debugOutput.Text = "simulateABS: on"; - rect_SABS.Opacity = 1; - rect_SABS_Control.Opacity = 1; - text_SABS.Opacity = 1; + rect_SABS.Visibility = Visibility.Visible; + rect_SABS_Control.Visibility = Visibility.Visible; + text_SABS.Visibility = Visibility.Visible; } private void Simulate_ABS_check_Unchecked(object sender, RoutedEventArgs e) { dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.Simulate_ABS_trigger = 0; TextBox_debugOutput.Text = "simulateABS: off"; - rect_SABS.Opacity = 0; - rect_SABS_Control.Opacity = 0; - text_SABS.Opacity = 0; + rect_SABS.Visibility = Visibility.Hidden; + rect_SABS_Control.Visibility = Visibility.Hidden; + text_SABS.Visibility = Visibility.Hidden; } @@ -2513,6 +2898,41 @@ private void Rectangle_MouseLeftButtonDown(object sender, MouseButtonEventArgs e var rectangle = sender as Rectangle; offset = e.GetPosition(rectangle); rectangle.CaptureMouse(); + //SolidColorBrush buttonBackground = btn_update.Background as SolidColorBrush; + //Color light = Color.FromArgb(255, buttonBackground.Color.R, buttonBackground.Color.G, buttonBackground.Color.B); + //Color middle_light= Color.FromArgb(235, buttonBackground.Color.R, buttonBackground.Color.G, buttonBackground.Color.B); + //Color dark = Color.FromArgb(100, buttonBackground.Color.R, buttonBackground.Color.G, buttonBackground.Color.B); + // + /* + RadialGradientBrush myRadialGradientBrush = new RadialGradientBrush(); + myRadialGradientBrush.GradientOrigin = new Point(0.5, 0.5); + myRadialGradientBrush.Center = new Point(0.5, 0.5); + myRadialGradientBrush.RadiusX = 0.5; + myRadialGradientBrush.RadiusY = 0.5; + myRadialGradientBrush.GradientStops.Add( + new GradientStop(light, 0.0)); + myRadialGradientBrush.GradientStops.Add( + new GradientStop(middle_light, 0.75)); + myRadialGradientBrush.GradientStops.Add( + new GradientStop(dark, 1.0)); + */ + // + //rectangle.Fill = new SolidColorBrush(light); + //rectangle.Fill = myRadialGradientBrush; + //Color light = Color.FromArgb(128, 128, 128, 128); + if(rectangle.Name != "rect_SABS_Control" & rectangle.Name != "rect_BP_Control") + { + var dropShadowEffect = new DropShadowEffect + { + ShadowDepth = 0, + BlurRadius = 15, + Color = Colors.White, + Opacity = 1 + }; + rectangle.Fill = lightcolor; + rectangle.Effect = dropShadowEffect; + } + } private void Rectangle_MouseMove(object sender, MouseEventArgs e) @@ -2569,7 +2989,7 @@ private void Rectangle_MouseMove(object sender, MouseEventArgs e) text_point_pos.Text = "Travel:100%"; text_point_pos.Text += "\nForce: " + (int)y_actual + "%"; } - text_point_pos.Opacity = 1; + text_point_pos.Visibility = Visibility.Visible; ; Update_BrakeForceCurve(); @@ -2968,8 +3388,157 @@ private void Rectangle_MouseMove_sigle_slider_H(object sender, MouseEventArgs e) Canvas.SetTop(text_bite_freq, 5); Canvas.SetLeft(rectangle, x); } + //Pgain + if (rectangle.Name == "rect_Pgain") + { + // Ensure the rectangle stays within the canvas + double value_max = 2; + double x = e.GetPosition(canvas_horz_Pgain).X - offset.X; + double dx = canvas_horz_Pgain.Width / value_max; + double min_position = 0 * dx; + double max_position = value_max * dx; + //double dx = 100 / (canvas_horz_slider.Width - 10); + x = Math.Max(min_position, Math.Min(x, max_position)); + double actual_x = x / dx; + dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_p_gain = (float)actual_x; + text_Pgain.Text = "" + Math.Round(dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_p_gain, 4); + Canvas.SetLeft(text_Pgain, Canvas.GetLeft(rect_Pgain) + rect_Pgain.Width / 2 - text_Pgain.Width / 2); + Canvas.SetTop(text_Pgain, 5); + Canvas.SetLeft(rectangle, x); + } + + if (rectangle.Name == "rect_Igain") + { + // Ensure the rectangle stays within the canvas + double value_max = 500; + double x = e.GetPosition(canvas_horz_Igain).X - offset.X; + double dx = canvas_horz_Igain.Width / value_max; + double min_position = 0 * dx; + double max_position = value_max * dx; + //double dx = 100 / (canvas_horz_slider.Width - 10); + x = Math.Max(min_position, Math.Min(x, max_position)); + double actual_x = x / dx; + dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_i_gain = (float)actual_x; + text_Igain.Text = "" + Math.Round(dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_i_gain, 4); + Canvas.SetLeft(text_Igain, Canvas.GetLeft(rect_Igain) + rect_Igain.Width / 2 - text_Igain.Width / 2); + Canvas.SetTop(text_Igain, 5); + Canvas.SetLeft(rectangle, x); + } + + if (rectangle.Name == "rect_Dgain") + { + // Ensure the rectangle stays within the canvas + double value_max = 0.01; + double x = e.GetPosition(canvas_horz_Dgain).X - offset.X; + double dx = canvas_horz_Dgain.Width / value_max; + double min_position = 0 * dx; + double max_position = value_max * dx; + //double dx = 100 / (canvas_horz_slider.Width - 10); + x = Math.Max(min_position, Math.Min(x, max_position)); + double actual_x = x / dx; + dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_d_gain = (float)actual_x; + text_Dgain.Text = "" + Math.Round(dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_d_gain, 4); + Canvas.SetLeft(text_Dgain, Canvas.GetLeft(rect_Dgain) + rect_Dgain.Width / 2 - text_Dgain.Width / 2); + Canvas.SetTop(text_Dgain, 5); + Canvas.SetLeft(rectangle, x); + } + + if (rectangle.Name == "rect_VFgain") + { + // Ensure the rectangle stays within the canvas + double value_max = 20; + double x = e.GetPosition(canvas_horz_VFgain).X - offset.X; + double dx = canvas_horz_VFgain.Width / value_max; + double min_position = 0 * dx; + double max_position = value_max * dx; + //double dx = 100 / (canvas_horz_slider.Width - 10); + x = Math.Max(min_position, Math.Min(x, max_position)); + double actual_x = x / dx; + dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_velocity_feedforward_gain = (float)actual_x; + text_VFgain.Text = "" + Math.Round(dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.PID_velocity_feedforward_gain, 2); + Canvas.SetLeft(text_VFgain, Canvas.GetLeft(rect_VFgain) + rect_VFgain.Width / 2 - text_VFgain.Width / 2); + Canvas.SetTop(text_VFgain, 5); + Canvas.SetLeft(rectangle, x); + } + + if (rectangle.Name == "rect_G_force_multi") + { + // Ensure the rectangle stays within the canvas + double x = e.GetPosition(canvas_horz_G_force_multi).X - offset.X; + double G_force_max = 100; + double dx = canvas_horz_G_force_multi.Width / G_force_max; + double min_position = 0 * dx; + double max_position = G_force_max * dx; + //double dx = 100 / (canvas_horz_slider.Width - 10); + x = Math.Max(min_position, Math.Min(x, max_position)); + double actual_x = x / dx; + dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.G_multi = Convert.ToByte(actual_x); + text_G_multi.Text = (dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.G_multi) + "%"; + Canvas.SetLeft(text_G_multi, Canvas.GetLeft(rect_G_force_multi) + rect_G_force_multi.Width / 2 - text_G_multi.Width / 2); + Canvas.SetTop(text_G_multi, 5); + Canvas.SetLeft(rectangle, x); + } + //G_force window + if (rectangle.Name == "rect_G_force_window") + { + // Ensure the rectangle stays within the canvas + double x = e.GetPosition(canvas_horz_G_force_window).X - offset.X; + double G_window_max = 100; + double dx = canvas_horz_G_force_multi.Width / G_window_max; + double min_position = 10 * dx; + double max_position = G_window_max * dx; + //double dx = 100 / (canvas_horz_slider.Width - 10); + x = Math.Max(min_position, Math.Min(x, max_position)); + double actual_x = x / dx; + dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.G_window = Convert.ToByte(actual_x); + text_G_window.Text = (dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.G_window) + ""; + Canvas.SetLeft(text_G_window, Canvas.GetLeft(rect_G_force_window) + rect_G_force_window.Width / 2 - text_G_window.Width / 2); + Canvas.SetTop(text_G_window, 5); + Canvas.SetLeft(rectangle, x); + } + //MPC 0th order gain + if (rectangle.Name == "rect_MPC_0th_order_gain") + { + // Ensure the rectangle stays within the canvas + double value_max = 4; + double x = e.GetPosition(canvas_horz_MPC_0th_order_gain).X - offset.X; + double dx = canvas_horz_MPC_0th_order_gain.Width / value_max; + double min_position = 0 * dx; + double max_position = value_max * dx; + //double dx = 100 / (canvas_horz_slider.Width - 10); + x = Math.Max(min_position, Math.Min(x, max_position)); + double actual_x = x / dx; + dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.MPC_0th_order_gain = (float)actual_x; + text_MPC_0th_order_gain.Text = "" + Math.Round(dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.MPC_0th_order_gain, 4) + "mm/kg"; + Canvas.SetLeft(text_MPC_0th_order_gain, Canvas.GetLeft(rect_MPC_0th_order_gain) + rect_MPC_0th_order_gain.Width / 2 - text_MPC_0th_order_gain.Width / 2); + Canvas.SetTop(text_MPC_0th_order_gain, 5); + Canvas.SetLeft(rectangle, x); + } + + + + ////MPC 1st order gain + //if (rectangle.Name == "rect_MPC_1st_order_gain") + //{ + // // Ensure the rectangle stays within the canvas + // double value_max = 0.01; + // double x = e.GetPosition(canvas_horz_MPC_1st_order_gain).X - offset.X; + // double dx = canvas_horz_MPC_1st_order_gain.Width / (2*value_max); + // double min_position = 0 * dx; + // double max_position = value_max * 2 * dx; + // //double dx = 100 / (canvas_horz_slider.Width - 10); + // x = Math.Max(min_position, Math.Min(x, max_position)); + // double actual_x = x / dx; + // actual_x -= value_max; + // dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.MPC_1st_order_gain = (float)actual_x; + // text_MPC_1st_order_gain.Text = "" + Math.Round(dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.MPC_1st_order_gain, 4); + // Canvas.SetLeft(text_MPC_1st_order_gain, Canvas.GetLeft(rect_MPC_1st_order_gain) + rect_MPC_1st_order_gain.Width / 2 - text_MPC_1st_order_gain.Width / 2); + // Canvas.SetTop(text_MPC_1st_order_gain, 5); + // Canvas.SetLeft(rectangle, x); + //} + } } private void Rectangle_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) @@ -2979,66 +3548,57 @@ private void Rectangle_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) var rectangle = sender as Rectangle; isDragging = false; rectangle.ReleaseMouseCapture(); - text_point_pos.Opacity=0; + text_point_pos.Opacity=0; + //SolidColorBrush buttonBackground = btn_update.Background as SolidColorBrush; + //Color color = Color.FromArgb(150, buttonBackground.Color.R, buttonBackground.Color.G, buttonBackground.Color.B); + //rectangle.Fill = btn_update.Background; + if (rectangle.Name != "rect_SABS_Control" & rectangle.Name != "rect_BP_Control") + { + var dropShadowEffect = new DropShadowEffect + { + ShadowDepth = 0, + BlurRadius = 20, + Color = Colors.White, + Opacity = 0 + }; + rectangle.Fill = defaultcolor; + rectangle.Effect = dropShadowEffect; + } + + //rectangle.Fill = new SolidColorBrush(color); } } - private void PID_type_checkbox_Checked(object sender, RoutedEventArgs e) - { - dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.control_strategy_b = (byte)1; - TextBox_debugOutput.Text = "Dynamic PID on"; - } - private void PID_type_checkbox_Unchecked(object sender, RoutedEventArgs e) - { - dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.control_strategy_b = (byte)0; - TextBox_debugOutput.Text = "Dynamic PID off"; - } private void Debug_checkbox_Checked(object sender, RoutedEventArgs e) { - text_debug_flag.Opacity = 1; - text_debug_PID_para.Opacity = 1; - text_debug_dgain.Opacity = 1; - text_debug_igain.Opacity = 1; - text_debug_pgain.Opacity = 1; - text_debug_feedforward.Opacity = 1; - text_serial.Opacity = 1; + text_debug_flag.Visibility = Visibility.Visible; + text_serial.Visibility = Visibility.Visible; TextBox_serialMonitor.Visibility = System.Windows.Visibility.Visible; - PID_tuning_D_gain_slider.Opacity = 1; - PID_tuning_I_gain_slider.Opacity = 1; - PID_tuning_P_gain_slider.Opacity= 1; - PID_tuning_Feedforward_gain_slider.Opacity = 1; - textBox_debug_Flag_0.Opacity = 1; + textBox_debug_Flag_0.Visibility = Visibility.Visible; //btn_serial.Visibility = System.Windows.Visibility.Visible; btn_system_id.Visibility = System.Windows.Visibility.Visible; button_pedal_position_reset.Visibility = System.Windows.Visibility.Visible; button_pedal_restart.Visibility = System.Windows.Visibility.Visible; - btn_pedal_disconnect.Visibility = System.Windows.Visibility.Visible; - InvertLoadcellReading_check.Opacity = 1; + btn_reset_default.Visibility = System.Windows.Visibility.Visible; + dump_pedal_response_to_file.Visibility = System.Windows.Visibility.Visible; + InvertLoadcellReading_check.Visibility = Visibility.Visible; //text_state.Visibility = Visibility.Hidden; debug_flag = true; } private void Debug_checkbox_Unchecked(object sender, RoutedEventArgs e) { - text_debug_flag.Opacity = 0; - text_debug_PID_para.Opacity = 0; - text_debug_dgain.Opacity = 0; - text_debug_igain.Opacity = 0; - text_debug_pgain.Opacity = 0; - text_debug_feedforward.Opacity = 0; - text_serial.Opacity = 0; + text_debug_flag.Visibility = Visibility.Hidden; ; + text_serial.Visibility = Visibility.Hidden; TextBox_serialMonitor.Visibility = System.Windows.Visibility.Hidden; - PID_tuning_D_gain_slider.Opacity = 0; - PID_tuning_I_gain_slider.Opacity = 0; - PID_tuning_P_gain_slider.Opacity = 0; - PID_tuning_Feedforward_gain_slider.Opacity = 0; - textBox_debug_Flag_0.Opacity = 0; + textBox_debug_Flag_0.Visibility = Visibility.Hidden; //btn_serial.Visibility = System.Windows.Visibility.Hidden; btn_system_id.Visibility = System.Windows.Visibility.Hidden; button_pedal_position_reset.Visibility = System.Windows.Visibility.Hidden; button_pedal_restart.Visibility = System.Windows.Visibility.Hidden; - btn_pedal_disconnect.Visibility = System.Windows.Visibility.Hidden; - InvertLoadcellReading_check.Opacity = 0; + btn_reset_default.Visibility = System.Windows.Visibility.Hidden; + dump_pedal_response_to_file.Visibility = System.Windows.Visibility.Hidden; + InvertLoadcellReading_check.Visibility = Visibility.Hidden; //text_state.Visibility = Visibility.Visible; debug_flag = false; } @@ -3306,6 +3866,50 @@ private void checkbox_enable_bite_point_Unchecked(object sender, RoutedEventArgs } + private void btn_reset_default_Click(object sender, RoutedEventArgs e) + { + DAP_config_set_default(indexOfSelectedPedal_u); + updateTheGuiFromConfig(); + } + + private void checkbox_enable_G_force_Unchecked(object sender, RoutedEventArgs e) + { + Plugin.Settings.G_force_enable_flag[indexOfSelectedPedal_u] = 0; + checkbox_enable_G_force.Content = "G Force Effect Disabled"; + + + } + private void checkbox_enable_G_force_Checked(object sender, RoutedEventArgs e) + { + Plugin.Settings.G_force_enable_flag[indexOfSelectedPedal_u] = 1; + checkbox_enable_G_force.Content = "G Force Effect Enabled"; + + + } + + // for ocntrol strategy + private void StrategySel(object sender, RoutedEventArgs e) + { + if (ControlStrategy_Sel_1.IsChecked == true) + { + dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.control_strategy_b = 0; + } + + if (ControlStrategy_Sel_2.IsChecked == true) + { + dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.control_strategy_b = 1; + } + + if (ControlStrategy_Sel_3.IsChecked == true) + { + dap_config_st[indexOfSelectedPedal_u].payloadPedalConfig_.control_strategy_b = 2; + } + + } + + + + /* private void GetRectanglePositions() diff --git a/SimHubPlugin/bin/DiyActivePedal.dll b/SimHubPlugin/bin/DiyActivePedal.dll index a2d5c9b3..bb102025 100644 Binary files a/SimHubPlugin/bin/DiyActivePedal.dll and b/SimHubPlugin/bin/DiyActivePedal.dll differ diff --git a/SimHubPlugin/bin/DiyActivePedal.g.resources b/SimHubPlugin/bin/DiyActivePedal.g.resources index dae38232..7053394f 100644 Binary files a/SimHubPlugin/bin/DiyActivePedal.g.resources and b/SimHubPlugin/bin/DiyActivePedal.g.resources differ diff --git a/SimHubPlugin/bin/DiyActivePedal.pdb b/SimHubPlugin/bin/DiyActivePedal.pdb index adbda541..bb104f4b 100644 Binary files a/SimHubPlugin/bin/DiyActivePedal.pdb and b/SimHubPlugin/bin/DiyActivePedal.pdb differ diff --git a/SimHubPlugin/obj/Debug/DiyActivePedal.dll b/SimHubPlugin/obj/Debug/DiyActivePedal.dll index 64687951..adc50bbc 100644 Binary files a/SimHubPlugin/obj/Debug/DiyActivePedal.dll and b/SimHubPlugin/obj/Debug/DiyActivePedal.dll differ diff --git a/SimHubPlugin/obj/Debug/DiyActivePedal.g.resources b/SimHubPlugin/obj/Debug/DiyActivePedal.g.resources index 65282e98..46d94128 100644 Binary files a/SimHubPlugin/obj/Debug/DiyActivePedal.g.resources and b/SimHubPlugin/obj/Debug/DiyActivePedal.g.resources differ diff --git a/SimHubPlugin/obj/Debug/DiyActivePedal.pdb b/SimHubPlugin/obj/Debug/DiyActivePedal.pdb index ff78bafb..7ae130f0 100644 Binary files a/SimHubPlugin/obj/Debug/DiyActivePedal.pdb and b/SimHubPlugin/obj/Debug/DiyActivePedal.pdb differ diff --git a/SimHubPlugin/obj/Debug/DiyActivePedal_MarkupCompile.i.cache b/SimHubPlugin/obj/Debug/DiyActivePedal_MarkupCompile.i.cache index 68b2fbc0..d2940602 100644 --- a/SimHubPlugin/obj/Debug/DiyActivePedal_MarkupCompile.i.cache +++ b/SimHubPlugin/obj/Debug/DiyActivePedal_MarkupCompile.i.cache @@ -16,5 +16,5 @@ DEBUG;TRACE 35399308758 SettingsControlDemo.xaml; -False +True diff --git a/SimHubPlugin/obj/Debug/DiyActivePedal_MarkupCompile.i.lref b/SimHubPlugin/obj/Debug/DiyActivePedal_MarkupCompile.i.lref new file mode 100644 index 00000000..0fbb9ada --- /dev/null +++ b/SimHubPlugin/obj/Debug/DiyActivePedal_MarkupCompile.i.lref @@ -0,0 +1,4 @@ + + +FC:\Users\chris\OneDrive\Desktop\GIT\DIY-Sim-Racing-Active-Pedal\SimHubPlugin\SettingsControlDemo.xaml;; + diff --git a/SimHubPlugin/obj/Debug/SettingsControlDemo.baml b/SimHubPlugin/obj/Debug/SettingsControlDemo.baml index 3569a30d..ab25d63e 100644 Binary files a/SimHubPlugin/obj/Debug/SettingsControlDemo.baml and b/SimHubPlugin/obj/Debug/SettingsControlDemo.baml differ diff --git a/SimHubPlugin/obj/Debug/SettingsControlDemo.g.cs b/SimHubPlugin/obj/Debug/SettingsControlDemo.g.cs index 50166278..0ad12c41 100644 --- a/SimHubPlugin/obj/Debug/SettingsControlDemo.g.cs +++ b/SimHubPlugin/obj/Debug/SettingsControlDemo.g.cs @@ -1,4 +1,4 @@ -#pragma checksum "..\..\SettingsControlDemo.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "A7F4943A1C000B0DE2797FE38A6892B0B1487323C015D2AC19069968B4F9C325" +#pragma checksum "..\..\SettingsControlDemo.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "BCB358EC03E153AA88FDC868710731551109C18C2EC28A3D46705EA8A84A442B" //------------------------------------------------------------------------------ // // Dieser Code wurde von einem Tool generiert. @@ -43,7 +43,7 @@ namespace User.PluginSdkDemo { public partial class SettingsControlDemo : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector { - #line 41 "..\..\SettingsControlDemo.xaml" + #line 42 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TabControl MyTab; @@ -51,7 +51,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 42 "..\..\SettingsControlDemo.xaml" + #line 43 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TabItem tabPedalSelection_clutch; @@ -59,7 +59,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 43 "..\..\SettingsControlDemo.xaml" + #line 44 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TabItem tabPedalSelection_brake; @@ -67,7 +67,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 44 "..\..\SettingsControlDemo.xaml" + #line 45 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TabItem tabPedalSelection_accelerator; @@ -75,7 +75,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 73 "..\..\SettingsControlDemo.xaml" + #line 72 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBox TextBox_debugOutput; @@ -83,7 +83,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 77 "..\..\SettingsControlDemo.xaml" + #line 76 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_serial; @@ -91,7 +91,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 85 "..\..\SettingsControlDemo.xaml" + #line 84 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBox TextBox_serialMonitor; @@ -99,81 +99,97 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 164 "..\..\SettingsControlDemo.xaml" + #line 169 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox checkbox_enable_RPM; + internal System.Windows.Controls.Canvas canvas; #line default #line hidden - #line 166 "..\..\SettingsControlDemo.xaml" + #line 215 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_RPM_AMP; + internal System.Windows.Controls.TextBlock text_point_pos; #line default #line hidden - #line 176 "..\..\SettingsControlDemo.xaml" + #line 226 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_AMP; + internal System.Windows.Controls.TextBlock Serial_port_text; #line default #line hidden - #line 191 "..\..\SettingsControlDemo.xaml" + #line 228 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_RPM_AMP; + internal System.Windows.Shapes.Polyline Polyline_BrakeForceCurve; #line default #line hidden - #line 196 "..\..\SettingsControlDemo.xaml" + #line 242 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_RPM_AMP; + internal System.Windows.Controls.TextBlock text_SABS; #line default #line hidden - #line 197 "..\..\SettingsControlDemo.xaml" + #line 252 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_AMP_text; + internal System.Windows.Shapes.Rectangle rect_SABS; #line default #line hidden - #line 210 "..\..\SettingsControlDemo.xaml" + #line 253 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_RPM_freq; + internal System.Windows.Shapes.Rectangle rect_SABS_Control; #line default #line hidden - #line 222 "..\..\SettingsControlDemo.xaml" + #line 254 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_freq_min; + internal System.Windows.Shapes.Rectangle rect_BP_Control; #line default #line hidden - #line 236 "..\..\SettingsControlDemo.xaml" + #line 255 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_freq_max; + internal System.Windows.Shapes.Rectangle rect_State; #line default #line hidden - #line 253 "..\..\SettingsControlDemo.xaml" + #line 256 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_RPM_freq; + internal System.Windows.Controls.TextBlock text_state; + + #line default + #line hidden + + + #line 257 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect0; + + #line default + #line hidden + + + #line 258 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect1; #line default #line hidden @@ -181,7 +197,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line 259 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_RPM_min; + internal System.Windows.Shapes.Rectangle rect2; #line default #line hidden @@ -189,7 +205,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line 260 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_RPM_max; + internal System.Windows.Shapes.Rectangle rect3; #line default #line hidden @@ -197,851 +213,1123 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line 261 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_freq_text; + internal System.Windows.Shapes.Rectangle rect4; #line default #line hidden - #line 282 "..\..\SettingsControlDemo.xaml" + #line 262 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox checkbox_enable_ABS; + internal System.Windows.Shapes.Rectangle rect5; #line default #line hidden - #line 284 "..\..\SettingsControlDemo.xaml" + #line 263 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.ComboBox AbsPattern; + internal System.Windows.Controls.TextBlock text_BP; #line default #line hidden - #line 292 "..\..\SettingsControlDemo.xaml" + #line 276 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox TestAbs_check; + internal System.Windows.Controls.Canvas canvas_vert_slider; #line default #line hidden - #line 298 "..\..\SettingsControlDemo.xaml" + #line 288 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.ComboBox EffectAppliedOnForceOrTravel_combobox; + internal System.Windows.Controls.TextBlock text_min_force; #line default #line hidden - #line 305 "..\..\SettingsControlDemo.xaml" + #line 302 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox Simulate_ABS_check; + internal System.Windows.Controls.TextBlock text_max_force; #line default #line hidden - #line 307 "..\..\SettingsControlDemo.xaml" + #line 319 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_ABS; + internal System.Windows.Shapes.Line Line_V_force; #line default #line hidden - #line 317 "..\..\SettingsControlDemo.xaml" + #line 325 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_ABS; + internal System.Windows.Shapes.Rectangle rect8; #line default #line hidden - #line 332 "..\..\SettingsControlDemo.xaml" + #line 326 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_ABS; + internal System.Windows.Shapes.Rectangle rect9; #line default #line hidden - #line 337 "..\..\SettingsControlDemo.xaml" + #line 330 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_ABS; + internal System.Windows.Controls.Canvas canvas_horz_slider; #line default #line hidden - #line 338 "..\..\SettingsControlDemo.xaml" + #line 342 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_ABS_text; + internal System.Windows.Controls.TextBlock text_min_pos; #line default #line hidden - #line 351 "..\..\SettingsControlDemo.xaml" + #line 356 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_ABS_freq; + internal System.Windows.Controls.TextBlock text_max_pos; #line default #line hidden - #line 361 "..\..\SettingsControlDemo.xaml" + #line 370 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_ABS_freq; + internal System.Windows.Controls.TextBlock text_position; #line default #line hidden - #line 376 "..\..\SettingsControlDemo.xaml" + #line 387 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_ABS_freq; + internal System.Windows.Shapes.Line Line_H_pos; #line default #line hidden - #line 381 "..\..\SettingsControlDemo.xaml" + #line 393 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_ABS_freq; + internal System.Windows.Shapes.Rectangle rect6; #line default #line hidden - #line 382 "..\..\SettingsControlDemo.xaml" + #line 394 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_ABS_freq_text; + internal System.Windows.Shapes.Rectangle rect7; #line default #line hidden - #line 406 "..\..\SettingsControlDemo.xaml" + #line 401 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox dynamic_PID_checkbox; + internal System.Windows.Controls.Label info_label; #line default #line hidden - #line 409 "..\..\SettingsControlDemo.xaml" + #line 402 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox JoystickOutput_check; + internal System.Windows.Controls.Label info_label_2; #line default #line hidden - #line 412 "..\..\SettingsControlDemo.xaml" + #line 405 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox InvertLoadcellReading_check; + internal System.Windows.Controls.ComboBox SerialPortSelection; #line default #line hidden - #line 420 "..\..\SettingsControlDemo.xaml" + #line 409 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_damping; + internal System.Windows.Controls.CheckBox ConnectToPedal; #line default #line hidden - #line 430 "..\..\SettingsControlDemo.xaml" + #line 413 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_damping; + internal SimHub.Plugins.Styles.SHButtonPrimary btn_pedal_connect; #line default #line hidden - #line 444 "..\..\SettingsControlDemo.xaml" + #line 414 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_damping_text; + internal SimHub.Plugins.Styles.SHButtonPrimary btn_update; #line default #line hidden - #line 461 "..\..\SettingsControlDemo.xaml" + #line 419 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_damping; + internal System.Windows.Controls.TextBox TextBox2; #line default #line hidden - #line 466 "..\..\SettingsControlDemo.xaml" + #line 420 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_damping; + internal System.Windows.Controls.CheckBox checkbox_auto_connect; #line default #line hidden - #line 470 "..\..\SettingsControlDemo.xaml" + #line 421 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_KF; + internal System.Windows.Controls.CheckBox checkbox_pedal_read; #line default #line hidden - #line 480 "..\..\SettingsControlDemo.xaml" + #line 422 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_KF; + internal System.Windows.Controls.CheckBox Vjoy_out_check; #line default #line hidden - #line 492 "..\..\SettingsControlDemo.xaml" + #line 424 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_KF_text; + internal System.Windows.Controls.Button btn_plus; #line default #line hidden - #line 506 "..\..\SettingsControlDemo.xaml" + #line 425 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_KF; + internal System.Windows.Controls.Label Label_vjoy_order; #line default #line hidden - #line 511 "..\..\SettingsControlDemo.xaml" + #line 426 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_KF; + internal System.Windows.Controls.Button btn_minus; #line default #line hidden - #line 514 "..\..\SettingsControlDemo.xaml" + #line 428 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_LC_rating; + internal System.Windows.Controls.CheckBox Debug_check; #line default #line hidden - #line 524 "..\..\SettingsControlDemo.xaml" + #line 435 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_LC_rating; + internal System.Windows.Controls.TextBlock text_debug_flag; #line default #line hidden - #line 539 "..\..\SettingsControlDemo.xaml" + #line 439 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_LC_rating; + internal System.Windows.Controls.TextBox textBox_debug_Flag_0; #line default #line hidden - #line 544 "..\..\SettingsControlDemo.xaml" + #line 441 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_LC_rating; + internal System.Windows.Controls.CheckBox dump_pedal_response_to_file; #line default #line hidden - #line 545 "..\..\SettingsControlDemo.xaml" + #line 442 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_LC_rating_text; + internal SimHub.Plugins.Styles.SHButtonPrimary button_pedal_position_reset; #line default #line hidden - #line 558 "..\..\SettingsControlDemo.xaml" + #line 443 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_max_game; + internal SimHub.Plugins.Styles.SHButtonPrimary button_pedal_restart; #line default #line hidden - #line 568 "..\..\SettingsControlDemo.xaml" + #line 444 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_max_game; + internal SimHub.Plugins.Styles.SHButtonPrimary btn_system_id; #line default #line hidden - #line 583 "..\..\SettingsControlDemo.xaml" + #line 445 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_max_game; + internal SimHub.Plugins.Styles.SHButtonPrimary btn_reset_default; #line default #line hidden - #line 588 "..\..\SettingsControlDemo.xaml" + #line 501 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_max_game; + internal System.Windows.Controls.CheckBox checkbox_enable_ABS; #line default #line hidden - #line 589 "..\..\SettingsControlDemo.xaml" + #line 503 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_max_game_text; + internal System.Windows.Controls.ComboBox AbsPattern; #line default #line hidden - #line 615 "..\..\SettingsControlDemo.xaml" + #line 508 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas; + internal System.Windows.Controls.CheckBox TestAbs_check; #line default #line hidden - #line 661 "..\..\SettingsControlDemo.xaml" + #line 514 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_point_pos; + internal System.Windows.Controls.ComboBox EffectAppliedOnForceOrTravel_combobox; #line default #line hidden - #line 676 "..\..\SettingsControlDemo.xaml" + #line 518 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Polyline Polyline_BrakeForceCurve; + internal System.Windows.Controls.CheckBox Simulate_ABS_check; #line default #line hidden - #line 690 "..\..\SettingsControlDemo.xaml" + #line 520 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_SABS; + internal System.Windows.Controls.Canvas canvas_horz_ABS; #line default #line hidden - #line 704 "..\..\SettingsControlDemo.xaml" + #line 530 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_SABS; + internal System.Windows.Controls.TextBlock text_ABS; #line default #line hidden - #line 705 "..\..\SettingsControlDemo.xaml" + #line 542 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_SABS_Control; + internal System.Windows.Shapes.Line Line_H_ABS; #line default #line hidden - #line 706 "..\..\SettingsControlDemo.xaml" + #line 547 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_State; + internal System.Windows.Shapes.Rectangle rect_ABS; #line default #line hidden - #line 707 "..\..\SettingsControlDemo.xaml" + #line 548 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect0; + internal System.Windows.Controls.TextBlock text_ABS_text; #line default #line hidden - #line 708 "..\..\SettingsControlDemo.xaml" + #line 559 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect1; + internal System.Windows.Controls.Canvas canvas_horz_ABS_freq; #line default #line hidden - #line 709 "..\..\SettingsControlDemo.xaml" + #line 569 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect2; + internal System.Windows.Controls.TextBlock text_ABS_freq; #line default #line hidden - #line 710 "..\..\SettingsControlDemo.xaml" + #line 581 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect3; + internal System.Windows.Shapes.Line Line_H_ABS_freq; #line default #line hidden - #line 711 "..\..\SettingsControlDemo.xaml" + #line 586 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect4; + internal System.Windows.Shapes.Rectangle rect_ABS_freq; #line default #line hidden - #line 712 "..\..\SettingsControlDemo.xaml" + #line 587 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect5; + internal System.Windows.Controls.TextBlock text_ABS_freq_text; #line default #line hidden - #line 717 "..\..\SettingsControlDemo.xaml" + #line 615 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_vert_slider; + internal System.Windows.Controls.CheckBox checkbox_enable_RPM; #line default #line hidden - #line 729 "..\..\SettingsControlDemo.xaml" + #line 617 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_min_force; + internal System.Windows.Controls.Canvas canvas_horz_RPM_AMP; #line default #line hidden - #line 743 "..\..\SettingsControlDemo.xaml" + #line 627 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_max_force; + internal System.Windows.Controls.TextBlock text_RPM_AMP; #line default #line hidden - #line 760 "..\..\SettingsControlDemo.xaml" + #line 639 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_V_force; + internal System.Windows.Shapes.Line Line_H_RPM_AMP; #line default #line hidden - #line 766 "..\..\SettingsControlDemo.xaml" + #line 644 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect8; + internal System.Windows.Shapes.Rectangle rect_RPM_AMP; #line default #line hidden - #line 767 "..\..\SettingsControlDemo.xaml" + #line 645 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect9; + internal System.Windows.Controls.TextBlock text_RPM_AMP_text; #line default #line hidden - #line 771 "..\..\SettingsControlDemo.xaml" + #line 656 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_slider; + internal System.Windows.Controls.Canvas canvas_horz_RPM_freq; #line default #line hidden - #line 783 "..\..\SettingsControlDemo.xaml" + #line 668 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_min_pos; + internal System.Windows.Controls.TextBlock text_RPM_freq_min; #line default #line hidden - #line 797 "..\..\SettingsControlDemo.xaml" + #line 678 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_max_pos; + internal System.Windows.Controls.TextBlock text_RPM_freq_max; #line default #line hidden - #line 811 "..\..\SettingsControlDemo.xaml" + #line 691 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_position; + internal System.Windows.Shapes.Line Line_H_RPM_freq; #line default #line hidden - #line 828 "..\..\SettingsControlDemo.xaml" + #line 697 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_pos; + internal System.Windows.Shapes.Rectangle rect_RPM_min; #line default #line hidden - #line 834 "..\..\SettingsControlDemo.xaml" + #line 698 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect6; + internal System.Windows.Shapes.Rectangle rect_RPM_max; #line default #line hidden - #line 835 "..\..\SettingsControlDemo.xaml" + #line 699 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect7; + internal System.Windows.Controls.TextBlock text_RPM_freq_text; #line default #line hidden - #line 842 "..\..\SettingsControlDemo.xaml" + #line 727 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Label info_label; + internal System.Windows.Controls.CheckBox checkbox_enable_bite_point; #line default #line hidden - #line 843 "..\..\SettingsControlDemo.xaml" + #line 729 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Label info_label_2; + internal System.Windows.Controls.Canvas canvas_horz_bite_amp; #line default #line hidden - #line 846 "..\..\SettingsControlDemo.xaml" + #line 739 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.ComboBox SerialPortSelection; + internal System.Windows.Controls.TextBlock text_bite_amp; #line default #line hidden - #line 850 "..\..\SettingsControlDemo.xaml" + #line 751 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox ConnectToPedal; + internal System.Windows.Shapes.Line Line_H_bite_amp; #line default #line hidden - #line 854 "..\..\SettingsControlDemo.xaml" + #line 756 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal SimHub.Plugins.Styles.SHButtonPrimary btn_pedal_connect; + internal System.Windows.Shapes.Rectangle rect_bite_amp; #line default #line hidden - #line 855 "..\..\SettingsControlDemo.xaml" + #line 757 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal SimHub.Plugins.Styles.SHButtonPrimary btn_update; + internal System.Windows.Controls.TextBlock text_bite_amp_text; #line default #line hidden - #line 860 "..\..\SettingsControlDemo.xaml" + #line 768 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBox TextBox2; + internal System.Windows.Controls.Canvas canvas_horz_bite_freq; #line default #line hidden - #line 861 "..\..\SettingsControlDemo.xaml" + #line 778 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox checkbox_auto_connect; + internal System.Windows.Controls.TextBlock text_bite_freq; #line default #line hidden - #line 862 "..\..\SettingsControlDemo.xaml" + #line 790 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox checkbox_pedal_read; + internal System.Windows.Shapes.Line Line_H_bite_freq; #line default #line hidden - #line 863 "..\..\SettingsControlDemo.xaml" + #line 795 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox Vjoy_out_check; + internal System.Windows.Shapes.Rectangle rect_bite_freq; #line default #line hidden - #line 865 "..\..\SettingsControlDemo.xaml" + #line 796 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Button btn_plus; + internal System.Windows.Controls.TextBlock text_bite_freq_text; #line default #line hidden - #line 866 "..\..\SettingsControlDemo.xaml" + #line 824 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Label Label_vjoy_order; + internal System.Windows.Controls.CheckBox checkbox_enable_G_force; #line default #line hidden - #line 867 "..\..\SettingsControlDemo.xaml" + #line 826 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Button btn_minus; + internal System.Windows.Controls.Canvas canvas_horz_G_force_multi; #line default #line hidden - #line 869 "..\..\SettingsControlDemo.xaml" + #line 836 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox Debug_check; + internal System.Windows.Controls.TextBlock text_G_multi; #line default #line hidden - #line 876 "..\..\SettingsControlDemo.xaml" + #line 848 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_flag; + internal System.Windows.Shapes.Line Line_G_force_multi; #line default #line hidden - #line 880 "..\..\SettingsControlDemo.xaml" + #line 853 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBox textBox_debug_Flag_0; + internal System.Windows.Shapes.Rectangle rect_G_force_multi; #line default #line hidden - #line 882 "..\..\SettingsControlDemo.xaml" + #line 854 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal SimHub.Plugins.Styles.SHButtonPrimary button_pedal_position_reset; + internal System.Windows.Controls.TextBlock text_G_force_multi_text; #line default #line hidden - #line 883 "..\..\SettingsControlDemo.xaml" + #line 865 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal SimHub.Plugins.Styles.SHButtonPrimary button_pedal_restart; + internal System.Windows.Controls.Canvas canvas_horz_G_force_window; #line default #line hidden - #line 884 "..\..\SettingsControlDemo.xaml" + #line 875 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal SimHub.Plugins.Styles.SHButtonPrimary btn_system_id; + internal System.Windows.Controls.TextBlock text_G_window; #line default #line hidden - #line 885 "..\..\SettingsControlDemo.xaml" + #line 887 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal SimHub.Plugins.Styles.SHButtonPrimary btn_pedal_disconnect; + internal System.Windows.Shapes.Line Line_G_force_window; #line default #line hidden - #line 888 "..\..\SettingsControlDemo.xaml" + #line 892 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_PID_para; + internal System.Windows.Shapes.Rectangle rect_G_force_window; #line default #line hidden - #line 892 "..\..\SettingsControlDemo.xaml" + #line 893 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_pgain; + internal System.Windows.Controls.TextBlock text_G_force_window_text; #line default #line hidden - #line 896 "..\..\SettingsControlDemo.xaml" + #line 961 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Slider PID_tuning_P_gain_slider; + internal System.Windows.Controls.CheckBox JoystickOutput_check; #line default #line hidden - #line 909 "..\..\SettingsControlDemo.xaml" + #line 962 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_igain; + internal System.Windows.Controls.CheckBox InvertLoadcellReading_check; #line default #line hidden - #line 913 "..\..\SettingsControlDemo.xaml" + #line 965 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Slider PID_tuning_I_gain_slider; + internal System.Windows.Controls.ComboBox SpindlePitch; #line default #line hidden - #line 925 "..\..\SettingsControlDemo.xaml" + #line 983 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_dgain; + internal System.Windows.Controls.Canvas canvas_horz_damping; #line default #line hidden - #line 929 "..\..\SettingsControlDemo.xaml" + #line 993 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Slider PID_tuning_D_gain_slider; + internal System.Windows.Controls.TextBlock text_damping; #line default #line hidden - #line 941 "..\..\SettingsControlDemo.xaml" + #line 1003 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_feedforward; + internal System.Windows.Controls.TextBlock text_damping_text; #line default #line hidden - #line 945 "..\..\SettingsControlDemo.xaml" + #line 1016 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Slider PID_tuning_Feedforward_gain_slider; + internal System.Windows.Shapes.Line Line_H_damping; #line default #line hidden - #line 963 "..\..\SettingsControlDemo.xaml" + #line 1021 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox checkbox_enable_bite_point; + internal System.Windows.Shapes.Rectangle rect_damping; #line default #line hidden - #line 965 "..\..\SettingsControlDemo.xaml" + #line 1029 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_bite_amp; + internal System.Windows.Controls.Canvas canvas_horz_LC_rating; #line default #line hidden - #line 975 "..\..\SettingsControlDemo.xaml" + #line 1039 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_bite_amp; + internal System.Windows.Controls.TextBlock text_LC_rating; #line default #line hidden - #line 990 "..\..\SettingsControlDemo.xaml" + #line 1051 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_bite_amp; + internal System.Windows.Shapes.Line Line_H_LC_rating; #line default #line hidden - #line 995 "..\..\SettingsControlDemo.xaml" + #line 1056 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_bite_amp; + internal System.Windows.Shapes.Rectangle rect_LC_rating; #line default #line hidden - #line 996 "..\..\SettingsControlDemo.xaml" + #line 1057 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_bite_amp_text; + internal System.Windows.Controls.TextBlock text_LC_rating_text; #line default #line hidden - #line 1009 "..\..\SettingsControlDemo.xaml" + #line 1072 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_bite_freq; + internal System.Windows.Controls.Canvas canvas_horz_max_game; #line default #line hidden - #line 1019 "..\..\SettingsControlDemo.xaml" + #line 1082 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_bite_freq; + internal System.Windows.Controls.TextBlock text_max_game; #line default #line hidden - #line 1034 "..\..\SettingsControlDemo.xaml" + #line 1094 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_bite_freq; + internal System.Windows.Shapes.Line Line_H_max_game; #line default #line hidden - #line 1039 "..\..\SettingsControlDemo.xaml" + #line 1099 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_bite_freq; + internal System.Windows.Shapes.Rectangle rect_max_game; #line default #line hidden - #line 1040 "..\..\SettingsControlDemo.xaml" + #line 1100 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_bite_freq_text; + internal System.Windows.Controls.TextBlock text_max_game_text; #line default #line hidden - private bool _contentLoaded; - /// - /// InitializeComponent - /// - [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] - public void InitializeComponent() { + #line 1132 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_KF; + + #line default + #line hidden + + + #line 1142 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_KF; + + #line default + #line hidden + + + #line 1151 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_KF_text; + + #line default + #line hidden + + + #line 1162 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_KF; + + #line default + #line hidden + + + #line 1167 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_KF; + + #line default + #line hidden + + + #line 1188 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.RadioButton ControlStrategy_Sel_1; + + #line default + #line hidden + + + #line 1189 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.RadioButton ControlStrategy_Sel_2; + + #line default + #line hidden + + + #line 1190 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.RadioButton ControlStrategy_Sel_3; + + #line default + #line hidden + + + #line 1210 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_Pgain; + + #line default + #line hidden + + + #line 1220 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Pgain; + + #line default + #line hidden + + + #line 1230 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Pgain_text; + + #line default + #line hidden + + + #line 1241 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_Pgain; + + #line default + #line hidden + + + #line 1246 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_Pgain; + + #line default + #line hidden + + + #line 1249 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_Igain; + + #line default + #line hidden + + + #line 1259 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Igain; + + #line default + #line hidden + + + #line 1269 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Igain_text; + + #line default + #line hidden + + + #line 1280 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_Igain; + + #line default + #line hidden + + + #line 1285 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_Igain; + + #line default + #line hidden + + + #line 1288 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_Dgain; + + #line default + #line hidden + + + #line 1298 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Dgain; + + #line default + #line hidden + + + #line 1308 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Dgain_text; + + #line default + #line hidden + + + #line 1319 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_Dgain; + + #line default + #line hidden + + + #line 1324 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_Dgain; + + #line default + #line hidden + + + #line 1327 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_VFgain; + + #line default + #line hidden + + + #line 1337 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_VFgain; + + #line default + #line hidden + + + #line 1347 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_VFgain_text; + + #line default + #line hidden + + + #line 1358 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_VFgain; + + #line default + #line hidden + + + #line 1363 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_VFgain; + + #line default + #line hidden + + + #line 1389 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_MPC_0th_order_gain; + + #line default + #line hidden + + + #line 1399 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_MPC_0th_order_gain; + + #line default + #line hidden + + + #line 1409 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_MPC_0th_order_gain_text; + + #line default + #line hidden + + + #line 1420 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_MPC_0th_order_gain; + + #line default + #line hidden + + + #line 1425 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_MPC_0th_order_gain; + + #line default + #line hidden + + + #line 1431 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_MPC_1st_order_gain; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { if (_contentLoaded) { return; } @@ -1067,1050 +1355,1314 @@ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object case 1: this.MyTab = ((System.Windows.Controls.TabControl)(target)); - #line 41 "..\..\SettingsControlDemo.xaml" - this.MyTab.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.TabControl_SelectionChanged); + #line 42 "..\..\SettingsControlDemo.xaml" + this.MyTab.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.TabControl_SelectionChanged); + + #line default + #line hidden + return; + case 2: + this.tabPedalSelection_clutch = ((System.Windows.Controls.TabItem)(target)); + return; + case 3: + this.tabPedalSelection_brake = ((System.Windows.Controls.TabItem)(target)); + return; + case 4: + this.tabPedalSelection_accelerator = ((System.Windows.Controls.TabItem)(target)); + return; + case 5: + this.TextBox_debugOutput = ((System.Windows.Controls.TextBox)(target)); + return; + case 6: + this.text_serial = ((System.Windows.Controls.TextBlock)(target)); + return; + case 7: + this.TextBox_serialMonitor = ((System.Windows.Controls.TextBox)(target)); + return; + case 8: + this.canvas = ((System.Windows.Controls.Canvas)(target)); + return; + case 9: + this.text_point_pos = ((System.Windows.Controls.TextBlock)(target)); + return; + case 10: + this.Serial_port_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 11: + this.Polyline_BrakeForceCurve = ((System.Windows.Shapes.Polyline)(target)); + return; + case 12: + this.text_SABS = ((System.Windows.Controls.TextBlock)(target)); + return; + case 13: + this.rect_SABS = ((System.Windows.Shapes.Rectangle)(target)); + return; + case 14: + this.rect_SABS_Control = ((System.Windows.Shapes.Rectangle)(target)); + + #line 253 "..\..\SettingsControlDemo.xaml" + this.rect_SABS_Control.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 253 "..\..\SettingsControlDemo.xaml" + this.rect_SABS_Control.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_ABS); + + #line default + #line hidden + + #line 253 "..\..\SettingsControlDemo.xaml" + this.rect_SABS_Control.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 15: + this.rect_BP_Control = ((System.Windows.Shapes.Rectangle)(target)); + + #line 254 "..\..\SettingsControlDemo.xaml" + this.rect_BP_Control.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 254 "..\..\SettingsControlDemo.xaml" + this.rect_BP_Control.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + + #line default + #line hidden + + #line 254 "..\..\SettingsControlDemo.xaml" + this.rect_BP_Control.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 16: + this.rect_State = ((System.Windows.Shapes.Rectangle)(target)); + return; + case 17: + this.text_state = ((System.Windows.Controls.TextBlock)(target)); + return; + case 18: + this.rect0 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 257 "..\..\SettingsControlDemo.xaml" + this.rect0.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 257 "..\..\SettingsControlDemo.xaml" + this.rect0.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 257 "..\..\SettingsControlDemo.xaml" + this.rect0.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 19: + this.rect1 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 258 "..\..\SettingsControlDemo.xaml" + this.rect1.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 258 "..\..\SettingsControlDemo.xaml" + this.rect1.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 258 "..\..\SettingsControlDemo.xaml" + this.rect1.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 20: + this.rect2 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 259 "..\..\SettingsControlDemo.xaml" + this.rect2.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 259 "..\..\SettingsControlDemo.xaml" + this.rect2.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 259 "..\..\SettingsControlDemo.xaml" + this.rect2.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 21: + this.rect3 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 260 "..\..\SettingsControlDemo.xaml" + this.rect3.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 260 "..\..\SettingsControlDemo.xaml" + this.rect3.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 260 "..\..\SettingsControlDemo.xaml" + this.rect3.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 22: + this.rect4 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 261 "..\..\SettingsControlDemo.xaml" + this.rect4.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 261 "..\..\SettingsControlDemo.xaml" + this.rect4.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 261 "..\..\SettingsControlDemo.xaml" + this.rect4.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 23: + this.rect5 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 262 "..\..\SettingsControlDemo.xaml" + this.rect5.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 262 "..\..\SettingsControlDemo.xaml" + this.rect5.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 262 "..\..\SettingsControlDemo.xaml" + this.rect5.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 2: - this.tabPedalSelection_clutch = ((System.Windows.Controls.TabItem)(target)); - return; - case 3: - this.tabPedalSelection_brake = ((System.Windows.Controls.TabItem)(target)); + case 24: + this.text_BP = ((System.Windows.Controls.TextBlock)(target)); return; - case 4: - this.tabPedalSelection_accelerator = ((System.Windows.Controls.TabItem)(target)); + case 25: + this.canvas_vert_slider = ((System.Windows.Controls.Canvas)(target)); return; - case 5: - this.TextBox_debugOutput = ((System.Windows.Controls.TextBox)(target)); + case 26: + this.text_min_force = ((System.Windows.Controls.TextBlock)(target)); return; - case 6: - this.text_serial = ((System.Windows.Controls.TextBlock)(target)); + case 27: + this.text_max_force = ((System.Windows.Controls.TextBlock)(target)); return; - case 7: - this.TextBox_serialMonitor = ((System.Windows.Controls.TextBox)(target)); + case 28: + this.Line_V_force = ((System.Windows.Shapes.Line)(target)); return; - case 8: - this.checkbox_enable_RPM = ((System.Windows.Controls.CheckBox)(target)); + case 29: + this.rect8 = ((System.Windows.Shapes.Rectangle)(target)); - #line 164 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_RPM.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Checked); + #line 325 "..\..\SettingsControlDemo.xaml" + this.rect8.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 164 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_RPM.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Unchecked); + #line 325 "..\..\SettingsControlDemo.xaml" + this.rect8.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_V); + + #line default + #line hidden + + #line 325 "..\..\SettingsControlDemo.xaml" + this.rect8.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 9: - this.canvas_horz_RPM_AMP = ((System.Windows.Controls.Canvas)(target)); - return; - case 10: - this.text_RPM_AMP = ((System.Windows.Controls.TextBlock)(target)); - return; - case 11: - this.Line_H_RPM_AMP = ((System.Windows.Shapes.Line)(target)); - return; - case 12: - this.rect_RPM_AMP = ((System.Windows.Shapes.Rectangle)(target)); + case 30: + this.rect9 = ((System.Windows.Shapes.Rectangle)(target)); - #line 196 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_AMP.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 326 "..\..\SettingsControlDemo.xaml" + this.rect9.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 196 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_AMP.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 326 "..\..\SettingsControlDemo.xaml" + this.rect9.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_V); #line default #line hidden - #line 196 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_AMP.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 326 "..\..\SettingsControlDemo.xaml" + this.rect9.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 13: - this.text_RPM_AMP_text = ((System.Windows.Controls.TextBlock)(target)); + case 31: + this.canvas_horz_slider = ((System.Windows.Controls.Canvas)(target)); return; - case 14: - this.canvas_horz_RPM_freq = ((System.Windows.Controls.Canvas)(target)); + case 32: + this.text_min_pos = ((System.Windows.Controls.TextBlock)(target)); return; - case 15: - this.text_RPM_freq_min = ((System.Windows.Controls.TextBlock)(target)); + case 33: + this.text_max_pos = ((System.Windows.Controls.TextBlock)(target)); return; - case 16: - this.text_RPM_freq_max = ((System.Windows.Controls.TextBlock)(target)); + case 34: + this.text_position = ((System.Windows.Controls.TextBlock)(target)); return; - case 17: - this.Line_H_RPM_freq = ((System.Windows.Shapes.Line)(target)); + case 35: + this.Line_H_pos = ((System.Windows.Shapes.Line)(target)); return; - case 18: - this.rect_RPM_min = ((System.Windows.Shapes.Rectangle)(target)); + case 36: + this.rect6 = ((System.Windows.Shapes.Rectangle)(target)); - #line 259 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_min.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 393 "..\..\SettingsControlDemo.xaml" + this.rect6.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 259 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_min.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H_RPM); + #line 393 "..\..\SettingsControlDemo.xaml" + this.rect6.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H); #line default #line hidden - #line 259 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_min.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 393 "..\..\SettingsControlDemo.xaml" + this.rect6.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 19: - this.rect_RPM_max = ((System.Windows.Shapes.Rectangle)(target)); + case 37: + this.rect7 = ((System.Windows.Shapes.Rectangle)(target)); - #line 260 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_max.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 394 "..\..\SettingsControlDemo.xaml" + this.rect7.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 260 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_max.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H_RPM); + #line 394 "..\..\SettingsControlDemo.xaml" + this.rect7.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H); #line default #line hidden - #line 260 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_max.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 394 "..\..\SettingsControlDemo.xaml" + this.rect7.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 20: - this.text_RPM_freq_text = ((System.Windows.Controls.TextBlock)(target)); + case 38: + this.info_label = ((System.Windows.Controls.Label)(target)); return; - case 21: - this.checkbox_enable_ABS = ((System.Windows.Controls.CheckBox)(target)); + case 39: + this.info_label_2 = ((System.Windows.Controls.Label)(target)); + return; + case 40: + this.SerialPortSelection = ((System.Windows.Controls.ComboBox)(target)); - #line 282 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_ABS.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_ABS_Checked); + #line 405 "..\..\SettingsControlDemo.xaml" + this.SerialPortSelection.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.SerialPortSelectionChanged); #line default #line hidden + return; + case 41: + this.ConnectToPedal = ((System.Windows.Controls.CheckBox)(target)); + return; + case 42: + this.btn_pedal_connect = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 282 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_ABS.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_ABS_Unchecked); + #line 413 "..\..\SettingsControlDemo.xaml" + this.btn_pedal_connect.Click += new System.Windows.RoutedEventHandler(this.ConnectToPedal_click); #line default #line hidden return; - case 22: - this.AbsPattern = ((System.Windows.Controls.ComboBox)(target)); + case 43: + this.btn_update = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 284 "..\..\SettingsControlDemo.xaml" - this.AbsPattern.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.AbsPatternChanged); + #line 414 "..\..\SettingsControlDemo.xaml" + this.btn_update.Click += new System.Windows.RoutedEventHandler(this.UpdateSerialPortList_click); #line default #line hidden return; - case 23: + case 44: - #line 291 "..\..\SettingsControlDemo.xaml" - ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.TestAbs_click); + #line 415 "..\..\SettingsControlDemo.xaml" + ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.SendConfigToPedal_click); #line default #line hidden return; - case 24: - this.TestAbs_check = ((System.Windows.Controls.CheckBox)(target)); - return; - case 25: - this.EffectAppliedOnForceOrTravel_combobox = ((System.Windows.Controls.ComboBox)(target)); + case 45: - #line 298 "..\..\SettingsControlDemo.xaml" - this.EffectAppliedOnForceOrTravel_combobox.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.EffectAppliedOnForceOrTravel_combobox_changed); + #line 416 "..\..\SettingsControlDemo.xaml" + ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.ReadConfigFromPedal_click); #line default #line hidden return; - case 26: - this.Simulate_ABS_check = ((System.Windows.Controls.CheckBox)(target)); + case 46: - #line 305 "..\..\SettingsControlDemo.xaml" - this.Simulate_ABS_check.Checked += new System.Windows.RoutedEventHandler(this.Simulate_ABS_check_Checked); + #line 417 "..\..\SettingsControlDemo.xaml" + ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.OpenButton_Click); #line default #line hidden + return; + case 47: - #line 305 "..\..\SettingsControlDemo.xaml" - this.Simulate_ABS_check.Unchecked += new System.Windows.RoutedEventHandler(this.Simulate_ABS_check_Unchecked); + #line 418 "..\..\SettingsControlDemo.xaml" + ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.SaveButton_Click); #line default #line hidden return; - case 27: - this.canvas_horz_ABS = ((System.Windows.Controls.Canvas)(target)); - return; - case 28: - this.text_ABS = ((System.Windows.Controls.TextBlock)(target)); - return; - case 29: - this.Line_H_ABS = ((System.Windows.Shapes.Line)(target)); + case 48: + this.TextBox2 = ((System.Windows.Controls.TextBox)(target)); return; - case 30: - this.rect_ABS = ((System.Windows.Shapes.Rectangle)(target)); + case 49: + this.checkbox_auto_connect = ((System.Windows.Controls.CheckBox)(target)); - #line 337 "..\..\SettingsControlDemo.xaml" - this.rect_ABS.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 420 "..\..\SettingsControlDemo.xaml" + this.checkbox_auto_connect.Checked += new System.Windows.RoutedEventHandler(this.checkbox_auto_connect_Checked); #line default #line hidden - #line 337 "..\..\SettingsControlDemo.xaml" - this.rect_ABS.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 420 "..\..\SettingsControlDemo.xaml" + this.checkbox_auto_connect.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_auto_connect_Unchecked); #line default #line hidden + return; + case 50: + this.checkbox_pedal_read = ((System.Windows.Controls.CheckBox)(target)); - #line 337 "..\..\SettingsControlDemo.xaml" - this.rect_ABS.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 421 "..\..\SettingsControlDemo.xaml" + this.checkbox_pedal_read.Checked += new System.Windows.RoutedEventHandler(this.CheckBox_Checked); #line default #line hidden - return; - case 31: - this.text_ABS_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 32: - this.canvas_horz_ABS_freq = ((System.Windows.Controls.Canvas)(target)); - return; - case 33: - this.text_ABS_freq = ((System.Windows.Controls.TextBlock)(target)); - return; - case 34: - this.Line_H_ABS_freq = ((System.Windows.Shapes.Line)(target)); - return; - case 35: - this.rect_ABS_freq = ((System.Windows.Shapes.Rectangle)(target)); - #line 381 "..\..\SettingsControlDemo.xaml" - this.rect_ABS_freq.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 421 "..\..\SettingsControlDemo.xaml" + this.checkbox_pedal_read.Unchecked += new System.Windows.RoutedEventHandler(this.CheckBox_Unchecked); #line default #line hidden + return; + case 51: + this.Vjoy_out_check = ((System.Windows.Controls.CheckBox)(target)); - #line 381 "..\..\SettingsControlDemo.xaml" - this.rect_ABS_freq.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 422 "..\..\SettingsControlDemo.xaml" + this.Vjoy_out_check.Checked += new System.Windows.RoutedEventHandler(this.Vjoy_out_check_Checked); #line default #line hidden - #line 381 "..\..\SettingsControlDemo.xaml" - this.rect_ABS_freq.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 422 "..\..\SettingsControlDemo.xaml" + this.Vjoy_out_check.Unchecked += new System.Windows.RoutedEventHandler(this.Vjoy_out_check_Unchecked); #line default #line hidden return; - case 36: - this.text_ABS_freq_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 37: - this.dynamic_PID_checkbox = ((System.Windows.Controls.CheckBox)(target)); + case 52: + this.btn_plus = ((System.Windows.Controls.Button)(target)); - #line 408 "..\..\SettingsControlDemo.xaml" - this.dynamic_PID_checkbox.Checked += new System.Windows.RoutedEventHandler(this.PID_type_checkbox_Checked); + #line 424 "..\..\SettingsControlDemo.xaml" + this.btn_plus.Click += new System.Windows.RoutedEventHandler(this.vjoy_plus_click); #line default #line hidden + return; + case 53: + this.Label_vjoy_order = ((System.Windows.Controls.Label)(target)); + return; + case 54: + this.btn_minus = ((System.Windows.Controls.Button)(target)); - #line 408 "..\..\SettingsControlDemo.xaml" - this.dynamic_PID_checkbox.Unchecked += new System.Windows.RoutedEventHandler(this.PID_type_checkbox_Unchecked); + #line 426 "..\..\SettingsControlDemo.xaml" + this.btn_minus.Click += new System.Windows.RoutedEventHandler(this.vjoy_minus_click); #line default #line hidden return; - case 38: - this.JoystickOutput_check = ((System.Windows.Controls.CheckBox)(target)); + case 55: + this.Debug_check = ((System.Windows.Controls.CheckBox)(target)); - #line 411 "..\..\SettingsControlDemo.xaml" - this.JoystickOutput_check.Checked += new System.Windows.RoutedEventHandler(this.JoystickOutput_checked); + #line 430 "..\..\SettingsControlDemo.xaml" + this.Debug_check.Checked += new System.Windows.RoutedEventHandler(this.Debug_checkbox_Checked); #line default #line hidden - #line 411 "..\..\SettingsControlDemo.xaml" - this.JoystickOutput_check.Unchecked += new System.Windows.RoutedEventHandler(this.JoystickOutput_unchecked); + #line 430 "..\..\SettingsControlDemo.xaml" + this.Debug_check.Unchecked += new System.Windows.RoutedEventHandler(this.Debug_checkbox_Unchecked); #line default #line hidden return; - case 39: - this.InvertLoadcellReading_check = ((System.Windows.Controls.CheckBox)(target)); + case 56: + this.text_debug_flag = ((System.Windows.Controls.TextBlock)(target)); + return; + case 57: + this.textBox_debug_Flag_0 = ((System.Windows.Controls.TextBox)(target)); - #line 413 "..\..\SettingsControlDemo.xaml" - this.InvertLoadcellReading_check.Checked += new System.Windows.RoutedEventHandler(this.InvertLoadcellReading_checked); + #line 440 "..\..\SettingsControlDemo.xaml" + this.textBox_debug_Flag_0.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumericTextBox_PreviewTextInput); #line default #line hidden - #line 413 "..\..\SettingsControlDemo.xaml" - this.InvertLoadcellReading_check.Unchecked += new System.Windows.RoutedEventHandler(this.InvertLoadcellReading_unchecked); + #line 440 "..\..\SettingsControlDemo.xaml" + this.textBox_debug_Flag_0.TextChanged += new System.Windows.Controls.TextChangedEventHandler(this.NumericTextBox_TextChanged); #line default #line hidden return; - case 40: - this.canvas_horz_damping = ((System.Windows.Controls.Canvas)(target)); - return; - case 41: - this.text_damping = ((System.Windows.Controls.TextBlock)(target)); - return; - case 42: - this.text_damping_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 43: - this.Line_H_damping = ((System.Windows.Shapes.Line)(target)); - return; - case 44: - this.rect_damping = ((System.Windows.Shapes.Rectangle)(target)); + case 58: + this.dump_pedal_response_to_file = ((System.Windows.Controls.CheckBox)(target)); - #line 466 "..\..\SettingsControlDemo.xaml" - this.rect_damping.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 441 "..\..\SettingsControlDemo.xaml" + this.dump_pedal_response_to_file.Checked += new System.Windows.RoutedEventHandler(this.dump_pedal_response_to_file_checked); #line default #line hidden - #line 466 "..\..\SettingsControlDemo.xaml" - this.rect_damping.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 441 "..\..\SettingsControlDemo.xaml" + this.dump_pedal_response_to_file.Unchecked += new System.Windows.RoutedEventHandler(this.dump_pedal_response_to_file_unchecked); #line default #line hidden + return; + case 59: + this.button_pedal_position_reset = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 466 "..\..\SettingsControlDemo.xaml" - this.rect_damping.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 442 "..\..\SettingsControlDemo.xaml" + this.button_pedal_position_reset.Click += new System.Windows.RoutedEventHandler(this.ResetPedalPosition_click); #line default #line hidden return; - case 45: - this.canvas_horz_KF = ((System.Windows.Controls.Canvas)(target)); - return; - case 46: - this.text_KF = ((System.Windows.Controls.TextBlock)(target)); - return; - case 47: - this.text_KF_text = ((System.Windows.Controls.TextBlock)(target)); + case 60: + this.button_pedal_restart = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + + #line 443 "..\..\SettingsControlDemo.xaml" + this.button_pedal_restart.Click += new System.Windows.RoutedEventHandler(this.RestartPedal_click); + + #line default + #line hidden return; - case 48: - this.Line_H_KF = ((System.Windows.Shapes.Line)(target)); + case 61: + this.btn_system_id = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + + #line 444 "..\..\SettingsControlDemo.xaml" + this.btn_system_id.Click += new System.Windows.RoutedEventHandler(this.StartSystemIdentification_click); + + #line default + #line hidden return; - case 49: - this.rect_KF = ((System.Windows.Shapes.Rectangle)(target)); + case 62: + this.btn_reset_default = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 511 "..\..\SettingsControlDemo.xaml" - this.rect_KF.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 445 "..\..\SettingsControlDemo.xaml" + this.btn_reset_default.Click += new System.Windows.RoutedEventHandler(this.btn_reset_default_Click); #line default #line hidden + return; + case 63: + this.checkbox_enable_ABS = ((System.Windows.Controls.CheckBox)(target)); - #line 511 "..\..\SettingsControlDemo.xaml" - this.rect_KF.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 501 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_ABS.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_ABS_Checked); #line default #line hidden - #line 511 "..\..\SettingsControlDemo.xaml" - this.rect_KF.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 501 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_ABS.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_ABS_Unchecked); #line default #line hidden return; - case 50: - this.canvas_horz_LC_rating = ((System.Windows.Controls.Canvas)(target)); + case 64: + this.AbsPattern = ((System.Windows.Controls.ComboBox)(target)); + + #line 503 "..\..\SettingsControlDemo.xaml" + this.AbsPattern.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.AbsPatternChanged); + + #line default + #line hidden return; - case 51: - this.text_LC_rating = ((System.Windows.Controls.TextBlock)(target)); + case 65: + + #line 507 "..\..\SettingsControlDemo.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.TestAbs_click); + + #line default + #line hidden return; - case 52: - this.Line_H_LC_rating = ((System.Windows.Shapes.Line)(target)); + case 66: + this.TestAbs_check = ((System.Windows.Controls.CheckBox)(target)); return; - case 53: - this.rect_LC_rating = ((System.Windows.Shapes.Rectangle)(target)); + case 67: + this.EffectAppliedOnForceOrTravel_combobox = ((System.Windows.Controls.ComboBox)(target)); - #line 544 "..\..\SettingsControlDemo.xaml" - this.rect_LC_rating.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 514 "..\..\SettingsControlDemo.xaml" + this.EffectAppliedOnForceOrTravel_combobox.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.EffectAppliedOnForceOrTravel_combobox_changed); #line default #line hidden + return; + case 68: + this.Simulate_ABS_check = ((System.Windows.Controls.CheckBox)(target)); - #line 544 "..\..\SettingsControlDemo.xaml" - this.rect_LC_rating.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 518 "..\..\SettingsControlDemo.xaml" + this.Simulate_ABS_check.Checked += new System.Windows.RoutedEventHandler(this.Simulate_ABS_check_Checked); #line default #line hidden - #line 544 "..\..\SettingsControlDemo.xaml" - this.rect_LC_rating.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 518 "..\..\SettingsControlDemo.xaml" + this.Simulate_ABS_check.Unchecked += new System.Windows.RoutedEventHandler(this.Simulate_ABS_check_Unchecked); #line default #line hidden return; - case 54: - this.text_LC_rating_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 55: - this.canvas_horz_max_game = ((System.Windows.Controls.Canvas)(target)); + case 69: + this.canvas_horz_ABS = ((System.Windows.Controls.Canvas)(target)); return; - case 56: - this.text_max_game = ((System.Windows.Controls.TextBlock)(target)); + case 70: + this.text_ABS = ((System.Windows.Controls.TextBlock)(target)); return; - case 57: - this.Line_H_max_game = ((System.Windows.Shapes.Line)(target)); + case 71: + this.Line_H_ABS = ((System.Windows.Shapes.Line)(target)); return; - case 58: - this.rect_max_game = ((System.Windows.Shapes.Rectangle)(target)); + case 72: + this.rect_ABS = ((System.Windows.Shapes.Rectangle)(target)); - #line 588 "..\..\SettingsControlDemo.xaml" - this.rect_max_game.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 547 "..\..\SettingsControlDemo.xaml" + this.rect_ABS.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 588 "..\..\SettingsControlDemo.xaml" - this.rect_max_game.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 547 "..\..\SettingsControlDemo.xaml" + this.rect_ABS.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 588 "..\..\SettingsControlDemo.xaml" - this.rect_max_game.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 547 "..\..\SettingsControlDemo.xaml" + this.rect_ABS.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 59: - this.text_max_game_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 60: - this.canvas = ((System.Windows.Controls.Canvas)(target)); - return; - case 61: - this.text_point_pos = ((System.Windows.Controls.TextBlock)(target)); + case 73: + this.text_ABS_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 62: - this.Polyline_BrakeForceCurve = ((System.Windows.Shapes.Polyline)(target)); + case 74: + this.canvas_horz_ABS_freq = ((System.Windows.Controls.Canvas)(target)); return; - case 63: - this.text_SABS = ((System.Windows.Controls.TextBlock)(target)); + case 75: + this.text_ABS_freq = ((System.Windows.Controls.TextBlock)(target)); return; - case 64: - this.rect_SABS = ((System.Windows.Shapes.Rectangle)(target)); + case 76: + this.Line_H_ABS_freq = ((System.Windows.Shapes.Line)(target)); return; - case 65: - this.rect_SABS_Control = ((System.Windows.Shapes.Rectangle)(target)); + case 77: + this.rect_ABS_freq = ((System.Windows.Shapes.Rectangle)(target)); - #line 705 "..\..\SettingsControlDemo.xaml" - this.rect_SABS_Control.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 586 "..\..\SettingsControlDemo.xaml" + this.rect_ABS_freq.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 705 "..\..\SettingsControlDemo.xaml" - this.rect_SABS_Control.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_ABS); + #line 586 "..\..\SettingsControlDemo.xaml" + this.rect_ABS_freq.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 705 "..\..\SettingsControlDemo.xaml" - this.rect_SABS_Control.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 586 "..\..\SettingsControlDemo.xaml" + this.rect_ABS_freq.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 66: - this.rect_State = ((System.Windows.Shapes.Rectangle)(target)); + case 78: + this.text_ABS_freq_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 67: - this.rect0 = ((System.Windows.Shapes.Rectangle)(target)); - - #line 707 "..\..\SettingsControlDemo.xaml" - this.rect0.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); - - #line default - #line hidden + case 79: + this.checkbox_enable_RPM = ((System.Windows.Controls.CheckBox)(target)); - #line 707 "..\..\SettingsControlDemo.xaml" - this.rect0.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 615 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_RPM.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Checked); #line default #line hidden - #line 707 "..\..\SettingsControlDemo.xaml" - this.rect0.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 615 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_RPM.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Unchecked); #line default #line hidden return; - case 68: - this.rect1 = ((System.Windows.Shapes.Rectangle)(target)); + case 80: + this.canvas_horz_RPM_AMP = ((System.Windows.Controls.Canvas)(target)); + return; + case 81: + this.text_RPM_AMP = ((System.Windows.Controls.TextBlock)(target)); + return; + case 82: + this.Line_H_RPM_AMP = ((System.Windows.Shapes.Line)(target)); + return; + case 83: + this.rect_RPM_AMP = ((System.Windows.Shapes.Rectangle)(target)); - #line 708 "..\..\SettingsControlDemo.xaml" - this.rect1.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 644 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_AMP.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 708 "..\..\SettingsControlDemo.xaml" - this.rect1.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 644 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_AMP.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 708 "..\..\SettingsControlDemo.xaml" - this.rect1.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 644 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_AMP.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 69: - this.rect2 = ((System.Windows.Shapes.Rectangle)(target)); + case 84: + this.text_RPM_AMP_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 85: + this.canvas_horz_RPM_freq = ((System.Windows.Controls.Canvas)(target)); + return; + case 86: + this.text_RPM_freq_min = ((System.Windows.Controls.TextBlock)(target)); + return; + case 87: + this.text_RPM_freq_max = ((System.Windows.Controls.TextBlock)(target)); + return; + case 88: + this.Line_H_RPM_freq = ((System.Windows.Shapes.Line)(target)); + return; + case 89: + this.rect_RPM_min = ((System.Windows.Shapes.Rectangle)(target)); - #line 709 "..\..\SettingsControlDemo.xaml" - this.rect2.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 697 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_min.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 709 "..\..\SettingsControlDemo.xaml" - this.rect2.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 697 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_min.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H_RPM); #line default #line hidden - #line 709 "..\..\SettingsControlDemo.xaml" - this.rect2.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 697 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_min.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 70: - this.rect3 = ((System.Windows.Shapes.Rectangle)(target)); + case 90: + this.rect_RPM_max = ((System.Windows.Shapes.Rectangle)(target)); - #line 710 "..\..\SettingsControlDemo.xaml" - this.rect3.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 698 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_max.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 710 "..\..\SettingsControlDemo.xaml" - this.rect3.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 698 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_max.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H_RPM); #line default #line hidden - #line 710 "..\..\SettingsControlDemo.xaml" - this.rect3.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 698 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_max.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 71: - this.rect4 = ((System.Windows.Shapes.Rectangle)(target)); - - #line 711 "..\..\SettingsControlDemo.xaml" - this.rect4.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); - - #line default - #line hidden + case 91: + this.text_RPM_freq_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 92: + this.checkbox_enable_bite_point = ((System.Windows.Controls.CheckBox)(target)); - #line 711 "..\..\SettingsControlDemo.xaml" - this.rect4.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 727 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_bite_point.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_bite_point_Checked); #line default #line hidden - #line 711 "..\..\SettingsControlDemo.xaml" - this.rect4.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 727 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_bite_point.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_bite_point_Unchecked); #line default #line hidden return; - case 72: - this.rect5 = ((System.Windows.Shapes.Rectangle)(target)); + case 93: + this.canvas_horz_bite_amp = ((System.Windows.Controls.Canvas)(target)); + return; + case 94: + this.text_bite_amp = ((System.Windows.Controls.TextBlock)(target)); + return; + case 95: + this.Line_H_bite_amp = ((System.Windows.Shapes.Line)(target)); + return; + case 96: + this.rect_bite_amp = ((System.Windows.Shapes.Rectangle)(target)); - #line 712 "..\..\SettingsControlDemo.xaml" - this.rect5.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 756 "..\..\SettingsControlDemo.xaml" + this.rect_bite_amp.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 712 "..\..\SettingsControlDemo.xaml" - this.rect5.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 756 "..\..\SettingsControlDemo.xaml" + this.rect_bite_amp.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 712 "..\..\SettingsControlDemo.xaml" - this.rect5.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 756 "..\..\SettingsControlDemo.xaml" + this.rect_bite_amp.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 73: - this.canvas_vert_slider = ((System.Windows.Controls.Canvas)(target)); + case 97: + this.text_bite_amp_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 74: - this.text_min_force = ((System.Windows.Controls.TextBlock)(target)); + case 98: + this.canvas_horz_bite_freq = ((System.Windows.Controls.Canvas)(target)); return; - case 75: - this.text_max_force = ((System.Windows.Controls.TextBlock)(target)); + case 99: + this.text_bite_freq = ((System.Windows.Controls.TextBlock)(target)); return; - case 76: - this.Line_V_force = ((System.Windows.Shapes.Line)(target)); + case 100: + this.Line_H_bite_freq = ((System.Windows.Shapes.Line)(target)); return; - case 77: - this.rect8 = ((System.Windows.Shapes.Rectangle)(target)); + case 101: + this.rect_bite_freq = ((System.Windows.Shapes.Rectangle)(target)); - #line 766 "..\..\SettingsControlDemo.xaml" - this.rect8.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 795 "..\..\SettingsControlDemo.xaml" + this.rect_bite_freq.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 766 "..\..\SettingsControlDemo.xaml" - this.rect8.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_V); + #line 795 "..\..\SettingsControlDemo.xaml" + this.rect_bite_freq.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 766 "..\..\SettingsControlDemo.xaml" - this.rect8.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 795 "..\..\SettingsControlDemo.xaml" + this.rect_bite_freq.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 78: - this.rect9 = ((System.Windows.Shapes.Rectangle)(target)); - - #line 767 "..\..\SettingsControlDemo.xaml" - this.rect9.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); - - #line default - #line hidden + case 102: + this.text_bite_freq_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 103: + this.checkbox_enable_G_force = ((System.Windows.Controls.CheckBox)(target)); - #line 767 "..\..\SettingsControlDemo.xaml" - this.rect9.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_V); + #line 824 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_G_force.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_G_force_Checked); #line default #line hidden - #line 767 "..\..\SettingsControlDemo.xaml" - this.rect9.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 824 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_G_force.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_G_force_Unchecked); #line default #line hidden return; - case 79: - this.canvas_horz_slider = ((System.Windows.Controls.Canvas)(target)); - return; - case 80: - this.text_min_pos = ((System.Windows.Controls.TextBlock)(target)); - return; - case 81: - this.text_max_pos = ((System.Windows.Controls.TextBlock)(target)); + case 104: + this.canvas_horz_G_force_multi = ((System.Windows.Controls.Canvas)(target)); return; - case 82: - this.text_position = ((System.Windows.Controls.TextBlock)(target)); + case 105: + this.text_G_multi = ((System.Windows.Controls.TextBlock)(target)); return; - case 83: - this.Line_H_pos = ((System.Windows.Shapes.Line)(target)); + case 106: + this.Line_G_force_multi = ((System.Windows.Shapes.Line)(target)); return; - case 84: - this.rect6 = ((System.Windows.Shapes.Rectangle)(target)); + case 107: + this.rect_G_force_multi = ((System.Windows.Shapes.Rectangle)(target)); - #line 834 "..\..\SettingsControlDemo.xaml" - this.rect6.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 853 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_multi.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 834 "..\..\SettingsControlDemo.xaml" - this.rect6.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H); + #line 853 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_multi.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 834 "..\..\SettingsControlDemo.xaml" - this.rect6.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 853 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_multi.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 85: - this.rect7 = ((System.Windows.Shapes.Rectangle)(target)); + case 108: + this.text_G_force_multi_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 109: + this.canvas_horz_G_force_window = ((System.Windows.Controls.Canvas)(target)); + return; + case 110: + this.text_G_window = ((System.Windows.Controls.TextBlock)(target)); + return; + case 111: + this.Line_G_force_window = ((System.Windows.Shapes.Line)(target)); + return; + case 112: + this.rect_G_force_window = ((System.Windows.Shapes.Rectangle)(target)); - #line 835 "..\..\SettingsControlDemo.xaml" - this.rect7.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 892 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_window.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 835 "..\..\SettingsControlDemo.xaml" - this.rect7.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H); + #line 892 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_window.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 835 "..\..\SettingsControlDemo.xaml" - this.rect7.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 892 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_window.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 86: - this.info_label = ((System.Windows.Controls.Label)(target)); - return; - case 87: - this.info_label_2 = ((System.Windows.Controls.Label)(target)); + case 113: + this.text_G_force_window_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 88: - this.SerialPortSelection = ((System.Windows.Controls.ComboBox)(target)); + case 114: + this.JoystickOutput_check = ((System.Windows.Controls.CheckBox)(target)); - #line 846 "..\..\SettingsControlDemo.xaml" - this.SerialPortSelection.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.SerialPortSelectionChanged); + #line 961 "..\..\SettingsControlDemo.xaml" + this.JoystickOutput_check.Checked += new System.Windows.RoutedEventHandler(this.JoystickOutput_checked); #line default #line hidden - return; - case 89: - this.ConnectToPedal = ((System.Windows.Controls.CheckBox)(target)); - return; - case 90: - this.btn_pedal_connect = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 854 "..\..\SettingsControlDemo.xaml" - this.btn_pedal_connect.Click += new System.Windows.RoutedEventHandler(this.ConnectToPedal_click); + #line 961 "..\..\SettingsControlDemo.xaml" + this.JoystickOutput_check.Unchecked += new System.Windows.RoutedEventHandler(this.JoystickOutput_unchecked); #line default #line hidden return; - case 91: - this.btn_update = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + case 115: + this.InvertLoadcellReading_check = ((System.Windows.Controls.CheckBox)(target)); - #line 855 "..\..\SettingsControlDemo.xaml" - this.btn_update.Click += new System.Windows.RoutedEventHandler(this.UpdateSerialPortList_click); + #line 962 "..\..\SettingsControlDemo.xaml" + this.InvertLoadcellReading_check.Checked += new System.Windows.RoutedEventHandler(this.InvertLoadcellReading_checked); #line default #line hidden - return; - case 92: - #line 856 "..\..\SettingsControlDemo.xaml" - ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.SendConfigToPedal_click); + #line 962 "..\..\SettingsControlDemo.xaml" + this.InvertLoadcellReading_check.Unchecked += new System.Windows.RoutedEventHandler(this.InvertLoadcellReading_unchecked); #line default #line hidden return; - case 93: + case 116: + this.SpindlePitch = ((System.Windows.Controls.ComboBox)(target)); - #line 857 "..\..\SettingsControlDemo.xaml" - ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.ReadConfigFromPedal_click); + #line 965 "..\..\SettingsControlDemo.xaml" + this.SpindlePitch.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.SpindlePitchChanged); #line default #line hidden return; - case 94: + case 117: + this.canvas_horz_damping = ((System.Windows.Controls.Canvas)(target)); + return; + case 118: + this.text_damping = ((System.Windows.Controls.TextBlock)(target)); + return; + case 119: + this.text_damping_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 120: + this.Line_H_damping = ((System.Windows.Shapes.Line)(target)); + return; + case 121: + this.rect_damping = ((System.Windows.Shapes.Rectangle)(target)); - #line 858 "..\..\SettingsControlDemo.xaml" - ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.OpenButton_Click); + #line 1021 "..\..\SettingsControlDemo.xaml" + this.rect_damping.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 95: - #line 859 "..\..\SettingsControlDemo.xaml" - ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.SaveButton_Click); + #line 1021 "..\..\SettingsControlDemo.xaml" + this.rect_damping.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - return; - case 96: - this.TextBox2 = ((System.Windows.Controls.TextBox)(target)); - return; - case 97: - this.checkbox_auto_connect = ((System.Windows.Controls.CheckBox)(target)); - #line 861 "..\..\SettingsControlDemo.xaml" - this.checkbox_auto_connect.Checked += new System.Windows.RoutedEventHandler(this.checkbox_auto_connect_Checked); + #line 1021 "..\..\SettingsControlDemo.xaml" + this.rect_damping.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden + return; + case 122: + this.canvas_horz_LC_rating = ((System.Windows.Controls.Canvas)(target)); + return; + case 123: + this.text_LC_rating = ((System.Windows.Controls.TextBlock)(target)); + return; + case 124: + this.Line_H_LC_rating = ((System.Windows.Shapes.Line)(target)); + return; + case 125: + this.rect_LC_rating = ((System.Windows.Shapes.Rectangle)(target)); - #line 861 "..\..\SettingsControlDemo.xaml" - this.checkbox_auto_connect.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_auto_connect_Unchecked); + #line 1056 "..\..\SettingsControlDemo.xaml" + this.rect_LC_rating.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 98: - this.checkbox_pedal_read = ((System.Windows.Controls.CheckBox)(target)); - #line 862 "..\..\SettingsControlDemo.xaml" - this.checkbox_pedal_read.Checked += new System.Windows.RoutedEventHandler(this.CheckBox_Checked); + #line 1056 "..\..\SettingsControlDemo.xaml" + this.rect_LC_rating.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 862 "..\..\SettingsControlDemo.xaml" - this.checkbox_pedal_read.Unchecked += new System.Windows.RoutedEventHandler(this.CheckBox_Unchecked); + #line 1056 "..\..\SettingsControlDemo.xaml" + this.rect_LC_rating.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 99: - this.Vjoy_out_check = ((System.Windows.Controls.CheckBox)(target)); + case 126: + this.text_LC_rating_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 127: + this.canvas_horz_max_game = ((System.Windows.Controls.Canvas)(target)); + return; + case 128: + this.text_max_game = ((System.Windows.Controls.TextBlock)(target)); + return; + case 129: + this.Line_H_max_game = ((System.Windows.Shapes.Line)(target)); + return; + case 130: + this.rect_max_game = ((System.Windows.Shapes.Rectangle)(target)); - #line 863 "..\..\SettingsControlDemo.xaml" - this.Vjoy_out_check.Checked += new System.Windows.RoutedEventHandler(this.Vjoy_out_check_Checked); + #line 1099 "..\..\SettingsControlDemo.xaml" + this.rect_max_game.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 863 "..\..\SettingsControlDemo.xaml" - this.Vjoy_out_check.Unchecked += new System.Windows.RoutedEventHandler(this.Vjoy_out_check_Unchecked); + #line 1099 "..\..\SettingsControlDemo.xaml" + this.rect_max_game.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - return; - case 100: - this.btn_plus = ((System.Windows.Controls.Button)(target)); - #line 865 "..\..\SettingsControlDemo.xaml" - this.btn_plus.Click += new System.Windows.RoutedEventHandler(this.vjoy_plus_click); + #line 1099 "..\..\SettingsControlDemo.xaml" + this.rect_max_game.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 101: - this.Label_vjoy_order = ((System.Windows.Controls.Label)(target)); + case 131: + this.text_max_game_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 102: - this.btn_minus = ((System.Windows.Controls.Button)(target)); + case 132: + this.canvas_horz_KF = ((System.Windows.Controls.Canvas)(target)); + return; + case 133: + this.text_KF = ((System.Windows.Controls.TextBlock)(target)); + return; + case 134: + this.text_KF_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 135: + this.Line_H_KF = ((System.Windows.Shapes.Line)(target)); + return; + case 136: + this.rect_KF = ((System.Windows.Shapes.Rectangle)(target)); - #line 867 "..\..\SettingsControlDemo.xaml" - this.btn_minus.Click += new System.Windows.RoutedEventHandler(this.vjoy_minus_click); + #line 1167 "..\..\SettingsControlDemo.xaml" + this.rect_KF.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 103: - this.Debug_check = ((System.Windows.Controls.CheckBox)(target)); - #line 871 "..\..\SettingsControlDemo.xaml" - this.Debug_check.Checked += new System.Windows.RoutedEventHandler(this.Debug_checkbox_Checked); + #line 1167 "..\..\SettingsControlDemo.xaml" + this.rect_KF.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 871 "..\..\SettingsControlDemo.xaml" - this.Debug_check.Unchecked += new System.Windows.RoutedEventHandler(this.Debug_checkbox_Unchecked); + #line 1167 "..\..\SettingsControlDemo.xaml" + this.rect_KF.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 104: - this.text_debug_flag = ((System.Windows.Controls.TextBlock)(target)); - return; - case 105: - this.textBox_debug_Flag_0 = ((System.Windows.Controls.TextBox)(target)); + case 137: + this.ControlStrategy_Sel_1 = ((System.Windows.Controls.RadioButton)(target)); - #line 881 "..\..\SettingsControlDemo.xaml" - this.textBox_debug_Flag_0.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumericTextBox_PreviewTextInput); + #line 1188 "..\..\SettingsControlDemo.xaml" + this.ControlStrategy_Sel_1.Checked += new System.Windows.RoutedEventHandler(this.StrategySel); #line default #line hidden + return; + case 138: + this.ControlStrategy_Sel_2 = ((System.Windows.Controls.RadioButton)(target)); - #line 881 "..\..\SettingsControlDemo.xaml" - this.textBox_debug_Flag_0.TextChanged += new System.Windows.Controls.TextChangedEventHandler(this.NumericTextBox_TextChanged); + #line 1189 "..\..\SettingsControlDemo.xaml" + this.ControlStrategy_Sel_2.Checked += new System.Windows.RoutedEventHandler(this.StrategySel); #line default #line hidden return; - case 106: - this.button_pedal_position_reset = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + case 139: + this.ControlStrategy_Sel_3 = ((System.Windows.Controls.RadioButton)(target)); - #line 882 "..\..\SettingsControlDemo.xaml" - this.button_pedal_position_reset.Click += new System.Windows.RoutedEventHandler(this.ResetPedalPosition_click); + #line 1190 "..\..\SettingsControlDemo.xaml" + this.ControlStrategy_Sel_3.Checked += new System.Windows.RoutedEventHandler(this.StrategySel); #line default #line hidden return; - case 107: - this.button_pedal_restart = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + case 140: + this.canvas_horz_Pgain = ((System.Windows.Controls.Canvas)(target)); + return; + case 141: + this.text_Pgain = ((System.Windows.Controls.TextBlock)(target)); + return; + case 142: + this.text_Pgain_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 143: + this.Line_H_Pgain = ((System.Windows.Shapes.Line)(target)); + return; + case 144: + this.rect_Pgain = ((System.Windows.Shapes.Rectangle)(target)); - #line 883 "..\..\SettingsControlDemo.xaml" - this.button_pedal_restart.Click += new System.Windows.RoutedEventHandler(this.RestartPedal_click); + #line 1246 "..\..\SettingsControlDemo.xaml" + this.rect_Pgain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 108: - this.btn_system_id = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 884 "..\..\SettingsControlDemo.xaml" - this.btn_system_id.Click += new System.Windows.RoutedEventHandler(this.StartSystemIdentification_click); + #line 1246 "..\..\SettingsControlDemo.xaml" + this.rect_Pgain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - return; - case 109: - this.btn_pedal_disconnect = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 885 "..\..\SettingsControlDemo.xaml" - this.btn_pedal_disconnect.Click += new System.Windows.RoutedEventHandler(this.DisconnectToPedal_click); + #line 1246 "..\..\SettingsControlDemo.xaml" + this.rect_Pgain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 110: - this.text_debug_PID_para = ((System.Windows.Controls.TextBlock)(target)); + case 145: + this.canvas_horz_Igain = ((System.Windows.Controls.Canvas)(target)); return; - case 111: - this.text_debug_pgain = ((System.Windows.Controls.TextBlock)(target)); + case 146: + this.text_Igain = ((System.Windows.Controls.TextBlock)(target)); return; - case 112: - this.PID_tuning_P_gain_slider = ((System.Windows.Controls.Slider)(target)); + case 147: + this.text_Igain_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 148: + this.Line_H_Igain = ((System.Windows.Shapes.Line)(target)); + return; + case 149: + this.rect_Igain = ((System.Windows.Shapes.Rectangle)(target)); - #line 898 "..\..\SettingsControlDemo.xaml" - this.PID_tuning_P_gain_slider.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.PID_tuning_P_gain_changed); + #line 1285 "..\..\SettingsControlDemo.xaml" + this.rect_Igain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 113: - this.text_debug_igain = ((System.Windows.Controls.TextBlock)(target)); - return; - case 114: - this.PID_tuning_I_gain_slider = ((System.Windows.Controls.Slider)(target)); - #line 915 "..\..\SettingsControlDemo.xaml" - this.PID_tuning_I_gain_slider.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.PID_tuning_I_gain_changed); + #line 1285 "..\..\SettingsControlDemo.xaml" + this.rect_Igain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - return; - case 115: - this.text_debug_dgain = ((System.Windows.Controls.TextBlock)(target)); - return; - case 116: - this.PID_tuning_D_gain_slider = ((System.Windows.Controls.Slider)(target)); - #line 931 "..\..\SettingsControlDemo.xaml" - this.PID_tuning_D_gain_slider.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.PID_tuning_D_gain_changed); + #line 1285 "..\..\SettingsControlDemo.xaml" + this.rect_Igain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 117: - this.text_debug_feedforward = ((System.Windows.Controls.TextBlock)(target)); + case 150: + this.canvas_horz_Dgain = ((System.Windows.Controls.Canvas)(target)); return; - case 118: - this.PID_tuning_Feedforward_gain_slider = ((System.Windows.Controls.Slider)(target)); + case 151: + this.text_Dgain = ((System.Windows.Controls.TextBlock)(target)); + return; + case 152: + this.text_Dgain_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 153: + this.Line_H_Dgain = ((System.Windows.Shapes.Line)(target)); + return; + case 154: + this.rect_Dgain = ((System.Windows.Shapes.Rectangle)(target)); - #line 947 "..\..\SettingsControlDemo.xaml" - this.PID_tuning_Feedforward_gain_slider.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.PID_tuning_Feedforward_gain_changed); + #line 1324 "..\..\SettingsControlDemo.xaml" + this.rect_Dgain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 119: - this.checkbox_enable_bite_point = ((System.Windows.Controls.CheckBox)(target)); - #line 963 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_bite_point.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Checked); + #line 1324 "..\..\SettingsControlDemo.xaml" + this.rect_Dgain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 963 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_bite_point.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Unchecked); + #line 1324 "..\..\SettingsControlDemo.xaml" + this.rect_Dgain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 120: - this.canvas_horz_bite_amp = ((System.Windows.Controls.Canvas)(target)); + case 155: + this.canvas_horz_VFgain = ((System.Windows.Controls.Canvas)(target)); return; - case 121: - this.text_bite_amp = ((System.Windows.Controls.TextBlock)(target)); + case 156: + this.text_VFgain = ((System.Windows.Controls.TextBlock)(target)); return; - case 122: - this.Line_H_bite_amp = ((System.Windows.Shapes.Line)(target)); + case 157: + this.text_VFgain_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 123: - this.rect_bite_amp = ((System.Windows.Shapes.Rectangle)(target)); + case 158: + this.Line_H_VFgain = ((System.Windows.Shapes.Line)(target)); + return; + case 159: + this.rect_VFgain = ((System.Windows.Shapes.Rectangle)(target)); - #line 995 "..\..\SettingsControlDemo.xaml" - this.rect_bite_amp.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 1363 "..\..\SettingsControlDemo.xaml" + this.rect_VFgain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 995 "..\..\SettingsControlDemo.xaml" - this.rect_bite_amp.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 1363 "..\..\SettingsControlDemo.xaml" + this.rect_VFgain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 995 "..\..\SettingsControlDemo.xaml" - this.rect_bite_amp.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 1363 "..\..\SettingsControlDemo.xaml" + this.rect_VFgain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 124: - this.text_bite_amp_text = ((System.Windows.Controls.TextBlock)(target)); + case 160: + this.canvas_horz_MPC_0th_order_gain = ((System.Windows.Controls.Canvas)(target)); return; - case 125: - this.canvas_horz_bite_freq = ((System.Windows.Controls.Canvas)(target)); + case 161: + this.text_MPC_0th_order_gain = ((System.Windows.Controls.TextBlock)(target)); return; - case 126: - this.text_bite_freq = ((System.Windows.Controls.TextBlock)(target)); + case 162: + this.text_MPC_0th_order_gain_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 127: - this.Line_H_bite_freq = ((System.Windows.Shapes.Line)(target)); + case 163: + this.Line_H_MPC_0th_order_gain = ((System.Windows.Shapes.Line)(target)); return; - case 128: - this.rect_bite_freq = ((System.Windows.Shapes.Rectangle)(target)); + case 164: + this.rect_MPC_0th_order_gain = ((System.Windows.Shapes.Rectangle)(target)); - #line 1039 "..\..\SettingsControlDemo.xaml" - this.rect_bite_freq.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 1425 "..\..\SettingsControlDemo.xaml" + this.rect_MPC_0th_order_gain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 1039 "..\..\SettingsControlDemo.xaml" - this.rect_bite_freq.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 1425 "..\..\SettingsControlDemo.xaml" + this.rect_MPC_0th_order_gain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 1039 "..\..\SettingsControlDemo.xaml" - this.rect_bite_freq.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 1425 "..\..\SettingsControlDemo.xaml" + this.rect_MPC_0th_order_gain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 129: - this.text_bite_freq_text = ((System.Windows.Controls.TextBlock)(target)); + case 165: + this.canvas_horz_MPC_1st_order_gain = ((System.Windows.Controls.Canvas)(target)); return; } this._contentLoaded = true; diff --git a/SimHubPlugin/obj/Debug/SettingsControlDemo.g.i.cs b/SimHubPlugin/obj/Debug/SettingsControlDemo.g.i.cs index 50166278..0ad12c41 100644 --- a/SimHubPlugin/obj/Debug/SettingsControlDemo.g.i.cs +++ b/SimHubPlugin/obj/Debug/SettingsControlDemo.g.i.cs @@ -1,4 +1,4 @@ -#pragma checksum "..\..\SettingsControlDemo.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "A7F4943A1C000B0DE2797FE38A6892B0B1487323C015D2AC19069968B4F9C325" +#pragma checksum "..\..\SettingsControlDemo.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "BCB358EC03E153AA88FDC868710731551109C18C2EC28A3D46705EA8A84A442B" //------------------------------------------------------------------------------ // // Dieser Code wurde von einem Tool generiert. @@ -43,7 +43,7 @@ namespace User.PluginSdkDemo { public partial class SettingsControlDemo : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector { - #line 41 "..\..\SettingsControlDemo.xaml" + #line 42 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TabControl MyTab; @@ -51,7 +51,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 42 "..\..\SettingsControlDemo.xaml" + #line 43 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TabItem tabPedalSelection_clutch; @@ -59,7 +59,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 43 "..\..\SettingsControlDemo.xaml" + #line 44 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TabItem tabPedalSelection_brake; @@ -67,7 +67,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 44 "..\..\SettingsControlDemo.xaml" + #line 45 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TabItem tabPedalSelection_accelerator; @@ -75,7 +75,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 73 "..\..\SettingsControlDemo.xaml" + #line 72 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBox TextBox_debugOutput; @@ -83,7 +83,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 77 "..\..\SettingsControlDemo.xaml" + #line 76 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_serial; @@ -91,7 +91,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 85 "..\..\SettingsControlDemo.xaml" + #line 84 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBox TextBox_serialMonitor; @@ -99,81 +99,97 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 164 "..\..\SettingsControlDemo.xaml" + #line 169 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox checkbox_enable_RPM; + internal System.Windows.Controls.Canvas canvas; #line default #line hidden - #line 166 "..\..\SettingsControlDemo.xaml" + #line 215 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_RPM_AMP; + internal System.Windows.Controls.TextBlock text_point_pos; #line default #line hidden - #line 176 "..\..\SettingsControlDemo.xaml" + #line 226 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_AMP; + internal System.Windows.Controls.TextBlock Serial_port_text; #line default #line hidden - #line 191 "..\..\SettingsControlDemo.xaml" + #line 228 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_RPM_AMP; + internal System.Windows.Shapes.Polyline Polyline_BrakeForceCurve; #line default #line hidden - #line 196 "..\..\SettingsControlDemo.xaml" + #line 242 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_RPM_AMP; + internal System.Windows.Controls.TextBlock text_SABS; #line default #line hidden - #line 197 "..\..\SettingsControlDemo.xaml" + #line 252 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_AMP_text; + internal System.Windows.Shapes.Rectangle rect_SABS; #line default #line hidden - #line 210 "..\..\SettingsControlDemo.xaml" + #line 253 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_RPM_freq; + internal System.Windows.Shapes.Rectangle rect_SABS_Control; #line default #line hidden - #line 222 "..\..\SettingsControlDemo.xaml" + #line 254 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_freq_min; + internal System.Windows.Shapes.Rectangle rect_BP_Control; #line default #line hidden - #line 236 "..\..\SettingsControlDemo.xaml" + #line 255 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_freq_max; + internal System.Windows.Shapes.Rectangle rect_State; #line default #line hidden - #line 253 "..\..\SettingsControlDemo.xaml" + #line 256 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_RPM_freq; + internal System.Windows.Controls.TextBlock text_state; + + #line default + #line hidden + + + #line 257 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect0; + + #line default + #line hidden + + + #line 258 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect1; #line default #line hidden @@ -181,7 +197,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line 259 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_RPM_min; + internal System.Windows.Shapes.Rectangle rect2; #line default #line hidden @@ -189,7 +205,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line 260 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_RPM_max; + internal System.Windows.Shapes.Rectangle rect3; #line default #line hidden @@ -197,851 +213,1123 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line 261 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_freq_text; + internal System.Windows.Shapes.Rectangle rect4; #line default #line hidden - #line 282 "..\..\SettingsControlDemo.xaml" + #line 262 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox checkbox_enable_ABS; + internal System.Windows.Shapes.Rectangle rect5; #line default #line hidden - #line 284 "..\..\SettingsControlDemo.xaml" + #line 263 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.ComboBox AbsPattern; + internal System.Windows.Controls.TextBlock text_BP; #line default #line hidden - #line 292 "..\..\SettingsControlDemo.xaml" + #line 276 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox TestAbs_check; + internal System.Windows.Controls.Canvas canvas_vert_slider; #line default #line hidden - #line 298 "..\..\SettingsControlDemo.xaml" + #line 288 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.ComboBox EffectAppliedOnForceOrTravel_combobox; + internal System.Windows.Controls.TextBlock text_min_force; #line default #line hidden - #line 305 "..\..\SettingsControlDemo.xaml" + #line 302 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox Simulate_ABS_check; + internal System.Windows.Controls.TextBlock text_max_force; #line default #line hidden - #line 307 "..\..\SettingsControlDemo.xaml" + #line 319 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_ABS; + internal System.Windows.Shapes.Line Line_V_force; #line default #line hidden - #line 317 "..\..\SettingsControlDemo.xaml" + #line 325 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_ABS; + internal System.Windows.Shapes.Rectangle rect8; #line default #line hidden - #line 332 "..\..\SettingsControlDemo.xaml" + #line 326 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_ABS; + internal System.Windows.Shapes.Rectangle rect9; #line default #line hidden - #line 337 "..\..\SettingsControlDemo.xaml" + #line 330 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_ABS; + internal System.Windows.Controls.Canvas canvas_horz_slider; #line default #line hidden - #line 338 "..\..\SettingsControlDemo.xaml" + #line 342 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_ABS_text; + internal System.Windows.Controls.TextBlock text_min_pos; #line default #line hidden - #line 351 "..\..\SettingsControlDemo.xaml" + #line 356 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_ABS_freq; + internal System.Windows.Controls.TextBlock text_max_pos; #line default #line hidden - #line 361 "..\..\SettingsControlDemo.xaml" + #line 370 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_ABS_freq; + internal System.Windows.Controls.TextBlock text_position; #line default #line hidden - #line 376 "..\..\SettingsControlDemo.xaml" + #line 387 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_ABS_freq; + internal System.Windows.Shapes.Line Line_H_pos; #line default #line hidden - #line 381 "..\..\SettingsControlDemo.xaml" + #line 393 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_ABS_freq; + internal System.Windows.Shapes.Rectangle rect6; #line default #line hidden - #line 382 "..\..\SettingsControlDemo.xaml" + #line 394 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_ABS_freq_text; + internal System.Windows.Shapes.Rectangle rect7; #line default #line hidden - #line 406 "..\..\SettingsControlDemo.xaml" + #line 401 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox dynamic_PID_checkbox; + internal System.Windows.Controls.Label info_label; #line default #line hidden - #line 409 "..\..\SettingsControlDemo.xaml" + #line 402 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox JoystickOutput_check; + internal System.Windows.Controls.Label info_label_2; #line default #line hidden - #line 412 "..\..\SettingsControlDemo.xaml" + #line 405 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox InvertLoadcellReading_check; + internal System.Windows.Controls.ComboBox SerialPortSelection; #line default #line hidden - #line 420 "..\..\SettingsControlDemo.xaml" + #line 409 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_damping; + internal System.Windows.Controls.CheckBox ConnectToPedal; #line default #line hidden - #line 430 "..\..\SettingsControlDemo.xaml" + #line 413 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_damping; + internal SimHub.Plugins.Styles.SHButtonPrimary btn_pedal_connect; #line default #line hidden - #line 444 "..\..\SettingsControlDemo.xaml" + #line 414 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_damping_text; + internal SimHub.Plugins.Styles.SHButtonPrimary btn_update; #line default #line hidden - #line 461 "..\..\SettingsControlDemo.xaml" + #line 419 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_damping; + internal System.Windows.Controls.TextBox TextBox2; #line default #line hidden - #line 466 "..\..\SettingsControlDemo.xaml" + #line 420 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_damping; + internal System.Windows.Controls.CheckBox checkbox_auto_connect; #line default #line hidden - #line 470 "..\..\SettingsControlDemo.xaml" + #line 421 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_KF; + internal System.Windows.Controls.CheckBox checkbox_pedal_read; #line default #line hidden - #line 480 "..\..\SettingsControlDemo.xaml" + #line 422 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_KF; + internal System.Windows.Controls.CheckBox Vjoy_out_check; #line default #line hidden - #line 492 "..\..\SettingsControlDemo.xaml" + #line 424 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_KF_text; + internal System.Windows.Controls.Button btn_plus; #line default #line hidden - #line 506 "..\..\SettingsControlDemo.xaml" + #line 425 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_KF; + internal System.Windows.Controls.Label Label_vjoy_order; #line default #line hidden - #line 511 "..\..\SettingsControlDemo.xaml" + #line 426 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_KF; + internal System.Windows.Controls.Button btn_minus; #line default #line hidden - #line 514 "..\..\SettingsControlDemo.xaml" + #line 428 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_LC_rating; + internal System.Windows.Controls.CheckBox Debug_check; #line default #line hidden - #line 524 "..\..\SettingsControlDemo.xaml" + #line 435 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_LC_rating; + internal System.Windows.Controls.TextBlock text_debug_flag; #line default #line hidden - #line 539 "..\..\SettingsControlDemo.xaml" + #line 439 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_LC_rating; + internal System.Windows.Controls.TextBox textBox_debug_Flag_0; #line default #line hidden - #line 544 "..\..\SettingsControlDemo.xaml" + #line 441 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_LC_rating; + internal System.Windows.Controls.CheckBox dump_pedal_response_to_file; #line default #line hidden - #line 545 "..\..\SettingsControlDemo.xaml" + #line 442 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_LC_rating_text; + internal SimHub.Plugins.Styles.SHButtonPrimary button_pedal_position_reset; #line default #line hidden - #line 558 "..\..\SettingsControlDemo.xaml" + #line 443 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_max_game; + internal SimHub.Plugins.Styles.SHButtonPrimary button_pedal_restart; #line default #line hidden - #line 568 "..\..\SettingsControlDemo.xaml" + #line 444 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_max_game; + internal SimHub.Plugins.Styles.SHButtonPrimary btn_system_id; #line default #line hidden - #line 583 "..\..\SettingsControlDemo.xaml" + #line 445 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_max_game; + internal SimHub.Plugins.Styles.SHButtonPrimary btn_reset_default; #line default #line hidden - #line 588 "..\..\SettingsControlDemo.xaml" + #line 501 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_max_game; + internal System.Windows.Controls.CheckBox checkbox_enable_ABS; #line default #line hidden - #line 589 "..\..\SettingsControlDemo.xaml" + #line 503 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_max_game_text; + internal System.Windows.Controls.ComboBox AbsPattern; #line default #line hidden - #line 615 "..\..\SettingsControlDemo.xaml" + #line 508 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas; + internal System.Windows.Controls.CheckBox TestAbs_check; #line default #line hidden - #line 661 "..\..\SettingsControlDemo.xaml" + #line 514 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_point_pos; + internal System.Windows.Controls.ComboBox EffectAppliedOnForceOrTravel_combobox; #line default #line hidden - #line 676 "..\..\SettingsControlDemo.xaml" + #line 518 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Polyline Polyline_BrakeForceCurve; + internal System.Windows.Controls.CheckBox Simulate_ABS_check; #line default #line hidden - #line 690 "..\..\SettingsControlDemo.xaml" + #line 520 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_SABS; + internal System.Windows.Controls.Canvas canvas_horz_ABS; #line default #line hidden - #line 704 "..\..\SettingsControlDemo.xaml" + #line 530 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_SABS; + internal System.Windows.Controls.TextBlock text_ABS; #line default #line hidden - #line 705 "..\..\SettingsControlDemo.xaml" + #line 542 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_SABS_Control; + internal System.Windows.Shapes.Line Line_H_ABS; #line default #line hidden - #line 706 "..\..\SettingsControlDemo.xaml" + #line 547 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_State; + internal System.Windows.Shapes.Rectangle rect_ABS; #line default #line hidden - #line 707 "..\..\SettingsControlDemo.xaml" + #line 548 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect0; + internal System.Windows.Controls.TextBlock text_ABS_text; #line default #line hidden - #line 708 "..\..\SettingsControlDemo.xaml" + #line 559 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect1; + internal System.Windows.Controls.Canvas canvas_horz_ABS_freq; #line default #line hidden - #line 709 "..\..\SettingsControlDemo.xaml" + #line 569 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect2; + internal System.Windows.Controls.TextBlock text_ABS_freq; #line default #line hidden - #line 710 "..\..\SettingsControlDemo.xaml" + #line 581 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect3; + internal System.Windows.Shapes.Line Line_H_ABS_freq; #line default #line hidden - #line 711 "..\..\SettingsControlDemo.xaml" + #line 586 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect4; + internal System.Windows.Shapes.Rectangle rect_ABS_freq; #line default #line hidden - #line 712 "..\..\SettingsControlDemo.xaml" + #line 587 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect5; + internal System.Windows.Controls.TextBlock text_ABS_freq_text; #line default #line hidden - #line 717 "..\..\SettingsControlDemo.xaml" + #line 615 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_vert_slider; + internal System.Windows.Controls.CheckBox checkbox_enable_RPM; #line default #line hidden - #line 729 "..\..\SettingsControlDemo.xaml" + #line 617 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_min_force; + internal System.Windows.Controls.Canvas canvas_horz_RPM_AMP; #line default #line hidden - #line 743 "..\..\SettingsControlDemo.xaml" + #line 627 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_max_force; + internal System.Windows.Controls.TextBlock text_RPM_AMP; #line default #line hidden - #line 760 "..\..\SettingsControlDemo.xaml" + #line 639 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_V_force; + internal System.Windows.Shapes.Line Line_H_RPM_AMP; #line default #line hidden - #line 766 "..\..\SettingsControlDemo.xaml" + #line 644 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect8; + internal System.Windows.Shapes.Rectangle rect_RPM_AMP; #line default #line hidden - #line 767 "..\..\SettingsControlDemo.xaml" + #line 645 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect9; + internal System.Windows.Controls.TextBlock text_RPM_AMP_text; #line default #line hidden - #line 771 "..\..\SettingsControlDemo.xaml" + #line 656 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_slider; + internal System.Windows.Controls.Canvas canvas_horz_RPM_freq; #line default #line hidden - #line 783 "..\..\SettingsControlDemo.xaml" + #line 668 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_min_pos; + internal System.Windows.Controls.TextBlock text_RPM_freq_min; #line default #line hidden - #line 797 "..\..\SettingsControlDemo.xaml" + #line 678 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_max_pos; + internal System.Windows.Controls.TextBlock text_RPM_freq_max; #line default #line hidden - #line 811 "..\..\SettingsControlDemo.xaml" + #line 691 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_position; + internal System.Windows.Shapes.Line Line_H_RPM_freq; #line default #line hidden - #line 828 "..\..\SettingsControlDemo.xaml" + #line 697 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_pos; + internal System.Windows.Shapes.Rectangle rect_RPM_min; #line default #line hidden - #line 834 "..\..\SettingsControlDemo.xaml" + #line 698 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect6; + internal System.Windows.Shapes.Rectangle rect_RPM_max; #line default #line hidden - #line 835 "..\..\SettingsControlDemo.xaml" + #line 699 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect7; + internal System.Windows.Controls.TextBlock text_RPM_freq_text; #line default #line hidden - #line 842 "..\..\SettingsControlDemo.xaml" + #line 727 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Label info_label; + internal System.Windows.Controls.CheckBox checkbox_enable_bite_point; #line default #line hidden - #line 843 "..\..\SettingsControlDemo.xaml" + #line 729 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Label info_label_2; + internal System.Windows.Controls.Canvas canvas_horz_bite_amp; #line default #line hidden - #line 846 "..\..\SettingsControlDemo.xaml" + #line 739 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.ComboBox SerialPortSelection; + internal System.Windows.Controls.TextBlock text_bite_amp; #line default #line hidden - #line 850 "..\..\SettingsControlDemo.xaml" + #line 751 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox ConnectToPedal; + internal System.Windows.Shapes.Line Line_H_bite_amp; #line default #line hidden - #line 854 "..\..\SettingsControlDemo.xaml" + #line 756 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal SimHub.Plugins.Styles.SHButtonPrimary btn_pedal_connect; + internal System.Windows.Shapes.Rectangle rect_bite_amp; #line default #line hidden - #line 855 "..\..\SettingsControlDemo.xaml" + #line 757 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal SimHub.Plugins.Styles.SHButtonPrimary btn_update; + internal System.Windows.Controls.TextBlock text_bite_amp_text; #line default #line hidden - #line 860 "..\..\SettingsControlDemo.xaml" + #line 768 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBox TextBox2; + internal System.Windows.Controls.Canvas canvas_horz_bite_freq; #line default #line hidden - #line 861 "..\..\SettingsControlDemo.xaml" + #line 778 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox checkbox_auto_connect; + internal System.Windows.Controls.TextBlock text_bite_freq; #line default #line hidden - #line 862 "..\..\SettingsControlDemo.xaml" + #line 790 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox checkbox_pedal_read; + internal System.Windows.Shapes.Line Line_H_bite_freq; #line default #line hidden - #line 863 "..\..\SettingsControlDemo.xaml" + #line 795 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox Vjoy_out_check; + internal System.Windows.Shapes.Rectangle rect_bite_freq; #line default #line hidden - #line 865 "..\..\SettingsControlDemo.xaml" + #line 796 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Button btn_plus; + internal System.Windows.Controls.TextBlock text_bite_freq_text; #line default #line hidden - #line 866 "..\..\SettingsControlDemo.xaml" + #line 824 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Label Label_vjoy_order; + internal System.Windows.Controls.CheckBox checkbox_enable_G_force; #line default #line hidden - #line 867 "..\..\SettingsControlDemo.xaml" + #line 826 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Button btn_minus; + internal System.Windows.Controls.Canvas canvas_horz_G_force_multi; #line default #line hidden - #line 869 "..\..\SettingsControlDemo.xaml" + #line 836 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox Debug_check; + internal System.Windows.Controls.TextBlock text_G_multi; #line default #line hidden - #line 876 "..\..\SettingsControlDemo.xaml" + #line 848 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_flag; + internal System.Windows.Shapes.Line Line_G_force_multi; #line default #line hidden - #line 880 "..\..\SettingsControlDemo.xaml" + #line 853 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBox textBox_debug_Flag_0; + internal System.Windows.Shapes.Rectangle rect_G_force_multi; #line default #line hidden - #line 882 "..\..\SettingsControlDemo.xaml" + #line 854 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal SimHub.Plugins.Styles.SHButtonPrimary button_pedal_position_reset; + internal System.Windows.Controls.TextBlock text_G_force_multi_text; #line default #line hidden - #line 883 "..\..\SettingsControlDemo.xaml" + #line 865 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal SimHub.Plugins.Styles.SHButtonPrimary button_pedal_restart; + internal System.Windows.Controls.Canvas canvas_horz_G_force_window; #line default #line hidden - #line 884 "..\..\SettingsControlDemo.xaml" + #line 875 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal SimHub.Plugins.Styles.SHButtonPrimary btn_system_id; + internal System.Windows.Controls.TextBlock text_G_window; #line default #line hidden - #line 885 "..\..\SettingsControlDemo.xaml" + #line 887 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal SimHub.Plugins.Styles.SHButtonPrimary btn_pedal_disconnect; + internal System.Windows.Shapes.Line Line_G_force_window; #line default #line hidden - #line 888 "..\..\SettingsControlDemo.xaml" + #line 892 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_PID_para; + internal System.Windows.Shapes.Rectangle rect_G_force_window; #line default #line hidden - #line 892 "..\..\SettingsControlDemo.xaml" + #line 893 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_pgain; + internal System.Windows.Controls.TextBlock text_G_force_window_text; #line default #line hidden - #line 896 "..\..\SettingsControlDemo.xaml" + #line 961 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Slider PID_tuning_P_gain_slider; + internal System.Windows.Controls.CheckBox JoystickOutput_check; #line default #line hidden - #line 909 "..\..\SettingsControlDemo.xaml" + #line 962 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_igain; + internal System.Windows.Controls.CheckBox InvertLoadcellReading_check; #line default #line hidden - #line 913 "..\..\SettingsControlDemo.xaml" + #line 965 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Slider PID_tuning_I_gain_slider; + internal System.Windows.Controls.ComboBox SpindlePitch; #line default #line hidden - #line 925 "..\..\SettingsControlDemo.xaml" + #line 983 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_dgain; + internal System.Windows.Controls.Canvas canvas_horz_damping; #line default #line hidden - #line 929 "..\..\SettingsControlDemo.xaml" + #line 993 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Slider PID_tuning_D_gain_slider; + internal System.Windows.Controls.TextBlock text_damping; #line default #line hidden - #line 941 "..\..\SettingsControlDemo.xaml" + #line 1003 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_feedforward; + internal System.Windows.Controls.TextBlock text_damping_text; #line default #line hidden - #line 945 "..\..\SettingsControlDemo.xaml" + #line 1016 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Slider PID_tuning_Feedforward_gain_slider; + internal System.Windows.Shapes.Line Line_H_damping; #line default #line hidden - #line 963 "..\..\SettingsControlDemo.xaml" + #line 1021 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox checkbox_enable_bite_point; + internal System.Windows.Shapes.Rectangle rect_damping; #line default #line hidden - #line 965 "..\..\SettingsControlDemo.xaml" + #line 1029 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_bite_amp; + internal System.Windows.Controls.Canvas canvas_horz_LC_rating; #line default #line hidden - #line 975 "..\..\SettingsControlDemo.xaml" + #line 1039 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_bite_amp; + internal System.Windows.Controls.TextBlock text_LC_rating; #line default #line hidden - #line 990 "..\..\SettingsControlDemo.xaml" + #line 1051 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_bite_amp; + internal System.Windows.Shapes.Line Line_H_LC_rating; #line default #line hidden - #line 995 "..\..\SettingsControlDemo.xaml" + #line 1056 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_bite_amp; + internal System.Windows.Shapes.Rectangle rect_LC_rating; #line default #line hidden - #line 996 "..\..\SettingsControlDemo.xaml" + #line 1057 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_bite_amp_text; + internal System.Windows.Controls.TextBlock text_LC_rating_text; #line default #line hidden - #line 1009 "..\..\SettingsControlDemo.xaml" + #line 1072 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_bite_freq; + internal System.Windows.Controls.Canvas canvas_horz_max_game; #line default #line hidden - #line 1019 "..\..\SettingsControlDemo.xaml" + #line 1082 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_bite_freq; + internal System.Windows.Controls.TextBlock text_max_game; #line default #line hidden - #line 1034 "..\..\SettingsControlDemo.xaml" + #line 1094 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_bite_freq; + internal System.Windows.Shapes.Line Line_H_max_game; #line default #line hidden - #line 1039 "..\..\SettingsControlDemo.xaml" + #line 1099 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_bite_freq; + internal System.Windows.Shapes.Rectangle rect_max_game; #line default #line hidden - #line 1040 "..\..\SettingsControlDemo.xaml" + #line 1100 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_bite_freq_text; + internal System.Windows.Controls.TextBlock text_max_game_text; #line default #line hidden - private bool _contentLoaded; - /// - /// InitializeComponent - /// - [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] - public void InitializeComponent() { + #line 1132 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_KF; + + #line default + #line hidden + + + #line 1142 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_KF; + + #line default + #line hidden + + + #line 1151 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_KF_text; + + #line default + #line hidden + + + #line 1162 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_KF; + + #line default + #line hidden + + + #line 1167 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_KF; + + #line default + #line hidden + + + #line 1188 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.RadioButton ControlStrategy_Sel_1; + + #line default + #line hidden + + + #line 1189 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.RadioButton ControlStrategy_Sel_2; + + #line default + #line hidden + + + #line 1190 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.RadioButton ControlStrategy_Sel_3; + + #line default + #line hidden + + + #line 1210 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_Pgain; + + #line default + #line hidden + + + #line 1220 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Pgain; + + #line default + #line hidden + + + #line 1230 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Pgain_text; + + #line default + #line hidden + + + #line 1241 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_Pgain; + + #line default + #line hidden + + + #line 1246 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_Pgain; + + #line default + #line hidden + + + #line 1249 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_Igain; + + #line default + #line hidden + + + #line 1259 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Igain; + + #line default + #line hidden + + + #line 1269 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Igain_text; + + #line default + #line hidden + + + #line 1280 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_Igain; + + #line default + #line hidden + + + #line 1285 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_Igain; + + #line default + #line hidden + + + #line 1288 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_Dgain; + + #line default + #line hidden + + + #line 1298 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Dgain; + + #line default + #line hidden + + + #line 1308 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Dgain_text; + + #line default + #line hidden + + + #line 1319 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_Dgain; + + #line default + #line hidden + + + #line 1324 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_Dgain; + + #line default + #line hidden + + + #line 1327 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_VFgain; + + #line default + #line hidden + + + #line 1337 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_VFgain; + + #line default + #line hidden + + + #line 1347 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_VFgain_text; + + #line default + #line hidden + + + #line 1358 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_VFgain; + + #line default + #line hidden + + + #line 1363 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_VFgain; + + #line default + #line hidden + + + #line 1389 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_MPC_0th_order_gain; + + #line default + #line hidden + + + #line 1399 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_MPC_0th_order_gain; + + #line default + #line hidden + + + #line 1409 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_MPC_0th_order_gain_text; + + #line default + #line hidden + + + #line 1420 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_MPC_0th_order_gain; + + #line default + #line hidden + + + #line 1425 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_MPC_0th_order_gain; + + #line default + #line hidden + + + #line 1431 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_MPC_1st_order_gain; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { if (_contentLoaded) { return; } @@ -1067,1050 +1355,1314 @@ void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object case 1: this.MyTab = ((System.Windows.Controls.TabControl)(target)); - #line 41 "..\..\SettingsControlDemo.xaml" - this.MyTab.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.TabControl_SelectionChanged); + #line 42 "..\..\SettingsControlDemo.xaml" + this.MyTab.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.TabControl_SelectionChanged); + + #line default + #line hidden + return; + case 2: + this.tabPedalSelection_clutch = ((System.Windows.Controls.TabItem)(target)); + return; + case 3: + this.tabPedalSelection_brake = ((System.Windows.Controls.TabItem)(target)); + return; + case 4: + this.tabPedalSelection_accelerator = ((System.Windows.Controls.TabItem)(target)); + return; + case 5: + this.TextBox_debugOutput = ((System.Windows.Controls.TextBox)(target)); + return; + case 6: + this.text_serial = ((System.Windows.Controls.TextBlock)(target)); + return; + case 7: + this.TextBox_serialMonitor = ((System.Windows.Controls.TextBox)(target)); + return; + case 8: + this.canvas = ((System.Windows.Controls.Canvas)(target)); + return; + case 9: + this.text_point_pos = ((System.Windows.Controls.TextBlock)(target)); + return; + case 10: + this.Serial_port_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 11: + this.Polyline_BrakeForceCurve = ((System.Windows.Shapes.Polyline)(target)); + return; + case 12: + this.text_SABS = ((System.Windows.Controls.TextBlock)(target)); + return; + case 13: + this.rect_SABS = ((System.Windows.Shapes.Rectangle)(target)); + return; + case 14: + this.rect_SABS_Control = ((System.Windows.Shapes.Rectangle)(target)); + + #line 253 "..\..\SettingsControlDemo.xaml" + this.rect_SABS_Control.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 253 "..\..\SettingsControlDemo.xaml" + this.rect_SABS_Control.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_ABS); + + #line default + #line hidden + + #line 253 "..\..\SettingsControlDemo.xaml" + this.rect_SABS_Control.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 15: + this.rect_BP_Control = ((System.Windows.Shapes.Rectangle)(target)); + + #line 254 "..\..\SettingsControlDemo.xaml" + this.rect_BP_Control.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 254 "..\..\SettingsControlDemo.xaml" + this.rect_BP_Control.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + + #line default + #line hidden + + #line 254 "..\..\SettingsControlDemo.xaml" + this.rect_BP_Control.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 16: + this.rect_State = ((System.Windows.Shapes.Rectangle)(target)); + return; + case 17: + this.text_state = ((System.Windows.Controls.TextBlock)(target)); + return; + case 18: + this.rect0 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 257 "..\..\SettingsControlDemo.xaml" + this.rect0.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 257 "..\..\SettingsControlDemo.xaml" + this.rect0.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 257 "..\..\SettingsControlDemo.xaml" + this.rect0.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 19: + this.rect1 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 258 "..\..\SettingsControlDemo.xaml" + this.rect1.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 258 "..\..\SettingsControlDemo.xaml" + this.rect1.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 258 "..\..\SettingsControlDemo.xaml" + this.rect1.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 20: + this.rect2 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 259 "..\..\SettingsControlDemo.xaml" + this.rect2.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 259 "..\..\SettingsControlDemo.xaml" + this.rect2.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 259 "..\..\SettingsControlDemo.xaml" + this.rect2.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 21: + this.rect3 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 260 "..\..\SettingsControlDemo.xaml" + this.rect3.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 260 "..\..\SettingsControlDemo.xaml" + this.rect3.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 260 "..\..\SettingsControlDemo.xaml" + this.rect3.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 22: + this.rect4 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 261 "..\..\SettingsControlDemo.xaml" + this.rect4.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 261 "..\..\SettingsControlDemo.xaml" + this.rect4.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 261 "..\..\SettingsControlDemo.xaml" + this.rect4.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 23: + this.rect5 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 262 "..\..\SettingsControlDemo.xaml" + this.rect5.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 262 "..\..\SettingsControlDemo.xaml" + this.rect5.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 262 "..\..\SettingsControlDemo.xaml" + this.rect5.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 2: - this.tabPedalSelection_clutch = ((System.Windows.Controls.TabItem)(target)); - return; - case 3: - this.tabPedalSelection_brake = ((System.Windows.Controls.TabItem)(target)); + case 24: + this.text_BP = ((System.Windows.Controls.TextBlock)(target)); return; - case 4: - this.tabPedalSelection_accelerator = ((System.Windows.Controls.TabItem)(target)); + case 25: + this.canvas_vert_slider = ((System.Windows.Controls.Canvas)(target)); return; - case 5: - this.TextBox_debugOutput = ((System.Windows.Controls.TextBox)(target)); + case 26: + this.text_min_force = ((System.Windows.Controls.TextBlock)(target)); return; - case 6: - this.text_serial = ((System.Windows.Controls.TextBlock)(target)); + case 27: + this.text_max_force = ((System.Windows.Controls.TextBlock)(target)); return; - case 7: - this.TextBox_serialMonitor = ((System.Windows.Controls.TextBox)(target)); + case 28: + this.Line_V_force = ((System.Windows.Shapes.Line)(target)); return; - case 8: - this.checkbox_enable_RPM = ((System.Windows.Controls.CheckBox)(target)); + case 29: + this.rect8 = ((System.Windows.Shapes.Rectangle)(target)); - #line 164 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_RPM.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Checked); + #line 325 "..\..\SettingsControlDemo.xaml" + this.rect8.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 164 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_RPM.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Unchecked); + #line 325 "..\..\SettingsControlDemo.xaml" + this.rect8.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_V); + + #line default + #line hidden + + #line 325 "..\..\SettingsControlDemo.xaml" + this.rect8.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 9: - this.canvas_horz_RPM_AMP = ((System.Windows.Controls.Canvas)(target)); - return; - case 10: - this.text_RPM_AMP = ((System.Windows.Controls.TextBlock)(target)); - return; - case 11: - this.Line_H_RPM_AMP = ((System.Windows.Shapes.Line)(target)); - return; - case 12: - this.rect_RPM_AMP = ((System.Windows.Shapes.Rectangle)(target)); + case 30: + this.rect9 = ((System.Windows.Shapes.Rectangle)(target)); - #line 196 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_AMP.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 326 "..\..\SettingsControlDemo.xaml" + this.rect9.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 196 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_AMP.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 326 "..\..\SettingsControlDemo.xaml" + this.rect9.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_V); #line default #line hidden - #line 196 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_AMP.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 326 "..\..\SettingsControlDemo.xaml" + this.rect9.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 13: - this.text_RPM_AMP_text = ((System.Windows.Controls.TextBlock)(target)); + case 31: + this.canvas_horz_slider = ((System.Windows.Controls.Canvas)(target)); return; - case 14: - this.canvas_horz_RPM_freq = ((System.Windows.Controls.Canvas)(target)); + case 32: + this.text_min_pos = ((System.Windows.Controls.TextBlock)(target)); return; - case 15: - this.text_RPM_freq_min = ((System.Windows.Controls.TextBlock)(target)); + case 33: + this.text_max_pos = ((System.Windows.Controls.TextBlock)(target)); return; - case 16: - this.text_RPM_freq_max = ((System.Windows.Controls.TextBlock)(target)); + case 34: + this.text_position = ((System.Windows.Controls.TextBlock)(target)); return; - case 17: - this.Line_H_RPM_freq = ((System.Windows.Shapes.Line)(target)); + case 35: + this.Line_H_pos = ((System.Windows.Shapes.Line)(target)); return; - case 18: - this.rect_RPM_min = ((System.Windows.Shapes.Rectangle)(target)); + case 36: + this.rect6 = ((System.Windows.Shapes.Rectangle)(target)); - #line 259 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_min.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 393 "..\..\SettingsControlDemo.xaml" + this.rect6.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 259 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_min.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H_RPM); + #line 393 "..\..\SettingsControlDemo.xaml" + this.rect6.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H); #line default #line hidden - #line 259 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_min.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 393 "..\..\SettingsControlDemo.xaml" + this.rect6.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 19: - this.rect_RPM_max = ((System.Windows.Shapes.Rectangle)(target)); + case 37: + this.rect7 = ((System.Windows.Shapes.Rectangle)(target)); - #line 260 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_max.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 394 "..\..\SettingsControlDemo.xaml" + this.rect7.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 260 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_max.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H_RPM); + #line 394 "..\..\SettingsControlDemo.xaml" + this.rect7.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H); #line default #line hidden - #line 260 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_max.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 394 "..\..\SettingsControlDemo.xaml" + this.rect7.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 20: - this.text_RPM_freq_text = ((System.Windows.Controls.TextBlock)(target)); + case 38: + this.info_label = ((System.Windows.Controls.Label)(target)); return; - case 21: - this.checkbox_enable_ABS = ((System.Windows.Controls.CheckBox)(target)); + case 39: + this.info_label_2 = ((System.Windows.Controls.Label)(target)); + return; + case 40: + this.SerialPortSelection = ((System.Windows.Controls.ComboBox)(target)); - #line 282 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_ABS.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_ABS_Checked); + #line 405 "..\..\SettingsControlDemo.xaml" + this.SerialPortSelection.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.SerialPortSelectionChanged); #line default #line hidden + return; + case 41: + this.ConnectToPedal = ((System.Windows.Controls.CheckBox)(target)); + return; + case 42: + this.btn_pedal_connect = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 282 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_ABS.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_ABS_Unchecked); + #line 413 "..\..\SettingsControlDemo.xaml" + this.btn_pedal_connect.Click += new System.Windows.RoutedEventHandler(this.ConnectToPedal_click); #line default #line hidden return; - case 22: - this.AbsPattern = ((System.Windows.Controls.ComboBox)(target)); + case 43: + this.btn_update = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 284 "..\..\SettingsControlDemo.xaml" - this.AbsPattern.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.AbsPatternChanged); + #line 414 "..\..\SettingsControlDemo.xaml" + this.btn_update.Click += new System.Windows.RoutedEventHandler(this.UpdateSerialPortList_click); #line default #line hidden return; - case 23: + case 44: - #line 291 "..\..\SettingsControlDemo.xaml" - ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.TestAbs_click); + #line 415 "..\..\SettingsControlDemo.xaml" + ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.SendConfigToPedal_click); #line default #line hidden return; - case 24: - this.TestAbs_check = ((System.Windows.Controls.CheckBox)(target)); - return; - case 25: - this.EffectAppliedOnForceOrTravel_combobox = ((System.Windows.Controls.ComboBox)(target)); + case 45: - #line 298 "..\..\SettingsControlDemo.xaml" - this.EffectAppliedOnForceOrTravel_combobox.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.EffectAppliedOnForceOrTravel_combobox_changed); + #line 416 "..\..\SettingsControlDemo.xaml" + ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.ReadConfigFromPedal_click); #line default #line hidden return; - case 26: - this.Simulate_ABS_check = ((System.Windows.Controls.CheckBox)(target)); + case 46: - #line 305 "..\..\SettingsControlDemo.xaml" - this.Simulate_ABS_check.Checked += new System.Windows.RoutedEventHandler(this.Simulate_ABS_check_Checked); + #line 417 "..\..\SettingsControlDemo.xaml" + ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.OpenButton_Click); #line default #line hidden + return; + case 47: - #line 305 "..\..\SettingsControlDemo.xaml" - this.Simulate_ABS_check.Unchecked += new System.Windows.RoutedEventHandler(this.Simulate_ABS_check_Unchecked); + #line 418 "..\..\SettingsControlDemo.xaml" + ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.SaveButton_Click); #line default #line hidden return; - case 27: - this.canvas_horz_ABS = ((System.Windows.Controls.Canvas)(target)); - return; - case 28: - this.text_ABS = ((System.Windows.Controls.TextBlock)(target)); - return; - case 29: - this.Line_H_ABS = ((System.Windows.Shapes.Line)(target)); + case 48: + this.TextBox2 = ((System.Windows.Controls.TextBox)(target)); return; - case 30: - this.rect_ABS = ((System.Windows.Shapes.Rectangle)(target)); + case 49: + this.checkbox_auto_connect = ((System.Windows.Controls.CheckBox)(target)); - #line 337 "..\..\SettingsControlDemo.xaml" - this.rect_ABS.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 420 "..\..\SettingsControlDemo.xaml" + this.checkbox_auto_connect.Checked += new System.Windows.RoutedEventHandler(this.checkbox_auto_connect_Checked); #line default #line hidden - #line 337 "..\..\SettingsControlDemo.xaml" - this.rect_ABS.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 420 "..\..\SettingsControlDemo.xaml" + this.checkbox_auto_connect.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_auto_connect_Unchecked); #line default #line hidden + return; + case 50: + this.checkbox_pedal_read = ((System.Windows.Controls.CheckBox)(target)); - #line 337 "..\..\SettingsControlDemo.xaml" - this.rect_ABS.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 421 "..\..\SettingsControlDemo.xaml" + this.checkbox_pedal_read.Checked += new System.Windows.RoutedEventHandler(this.CheckBox_Checked); #line default #line hidden - return; - case 31: - this.text_ABS_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 32: - this.canvas_horz_ABS_freq = ((System.Windows.Controls.Canvas)(target)); - return; - case 33: - this.text_ABS_freq = ((System.Windows.Controls.TextBlock)(target)); - return; - case 34: - this.Line_H_ABS_freq = ((System.Windows.Shapes.Line)(target)); - return; - case 35: - this.rect_ABS_freq = ((System.Windows.Shapes.Rectangle)(target)); - #line 381 "..\..\SettingsControlDemo.xaml" - this.rect_ABS_freq.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 421 "..\..\SettingsControlDemo.xaml" + this.checkbox_pedal_read.Unchecked += new System.Windows.RoutedEventHandler(this.CheckBox_Unchecked); #line default #line hidden + return; + case 51: + this.Vjoy_out_check = ((System.Windows.Controls.CheckBox)(target)); - #line 381 "..\..\SettingsControlDemo.xaml" - this.rect_ABS_freq.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 422 "..\..\SettingsControlDemo.xaml" + this.Vjoy_out_check.Checked += new System.Windows.RoutedEventHandler(this.Vjoy_out_check_Checked); #line default #line hidden - #line 381 "..\..\SettingsControlDemo.xaml" - this.rect_ABS_freq.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 422 "..\..\SettingsControlDemo.xaml" + this.Vjoy_out_check.Unchecked += new System.Windows.RoutedEventHandler(this.Vjoy_out_check_Unchecked); #line default #line hidden return; - case 36: - this.text_ABS_freq_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 37: - this.dynamic_PID_checkbox = ((System.Windows.Controls.CheckBox)(target)); + case 52: + this.btn_plus = ((System.Windows.Controls.Button)(target)); - #line 408 "..\..\SettingsControlDemo.xaml" - this.dynamic_PID_checkbox.Checked += new System.Windows.RoutedEventHandler(this.PID_type_checkbox_Checked); + #line 424 "..\..\SettingsControlDemo.xaml" + this.btn_plus.Click += new System.Windows.RoutedEventHandler(this.vjoy_plus_click); #line default #line hidden + return; + case 53: + this.Label_vjoy_order = ((System.Windows.Controls.Label)(target)); + return; + case 54: + this.btn_minus = ((System.Windows.Controls.Button)(target)); - #line 408 "..\..\SettingsControlDemo.xaml" - this.dynamic_PID_checkbox.Unchecked += new System.Windows.RoutedEventHandler(this.PID_type_checkbox_Unchecked); + #line 426 "..\..\SettingsControlDemo.xaml" + this.btn_minus.Click += new System.Windows.RoutedEventHandler(this.vjoy_minus_click); #line default #line hidden return; - case 38: - this.JoystickOutput_check = ((System.Windows.Controls.CheckBox)(target)); + case 55: + this.Debug_check = ((System.Windows.Controls.CheckBox)(target)); - #line 411 "..\..\SettingsControlDemo.xaml" - this.JoystickOutput_check.Checked += new System.Windows.RoutedEventHandler(this.JoystickOutput_checked); + #line 430 "..\..\SettingsControlDemo.xaml" + this.Debug_check.Checked += new System.Windows.RoutedEventHandler(this.Debug_checkbox_Checked); #line default #line hidden - #line 411 "..\..\SettingsControlDemo.xaml" - this.JoystickOutput_check.Unchecked += new System.Windows.RoutedEventHandler(this.JoystickOutput_unchecked); + #line 430 "..\..\SettingsControlDemo.xaml" + this.Debug_check.Unchecked += new System.Windows.RoutedEventHandler(this.Debug_checkbox_Unchecked); #line default #line hidden return; - case 39: - this.InvertLoadcellReading_check = ((System.Windows.Controls.CheckBox)(target)); + case 56: + this.text_debug_flag = ((System.Windows.Controls.TextBlock)(target)); + return; + case 57: + this.textBox_debug_Flag_0 = ((System.Windows.Controls.TextBox)(target)); - #line 413 "..\..\SettingsControlDemo.xaml" - this.InvertLoadcellReading_check.Checked += new System.Windows.RoutedEventHandler(this.InvertLoadcellReading_checked); + #line 440 "..\..\SettingsControlDemo.xaml" + this.textBox_debug_Flag_0.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumericTextBox_PreviewTextInput); #line default #line hidden - #line 413 "..\..\SettingsControlDemo.xaml" - this.InvertLoadcellReading_check.Unchecked += new System.Windows.RoutedEventHandler(this.InvertLoadcellReading_unchecked); + #line 440 "..\..\SettingsControlDemo.xaml" + this.textBox_debug_Flag_0.TextChanged += new System.Windows.Controls.TextChangedEventHandler(this.NumericTextBox_TextChanged); #line default #line hidden return; - case 40: - this.canvas_horz_damping = ((System.Windows.Controls.Canvas)(target)); - return; - case 41: - this.text_damping = ((System.Windows.Controls.TextBlock)(target)); - return; - case 42: - this.text_damping_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 43: - this.Line_H_damping = ((System.Windows.Shapes.Line)(target)); - return; - case 44: - this.rect_damping = ((System.Windows.Shapes.Rectangle)(target)); + case 58: + this.dump_pedal_response_to_file = ((System.Windows.Controls.CheckBox)(target)); - #line 466 "..\..\SettingsControlDemo.xaml" - this.rect_damping.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 441 "..\..\SettingsControlDemo.xaml" + this.dump_pedal_response_to_file.Checked += new System.Windows.RoutedEventHandler(this.dump_pedal_response_to_file_checked); #line default #line hidden - #line 466 "..\..\SettingsControlDemo.xaml" - this.rect_damping.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 441 "..\..\SettingsControlDemo.xaml" + this.dump_pedal_response_to_file.Unchecked += new System.Windows.RoutedEventHandler(this.dump_pedal_response_to_file_unchecked); #line default #line hidden + return; + case 59: + this.button_pedal_position_reset = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 466 "..\..\SettingsControlDemo.xaml" - this.rect_damping.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 442 "..\..\SettingsControlDemo.xaml" + this.button_pedal_position_reset.Click += new System.Windows.RoutedEventHandler(this.ResetPedalPosition_click); #line default #line hidden return; - case 45: - this.canvas_horz_KF = ((System.Windows.Controls.Canvas)(target)); - return; - case 46: - this.text_KF = ((System.Windows.Controls.TextBlock)(target)); - return; - case 47: - this.text_KF_text = ((System.Windows.Controls.TextBlock)(target)); + case 60: + this.button_pedal_restart = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + + #line 443 "..\..\SettingsControlDemo.xaml" + this.button_pedal_restart.Click += new System.Windows.RoutedEventHandler(this.RestartPedal_click); + + #line default + #line hidden return; - case 48: - this.Line_H_KF = ((System.Windows.Shapes.Line)(target)); + case 61: + this.btn_system_id = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + + #line 444 "..\..\SettingsControlDemo.xaml" + this.btn_system_id.Click += new System.Windows.RoutedEventHandler(this.StartSystemIdentification_click); + + #line default + #line hidden return; - case 49: - this.rect_KF = ((System.Windows.Shapes.Rectangle)(target)); + case 62: + this.btn_reset_default = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 511 "..\..\SettingsControlDemo.xaml" - this.rect_KF.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 445 "..\..\SettingsControlDemo.xaml" + this.btn_reset_default.Click += new System.Windows.RoutedEventHandler(this.btn_reset_default_Click); #line default #line hidden + return; + case 63: + this.checkbox_enable_ABS = ((System.Windows.Controls.CheckBox)(target)); - #line 511 "..\..\SettingsControlDemo.xaml" - this.rect_KF.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 501 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_ABS.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_ABS_Checked); #line default #line hidden - #line 511 "..\..\SettingsControlDemo.xaml" - this.rect_KF.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 501 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_ABS.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_ABS_Unchecked); #line default #line hidden return; - case 50: - this.canvas_horz_LC_rating = ((System.Windows.Controls.Canvas)(target)); + case 64: + this.AbsPattern = ((System.Windows.Controls.ComboBox)(target)); + + #line 503 "..\..\SettingsControlDemo.xaml" + this.AbsPattern.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.AbsPatternChanged); + + #line default + #line hidden return; - case 51: - this.text_LC_rating = ((System.Windows.Controls.TextBlock)(target)); + case 65: + + #line 507 "..\..\SettingsControlDemo.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.TestAbs_click); + + #line default + #line hidden return; - case 52: - this.Line_H_LC_rating = ((System.Windows.Shapes.Line)(target)); + case 66: + this.TestAbs_check = ((System.Windows.Controls.CheckBox)(target)); return; - case 53: - this.rect_LC_rating = ((System.Windows.Shapes.Rectangle)(target)); + case 67: + this.EffectAppliedOnForceOrTravel_combobox = ((System.Windows.Controls.ComboBox)(target)); - #line 544 "..\..\SettingsControlDemo.xaml" - this.rect_LC_rating.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 514 "..\..\SettingsControlDemo.xaml" + this.EffectAppliedOnForceOrTravel_combobox.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.EffectAppliedOnForceOrTravel_combobox_changed); #line default #line hidden + return; + case 68: + this.Simulate_ABS_check = ((System.Windows.Controls.CheckBox)(target)); - #line 544 "..\..\SettingsControlDemo.xaml" - this.rect_LC_rating.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 518 "..\..\SettingsControlDemo.xaml" + this.Simulate_ABS_check.Checked += new System.Windows.RoutedEventHandler(this.Simulate_ABS_check_Checked); #line default #line hidden - #line 544 "..\..\SettingsControlDemo.xaml" - this.rect_LC_rating.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 518 "..\..\SettingsControlDemo.xaml" + this.Simulate_ABS_check.Unchecked += new System.Windows.RoutedEventHandler(this.Simulate_ABS_check_Unchecked); #line default #line hidden return; - case 54: - this.text_LC_rating_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 55: - this.canvas_horz_max_game = ((System.Windows.Controls.Canvas)(target)); + case 69: + this.canvas_horz_ABS = ((System.Windows.Controls.Canvas)(target)); return; - case 56: - this.text_max_game = ((System.Windows.Controls.TextBlock)(target)); + case 70: + this.text_ABS = ((System.Windows.Controls.TextBlock)(target)); return; - case 57: - this.Line_H_max_game = ((System.Windows.Shapes.Line)(target)); + case 71: + this.Line_H_ABS = ((System.Windows.Shapes.Line)(target)); return; - case 58: - this.rect_max_game = ((System.Windows.Shapes.Rectangle)(target)); + case 72: + this.rect_ABS = ((System.Windows.Shapes.Rectangle)(target)); - #line 588 "..\..\SettingsControlDemo.xaml" - this.rect_max_game.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 547 "..\..\SettingsControlDemo.xaml" + this.rect_ABS.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 588 "..\..\SettingsControlDemo.xaml" - this.rect_max_game.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 547 "..\..\SettingsControlDemo.xaml" + this.rect_ABS.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 588 "..\..\SettingsControlDemo.xaml" - this.rect_max_game.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 547 "..\..\SettingsControlDemo.xaml" + this.rect_ABS.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 59: - this.text_max_game_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 60: - this.canvas = ((System.Windows.Controls.Canvas)(target)); - return; - case 61: - this.text_point_pos = ((System.Windows.Controls.TextBlock)(target)); + case 73: + this.text_ABS_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 62: - this.Polyline_BrakeForceCurve = ((System.Windows.Shapes.Polyline)(target)); + case 74: + this.canvas_horz_ABS_freq = ((System.Windows.Controls.Canvas)(target)); return; - case 63: - this.text_SABS = ((System.Windows.Controls.TextBlock)(target)); + case 75: + this.text_ABS_freq = ((System.Windows.Controls.TextBlock)(target)); return; - case 64: - this.rect_SABS = ((System.Windows.Shapes.Rectangle)(target)); + case 76: + this.Line_H_ABS_freq = ((System.Windows.Shapes.Line)(target)); return; - case 65: - this.rect_SABS_Control = ((System.Windows.Shapes.Rectangle)(target)); + case 77: + this.rect_ABS_freq = ((System.Windows.Shapes.Rectangle)(target)); - #line 705 "..\..\SettingsControlDemo.xaml" - this.rect_SABS_Control.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 586 "..\..\SettingsControlDemo.xaml" + this.rect_ABS_freq.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 705 "..\..\SettingsControlDemo.xaml" - this.rect_SABS_Control.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_ABS); + #line 586 "..\..\SettingsControlDemo.xaml" + this.rect_ABS_freq.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 705 "..\..\SettingsControlDemo.xaml" - this.rect_SABS_Control.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 586 "..\..\SettingsControlDemo.xaml" + this.rect_ABS_freq.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 66: - this.rect_State = ((System.Windows.Shapes.Rectangle)(target)); + case 78: + this.text_ABS_freq_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 67: - this.rect0 = ((System.Windows.Shapes.Rectangle)(target)); - - #line 707 "..\..\SettingsControlDemo.xaml" - this.rect0.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); - - #line default - #line hidden + case 79: + this.checkbox_enable_RPM = ((System.Windows.Controls.CheckBox)(target)); - #line 707 "..\..\SettingsControlDemo.xaml" - this.rect0.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 615 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_RPM.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Checked); #line default #line hidden - #line 707 "..\..\SettingsControlDemo.xaml" - this.rect0.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 615 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_RPM.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Unchecked); #line default #line hidden return; - case 68: - this.rect1 = ((System.Windows.Shapes.Rectangle)(target)); + case 80: + this.canvas_horz_RPM_AMP = ((System.Windows.Controls.Canvas)(target)); + return; + case 81: + this.text_RPM_AMP = ((System.Windows.Controls.TextBlock)(target)); + return; + case 82: + this.Line_H_RPM_AMP = ((System.Windows.Shapes.Line)(target)); + return; + case 83: + this.rect_RPM_AMP = ((System.Windows.Shapes.Rectangle)(target)); - #line 708 "..\..\SettingsControlDemo.xaml" - this.rect1.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 644 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_AMP.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 708 "..\..\SettingsControlDemo.xaml" - this.rect1.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 644 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_AMP.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 708 "..\..\SettingsControlDemo.xaml" - this.rect1.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 644 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_AMP.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 69: - this.rect2 = ((System.Windows.Shapes.Rectangle)(target)); + case 84: + this.text_RPM_AMP_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 85: + this.canvas_horz_RPM_freq = ((System.Windows.Controls.Canvas)(target)); + return; + case 86: + this.text_RPM_freq_min = ((System.Windows.Controls.TextBlock)(target)); + return; + case 87: + this.text_RPM_freq_max = ((System.Windows.Controls.TextBlock)(target)); + return; + case 88: + this.Line_H_RPM_freq = ((System.Windows.Shapes.Line)(target)); + return; + case 89: + this.rect_RPM_min = ((System.Windows.Shapes.Rectangle)(target)); - #line 709 "..\..\SettingsControlDemo.xaml" - this.rect2.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 697 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_min.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 709 "..\..\SettingsControlDemo.xaml" - this.rect2.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 697 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_min.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H_RPM); #line default #line hidden - #line 709 "..\..\SettingsControlDemo.xaml" - this.rect2.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 697 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_min.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 70: - this.rect3 = ((System.Windows.Shapes.Rectangle)(target)); + case 90: + this.rect_RPM_max = ((System.Windows.Shapes.Rectangle)(target)); - #line 710 "..\..\SettingsControlDemo.xaml" - this.rect3.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 698 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_max.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 710 "..\..\SettingsControlDemo.xaml" - this.rect3.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 698 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_max.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H_RPM); #line default #line hidden - #line 710 "..\..\SettingsControlDemo.xaml" - this.rect3.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 698 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_max.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 71: - this.rect4 = ((System.Windows.Shapes.Rectangle)(target)); - - #line 711 "..\..\SettingsControlDemo.xaml" - this.rect4.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); - - #line default - #line hidden + case 91: + this.text_RPM_freq_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 92: + this.checkbox_enable_bite_point = ((System.Windows.Controls.CheckBox)(target)); - #line 711 "..\..\SettingsControlDemo.xaml" - this.rect4.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 727 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_bite_point.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_bite_point_Checked); #line default #line hidden - #line 711 "..\..\SettingsControlDemo.xaml" - this.rect4.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 727 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_bite_point.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_bite_point_Unchecked); #line default #line hidden return; - case 72: - this.rect5 = ((System.Windows.Shapes.Rectangle)(target)); + case 93: + this.canvas_horz_bite_amp = ((System.Windows.Controls.Canvas)(target)); + return; + case 94: + this.text_bite_amp = ((System.Windows.Controls.TextBlock)(target)); + return; + case 95: + this.Line_H_bite_amp = ((System.Windows.Shapes.Line)(target)); + return; + case 96: + this.rect_bite_amp = ((System.Windows.Shapes.Rectangle)(target)); - #line 712 "..\..\SettingsControlDemo.xaml" - this.rect5.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 756 "..\..\SettingsControlDemo.xaml" + this.rect_bite_amp.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 712 "..\..\SettingsControlDemo.xaml" - this.rect5.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 756 "..\..\SettingsControlDemo.xaml" + this.rect_bite_amp.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 712 "..\..\SettingsControlDemo.xaml" - this.rect5.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 756 "..\..\SettingsControlDemo.xaml" + this.rect_bite_amp.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 73: - this.canvas_vert_slider = ((System.Windows.Controls.Canvas)(target)); + case 97: + this.text_bite_amp_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 74: - this.text_min_force = ((System.Windows.Controls.TextBlock)(target)); + case 98: + this.canvas_horz_bite_freq = ((System.Windows.Controls.Canvas)(target)); return; - case 75: - this.text_max_force = ((System.Windows.Controls.TextBlock)(target)); + case 99: + this.text_bite_freq = ((System.Windows.Controls.TextBlock)(target)); return; - case 76: - this.Line_V_force = ((System.Windows.Shapes.Line)(target)); + case 100: + this.Line_H_bite_freq = ((System.Windows.Shapes.Line)(target)); return; - case 77: - this.rect8 = ((System.Windows.Shapes.Rectangle)(target)); + case 101: + this.rect_bite_freq = ((System.Windows.Shapes.Rectangle)(target)); - #line 766 "..\..\SettingsControlDemo.xaml" - this.rect8.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 795 "..\..\SettingsControlDemo.xaml" + this.rect_bite_freq.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 766 "..\..\SettingsControlDemo.xaml" - this.rect8.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_V); + #line 795 "..\..\SettingsControlDemo.xaml" + this.rect_bite_freq.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 766 "..\..\SettingsControlDemo.xaml" - this.rect8.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 795 "..\..\SettingsControlDemo.xaml" + this.rect_bite_freq.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 78: - this.rect9 = ((System.Windows.Shapes.Rectangle)(target)); - - #line 767 "..\..\SettingsControlDemo.xaml" - this.rect9.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); - - #line default - #line hidden + case 102: + this.text_bite_freq_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 103: + this.checkbox_enable_G_force = ((System.Windows.Controls.CheckBox)(target)); - #line 767 "..\..\SettingsControlDemo.xaml" - this.rect9.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_V); + #line 824 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_G_force.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_G_force_Checked); #line default #line hidden - #line 767 "..\..\SettingsControlDemo.xaml" - this.rect9.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 824 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_G_force.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_G_force_Unchecked); #line default #line hidden return; - case 79: - this.canvas_horz_slider = ((System.Windows.Controls.Canvas)(target)); - return; - case 80: - this.text_min_pos = ((System.Windows.Controls.TextBlock)(target)); - return; - case 81: - this.text_max_pos = ((System.Windows.Controls.TextBlock)(target)); + case 104: + this.canvas_horz_G_force_multi = ((System.Windows.Controls.Canvas)(target)); return; - case 82: - this.text_position = ((System.Windows.Controls.TextBlock)(target)); + case 105: + this.text_G_multi = ((System.Windows.Controls.TextBlock)(target)); return; - case 83: - this.Line_H_pos = ((System.Windows.Shapes.Line)(target)); + case 106: + this.Line_G_force_multi = ((System.Windows.Shapes.Line)(target)); return; - case 84: - this.rect6 = ((System.Windows.Shapes.Rectangle)(target)); + case 107: + this.rect_G_force_multi = ((System.Windows.Shapes.Rectangle)(target)); - #line 834 "..\..\SettingsControlDemo.xaml" - this.rect6.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 853 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_multi.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 834 "..\..\SettingsControlDemo.xaml" - this.rect6.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H); + #line 853 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_multi.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 834 "..\..\SettingsControlDemo.xaml" - this.rect6.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 853 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_multi.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 85: - this.rect7 = ((System.Windows.Shapes.Rectangle)(target)); + case 108: + this.text_G_force_multi_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 109: + this.canvas_horz_G_force_window = ((System.Windows.Controls.Canvas)(target)); + return; + case 110: + this.text_G_window = ((System.Windows.Controls.TextBlock)(target)); + return; + case 111: + this.Line_G_force_window = ((System.Windows.Shapes.Line)(target)); + return; + case 112: + this.rect_G_force_window = ((System.Windows.Shapes.Rectangle)(target)); - #line 835 "..\..\SettingsControlDemo.xaml" - this.rect7.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 892 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_window.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 835 "..\..\SettingsControlDemo.xaml" - this.rect7.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H); + #line 892 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_window.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 835 "..\..\SettingsControlDemo.xaml" - this.rect7.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 892 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_window.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 86: - this.info_label = ((System.Windows.Controls.Label)(target)); - return; - case 87: - this.info_label_2 = ((System.Windows.Controls.Label)(target)); + case 113: + this.text_G_force_window_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 88: - this.SerialPortSelection = ((System.Windows.Controls.ComboBox)(target)); + case 114: + this.JoystickOutput_check = ((System.Windows.Controls.CheckBox)(target)); - #line 846 "..\..\SettingsControlDemo.xaml" - this.SerialPortSelection.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.SerialPortSelectionChanged); + #line 961 "..\..\SettingsControlDemo.xaml" + this.JoystickOutput_check.Checked += new System.Windows.RoutedEventHandler(this.JoystickOutput_checked); #line default #line hidden - return; - case 89: - this.ConnectToPedal = ((System.Windows.Controls.CheckBox)(target)); - return; - case 90: - this.btn_pedal_connect = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 854 "..\..\SettingsControlDemo.xaml" - this.btn_pedal_connect.Click += new System.Windows.RoutedEventHandler(this.ConnectToPedal_click); + #line 961 "..\..\SettingsControlDemo.xaml" + this.JoystickOutput_check.Unchecked += new System.Windows.RoutedEventHandler(this.JoystickOutput_unchecked); #line default #line hidden return; - case 91: - this.btn_update = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + case 115: + this.InvertLoadcellReading_check = ((System.Windows.Controls.CheckBox)(target)); - #line 855 "..\..\SettingsControlDemo.xaml" - this.btn_update.Click += new System.Windows.RoutedEventHandler(this.UpdateSerialPortList_click); + #line 962 "..\..\SettingsControlDemo.xaml" + this.InvertLoadcellReading_check.Checked += new System.Windows.RoutedEventHandler(this.InvertLoadcellReading_checked); #line default #line hidden - return; - case 92: - #line 856 "..\..\SettingsControlDemo.xaml" - ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.SendConfigToPedal_click); + #line 962 "..\..\SettingsControlDemo.xaml" + this.InvertLoadcellReading_check.Unchecked += new System.Windows.RoutedEventHandler(this.InvertLoadcellReading_unchecked); #line default #line hidden return; - case 93: + case 116: + this.SpindlePitch = ((System.Windows.Controls.ComboBox)(target)); - #line 857 "..\..\SettingsControlDemo.xaml" - ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.ReadConfigFromPedal_click); + #line 965 "..\..\SettingsControlDemo.xaml" + this.SpindlePitch.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.SpindlePitchChanged); #line default #line hidden return; - case 94: + case 117: + this.canvas_horz_damping = ((System.Windows.Controls.Canvas)(target)); + return; + case 118: + this.text_damping = ((System.Windows.Controls.TextBlock)(target)); + return; + case 119: + this.text_damping_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 120: + this.Line_H_damping = ((System.Windows.Shapes.Line)(target)); + return; + case 121: + this.rect_damping = ((System.Windows.Shapes.Rectangle)(target)); - #line 858 "..\..\SettingsControlDemo.xaml" - ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.OpenButton_Click); + #line 1021 "..\..\SettingsControlDemo.xaml" + this.rect_damping.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 95: - #line 859 "..\..\SettingsControlDemo.xaml" - ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.SaveButton_Click); + #line 1021 "..\..\SettingsControlDemo.xaml" + this.rect_damping.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - return; - case 96: - this.TextBox2 = ((System.Windows.Controls.TextBox)(target)); - return; - case 97: - this.checkbox_auto_connect = ((System.Windows.Controls.CheckBox)(target)); - #line 861 "..\..\SettingsControlDemo.xaml" - this.checkbox_auto_connect.Checked += new System.Windows.RoutedEventHandler(this.checkbox_auto_connect_Checked); + #line 1021 "..\..\SettingsControlDemo.xaml" + this.rect_damping.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden + return; + case 122: + this.canvas_horz_LC_rating = ((System.Windows.Controls.Canvas)(target)); + return; + case 123: + this.text_LC_rating = ((System.Windows.Controls.TextBlock)(target)); + return; + case 124: + this.Line_H_LC_rating = ((System.Windows.Shapes.Line)(target)); + return; + case 125: + this.rect_LC_rating = ((System.Windows.Shapes.Rectangle)(target)); - #line 861 "..\..\SettingsControlDemo.xaml" - this.checkbox_auto_connect.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_auto_connect_Unchecked); + #line 1056 "..\..\SettingsControlDemo.xaml" + this.rect_LC_rating.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 98: - this.checkbox_pedal_read = ((System.Windows.Controls.CheckBox)(target)); - #line 862 "..\..\SettingsControlDemo.xaml" - this.checkbox_pedal_read.Checked += new System.Windows.RoutedEventHandler(this.CheckBox_Checked); + #line 1056 "..\..\SettingsControlDemo.xaml" + this.rect_LC_rating.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 862 "..\..\SettingsControlDemo.xaml" - this.checkbox_pedal_read.Unchecked += new System.Windows.RoutedEventHandler(this.CheckBox_Unchecked); + #line 1056 "..\..\SettingsControlDemo.xaml" + this.rect_LC_rating.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 99: - this.Vjoy_out_check = ((System.Windows.Controls.CheckBox)(target)); + case 126: + this.text_LC_rating_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 127: + this.canvas_horz_max_game = ((System.Windows.Controls.Canvas)(target)); + return; + case 128: + this.text_max_game = ((System.Windows.Controls.TextBlock)(target)); + return; + case 129: + this.Line_H_max_game = ((System.Windows.Shapes.Line)(target)); + return; + case 130: + this.rect_max_game = ((System.Windows.Shapes.Rectangle)(target)); - #line 863 "..\..\SettingsControlDemo.xaml" - this.Vjoy_out_check.Checked += new System.Windows.RoutedEventHandler(this.Vjoy_out_check_Checked); + #line 1099 "..\..\SettingsControlDemo.xaml" + this.rect_max_game.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 863 "..\..\SettingsControlDemo.xaml" - this.Vjoy_out_check.Unchecked += new System.Windows.RoutedEventHandler(this.Vjoy_out_check_Unchecked); + #line 1099 "..\..\SettingsControlDemo.xaml" + this.rect_max_game.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - return; - case 100: - this.btn_plus = ((System.Windows.Controls.Button)(target)); - #line 865 "..\..\SettingsControlDemo.xaml" - this.btn_plus.Click += new System.Windows.RoutedEventHandler(this.vjoy_plus_click); + #line 1099 "..\..\SettingsControlDemo.xaml" + this.rect_max_game.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 101: - this.Label_vjoy_order = ((System.Windows.Controls.Label)(target)); + case 131: + this.text_max_game_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 102: - this.btn_minus = ((System.Windows.Controls.Button)(target)); + case 132: + this.canvas_horz_KF = ((System.Windows.Controls.Canvas)(target)); + return; + case 133: + this.text_KF = ((System.Windows.Controls.TextBlock)(target)); + return; + case 134: + this.text_KF_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 135: + this.Line_H_KF = ((System.Windows.Shapes.Line)(target)); + return; + case 136: + this.rect_KF = ((System.Windows.Shapes.Rectangle)(target)); - #line 867 "..\..\SettingsControlDemo.xaml" - this.btn_minus.Click += new System.Windows.RoutedEventHandler(this.vjoy_minus_click); + #line 1167 "..\..\SettingsControlDemo.xaml" + this.rect_KF.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 103: - this.Debug_check = ((System.Windows.Controls.CheckBox)(target)); - #line 871 "..\..\SettingsControlDemo.xaml" - this.Debug_check.Checked += new System.Windows.RoutedEventHandler(this.Debug_checkbox_Checked); + #line 1167 "..\..\SettingsControlDemo.xaml" + this.rect_KF.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 871 "..\..\SettingsControlDemo.xaml" - this.Debug_check.Unchecked += new System.Windows.RoutedEventHandler(this.Debug_checkbox_Unchecked); + #line 1167 "..\..\SettingsControlDemo.xaml" + this.rect_KF.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 104: - this.text_debug_flag = ((System.Windows.Controls.TextBlock)(target)); - return; - case 105: - this.textBox_debug_Flag_0 = ((System.Windows.Controls.TextBox)(target)); + case 137: + this.ControlStrategy_Sel_1 = ((System.Windows.Controls.RadioButton)(target)); - #line 881 "..\..\SettingsControlDemo.xaml" - this.textBox_debug_Flag_0.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumericTextBox_PreviewTextInput); + #line 1188 "..\..\SettingsControlDemo.xaml" + this.ControlStrategy_Sel_1.Checked += new System.Windows.RoutedEventHandler(this.StrategySel); #line default #line hidden + return; + case 138: + this.ControlStrategy_Sel_2 = ((System.Windows.Controls.RadioButton)(target)); - #line 881 "..\..\SettingsControlDemo.xaml" - this.textBox_debug_Flag_0.TextChanged += new System.Windows.Controls.TextChangedEventHandler(this.NumericTextBox_TextChanged); + #line 1189 "..\..\SettingsControlDemo.xaml" + this.ControlStrategy_Sel_2.Checked += new System.Windows.RoutedEventHandler(this.StrategySel); #line default #line hidden return; - case 106: - this.button_pedal_position_reset = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + case 139: + this.ControlStrategy_Sel_3 = ((System.Windows.Controls.RadioButton)(target)); - #line 882 "..\..\SettingsControlDemo.xaml" - this.button_pedal_position_reset.Click += new System.Windows.RoutedEventHandler(this.ResetPedalPosition_click); + #line 1190 "..\..\SettingsControlDemo.xaml" + this.ControlStrategy_Sel_3.Checked += new System.Windows.RoutedEventHandler(this.StrategySel); #line default #line hidden return; - case 107: - this.button_pedal_restart = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + case 140: + this.canvas_horz_Pgain = ((System.Windows.Controls.Canvas)(target)); + return; + case 141: + this.text_Pgain = ((System.Windows.Controls.TextBlock)(target)); + return; + case 142: + this.text_Pgain_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 143: + this.Line_H_Pgain = ((System.Windows.Shapes.Line)(target)); + return; + case 144: + this.rect_Pgain = ((System.Windows.Shapes.Rectangle)(target)); - #line 883 "..\..\SettingsControlDemo.xaml" - this.button_pedal_restart.Click += new System.Windows.RoutedEventHandler(this.RestartPedal_click); + #line 1246 "..\..\SettingsControlDemo.xaml" + this.rect_Pgain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 108: - this.btn_system_id = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 884 "..\..\SettingsControlDemo.xaml" - this.btn_system_id.Click += new System.Windows.RoutedEventHandler(this.StartSystemIdentification_click); + #line 1246 "..\..\SettingsControlDemo.xaml" + this.rect_Pgain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - return; - case 109: - this.btn_pedal_disconnect = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 885 "..\..\SettingsControlDemo.xaml" - this.btn_pedal_disconnect.Click += new System.Windows.RoutedEventHandler(this.DisconnectToPedal_click); + #line 1246 "..\..\SettingsControlDemo.xaml" + this.rect_Pgain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 110: - this.text_debug_PID_para = ((System.Windows.Controls.TextBlock)(target)); + case 145: + this.canvas_horz_Igain = ((System.Windows.Controls.Canvas)(target)); return; - case 111: - this.text_debug_pgain = ((System.Windows.Controls.TextBlock)(target)); + case 146: + this.text_Igain = ((System.Windows.Controls.TextBlock)(target)); return; - case 112: - this.PID_tuning_P_gain_slider = ((System.Windows.Controls.Slider)(target)); + case 147: + this.text_Igain_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 148: + this.Line_H_Igain = ((System.Windows.Shapes.Line)(target)); + return; + case 149: + this.rect_Igain = ((System.Windows.Shapes.Rectangle)(target)); - #line 898 "..\..\SettingsControlDemo.xaml" - this.PID_tuning_P_gain_slider.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.PID_tuning_P_gain_changed); + #line 1285 "..\..\SettingsControlDemo.xaml" + this.rect_Igain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 113: - this.text_debug_igain = ((System.Windows.Controls.TextBlock)(target)); - return; - case 114: - this.PID_tuning_I_gain_slider = ((System.Windows.Controls.Slider)(target)); - #line 915 "..\..\SettingsControlDemo.xaml" - this.PID_tuning_I_gain_slider.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.PID_tuning_I_gain_changed); + #line 1285 "..\..\SettingsControlDemo.xaml" + this.rect_Igain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - return; - case 115: - this.text_debug_dgain = ((System.Windows.Controls.TextBlock)(target)); - return; - case 116: - this.PID_tuning_D_gain_slider = ((System.Windows.Controls.Slider)(target)); - #line 931 "..\..\SettingsControlDemo.xaml" - this.PID_tuning_D_gain_slider.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.PID_tuning_D_gain_changed); + #line 1285 "..\..\SettingsControlDemo.xaml" + this.rect_Igain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 117: - this.text_debug_feedforward = ((System.Windows.Controls.TextBlock)(target)); + case 150: + this.canvas_horz_Dgain = ((System.Windows.Controls.Canvas)(target)); return; - case 118: - this.PID_tuning_Feedforward_gain_slider = ((System.Windows.Controls.Slider)(target)); + case 151: + this.text_Dgain = ((System.Windows.Controls.TextBlock)(target)); + return; + case 152: + this.text_Dgain_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 153: + this.Line_H_Dgain = ((System.Windows.Shapes.Line)(target)); + return; + case 154: + this.rect_Dgain = ((System.Windows.Shapes.Rectangle)(target)); - #line 947 "..\..\SettingsControlDemo.xaml" - this.PID_tuning_Feedforward_gain_slider.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.PID_tuning_Feedforward_gain_changed); + #line 1324 "..\..\SettingsControlDemo.xaml" + this.rect_Dgain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 119: - this.checkbox_enable_bite_point = ((System.Windows.Controls.CheckBox)(target)); - #line 963 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_bite_point.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Checked); + #line 1324 "..\..\SettingsControlDemo.xaml" + this.rect_Dgain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 963 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_bite_point.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Unchecked); + #line 1324 "..\..\SettingsControlDemo.xaml" + this.rect_Dgain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 120: - this.canvas_horz_bite_amp = ((System.Windows.Controls.Canvas)(target)); + case 155: + this.canvas_horz_VFgain = ((System.Windows.Controls.Canvas)(target)); return; - case 121: - this.text_bite_amp = ((System.Windows.Controls.TextBlock)(target)); + case 156: + this.text_VFgain = ((System.Windows.Controls.TextBlock)(target)); return; - case 122: - this.Line_H_bite_amp = ((System.Windows.Shapes.Line)(target)); + case 157: + this.text_VFgain_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 123: - this.rect_bite_amp = ((System.Windows.Shapes.Rectangle)(target)); + case 158: + this.Line_H_VFgain = ((System.Windows.Shapes.Line)(target)); + return; + case 159: + this.rect_VFgain = ((System.Windows.Shapes.Rectangle)(target)); - #line 995 "..\..\SettingsControlDemo.xaml" - this.rect_bite_amp.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 1363 "..\..\SettingsControlDemo.xaml" + this.rect_VFgain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 995 "..\..\SettingsControlDemo.xaml" - this.rect_bite_amp.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 1363 "..\..\SettingsControlDemo.xaml" + this.rect_VFgain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 995 "..\..\SettingsControlDemo.xaml" - this.rect_bite_amp.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 1363 "..\..\SettingsControlDemo.xaml" + this.rect_VFgain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 124: - this.text_bite_amp_text = ((System.Windows.Controls.TextBlock)(target)); + case 160: + this.canvas_horz_MPC_0th_order_gain = ((System.Windows.Controls.Canvas)(target)); return; - case 125: - this.canvas_horz_bite_freq = ((System.Windows.Controls.Canvas)(target)); + case 161: + this.text_MPC_0th_order_gain = ((System.Windows.Controls.TextBlock)(target)); return; - case 126: - this.text_bite_freq = ((System.Windows.Controls.TextBlock)(target)); + case 162: + this.text_MPC_0th_order_gain_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 127: - this.Line_H_bite_freq = ((System.Windows.Shapes.Line)(target)); + case 163: + this.Line_H_MPC_0th_order_gain = ((System.Windows.Shapes.Line)(target)); return; - case 128: - this.rect_bite_freq = ((System.Windows.Shapes.Rectangle)(target)); + case 164: + this.rect_MPC_0th_order_gain = ((System.Windows.Shapes.Rectangle)(target)); - #line 1039 "..\..\SettingsControlDemo.xaml" - this.rect_bite_freq.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 1425 "..\..\SettingsControlDemo.xaml" + this.rect_MPC_0th_order_gain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 1039 "..\..\SettingsControlDemo.xaml" - this.rect_bite_freq.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 1425 "..\..\SettingsControlDemo.xaml" + this.rect_MPC_0th_order_gain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 1039 "..\..\SettingsControlDemo.xaml" - this.rect_bite_freq.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 1425 "..\..\SettingsControlDemo.xaml" + this.rect_MPC_0th_order_gain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 129: - this.text_bite_freq_text = ((System.Windows.Controls.TextBlock)(target)); + case 165: + this.canvas_horz_MPC_1st_order_gain = ((System.Windows.Controls.Canvas)(target)); return; } this._contentLoaded = true; diff --git a/SimHubPlugin/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/SimHubPlugin/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache index 9ac36e45..75509d70 100644 Binary files a/SimHubPlugin/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache and b/SimHubPlugin/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/SimHubPlugin/obj/Release/DiyActivePedal.dll b/SimHubPlugin/obj/Release/DiyActivePedal.dll index a2d5c9b3..bb102025 100644 Binary files a/SimHubPlugin/obj/Release/DiyActivePedal.dll and b/SimHubPlugin/obj/Release/DiyActivePedal.dll differ diff --git a/SimHubPlugin/obj/Release/DiyActivePedal.g.resources b/SimHubPlugin/obj/Release/DiyActivePedal.g.resources index dae38232..7053394f 100644 Binary files a/SimHubPlugin/obj/Release/DiyActivePedal.g.resources and b/SimHubPlugin/obj/Release/DiyActivePedal.g.resources differ diff --git a/SimHubPlugin/obj/Release/DiyActivePedal.pdb b/SimHubPlugin/obj/Release/DiyActivePedal.pdb index adbda541..bb104f4b 100644 Binary files a/SimHubPlugin/obj/Release/DiyActivePedal.pdb and b/SimHubPlugin/obj/Release/DiyActivePedal.pdb differ diff --git a/SimHubPlugin/obj/Release/DiyActivePedal_MarkupCompile.i.cache b/SimHubPlugin/obj/Release/DiyActivePedal_MarkupCompile.i.cache index 644acd02..72276087 100644 --- a/SimHubPlugin/obj/Release/DiyActivePedal_MarkupCompile.i.cache +++ b/SimHubPlugin/obj/Release/DiyActivePedal_MarkupCompile.i.cache @@ -13,8 +13,8 @@ TRACE 1-1832596077 1-1358375093 7917360102 -34-1198878998 +35399308758 SettingsControlDemo.xaml; -False +True diff --git a/SimHubPlugin/obj/Release/DiyActivePedal_MarkupCompile.i.lref b/SimHubPlugin/obj/Release/DiyActivePedal_MarkupCompile.i.lref new file mode 100644 index 00000000..0fbb9ada --- /dev/null +++ b/SimHubPlugin/obj/Release/DiyActivePedal_MarkupCompile.i.lref @@ -0,0 +1,4 @@ + + +FC:\Users\chris\OneDrive\Desktop\GIT\DIY-Sim-Racing-Active-Pedal\SimHubPlugin\SettingsControlDemo.xaml;; + diff --git a/SimHubPlugin/obj/Release/SettingsControlDemo.baml b/SimHubPlugin/obj/Release/SettingsControlDemo.baml index a213df30..e5051916 100644 Binary files a/SimHubPlugin/obj/Release/SettingsControlDemo.baml and b/SimHubPlugin/obj/Release/SettingsControlDemo.baml differ diff --git a/SimHubPlugin/obj/Release/SettingsControlDemo.g.cs b/SimHubPlugin/obj/Release/SettingsControlDemo.g.cs index e5504742..0ad12c41 100644 --- a/SimHubPlugin/obj/Release/SettingsControlDemo.g.cs +++ b/SimHubPlugin/obj/Release/SettingsControlDemo.g.cs @@ -1,4 +1,4 @@ -#pragma checksum "..\..\SettingsControlDemo.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "31D02446B8151FD071E6D36A9ECD4262CF3DAE7FB21FACE4FD806D99A2C271B9" +#pragma checksum "..\..\SettingsControlDemo.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "BCB358EC03E153AA88FDC868710731551109C18C2EC28A3D46705EA8A84A442B" //------------------------------------------------------------------------------ // // Dieser Code wurde von einem Tool generiert. @@ -43,7 +43,7 @@ namespace User.PluginSdkDemo { public partial class SettingsControlDemo : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector { - #line 41 "..\..\SettingsControlDemo.xaml" + #line 42 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TabControl MyTab; @@ -51,7 +51,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 42 "..\..\SettingsControlDemo.xaml" + #line 43 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TabItem tabPedalSelection_clutch; @@ -59,7 +59,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 43 "..\..\SettingsControlDemo.xaml" + #line 44 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TabItem tabPedalSelection_brake; @@ -67,7 +67,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 44 "..\..\SettingsControlDemo.xaml" + #line 45 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TabItem tabPedalSelection_accelerator; @@ -75,7 +75,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 73 "..\..\SettingsControlDemo.xaml" + #line 72 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBox TextBox_debugOutput; @@ -83,7 +83,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 77 "..\..\SettingsControlDemo.xaml" + #line 76 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_serial; @@ -91,7 +91,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 85 "..\..\SettingsControlDemo.xaml" + #line 84 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBox TextBox_serialMonitor; @@ -99,7 +99,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 170 "..\..\SettingsControlDemo.xaml" + #line 169 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.Canvas canvas; @@ -107,7 +107,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 216 "..\..\SettingsControlDemo.xaml" + #line 215 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_point_pos; @@ -115,7 +115,15 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 231 "..\..\SettingsControlDemo.xaml" + #line 226 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock Serial_port_text; + + #line default + #line hidden + + + #line 228 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Polyline Polyline_BrakeForceCurve; @@ -123,7 +131,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 245 "..\..\SettingsControlDemo.xaml" + #line 242 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_SABS; @@ -131,7 +139,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 259 "..\..\SettingsControlDemo.xaml" + #line 252 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect_SABS; @@ -139,7 +147,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 260 "..\..\SettingsControlDemo.xaml" + #line 253 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect_SABS_Control; @@ -147,7 +155,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 261 "..\..\SettingsControlDemo.xaml" + #line 254 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect_BP_Control; @@ -155,7 +163,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 262 "..\..\SettingsControlDemo.xaml" + #line 255 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect_State; @@ -163,7 +171,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 263 "..\..\SettingsControlDemo.xaml" + #line 256 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_state; @@ -171,7 +179,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 264 "..\..\SettingsControlDemo.xaml" + #line 257 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect0; @@ -179,7 +187,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 265 "..\..\SettingsControlDemo.xaml" + #line 258 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect1; @@ -187,7 +195,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 266 "..\..\SettingsControlDemo.xaml" + #line 259 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect2; @@ -195,7 +203,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 267 "..\..\SettingsControlDemo.xaml" + #line 260 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect3; @@ -203,7 +211,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 268 "..\..\SettingsControlDemo.xaml" + #line 261 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect4; @@ -211,7 +219,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 269 "..\..\SettingsControlDemo.xaml" + #line 262 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect5; @@ -219,7 +227,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 270 "..\..\SettingsControlDemo.xaml" + #line 263 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_BP; @@ -227,7 +235,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 286 "..\..\SettingsControlDemo.xaml" + #line 276 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.Canvas canvas_vert_slider; @@ -235,7 +243,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 298 "..\..\SettingsControlDemo.xaml" + #line 288 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_min_force; @@ -243,7 +251,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 312 "..\..\SettingsControlDemo.xaml" + #line 302 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_max_force; @@ -251,7 +259,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 329 "..\..\SettingsControlDemo.xaml" + #line 319 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Line Line_V_force; @@ -259,7 +267,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 335 "..\..\SettingsControlDemo.xaml" + #line 325 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect8; @@ -267,7 +275,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 336 "..\..\SettingsControlDemo.xaml" + #line 326 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect9; @@ -275,7 +283,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 340 "..\..\SettingsControlDemo.xaml" + #line 330 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.Canvas canvas_horz_slider; @@ -283,7 +291,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 352 "..\..\SettingsControlDemo.xaml" + #line 342 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_min_pos; @@ -291,7 +299,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 366 "..\..\SettingsControlDemo.xaml" + #line 356 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_max_pos; @@ -299,7 +307,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 380 "..\..\SettingsControlDemo.xaml" + #line 370 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_position; @@ -307,7 +315,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 397 "..\..\SettingsControlDemo.xaml" + #line 387 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Line Line_H_pos; @@ -315,7 +323,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 403 "..\..\SettingsControlDemo.xaml" + #line 393 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect6; @@ -323,7 +331,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 404 "..\..\SettingsControlDemo.xaml" + #line 394 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect7; @@ -331,7 +339,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 411 "..\..\SettingsControlDemo.xaml" + #line 401 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.Label info_label; @@ -339,7 +347,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 412 "..\..\SettingsControlDemo.xaml" + #line 402 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.Label info_label_2; @@ -347,7 +355,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 415 "..\..\SettingsControlDemo.xaml" + #line 405 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.ComboBox SerialPortSelection; @@ -355,7 +363,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 419 "..\..\SettingsControlDemo.xaml" + #line 409 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.CheckBox ConnectToPedal; @@ -363,7 +371,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 423 "..\..\SettingsControlDemo.xaml" + #line 413 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal SimHub.Plugins.Styles.SHButtonPrimary btn_pedal_connect; @@ -371,7 +379,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 424 "..\..\SettingsControlDemo.xaml" + #line 414 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal SimHub.Plugins.Styles.SHButtonPrimary btn_update; @@ -379,7 +387,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 429 "..\..\SettingsControlDemo.xaml" + #line 419 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBox TextBox2; @@ -387,7 +395,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 430 "..\..\SettingsControlDemo.xaml" + #line 420 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.CheckBox checkbox_auto_connect; @@ -395,7 +403,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 431 "..\..\SettingsControlDemo.xaml" + #line 421 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.CheckBox checkbox_pedal_read; @@ -403,7 +411,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 432 "..\..\SettingsControlDemo.xaml" + #line 422 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.CheckBox Vjoy_out_check; @@ -411,7 +419,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 434 "..\..\SettingsControlDemo.xaml" + #line 424 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.Button btn_plus; @@ -419,7 +427,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 435 "..\..\SettingsControlDemo.xaml" + #line 425 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.Label Label_vjoy_order; @@ -427,7 +435,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 436 "..\..\SettingsControlDemo.xaml" + #line 426 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.Button btn_minus; @@ -435,7 +443,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 438 "..\..\SettingsControlDemo.xaml" + #line 428 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.CheckBox Debug_check; @@ -443,7 +451,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 445 "..\..\SettingsControlDemo.xaml" + #line 435 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_debug_flag; @@ -451,7 +459,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 449 "..\..\SettingsControlDemo.xaml" + #line 439 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBox textBox_debug_Flag_0; @@ -459,7 +467,15 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 451 "..\..\SettingsControlDemo.xaml" + #line 441 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox dump_pedal_response_to_file; + + #line default + #line hidden + + + #line 442 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal SimHub.Plugins.Styles.SHButtonPrimary button_pedal_position_reset; @@ -467,7 +483,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 452 "..\..\SettingsControlDemo.xaml" + #line 443 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal SimHub.Plugins.Styles.SHButtonPrimary button_pedal_restart; @@ -475,7 +491,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 453 "..\..\SettingsControlDemo.xaml" + #line 444 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal SimHub.Plugins.Styles.SHButtonPrimary btn_system_id; @@ -483,137 +499,137 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 454 "..\..\SettingsControlDemo.xaml" + #line 445 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal SimHub.Plugins.Styles.SHButtonPrimary btn_pedal_disconnect; + internal SimHub.Plugins.Styles.SHButtonPrimary btn_reset_default; #line default #line hidden - #line 457 "..\..\SettingsControlDemo.xaml" + #line 501 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_PID_para; + internal System.Windows.Controls.CheckBox checkbox_enable_ABS; #line default #line hidden - #line 461 "..\..\SettingsControlDemo.xaml" + #line 503 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_pgain; + internal System.Windows.Controls.ComboBox AbsPattern; #line default #line hidden - #line 465 "..\..\SettingsControlDemo.xaml" + #line 508 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Slider PID_tuning_P_gain_slider; + internal System.Windows.Controls.CheckBox TestAbs_check; #line default #line hidden - #line 478 "..\..\SettingsControlDemo.xaml" + #line 514 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_igain; + internal System.Windows.Controls.ComboBox EffectAppliedOnForceOrTravel_combobox; #line default #line hidden - #line 482 "..\..\SettingsControlDemo.xaml" + #line 518 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Slider PID_tuning_I_gain_slider; + internal System.Windows.Controls.CheckBox Simulate_ABS_check; #line default #line hidden - #line 494 "..\..\SettingsControlDemo.xaml" + #line 520 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_dgain; + internal System.Windows.Controls.Canvas canvas_horz_ABS; #line default #line hidden - #line 498 "..\..\SettingsControlDemo.xaml" + #line 530 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Slider PID_tuning_D_gain_slider; + internal System.Windows.Controls.TextBlock text_ABS; #line default #line hidden - #line 510 "..\..\SettingsControlDemo.xaml" + #line 542 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_feedforward; + internal System.Windows.Shapes.Line Line_H_ABS; #line default #line hidden - #line 514 "..\..\SettingsControlDemo.xaml" + #line 547 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Slider PID_tuning_Feedforward_gain_slider; + internal System.Windows.Shapes.Rectangle rect_ABS; #line default #line hidden - #line 575 "..\..\SettingsControlDemo.xaml" + #line 548 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox dynamic_PID_checkbox; + internal System.Windows.Controls.TextBlock text_ABS_text; #line default #line hidden - #line 576 "..\..\SettingsControlDemo.xaml" + #line 559 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox JoystickOutput_check; + internal System.Windows.Controls.Canvas canvas_horz_ABS_freq; #line default #line hidden - #line 577 "..\..\SettingsControlDemo.xaml" + #line 569 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox InvertLoadcellReading_check; + internal System.Windows.Controls.TextBlock text_ABS_freq; #line default #line hidden - #line 579 "..\..\SettingsControlDemo.xaml" + #line 581 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_damping; + internal System.Windows.Shapes.Line Line_H_ABS_freq; #line default #line hidden - #line 589 "..\..\SettingsControlDemo.xaml" + #line 586 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_damping; + internal System.Windows.Shapes.Rectangle rect_ABS_freq; #line default #line hidden - #line 599 "..\..\SettingsControlDemo.xaml" + #line 587 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_damping_text; + internal System.Windows.Controls.TextBlock text_ABS_freq_text; #line default #line hidden - #line 612 "..\..\SettingsControlDemo.xaml" + #line 615 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_damping; + internal System.Windows.Controls.CheckBox checkbox_enable_RPM; #line default #line hidden @@ -621,39 +637,39 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line 617 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_damping; + internal System.Windows.Controls.Canvas canvas_horz_RPM_AMP; #line default #line hidden - #line 621 "..\..\SettingsControlDemo.xaml" + #line 627 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_KF; + internal System.Windows.Controls.TextBlock text_RPM_AMP; #line default #line hidden - #line 631 "..\..\SettingsControlDemo.xaml" + #line 639 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_KF; + internal System.Windows.Shapes.Line Line_H_RPM_AMP; #line default #line hidden - #line 640 "..\..\SettingsControlDemo.xaml" + #line 644 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_KF_text; + internal System.Windows.Shapes.Rectangle rect_RPM_AMP; #line default #line hidden - #line 651 "..\..\SettingsControlDemo.xaml" + #line 645 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_KF; + internal System.Windows.Controls.TextBlock text_RPM_AMP_text; #line default #line hidden @@ -661,1507 +677,1992 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line 656 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_KF; + internal System.Windows.Controls.Canvas canvas_horz_RPM_freq; #line default #line hidden - #line 659 "..\..\SettingsControlDemo.xaml" + #line 668 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_LC_rating; + internal System.Windows.Controls.TextBlock text_RPM_freq_min; #line default #line hidden - #line 669 "..\..\SettingsControlDemo.xaml" + #line 678 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_LC_rating; + internal System.Windows.Controls.TextBlock text_RPM_freq_max; #line default #line hidden - #line 681 "..\..\SettingsControlDemo.xaml" + #line 691 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_LC_rating; + internal System.Windows.Shapes.Line Line_H_RPM_freq; #line default #line hidden - #line 686 "..\..\SettingsControlDemo.xaml" + #line 697 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_LC_rating; + internal System.Windows.Shapes.Rectangle rect_RPM_min; #line default #line hidden - #line 687 "..\..\SettingsControlDemo.xaml" + #line 698 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_LC_rating_text; + internal System.Windows.Shapes.Rectangle rect_RPM_max; #line default #line hidden - #line 698 "..\..\SettingsControlDemo.xaml" + #line 699 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_max_game; + internal System.Windows.Controls.TextBlock text_RPM_freq_text; #line default #line hidden - #line 708 "..\..\SettingsControlDemo.xaml" + #line 727 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_max_game; + internal System.Windows.Controls.CheckBox checkbox_enable_bite_point; #line default #line hidden - #line 720 "..\..\SettingsControlDemo.xaml" + #line 729 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_max_game; + internal System.Windows.Controls.Canvas canvas_horz_bite_amp; #line default #line hidden - #line 725 "..\..\SettingsControlDemo.xaml" + #line 739 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_max_game; + internal System.Windows.Controls.TextBlock text_bite_amp; #line default #line hidden - #line 726 "..\..\SettingsControlDemo.xaml" + #line 751 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_max_game_text; + internal System.Windows.Shapes.Line Line_H_bite_amp; #line default #line hidden - #line 752 "..\..\SettingsControlDemo.xaml" + #line 756 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox checkbox_enable_ABS; + internal System.Windows.Shapes.Rectangle rect_bite_amp; #line default #line hidden - #line 754 "..\..\SettingsControlDemo.xaml" + #line 757 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.ComboBox AbsPattern; + internal System.Windows.Controls.TextBlock text_bite_amp_text; #line default #line hidden - #line 759 "..\..\SettingsControlDemo.xaml" + #line 768 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox TestAbs_check; + internal System.Windows.Controls.Canvas canvas_horz_bite_freq; #line default #line hidden - #line 765 "..\..\SettingsControlDemo.xaml" + #line 778 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.ComboBox EffectAppliedOnForceOrTravel_combobox; + internal System.Windows.Controls.TextBlock text_bite_freq; #line default #line hidden - #line 769 "..\..\SettingsControlDemo.xaml" + #line 790 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox Simulate_ABS_check; + internal System.Windows.Shapes.Line Line_H_bite_freq; #line default #line hidden - #line 771 "..\..\SettingsControlDemo.xaml" + #line 795 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_ABS; + internal System.Windows.Shapes.Rectangle rect_bite_freq; #line default #line hidden - #line 781 "..\..\SettingsControlDemo.xaml" + #line 796 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_ABS; + internal System.Windows.Controls.TextBlock text_bite_freq_text; #line default #line hidden - #line 793 "..\..\SettingsControlDemo.xaml" + #line 824 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_ABS; + internal System.Windows.Controls.CheckBox checkbox_enable_G_force; #line default #line hidden - #line 798 "..\..\SettingsControlDemo.xaml" + #line 826 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_ABS; + internal System.Windows.Controls.Canvas canvas_horz_G_force_multi; #line default #line hidden - #line 799 "..\..\SettingsControlDemo.xaml" + #line 836 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_ABS_text; + internal System.Windows.Controls.TextBlock text_G_multi; #line default #line hidden - #line 810 "..\..\SettingsControlDemo.xaml" + #line 848 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_ABS_freq; + internal System.Windows.Shapes.Line Line_G_force_multi; #line default #line hidden - #line 820 "..\..\SettingsControlDemo.xaml" + #line 853 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_ABS_freq; + internal System.Windows.Shapes.Rectangle rect_G_force_multi; #line default #line hidden - #line 832 "..\..\SettingsControlDemo.xaml" + #line 854 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_ABS_freq; + internal System.Windows.Controls.TextBlock text_G_force_multi_text; #line default #line hidden - #line 837 "..\..\SettingsControlDemo.xaml" + #line 865 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_ABS_freq; + internal System.Windows.Controls.Canvas canvas_horz_G_force_window; #line default #line hidden - #line 838 "..\..\SettingsControlDemo.xaml" + #line 875 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_ABS_freq_text; + internal System.Windows.Controls.TextBlock text_G_window; #line default #line hidden - #line 864 "..\..\SettingsControlDemo.xaml" + #line 887 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox checkbox_enable_RPM; + internal System.Windows.Shapes.Line Line_G_force_window; #line default #line hidden - #line 866 "..\..\SettingsControlDemo.xaml" + #line 892 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_RPM_AMP; + internal System.Windows.Shapes.Rectangle rect_G_force_window; #line default #line hidden - #line 876 "..\..\SettingsControlDemo.xaml" + #line 893 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_AMP; + internal System.Windows.Controls.TextBlock text_G_force_window_text; #line default #line hidden - #line 888 "..\..\SettingsControlDemo.xaml" + #line 961 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_RPM_AMP; + internal System.Windows.Controls.CheckBox JoystickOutput_check; #line default #line hidden - #line 893 "..\..\SettingsControlDemo.xaml" + #line 962 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_RPM_AMP; + internal System.Windows.Controls.CheckBox InvertLoadcellReading_check; #line default #line hidden - #line 894 "..\..\SettingsControlDemo.xaml" + #line 965 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_AMP_text; + internal System.Windows.Controls.ComboBox SpindlePitch; #line default #line hidden - #line 905 "..\..\SettingsControlDemo.xaml" + #line 983 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_RPM_freq; + internal System.Windows.Controls.Canvas canvas_horz_damping; #line default #line hidden - #line 917 "..\..\SettingsControlDemo.xaml" + #line 993 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_freq_min; + internal System.Windows.Controls.TextBlock text_damping; #line default #line hidden - #line 927 "..\..\SettingsControlDemo.xaml" + #line 1003 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_freq_max; + internal System.Windows.Controls.TextBlock text_damping_text; #line default #line hidden - #line 940 "..\..\SettingsControlDemo.xaml" + #line 1016 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_RPM_freq; + internal System.Windows.Shapes.Line Line_H_damping; #line default #line hidden - #line 946 "..\..\SettingsControlDemo.xaml" + #line 1021 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_RPM_min; + internal System.Windows.Shapes.Rectangle rect_damping; #line default #line hidden - #line 947 "..\..\SettingsControlDemo.xaml" + #line 1029 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_RPM_max; + internal System.Windows.Controls.Canvas canvas_horz_LC_rating; #line default #line hidden - #line 948 "..\..\SettingsControlDemo.xaml" + #line 1039 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_freq_text; + internal System.Windows.Controls.TextBlock text_LC_rating; #line default #line hidden - #line 974 "..\..\SettingsControlDemo.xaml" + #line 1051 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox checkbox_enable_bite_point; + internal System.Windows.Shapes.Line Line_H_LC_rating; #line default #line hidden - #line 976 "..\..\SettingsControlDemo.xaml" + #line 1056 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_bite_amp; + internal System.Windows.Shapes.Rectangle rect_LC_rating; #line default #line hidden - #line 986 "..\..\SettingsControlDemo.xaml" + #line 1057 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_bite_amp; + internal System.Windows.Controls.TextBlock text_LC_rating_text; #line default #line hidden - #line 998 "..\..\SettingsControlDemo.xaml" + #line 1072 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_bite_amp; + internal System.Windows.Controls.Canvas canvas_horz_max_game; #line default #line hidden - #line 1003 "..\..\SettingsControlDemo.xaml" + #line 1082 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_bite_amp; + internal System.Windows.Controls.TextBlock text_max_game; #line default #line hidden - #line 1004 "..\..\SettingsControlDemo.xaml" + #line 1094 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_bite_amp_text; + internal System.Windows.Shapes.Line Line_H_max_game; #line default #line hidden - #line 1015 "..\..\SettingsControlDemo.xaml" + #line 1099 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_bite_freq; + internal System.Windows.Shapes.Rectangle rect_max_game; #line default #line hidden - #line 1025 "..\..\SettingsControlDemo.xaml" + #line 1100 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_bite_freq; + internal System.Windows.Controls.TextBlock text_max_game_text; #line default #line hidden - #line 1037 "..\..\SettingsControlDemo.xaml" + #line 1132 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_bite_freq; + internal System.Windows.Controls.Canvas canvas_horz_KF; #line default #line hidden - #line 1042 "..\..\SettingsControlDemo.xaml" + #line 1142 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_bite_freq; + internal System.Windows.Controls.TextBlock text_KF; #line default #line hidden - #line 1043 "..\..\SettingsControlDemo.xaml" + #line 1151 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_bite_freq_text; + internal System.Windows.Controls.TextBlock text_KF_text; #line default #line hidden - private bool _contentLoaded; - /// - /// InitializeComponent - /// - [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] - public void InitializeComponent() { - if (_contentLoaded) { - return; - } - _contentLoaded = true; - System.Uri resourceLocater = new System.Uri("/DiyActivePedal;component/settingscontroldemo.xaml", System.UriKind.Relative); - - #line 1 "..\..\SettingsControlDemo.xaml" - System.Windows.Application.LoadComponent(this, resourceLocater); - - #line default - #line hidden - } + #line 1162 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_KF; - [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] - [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] - [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] - void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { - switch (connectionId) - { - case 1: - this.MyTab = ((System.Windows.Controls.TabControl)(target)); - - #line 41 "..\..\SettingsControlDemo.xaml" - this.MyTab.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.TabControl_SelectionChanged); - - #line default - #line hidden - return; - case 2: - this.tabPedalSelection_clutch = ((System.Windows.Controls.TabItem)(target)); - return; - case 3: - this.tabPedalSelection_brake = ((System.Windows.Controls.TabItem)(target)); - return; - case 4: - this.tabPedalSelection_accelerator = ((System.Windows.Controls.TabItem)(target)); - return; - case 5: - this.TextBox_debugOutput = ((System.Windows.Controls.TextBox)(target)); - return; - case 6: - this.text_serial = ((System.Windows.Controls.TextBlock)(target)); - return; - case 7: - this.TextBox_serialMonitor = ((System.Windows.Controls.TextBox)(target)); - return; - case 8: - this.canvas = ((System.Windows.Controls.Canvas)(target)); - return; - case 9: - this.text_point_pos = ((System.Windows.Controls.TextBlock)(target)); - return; - case 10: - this.Polyline_BrakeForceCurve = ((System.Windows.Shapes.Polyline)(target)); - return; - case 11: - this.text_SABS = ((System.Windows.Controls.TextBlock)(target)); - return; - case 12: - this.rect_SABS = ((System.Windows.Shapes.Rectangle)(target)); - return; - case 13: - this.rect_SABS_Control = ((System.Windows.Shapes.Rectangle)(target)); - - #line 260 "..\..\SettingsControlDemo.xaml" - this.rect_SABS_Control.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); - - #line default - #line hidden - - #line 260 "..\..\SettingsControlDemo.xaml" - this.rect_SABS_Control.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_ABS); - - #line default - #line hidden - - #line 260 "..\..\SettingsControlDemo.xaml" - this.rect_SABS_Control.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); - - #line default - #line hidden - return; + #line default + #line hidden + + + #line 1167 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_KF; + + #line default + #line hidden + + + #line 1188 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.RadioButton ControlStrategy_Sel_1; + + #line default + #line hidden + + + #line 1189 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.RadioButton ControlStrategy_Sel_2; + + #line default + #line hidden + + + #line 1190 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.RadioButton ControlStrategy_Sel_3; + + #line default + #line hidden + + + #line 1210 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_Pgain; + + #line default + #line hidden + + + #line 1220 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Pgain; + + #line default + #line hidden + + + #line 1230 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Pgain_text; + + #line default + #line hidden + + + #line 1241 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_Pgain; + + #line default + #line hidden + + + #line 1246 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_Pgain; + + #line default + #line hidden + + + #line 1249 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_Igain; + + #line default + #line hidden + + + #line 1259 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Igain; + + #line default + #line hidden + + + #line 1269 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Igain_text; + + #line default + #line hidden + + + #line 1280 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_Igain; + + #line default + #line hidden + + + #line 1285 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_Igain; + + #line default + #line hidden + + + #line 1288 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_Dgain; + + #line default + #line hidden + + + #line 1298 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Dgain; + + #line default + #line hidden + + + #line 1308 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Dgain_text; + + #line default + #line hidden + + + #line 1319 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_Dgain; + + #line default + #line hidden + + + #line 1324 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_Dgain; + + #line default + #line hidden + + + #line 1327 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_VFgain; + + #line default + #line hidden + + + #line 1337 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_VFgain; + + #line default + #line hidden + + + #line 1347 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_VFgain_text; + + #line default + #line hidden + + + #line 1358 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_VFgain; + + #line default + #line hidden + + + #line 1363 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_VFgain; + + #line default + #line hidden + + + #line 1389 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_MPC_0th_order_gain; + + #line default + #line hidden + + + #line 1399 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_MPC_0th_order_gain; + + #line default + #line hidden + + + #line 1409 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_MPC_0th_order_gain_text; + + #line default + #line hidden + + + #line 1420 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_MPC_0th_order_gain; + + #line default + #line hidden + + + #line 1425 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_MPC_0th_order_gain; + + #line default + #line hidden + + + #line 1431 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_MPC_1st_order_gain; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/DiyActivePedal;component/settingscontroldemo.xaml", System.UriKind.Relative); + + #line 1 "..\..\SettingsControlDemo.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.MyTab = ((System.Windows.Controls.TabControl)(target)); + + #line 42 "..\..\SettingsControlDemo.xaml" + this.MyTab.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.TabControl_SelectionChanged); + + #line default + #line hidden + return; + case 2: + this.tabPedalSelection_clutch = ((System.Windows.Controls.TabItem)(target)); + return; + case 3: + this.tabPedalSelection_brake = ((System.Windows.Controls.TabItem)(target)); + return; + case 4: + this.tabPedalSelection_accelerator = ((System.Windows.Controls.TabItem)(target)); + return; + case 5: + this.TextBox_debugOutput = ((System.Windows.Controls.TextBox)(target)); + return; + case 6: + this.text_serial = ((System.Windows.Controls.TextBlock)(target)); + return; + case 7: + this.TextBox_serialMonitor = ((System.Windows.Controls.TextBox)(target)); + return; + case 8: + this.canvas = ((System.Windows.Controls.Canvas)(target)); + return; + case 9: + this.text_point_pos = ((System.Windows.Controls.TextBlock)(target)); + return; + case 10: + this.Serial_port_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 11: + this.Polyline_BrakeForceCurve = ((System.Windows.Shapes.Polyline)(target)); + return; + case 12: + this.text_SABS = ((System.Windows.Controls.TextBlock)(target)); + return; + case 13: + this.rect_SABS = ((System.Windows.Shapes.Rectangle)(target)); + return; case 14: + this.rect_SABS_Control = ((System.Windows.Shapes.Rectangle)(target)); + + #line 253 "..\..\SettingsControlDemo.xaml" + this.rect_SABS_Control.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 253 "..\..\SettingsControlDemo.xaml" + this.rect_SABS_Control.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_ABS); + + #line default + #line hidden + + #line 253 "..\..\SettingsControlDemo.xaml" + this.rect_SABS_Control.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 15: this.rect_BP_Control = ((System.Windows.Shapes.Rectangle)(target)); - #line 261 "..\..\SettingsControlDemo.xaml" - this.rect_BP_Control.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 254 "..\..\SettingsControlDemo.xaml" + this.rect_BP_Control.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 254 "..\..\SettingsControlDemo.xaml" + this.rect_BP_Control.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + + #line default + #line hidden + + #line 254 "..\..\SettingsControlDemo.xaml" + this.rect_BP_Control.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 16: + this.rect_State = ((System.Windows.Shapes.Rectangle)(target)); + return; + case 17: + this.text_state = ((System.Windows.Controls.TextBlock)(target)); + return; + case 18: + this.rect0 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 257 "..\..\SettingsControlDemo.xaml" + this.rect0.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 257 "..\..\SettingsControlDemo.xaml" + this.rect0.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 257 "..\..\SettingsControlDemo.xaml" + this.rect0.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 19: + this.rect1 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 258 "..\..\SettingsControlDemo.xaml" + this.rect1.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 258 "..\..\SettingsControlDemo.xaml" + this.rect1.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 258 "..\..\SettingsControlDemo.xaml" + this.rect1.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 20: + this.rect2 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 259 "..\..\SettingsControlDemo.xaml" + this.rect2.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 259 "..\..\SettingsControlDemo.xaml" + this.rect2.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 259 "..\..\SettingsControlDemo.xaml" + this.rect2.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 21: + this.rect3 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 260 "..\..\SettingsControlDemo.xaml" + this.rect3.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 260 "..\..\SettingsControlDemo.xaml" + this.rect3.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 260 "..\..\SettingsControlDemo.xaml" + this.rect3.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 22: + this.rect4 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 261 "..\..\SettingsControlDemo.xaml" + this.rect4.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 261 "..\..\SettingsControlDemo.xaml" + this.rect4.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 261 "..\..\SettingsControlDemo.xaml" + this.rect4.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 23: + this.rect5 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 262 "..\..\SettingsControlDemo.xaml" + this.rect5.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 262 "..\..\SettingsControlDemo.xaml" + this.rect5.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 262 "..\..\SettingsControlDemo.xaml" + this.rect5.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 24: + this.text_BP = ((System.Windows.Controls.TextBlock)(target)); + return; + case 25: + this.canvas_vert_slider = ((System.Windows.Controls.Canvas)(target)); + return; + case 26: + this.text_min_force = ((System.Windows.Controls.TextBlock)(target)); + return; + case 27: + this.text_max_force = ((System.Windows.Controls.TextBlock)(target)); + return; + case 28: + this.Line_V_force = ((System.Windows.Shapes.Line)(target)); + return; + case 29: + this.rect8 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 325 "..\..\SettingsControlDemo.xaml" + this.rect8.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 325 "..\..\SettingsControlDemo.xaml" + this.rect8.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_V); #line default #line hidden - #line 261 "..\..\SettingsControlDemo.xaml" - this.rect_BP_Control.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 325 "..\..\SettingsControlDemo.xaml" + this.rect8.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden + return; + case 30: + this.rect9 = ((System.Windows.Shapes.Rectangle)(target)); - #line 261 "..\..\SettingsControlDemo.xaml" - this.rect_BP_Control.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 326 "..\..\SettingsControlDemo.xaml" + this.rect9.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 326 "..\..\SettingsControlDemo.xaml" + this.rect9.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_V); + + #line default + #line hidden + + #line 326 "..\..\SettingsControlDemo.xaml" + this.rect9.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 15: - this.rect_State = ((System.Windows.Shapes.Rectangle)(target)); + case 31: + this.canvas_horz_slider = ((System.Windows.Controls.Canvas)(target)); return; - case 16: - this.text_state = ((System.Windows.Controls.TextBlock)(target)); + case 32: + this.text_min_pos = ((System.Windows.Controls.TextBlock)(target)); return; - case 17: - this.rect0 = ((System.Windows.Shapes.Rectangle)(target)); + case 33: + this.text_max_pos = ((System.Windows.Controls.TextBlock)(target)); + return; + case 34: + this.text_position = ((System.Windows.Controls.TextBlock)(target)); + return; + case 35: + this.Line_H_pos = ((System.Windows.Shapes.Line)(target)); + return; + case 36: + this.rect6 = ((System.Windows.Shapes.Rectangle)(target)); - #line 264 "..\..\SettingsControlDemo.xaml" - this.rect0.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 393 "..\..\SettingsControlDemo.xaml" + this.rect6.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 264 "..\..\SettingsControlDemo.xaml" - this.rect0.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 393 "..\..\SettingsControlDemo.xaml" + this.rect6.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H); #line default #line hidden - #line 264 "..\..\SettingsControlDemo.xaml" - this.rect0.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 393 "..\..\SettingsControlDemo.xaml" + this.rect6.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 18: - this.rect1 = ((System.Windows.Shapes.Rectangle)(target)); + case 37: + this.rect7 = ((System.Windows.Shapes.Rectangle)(target)); - #line 265 "..\..\SettingsControlDemo.xaml" - this.rect1.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 394 "..\..\SettingsControlDemo.xaml" + this.rect7.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 265 "..\..\SettingsControlDemo.xaml" - this.rect1.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 394 "..\..\SettingsControlDemo.xaml" + this.rect7.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H); #line default #line hidden - #line 265 "..\..\SettingsControlDemo.xaml" - this.rect1.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 394 "..\..\SettingsControlDemo.xaml" + this.rect7.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 19: - this.rect2 = ((System.Windows.Shapes.Rectangle)(target)); + case 38: + this.info_label = ((System.Windows.Controls.Label)(target)); + return; + case 39: + this.info_label_2 = ((System.Windows.Controls.Label)(target)); + return; + case 40: + this.SerialPortSelection = ((System.Windows.Controls.ComboBox)(target)); - #line 266 "..\..\SettingsControlDemo.xaml" - this.rect2.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 405 "..\..\SettingsControlDemo.xaml" + this.SerialPortSelection.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.SerialPortSelectionChanged); #line default #line hidden + return; + case 41: + this.ConnectToPedal = ((System.Windows.Controls.CheckBox)(target)); + return; + case 42: + this.btn_pedal_connect = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 266 "..\..\SettingsControlDemo.xaml" - this.rect2.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 413 "..\..\SettingsControlDemo.xaml" + this.btn_pedal_connect.Click += new System.Windows.RoutedEventHandler(this.ConnectToPedal_click); #line default #line hidden + return; + case 43: + this.btn_update = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 266 "..\..\SettingsControlDemo.xaml" - this.rect2.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 414 "..\..\SettingsControlDemo.xaml" + this.btn_update.Click += new System.Windows.RoutedEventHandler(this.UpdateSerialPortList_click); #line default #line hidden return; - case 20: - this.rect3 = ((System.Windows.Shapes.Rectangle)(target)); + case 44: - #line 267 "..\..\SettingsControlDemo.xaml" - this.rect3.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 415 "..\..\SettingsControlDemo.xaml" + ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.SendConfigToPedal_click); #line default #line hidden + return; + case 45: - #line 267 "..\..\SettingsControlDemo.xaml" - this.rect3.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 416 "..\..\SettingsControlDemo.xaml" + ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.ReadConfigFromPedal_click); #line default #line hidden + return; + case 46: - #line 267 "..\..\SettingsControlDemo.xaml" - this.rect3.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 417 "..\..\SettingsControlDemo.xaml" + ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.OpenButton_Click); #line default #line hidden return; - case 21: - this.rect4 = ((System.Windows.Shapes.Rectangle)(target)); + case 47: - #line 268 "..\..\SettingsControlDemo.xaml" - this.rect4.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 418 "..\..\SettingsControlDemo.xaml" + ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.SaveButton_Click); #line default #line hidden + return; + case 48: + this.TextBox2 = ((System.Windows.Controls.TextBox)(target)); + return; + case 49: + this.checkbox_auto_connect = ((System.Windows.Controls.CheckBox)(target)); - #line 268 "..\..\SettingsControlDemo.xaml" - this.rect4.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 420 "..\..\SettingsControlDemo.xaml" + this.checkbox_auto_connect.Checked += new System.Windows.RoutedEventHandler(this.checkbox_auto_connect_Checked); #line default #line hidden - #line 268 "..\..\SettingsControlDemo.xaml" - this.rect4.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 420 "..\..\SettingsControlDemo.xaml" + this.checkbox_auto_connect.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_auto_connect_Unchecked); #line default #line hidden return; - case 22: - this.rect5 = ((System.Windows.Shapes.Rectangle)(target)); + case 50: + this.checkbox_pedal_read = ((System.Windows.Controls.CheckBox)(target)); - #line 269 "..\..\SettingsControlDemo.xaml" - this.rect5.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 421 "..\..\SettingsControlDemo.xaml" + this.checkbox_pedal_read.Checked += new System.Windows.RoutedEventHandler(this.CheckBox_Checked); #line default #line hidden - #line 269 "..\..\SettingsControlDemo.xaml" - this.rect5.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 421 "..\..\SettingsControlDemo.xaml" + this.checkbox_pedal_read.Unchecked += new System.Windows.RoutedEventHandler(this.CheckBox_Unchecked); #line default #line hidden + return; + case 51: + this.Vjoy_out_check = ((System.Windows.Controls.CheckBox)(target)); - #line 269 "..\..\SettingsControlDemo.xaml" - this.rect5.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 422 "..\..\SettingsControlDemo.xaml" + this.Vjoy_out_check.Checked += new System.Windows.RoutedEventHandler(this.Vjoy_out_check_Checked); + + #line default + #line hidden + + #line 422 "..\..\SettingsControlDemo.xaml" + this.Vjoy_out_check.Unchecked += new System.Windows.RoutedEventHandler(this.Vjoy_out_check_Unchecked); #line default #line hidden return; - case 23: - this.text_BP = ((System.Windows.Controls.TextBlock)(target)); + case 52: + this.btn_plus = ((System.Windows.Controls.Button)(target)); + + #line 424 "..\..\SettingsControlDemo.xaml" + this.btn_plus.Click += new System.Windows.RoutedEventHandler(this.vjoy_plus_click); + + #line default + #line hidden return; - case 24: - this.canvas_vert_slider = ((System.Windows.Controls.Canvas)(target)); + case 53: + this.Label_vjoy_order = ((System.Windows.Controls.Label)(target)); return; - case 25: - this.text_min_force = ((System.Windows.Controls.TextBlock)(target)); + case 54: + this.btn_minus = ((System.Windows.Controls.Button)(target)); + + #line 426 "..\..\SettingsControlDemo.xaml" + this.btn_minus.Click += new System.Windows.RoutedEventHandler(this.vjoy_minus_click); + + #line default + #line hidden return; - case 26: - this.text_max_force = ((System.Windows.Controls.TextBlock)(target)); + case 55: + this.Debug_check = ((System.Windows.Controls.CheckBox)(target)); + + #line 430 "..\..\SettingsControlDemo.xaml" + this.Debug_check.Checked += new System.Windows.RoutedEventHandler(this.Debug_checkbox_Checked); + + #line default + #line hidden + + #line 430 "..\..\SettingsControlDemo.xaml" + this.Debug_check.Unchecked += new System.Windows.RoutedEventHandler(this.Debug_checkbox_Unchecked); + + #line default + #line hidden return; - case 27: - this.Line_V_force = ((System.Windows.Shapes.Line)(target)); + case 56: + this.text_debug_flag = ((System.Windows.Controls.TextBlock)(target)); return; - case 28: - this.rect8 = ((System.Windows.Shapes.Rectangle)(target)); + case 57: + this.textBox_debug_Flag_0 = ((System.Windows.Controls.TextBox)(target)); - #line 335 "..\..\SettingsControlDemo.xaml" - this.rect8.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 440 "..\..\SettingsControlDemo.xaml" + this.textBox_debug_Flag_0.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumericTextBox_PreviewTextInput); #line default #line hidden - #line 335 "..\..\SettingsControlDemo.xaml" - this.rect8.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_V); + #line 440 "..\..\SettingsControlDemo.xaml" + this.textBox_debug_Flag_0.TextChanged += new System.Windows.Controls.TextChangedEventHandler(this.NumericTextBox_TextChanged); #line default #line hidden + return; + case 58: + this.dump_pedal_response_to_file = ((System.Windows.Controls.CheckBox)(target)); - #line 335 "..\..\SettingsControlDemo.xaml" - this.rect8.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 441 "..\..\SettingsControlDemo.xaml" + this.dump_pedal_response_to_file.Checked += new System.Windows.RoutedEventHandler(this.dump_pedal_response_to_file_checked); + + #line default + #line hidden + + #line 441 "..\..\SettingsControlDemo.xaml" + this.dump_pedal_response_to_file.Unchecked += new System.Windows.RoutedEventHandler(this.dump_pedal_response_to_file_unchecked); #line default #line hidden return; - case 29: - this.rect9 = ((System.Windows.Shapes.Rectangle)(target)); + case 59: + this.button_pedal_position_reset = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + + #line 442 "..\..\SettingsControlDemo.xaml" + this.button_pedal_position_reset.Click += new System.Windows.RoutedEventHandler(this.ResetPedalPosition_click); + + #line default + #line hidden + return; + case 60: + this.button_pedal_restart = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + + #line 443 "..\..\SettingsControlDemo.xaml" + this.button_pedal_restart.Click += new System.Windows.RoutedEventHandler(this.RestartPedal_click); + + #line default + #line hidden + return; + case 61: + this.btn_system_id = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + + #line 444 "..\..\SettingsControlDemo.xaml" + this.btn_system_id.Click += new System.Windows.RoutedEventHandler(this.StartSystemIdentification_click); + + #line default + #line hidden + return; + case 62: + this.btn_reset_default = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + + #line 445 "..\..\SettingsControlDemo.xaml" + this.btn_reset_default.Click += new System.Windows.RoutedEventHandler(this.btn_reset_default_Click); + + #line default + #line hidden + return; + case 63: + this.checkbox_enable_ABS = ((System.Windows.Controls.CheckBox)(target)); + + #line 501 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_ABS.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_ABS_Checked); + + #line default + #line hidden + + #line 501 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_ABS.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_ABS_Unchecked); + + #line default + #line hidden + return; + case 64: + this.AbsPattern = ((System.Windows.Controls.ComboBox)(target)); + + #line 503 "..\..\SettingsControlDemo.xaml" + this.AbsPattern.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.AbsPatternChanged); + + #line default + #line hidden + return; + case 65: + + #line 507 "..\..\SettingsControlDemo.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.TestAbs_click); + + #line default + #line hidden + return; + case 66: + this.TestAbs_check = ((System.Windows.Controls.CheckBox)(target)); + return; + case 67: + this.EffectAppliedOnForceOrTravel_combobox = ((System.Windows.Controls.ComboBox)(target)); - #line 336 "..\..\SettingsControlDemo.xaml" - this.rect9.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 514 "..\..\SettingsControlDemo.xaml" + this.EffectAppliedOnForceOrTravel_combobox.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.EffectAppliedOnForceOrTravel_combobox_changed); #line default #line hidden + return; + case 68: + this.Simulate_ABS_check = ((System.Windows.Controls.CheckBox)(target)); - #line 336 "..\..\SettingsControlDemo.xaml" - this.rect9.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_V); + #line 518 "..\..\SettingsControlDemo.xaml" + this.Simulate_ABS_check.Checked += new System.Windows.RoutedEventHandler(this.Simulate_ABS_check_Checked); #line default #line hidden - #line 336 "..\..\SettingsControlDemo.xaml" - this.rect9.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 518 "..\..\SettingsControlDemo.xaml" + this.Simulate_ABS_check.Unchecked += new System.Windows.RoutedEventHandler(this.Simulate_ABS_check_Unchecked); #line default #line hidden return; - case 30: - this.canvas_horz_slider = ((System.Windows.Controls.Canvas)(target)); - return; - case 31: - this.text_min_pos = ((System.Windows.Controls.TextBlock)(target)); - return; - case 32: - this.text_max_pos = ((System.Windows.Controls.TextBlock)(target)); + case 69: + this.canvas_horz_ABS = ((System.Windows.Controls.Canvas)(target)); return; - case 33: - this.text_position = ((System.Windows.Controls.TextBlock)(target)); + case 70: + this.text_ABS = ((System.Windows.Controls.TextBlock)(target)); return; - case 34: - this.Line_H_pos = ((System.Windows.Shapes.Line)(target)); + case 71: + this.Line_H_ABS = ((System.Windows.Shapes.Line)(target)); return; - case 35: - this.rect6 = ((System.Windows.Shapes.Rectangle)(target)); + case 72: + this.rect_ABS = ((System.Windows.Shapes.Rectangle)(target)); - #line 403 "..\..\SettingsControlDemo.xaml" - this.rect6.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 547 "..\..\SettingsControlDemo.xaml" + this.rect_ABS.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 403 "..\..\SettingsControlDemo.xaml" - this.rect6.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H); + #line 547 "..\..\SettingsControlDemo.xaml" + this.rect_ABS.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 403 "..\..\SettingsControlDemo.xaml" - this.rect6.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 547 "..\..\SettingsControlDemo.xaml" + this.rect_ABS.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 36: - this.rect7 = ((System.Windows.Shapes.Rectangle)(target)); + case 73: + this.text_ABS_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 74: + this.canvas_horz_ABS_freq = ((System.Windows.Controls.Canvas)(target)); + return; + case 75: + this.text_ABS_freq = ((System.Windows.Controls.TextBlock)(target)); + return; + case 76: + this.Line_H_ABS_freq = ((System.Windows.Shapes.Line)(target)); + return; + case 77: + this.rect_ABS_freq = ((System.Windows.Shapes.Rectangle)(target)); - #line 404 "..\..\SettingsControlDemo.xaml" - this.rect7.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 586 "..\..\SettingsControlDemo.xaml" + this.rect_ABS_freq.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 404 "..\..\SettingsControlDemo.xaml" - this.rect7.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H); + #line 586 "..\..\SettingsControlDemo.xaml" + this.rect_ABS_freq.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 404 "..\..\SettingsControlDemo.xaml" - this.rect7.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 586 "..\..\SettingsControlDemo.xaml" + this.rect_ABS_freq.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 37: - this.info_label = ((System.Windows.Controls.Label)(target)); - return; - case 38: - this.info_label_2 = ((System.Windows.Controls.Label)(target)); + case 78: + this.text_ABS_freq_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 39: - this.SerialPortSelection = ((System.Windows.Controls.ComboBox)(target)); + case 79: + this.checkbox_enable_RPM = ((System.Windows.Controls.CheckBox)(target)); - #line 415 "..\..\SettingsControlDemo.xaml" - this.SerialPortSelection.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.SerialPortSelectionChanged); + #line 615 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_RPM.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Checked); #line default #line hidden - return; - case 40: - this.ConnectToPedal = ((System.Windows.Controls.CheckBox)(target)); - return; - case 41: - this.btn_pedal_connect = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 423 "..\..\SettingsControlDemo.xaml" - this.btn_pedal_connect.Click += new System.Windows.RoutedEventHandler(this.ConnectToPedal_click); + #line 615 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_RPM.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Unchecked); #line default #line hidden return; - case 42: - this.btn_update = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - - #line 424 "..\..\SettingsControlDemo.xaml" - this.btn_update.Click += new System.Windows.RoutedEventHandler(this.UpdateSerialPortList_click); - - #line default - #line hidden + case 80: + this.canvas_horz_RPM_AMP = ((System.Windows.Controls.Canvas)(target)); return; - case 43: + case 81: + this.text_RPM_AMP = ((System.Windows.Controls.TextBlock)(target)); + return; + case 82: + this.Line_H_RPM_AMP = ((System.Windows.Shapes.Line)(target)); + return; + case 83: + this.rect_RPM_AMP = ((System.Windows.Shapes.Rectangle)(target)); - #line 425 "..\..\SettingsControlDemo.xaml" - ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.SendConfigToPedal_click); + #line 644 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_AMP.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 44: - #line 426 "..\..\SettingsControlDemo.xaml" - ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.ReadConfigFromPedal_click); + #line 644 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_AMP.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - return; - case 45: - #line 427 "..\..\SettingsControlDemo.xaml" - ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.OpenButton_Click); + #line 644 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_AMP.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 46: + case 84: + this.text_RPM_AMP_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 85: + this.canvas_horz_RPM_freq = ((System.Windows.Controls.Canvas)(target)); + return; + case 86: + this.text_RPM_freq_min = ((System.Windows.Controls.TextBlock)(target)); + return; + case 87: + this.text_RPM_freq_max = ((System.Windows.Controls.TextBlock)(target)); + return; + case 88: + this.Line_H_RPM_freq = ((System.Windows.Shapes.Line)(target)); + return; + case 89: + this.rect_RPM_min = ((System.Windows.Shapes.Rectangle)(target)); - #line 428 "..\..\SettingsControlDemo.xaml" - ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.SaveButton_Click); + #line 697 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_min.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 47: - this.TextBox2 = ((System.Windows.Controls.TextBox)(target)); - return; - case 48: - this.checkbox_auto_connect = ((System.Windows.Controls.CheckBox)(target)); - #line 430 "..\..\SettingsControlDemo.xaml" - this.checkbox_auto_connect.Checked += new System.Windows.RoutedEventHandler(this.checkbox_auto_connect_Checked); + #line 697 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_min.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H_RPM); #line default #line hidden - #line 430 "..\..\SettingsControlDemo.xaml" - this.checkbox_auto_connect.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_auto_connect_Unchecked); + #line 697 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_min.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 49: - this.checkbox_pedal_read = ((System.Windows.Controls.CheckBox)(target)); + case 90: + this.rect_RPM_max = ((System.Windows.Shapes.Rectangle)(target)); - #line 431 "..\..\SettingsControlDemo.xaml" - this.checkbox_pedal_read.Checked += new System.Windows.RoutedEventHandler(this.CheckBox_Checked); + #line 698 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_max.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 431 "..\..\SettingsControlDemo.xaml" - this.checkbox_pedal_read.Unchecked += new System.Windows.RoutedEventHandler(this.CheckBox_Unchecked); + #line 698 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_max.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H_RPM); #line default #line hidden - return; - case 50: - this.Vjoy_out_check = ((System.Windows.Controls.CheckBox)(target)); - #line 432 "..\..\SettingsControlDemo.xaml" - this.Vjoy_out_check.Checked += new System.Windows.RoutedEventHandler(this.Vjoy_out_check_Checked); + #line 698 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_max.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden + return; + case 91: + this.text_RPM_freq_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 92: + this.checkbox_enable_bite_point = ((System.Windows.Controls.CheckBox)(target)); - #line 432 "..\..\SettingsControlDemo.xaml" - this.Vjoy_out_check.Unchecked += new System.Windows.RoutedEventHandler(this.Vjoy_out_check_Unchecked); + #line 727 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_bite_point.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_bite_point_Checked); #line default #line hidden - return; - case 51: - this.btn_plus = ((System.Windows.Controls.Button)(target)); - #line 434 "..\..\SettingsControlDemo.xaml" - this.btn_plus.Click += new System.Windows.RoutedEventHandler(this.vjoy_plus_click); + #line 727 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_bite_point.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_bite_point_Unchecked); #line default #line hidden return; - case 52: - this.Label_vjoy_order = ((System.Windows.Controls.Label)(target)); + case 93: + this.canvas_horz_bite_amp = ((System.Windows.Controls.Canvas)(target)); return; - case 53: - this.btn_minus = ((System.Windows.Controls.Button)(target)); + case 94: + this.text_bite_amp = ((System.Windows.Controls.TextBlock)(target)); + return; + case 95: + this.Line_H_bite_amp = ((System.Windows.Shapes.Line)(target)); + return; + case 96: + this.rect_bite_amp = ((System.Windows.Shapes.Rectangle)(target)); - #line 436 "..\..\SettingsControlDemo.xaml" - this.btn_minus.Click += new System.Windows.RoutedEventHandler(this.vjoy_minus_click); + #line 756 "..\..\SettingsControlDemo.xaml" + this.rect_bite_amp.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 54: - this.Debug_check = ((System.Windows.Controls.CheckBox)(target)); - #line 440 "..\..\SettingsControlDemo.xaml" - this.Debug_check.Checked += new System.Windows.RoutedEventHandler(this.Debug_checkbox_Checked); + #line 756 "..\..\SettingsControlDemo.xaml" + this.rect_bite_amp.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 440 "..\..\SettingsControlDemo.xaml" - this.Debug_check.Unchecked += new System.Windows.RoutedEventHandler(this.Debug_checkbox_Unchecked); + #line 756 "..\..\SettingsControlDemo.xaml" + this.rect_bite_amp.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 55: - this.text_debug_flag = ((System.Windows.Controls.TextBlock)(target)); + case 97: + this.text_bite_amp_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 56: - this.textBox_debug_Flag_0 = ((System.Windows.Controls.TextBox)(target)); + case 98: + this.canvas_horz_bite_freq = ((System.Windows.Controls.Canvas)(target)); + return; + case 99: + this.text_bite_freq = ((System.Windows.Controls.TextBlock)(target)); + return; + case 100: + this.Line_H_bite_freq = ((System.Windows.Shapes.Line)(target)); + return; + case 101: + this.rect_bite_freq = ((System.Windows.Shapes.Rectangle)(target)); - #line 450 "..\..\SettingsControlDemo.xaml" - this.textBox_debug_Flag_0.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumericTextBox_PreviewTextInput); + #line 795 "..\..\SettingsControlDemo.xaml" + this.rect_bite_freq.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 450 "..\..\SettingsControlDemo.xaml" - this.textBox_debug_Flag_0.TextChanged += new System.Windows.Controls.TextChangedEventHandler(this.NumericTextBox_TextChanged); + #line 795 "..\..\SettingsControlDemo.xaml" + this.rect_bite_freq.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - return; - case 57: - this.button_pedal_position_reset = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 451 "..\..\SettingsControlDemo.xaml" - this.button_pedal_position_reset.Click += new System.Windows.RoutedEventHandler(this.ResetPedalPosition_click); + #line 795 "..\..\SettingsControlDemo.xaml" + this.rect_bite_freq.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 58: - this.button_pedal_restart = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - - #line 452 "..\..\SettingsControlDemo.xaml" - this.button_pedal_restart.Click += new System.Windows.RoutedEventHandler(this.RestartPedal_click); - - #line default - #line hidden + case 102: + this.text_bite_freq_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 59: - this.btn_system_id = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + case 103: + this.checkbox_enable_G_force = ((System.Windows.Controls.CheckBox)(target)); - #line 453 "..\..\SettingsControlDemo.xaml" - this.btn_system_id.Click += new System.Windows.RoutedEventHandler(this.StartSystemIdentification_click); + #line 824 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_G_force.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_G_force_Checked); #line default #line hidden - return; - case 60: - this.btn_pedal_disconnect = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 454 "..\..\SettingsControlDemo.xaml" - this.btn_pedal_disconnect.Click += new System.Windows.RoutedEventHandler(this.DisconnectToPedal_click); + #line 824 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_G_force.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_G_force_Unchecked); #line default #line hidden return; - case 61: - this.text_debug_PID_para = ((System.Windows.Controls.TextBlock)(target)); + case 104: + this.canvas_horz_G_force_multi = ((System.Windows.Controls.Canvas)(target)); return; - case 62: - this.text_debug_pgain = ((System.Windows.Controls.TextBlock)(target)); + case 105: + this.text_G_multi = ((System.Windows.Controls.TextBlock)(target)); return; - case 63: - this.PID_tuning_P_gain_slider = ((System.Windows.Controls.Slider)(target)); + case 106: + this.Line_G_force_multi = ((System.Windows.Shapes.Line)(target)); + return; + case 107: + this.rect_G_force_multi = ((System.Windows.Shapes.Rectangle)(target)); - #line 467 "..\..\SettingsControlDemo.xaml" - this.PID_tuning_P_gain_slider.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.PID_tuning_P_gain_changed); + #line 853 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_multi.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 64: - this.text_debug_igain = ((System.Windows.Controls.TextBlock)(target)); - return; - case 65: - this.PID_tuning_I_gain_slider = ((System.Windows.Controls.Slider)(target)); - #line 484 "..\..\SettingsControlDemo.xaml" - this.PID_tuning_I_gain_slider.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.PID_tuning_I_gain_changed); + #line 853 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_multi.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - return; - case 66: - this.text_debug_dgain = ((System.Windows.Controls.TextBlock)(target)); - return; - case 67: - this.PID_tuning_D_gain_slider = ((System.Windows.Controls.Slider)(target)); - #line 500 "..\..\SettingsControlDemo.xaml" - this.PID_tuning_D_gain_slider.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.PID_tuning_D_gain_changed); + #line 853 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_multi.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 68: - this.text_debug_feedforward = ((System.Windows.Controls.TextBlock)(target)); + case 108: + this.text_G_force_multi_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 109: + this.canvas_horz_G_force_window = ((System.Windows.Controls.Canvas)(target)); return; - case 69: - this.PID_tuning_Feedforward_gain_slider = ((System.Windows.Controls.Slider)(target)); + case 110: + this.text_G_window = ((System.Windows.Controls.TextBlock)(target)); + return; + case 111: + this.Line_G_force_window = ((System.Windows.Shapes.Line)(target)); + return; + case 112: + this.rect_G_force_window = ((System.Windows.Shapes.Rectangle)(target)); - #line 516 "..\..\SettingsControlDemo.xaml" - this.PID_tuning_Feedforward_gain_slider.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.PID_tuning_Feedforward_gain_changed); + #line 892 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_window.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 70: - this.dynamic_PID_checkbox = ((System.Windows.Controls.CheckBox)(target)); - #line 575 "..\..\SettingsControlDemo.xaml" - this.dynamic_PID_checkbox.Checked += new System.Windows.RoutedEventHandler(this.PID_type_checkbox_Checked); + #line 892 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_window.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 575 "..\..\SettingsControlDemo.xaml" - this.dynamic_PID_checkbox.Unchecked += new System.Windows.RoutedEventHandler(this.PID_type_checkbox_Unchecked); + #line 892 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_window.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 71: + case 113: + this.text_G_force_window_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 114: this.JoystickOutput_check = ((System.Windows.Controls.CheckBox)(target)); - #line 576 "..\..\SettingsControlDemo.xaml" + #line 961 "..\..\SettingsControlDemo.xaml" this.JoystickOutput_check.Checked += new System.Windows.RoutedEventHandler(this.JoystickOutput_checked); #line default #line hidden - #line 576 "..\..\SettingsControlDemo.xaml" + #line 961 "..\..\SettingsControlDemo.xaml" this.JoystickOutput_check.Unchecked += new System.Windows.RoutedEventHandler(this.JoystickOutput_unchecked); #line default #line hidden return; - case 72: + case 115: this.InvertLoadcellReading_check = ((System.Windows.Controls.CheckBox)(target)); - #line 577 "..\..\SettingsControlDemo.xaml" + #line 962 "..\..\SettingsControlDemo.xaml" this.InvertLoadcellReading_check.Checked += new System.Windows.RoutedEventHandler(this.InvertLoadcellReading_checked); #line default #line hidden - #line 577 "..\..\SettingsControlDemo.xaml" + #line 962 "..\..\SettingsControlDemo.xaml" this.InvertLoadcellReading_check.Unchecked += new System.Windows.RoutedEventHandler(this.InvertLoadcellReading_unchecked); #line default #line hidden return; - case 73: + case 116: + this.SpindlePitch = ((System.Windows.Controls.ComboBox)(target)); + + #line 965 "..\..\SettingsControlDemo.xaml" + this.SpindlePitch.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.SpindlePitchChanged); + + #line default + #line hidden + return; + case 117: this.canvas_horz_damping = ((System.Windows.Controls.Canvas)(target)); return; - case 74: + case 118: this.text_damping = ((System.Windows.Controls.TextBlock)(target)); return; - case 75: + case 119: this.text_damping_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 76: + case 120: this.Line_H_damping = ((System.Windows.Shapes.Line)(target)); return; - case 77: + case 121: this.rect_damping = ((System.Windows.Shapes.Rectangle)(target)); - #line 617 "..\..\SettingsControlDemo.xaml" + #line 1021 "..\..\SettingsControlDemo.xaml" this.rect_damping.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 617 "..\..\SettingsControlDemo.xaml" + #line 1021 "..\..\SettingsControlDemo.xaml" this.rect_damping.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 617 "..\..\SettingsControlDemo.xaml" + #line 1021 "..\..\SettingsControlDemo.xaml" this.rect_damping.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 78: - this.canvas_horz_KF = ((System.Windows.Controls.Canvas)(target)); - return; - case 79: - this.text_KF = ((System.Windows.Controls.TextBlock)(target)); - return; - case 80: - this.text_KF_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 81: - this.Line_H_KF = ((System.Windows.Shapes.Line)(target)); - return; - case 82: - this.rect_KF = ((System.Windows.Shapes.Rectangle)(target)); - - #line 656 "..\..\SettingsControlDemo.xaml" - this.rect_KF.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); - - #line default - #line hidden - - #line 656 "..\..\SettingsControlDemo.xaml" - this.rect_KF.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); - - #line default - #line hidden - - #line 656 "..\..\SettingsControlDemo.xaml" - this.rect_KF.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); - - #line default - #line hidden - return; - case 83: + case 122: this.canvas_horz_LC_rating = ((System.Windows.Controls.Canvas)(target)); return; - case 84: + case 123: this.text_LC_rating = ((System.Windows.Controls.TextBlock)(target)); return; - case 85: + case 124: this.Line_H_LC_rating = ((System.Windows.Shapes.Line)(target)); return; - case 86: + case 125: this.rect_LC_rating = ((System.Windows.Shapes.Rectangle)(target)); - #line 686 "..\..\SettingsControlDemo.xaml" + #line 1056 "..\..\SettingsControlDemo.xaml" this.rect_LC_rating.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 686 "..\..\SettingsControlDemo.xaml" + #line 1056 "..\..\SettingsControlDemo.xaml" this.rect_LC_rating.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 686 "..\..\SettingsControlDemo.xaml" + #line 1056 "..\..\SettingsControlDemo.xaml" this.rect_LC_rating.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 87: + case 126: this.text_LC_rating_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 88: + case 127: this.canvas_horz_max_game = ((System.Windows.Controls.Canvas)(target)); return; - case 89: + case 128: this.text_max_game = ((System.Windows.Controls.TextBlock)(target)); return; - case 90: + case 129: this.Line_H_max_game = ((System.Windows.Shapes.Line)(target)); return; - case 91: + case 130: this.rect_max_game = ((System.Windows.Shapes.Rectangle)(target)); - #line 725 "..\..\SettingsControlDemo.xaml" + #line 1099 "..\..\SettingsControlDemo.xaml" this.rect_max_game.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 725 "..\..\SettingsControlDemo.xaml" + #line 1099 "..\..\SettingsControlDemo.xaml" this.rect_max_game.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 725 "..\..\SettingsControlDemo.xaml" + #line 1099 "..\..\SettingsControlDemo.xaml" this.rect_max_game.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 92: + case 131: this.text_max_game_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 93: - this.checkbox_enable_ABS = ((System.Windows.Controls.CheckBox)(target)); - - #line 752 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_ABS.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_ABS_Checked); - - #line default - #line hidden - - #line 752 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_ABS.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_ABS_Unchecked); - - #line default - #line hidden + case 132: + this.canvas_horz_KF = ((System.Windows.Controls.Canvas)(target)); return; - case 94: - this.AbsPattern = ((System.Windows.Controls.ComboBox)(target)); - - #line 754 "..\..\SettingsControlDemo.xaml" - this.AbsPattern.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.AbsPatternChanged); - - #line default - #line hidden + case 133: + this.text_KF = ((System.Windows.Controls.TextBlock)(target)); return; - case 95: - - #line 758 "..\..\SettingsControlDemo.xaml" - ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.TestAbs_click); - - #line default - #line hidden + case 134: + this.text_KF_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 96: - this.TestAbs_check = ((System.Windows.Controls.CheckBox)(target)); + case 135: + this.Line_H_KF = ((System.Windows.Shapes.Line)(target)); return; - case 97: - this.EffectAppliedOnForceOrTravel_combobox = ((System.Windows.Controls.ComboBox)(target)); + case 136: + this.rect_KF = ((System.Windows.Shapes.Rectangle)(target)); - #line 765 "..\..\SettingsControlDemo.xaml" - this.EffectAppliedOnForceOrTravel_combobox.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.EffectAppliedOnForceOrTravel_combobox_changed); + #line 1167 "..\..\SettingsControlDemo.xaml" + this.rect_KF.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 98: - this.Simulate_ABS_check = ((System.Windows.Controls.CheckBox)(target)); - #line 769 "..\..\SettingsControlDemo.xaml" - this.Simulate_ABS_check.Checked += new System.Windows.RoutedEventHandler(this.Simulate_ABS_check_Checked); + #line 1167 "..\..\SettingsControlDemo.xaml" + this.rect_KF.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 769 "..\..\SettingsControlDemo.xaml" - this.Simulate_ABS_check.Unchecked += new System.Windows.RoutedEventHandler(this.Simulate_ABS_check_Unchecked); + #line 1167 "..\..\SettingsControlDemo.xaml" + this.rect_KF.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 99: - this.canvas_horz_ABS = ((System.Windows.Controls.Canvas)(target)); - return; - case 100: - this.text_ABS = ((System.Windows.Controls.TextBlock)(target)); - return; - case 101: - this.Line_H_ABS = ((System.Windows.Shapes.Line)(target)); - return; - case 102: - this.rect_ABS = ((System.Windows.Shapes.Rectangle)(target)); + case 137: + this.ControlStrategy_Sel_1 = ((System.Windows.Controls.RadioButton)(target)); - #line 798 "..\..\SettingsControlDemo.xaml" - this.rect_ABS.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 1188 "..\..\SettingsControlDemo.xaml" + this.ControlStrategy_Sel_1.Checked += new System.Windows.RoutedEventHandler(this.StrategySel); #line default #line hidden + return; + case 138: + this.ControlStrategy_Sel_2 = ((System.Windows.Controls.RadioButton)(target)); - #line 798 "..\..\SettingsControlDemo.xaml" - this.rect_ABS.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 1189 "..\..\SettingsControlDemo.xaml" + this.ControlStrategy_Sel_2.Checked += new System.Windows.RoutedEventHandler(this.StrategySel); #line default #line hidden + return; + case 139: + this.ControlStrategy_Sel_3 = ((System.Windows.Controls.RadioButton)(target)); - #line 798 "..\..\SettingsControlDemo.xaml" - this.rect_ABS.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 1190 "..\..\SettingsControlDemo.xaml" + this.ControlStrategy_Sel_3.Checked += new System.Windows.RoutedEventHandler(this.StrategySel); #line default #line hidden return; - case 103: - this.text_ABS_text = ((System.Windows.Controls.TextBlock)(target)); + case 140: + this.canvas_horz_Pgain = ((System.Windows.Controls.Canvas)(target)); return; - case 104: - this.canvas_horz_ABS_freq = ((System.Windows.Controls.Canvas)(target)); + case 141: + this.text_Pgain = ((System.Windows.Controls.TextBlock)(target)); return; - case 105: - this.text_ABS_freq = ((System.Windows.Controls.TextBlock)(target)); + case 142: + this.text_Pgain_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 106: - this.Line_H_ABS_freq = ((System.Windows.Shapes.Line)(target)); + case 143: + this.Line_H_Pgain = ((System.Windows.Shapes.Line)(target)); return; - case 107: - this.rect_ABS_freq = ((System.Windows.Shapes.Rectangle)(target)); + case 144: + this.rect_Pgain = ((System.Windows.Shapes.Rectangle)(target)); - #line 837 "..\..\SettingsControlDemo.xaml" - this.rect_ABS_freq.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 1246 "..\..\SettingsControlDemo.xaml" + this.rect_Pgain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 837 "..\..\SettingsControlDemo.xaml" - this.rect_ABS_freq.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 1246 "..\..\SettingsControlDemo.xaml" + this.rect_Pgain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 837 "..\..\SettingsControlDemo.xaml" - this.rect_ABS_freq.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 1246 "..\..\SettingsControlDemo.xaml" + this.rect_Pgain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 108: - this.text_ABS_freq_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 109: - this.checkbox_enable_RPM = ((System.Windows.Controls.CheckBox)(target)); - - #line 864 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_RPM.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Checked); - - #line default - #line hidden - - #line 864 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_RPM.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Unchecked); - - #line default - #line hidden + case 145: + this.canvas_horz_Igain = ((System.Windows.Controls.Canvas)(target)); return; - case 110: - this.canvas_horz_RPM_AMP = ((System.Windows.Controls.Canvas)(target)); + case 146: + this.text_Igain = ((System.Windows.Controls.TextBlock)(target)); return; - case 111: - this.text_RPM_AMP = ((System.Windows.Controls.TextBlock)(target)); + case 147: + this.text_Igain_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 112: - this.Line_H_RPM_AMP = ((System.Windows.Shapes.Line)(target)); + case 148: + this.Line_H_Igain = ((System.Windows.Shapes.Line)(target)); return; - case 113: - this.rect_RPM_AMP = ((System.Windows.Shapes.Rectangle)(target)); + case 149: + this.rect_Igain = ((System.Windows.Shapes.Rectangle)(target)); - #line 893 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_AMP.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 1285 "..\..\SettingsControlDemo.xaml" + this.rect_Igain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 893 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_AMP.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 1285 "..\..\SettingsControlDemo.xaml" + this.rect_Igain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 893 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_AMP.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 1285 "..\..\SettingsControlDemo.xaml" + this.rect_Igain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 114: - this.text_RPM_AMP_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 115: - this.canvas_horz_RPM_freq = ((System.Windows.Controls.Canvas)(target)); - return; - case 116: - this.text_RPM_freq_min = ((System.Windows.Controls.TextBlock)(target)); + case 150: + this.canvas_horz_Dgain = ((System.Windows.Controls.Canvas)(target)); return; - case 117: - this.text_RPM_freq_max = ((System.Windows.Controls.TextBlock)(target)); + case 151: + this.text_Dgain = ((System.Windows.Controls.TextBlock)(target)); return; - case 118: - this.Line_H_RPM_freq = ((System.Windows.Shapes.Line)(target)); + case 152: + this.text_Dgain_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 119: - this.rect_RPM_min = ((System.Windows.Shapes.Rectangle)(target)); - - #line 946 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_min.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); - - #line default - #line hidden - - #line 946 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_min.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H_RPM); - - #line default - #line hidden - - #line 946 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_min.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); - - #line default - #line hidden + case 153: + this.Line_H_Dgain = ((System.Windows.Shapes.Line)(target)); return; - case 120: - this.rect_RPM_max = ((System.Windows.Shapes.Rectangle)(target)); + case 154: + this.rect_Dgain = ((System.Windows.Shapes.Rectangle)(target)); - #line 947 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_max.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 1324 "..\..\SettingsControlDemo.xaml" + this.rect_Dgain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 947 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_max.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H_RPM); + #line 1324 "..\..\SettingsControlDemo.xaml" + this.rect_Dgain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 947 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_max.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 1324 "..\..\SettingsControlDemo.xaml" + this.rect_Dgain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 121: - this.text_RPM_freq_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 122: - this.checkbox_enable_bite_point = ((System.Windows.Controls.CheckBox)(target)); - - #line 974 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_bite_point.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_bite_point_Checked); - - #line default - #line hidden - - #line 974 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_bite_point.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_bite_point_Unchecked); - - #line default - #line hidden + case 155: + this.canvas_horz_VFgain = ((System.Windows.Controls.Canvas)(target)); return; - case 123: - this.canvas_horz_bite_amp = ((System.Windows.Controls.Canvas)(target)); + case 156: + this.text_VFgain = ((System.Windows.Controls.TextBlock)(target)); return; - case 124: - this.text_bite_amp = ((System.Windows.Controls.TextBlock)(target)); + case 157: + this.text_VFgain_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 125: - this.Line_H_bite_amp = ((System.Windows.Shapes.Line)(target)); + case 158: + this.Line_H_VFgain = ((System.Windows.Shapes.Line)(target)); return; - case 126: - this.rect_bite_amp = ((System.Windows.Shapes.Rectangle)(target)); + case 159: + this.rect_VFgain = ((System.Windows.Shapes.Rectangle)(target)); - #line 1003 "..\..\SettingsControlDemo.xaml" - this.rect_bite_amp.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 1363 "..\..\SettingsControlDemo.xaml" + this.rect_VFgain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 1003 "..\..\SettingsControlDemo.xaml" - this.rect_bite_amp.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 1363 "..\..\SettingsControlDemo.xaml" + this.rect_VFgain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 1003 "..\..\SettingsControlDemo.xaml" - this.rect_bite_amp.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 1363 "..\..\SettingsControlDemo.xaml" + this.rect_VFgain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 127: - this.text_bite_amp_text = ((System.Windows.Controls.TextBlock)(target)); + case 160: + this.canvas_horz_MPC_0th_order_gain = ((System.Windows.Controls.Canvas)(target)); return; - case 128: - this.canvas_horz_bite_freq = ((System.Windows.Controls.Canvas)(target)); + case 161: + this.text_MPC_0th_order_gain = ((System.Windows.Controls.TextBlock)(target)); return; - case 129: - this.text_bite_freq = ((System.Windows.Controls.TextBlock)(target)); + case 162: + this.text_MPC_0th_order_gain_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 130: - this.Line_H_bite_freq = ((System.Windows.Shapes.Line)(target)); + case 163: + this.Line_H_MPC_0th_order_gain = ((System.Windows.Shapes.Line)(target)); return; - case 131: - this.rect_bite_freq = ((System.Windows.Shapes.Rectangle)(target)); + case 164: + this.rect_MPC_0th_order_gain = ((System.Windows.Shapes.Rectangle)(target)); - #line 1042 "..\..\SettingsControlDemo.xaml" - this.rect_bite_freq.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 1425 "..\..\SettingsControlDemo.xaml" + this.rect_MPC_0th_order_gain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 1042 "..\..\SettingsControlDemo.xaml" - this.rect_bite_freq.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 1425 "..\..\SettingsControlDemo.xaml" + this.rect_MPC_0th_order_gain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 1042 "..\..\SettingsControlDemo.xaml" - this.rect_bite_freq.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 1425 "..\..\SettingsControlDemo.xaml" + this.rect_MPC_0th_order_gain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 132: - this.text_bite_freq_text = ((System.Windows.Controls.TextBlock)(target)); + case 165: + this.canvas_horz_MPC_1st_order_gain = ((System.Windows.Controls.Canvas)(target)); return; } this._contentLoaded = true; diff --git a/SimHubPlugin/obj/Release/SettingsControlDemo.g.i.cs b/SimHubPlugin/obj/Release/SettingsControlDemo.g.i.cs index e5504742..0ad12c41 100644 --- a/SimHubPlugin/obj/Release/SettingsControlDemo.g.i.cs +++ b/SimHubPlugin/obj/Release/SettingsControlDemo.g.i.cs @@ -1,4 +1,4 @@ -#pragma checksum "..\..\SettingsControlDemo.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "31D02446B8151FD071E6D36A9ECD4262CF3DAE7FB21FACE4FD806D99A2C271B9" +#pragma checksum "..\..\SettingsControlDemo.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "BCB358EC03E153AA88FDC868710731551109C18C2EC28A3D46705EA8A84A442B" //------------------------------------------------------------------------------ // // Dieser Code wurde von einem Tool generiert. @@ -43,7 +43,7 @@ namespace User.PluginSdkDemo { public partial class SettingsControlDemo : System.Windows.Controls.UserControl, System.Windows.Markup.IComponentConnector { - #line 41 "..\..\SettingsControlDemo.xaml" + #line 42 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TabControl MyTab; @@ -51,7 +51,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 42 "..\..\SettingsControlDemo.xaml" + #line 43 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TabItem tabPedalSelection_clutch; @@ -59,7 +59,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 43 "..\..\SettingsControlDemo.xaml" + #line 44 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TabItem tabPedalSelection_brake; @@ -67,7 +67,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 44 "..\..\SettingsControlDemo.xaml" + #line 45 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TabItem tabPedalSelection_accelerator; @@ -75,7 +75,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 73 "..\..\SettingsControlDemo.xaml" + #line 72 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBox TextBox_debugOutput; @@ -83,7 +83,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 77 "..\..\SettingsControlDemo.xaml" + #line 76 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_serial; @@ -91,7 +91,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 85 "..\..\SettingsControlDemo.xaml" + #line 84 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBox TextBox_serialMonitor; @@ -99,7 +99,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 170 "..\..\SettingsControlDemo.xaml" + #line 169 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.Canvas canvas; @@ -107,7 +107,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 216 "..\..\SettingsControlDemo.xaml" + #line 215 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_point_pos; @@ -115,7 +115,15 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 231 "..\..\SettingsControlDemo.xaml" + #line 226 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock Serial_port_text; + + #line default + #line hidden + + + #line 228 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Polyline Polyline_BrakeForceCurve; @@ -123,7 +131,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 245 "..\..\SettingsControlDemo.xaml" + #line 242 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_SABS; @@ -131,7 +139,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 259 "..\..\SettingsControlDemo.xaml" + #line 252 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect_SABS; @@ -139,7 +147,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 260 "..\..\SettingsControlDemo.xaml" + #line 253 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect_SABS_Control; @@ -147,7 +155,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 261 "..\..\SettingsControlDemo.xaml" + #line 254 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect_BP_Control; @@ -155,7 +163,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 262 "..\..\SettingsControlDemo.xaml" + #line 255 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect_State; @@ -163,7 +171,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 263 "..\..\SettingsControlDemo.xaml" + #line 256 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_state; @@ -171,7 +179,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 264 "..\..\SettingsControlDemo.xaml" + #line 257 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect0; @@ -179,7 +187,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 265 "..\..\SettingsControlDemo.xaml" + #line 258 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect1; @@ -187,7 +195,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 266 "..\..\SettingsControlDemo.xaml" + #line 259 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect2; @@ -195,7 +203,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 267 "..\..\SettingsControlDemo.xaml" + #line 260 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect3; @@ -203,7 +211,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 268 "..\..\SettingsControlDemo.xaml" + #line 261 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect4; @@ -211,7 +219,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 269 "..\..\SettingsControlDemo.xaml" + #line 262 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect5; @@ -219,7 +227,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 270 "..\..\SettingsControlDemo.xaml" + #line 263 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_BP; @@ -227,7 +235,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 286 "..\..\SettingsControlDemo.xaml" + #line 276 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.Canvas canvas_vert_slider; @@ -235,7 +243,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 298 "..\..\SettingsControlDemo.xaml" + #line 288 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_min_force; @@ -243,7 +251,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 312 "..\..\SettingsControlDemo.xaml" + #line 302 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_max_force; @@ -251,7 +259,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 329 "..\..\SettingsControlDemo.xaml" + #line 319 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Line Line_V_force; @@ -259,7 +267,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 335 "..\..\SettingsControlDemo.xaml" + #line 325 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect8; @@ -267,7 +275,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 336 "..\..\SettingsControlDemo.xaml" + #line 326 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect9; @@ -275,7 +283,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 340 "..\..\SettingsControlDemo.xaml" + #line 330 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.Canvas canvas_horz_slider; @@ -283,7 +291,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 352 "..\..\SettingsControlDemo.xaml" + #line 342 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_min_pos; @@ -291,7 +299,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 366 "..\..\SettingsControlDemo.xaml" + #line 356 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_max_pos; @@ -299,7 +307,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 380 "..\..\SettingsControlDemo.xaml" + #line 370 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_position; @@ -307,7 +315,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 397 "..\..\SettingsControlDemo.xaml" + #line 387 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Line Line_H_pos; @@ -315,7 +323,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 403 "..\..\SettingsControlDemo.xaml" + #line 393 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect6; @@ -323,7 +331,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 404 "..\..\SettingsControlDemo.xaml" + #line 394 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Shapes.Rectangle rect7; @@ -331,7 +339,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 411 "..\..\SettingsControlDemo.xaml" + #line 401 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.Label info_label; @@ -339,7 +347,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 412 "..\..\SettingsControlDemo.xaml" + #line 402 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.Label info_label_2; @@ -347,7 +355,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 415 "..\..\SettingsControlDemo.xaml" + #line 405 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.ComboBox SerialPortSelection; @@ -355,7 +363,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 419 "..\..\SettingsControlDemo.xaml" + #line 409 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.CheckBox ConnectToPedal; @@ -363,7 +371,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 423 "..\..\SettingsControlDemo.xaml" + #line 413 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal SimHub.Plugins.Styles.SHButtonPrimary btn_pedal_connect; @@ -371,7 +379,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 424 "..\..\SettingsControlDemo.xaml" + #line 414 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal SimHub.Plugins.Styles.SHButtonPrimary btn_update; @@ -379,7 +387,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 429 "..\..\SettingsControlDemo.xaml" + #line 419 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBox TextBox2; @@ -387,7 +395,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 430 "..\..\SettingsControlDemo.xaml" + #line 420 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.CheckBox checkbox_auto_connect; @@ -395,7 +403,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 431 "..\..\SettingsControlDemo.xaml" + #line 421 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.CheckBox checkbox_pedal_read; @@ -403,7 +411,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 432 "..\..\SettingsControlDemo.xaml" + #line 422 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.CheckBox Vjoy_out_check; @@ -411,7 +419,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 434 "..\..\SettingsControlDemo.xaml" + #line 424 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.Button btn_plus; @@ -419,7 +427,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 435 "..\..\SettingsControlDemo.xaml" + #line 425 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.Label Label_vjoy_order; @@ -427,7 +435,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 436 "..\..\SettingsControlDemo.xaml" + #line 426 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.Button btn_minus; @@ -435,7 +443,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 438 "..\..\SettingsControlDemo.xaml" + #line 428 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.CheckBox Debug_check; @@ -443,7 +451,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 445 "..\..\SettingsControlDemo.xaml" + #line 435 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBlock text_debug_flag; @@ -451,7 +459,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 449 "..\..\SettingsControlDemo.xaml" + #line 439 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.TextBox textBox_debug_Flag_0; @@ -459,7 +467,15 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 451 "..\..\SettingsControlDemo.xaml" + #line 441 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.CheckBox dump_pedal_response_to_file; + + #line default + #line hidden + + + #line 442 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal SimHub.Plugins.Styles.SHButtonPrimary button_pedal_position_reset; @@ -467,7 +483,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 452 "..\..\SettingsControlDemo.xaml" + #line 443 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal SimHub.Plugins.Styles.SHButtonPrimary button_pedal_restart; @@ -475,7 +491,7 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 453 "..\..\SettingsControlDemo.xaml" + #line 444 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal SimHub.Plugins.Styles.SHButtonPrimary btn_system_id; @@ -483,137 +499,137 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line hidden - #line 454 "..\..\SettingsControlDemo.xaml" + #line 445 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal SimHub.Plugins.Styles.SHButtonPrimary btn_pedal_disconnect; + internal SimHub.Plugins.Styles.SHButtonPrimary btn_reset_default; #line default #line hidden - #line 457 "..\..\SettingsControlDemo.xaml" + #line 501 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_PID_para; + internal System.Windows.Controls.CheckBox checkbox_enable_ABS; #line default #line hidden - #line 461 "..\..\SettingsControlDemo.xaml" + #line 503 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_pgain; + internal System.Windows.Controls.ComboBox AbsPattern; #line default #line hidden - #line 465 "..\..\SettingsControlDemo.xaml" + #line 508 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Slider PID_tuning_P_gain_slider; + internal System.Windows.Controls.CheckBox TestAbs_check; #line default #line hidden - #line 478 "..\..\SettingsControlDemo.xaml" + #line 514 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_igain; + internal System.Windows.Controls.ComboBox EffectAppliedOnForceOrTravel_combobox; #line default #line hidden - #line 482 "..\..\SettingsControlDemo.xaml" + #line 518 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Slider PID_tuning_I_gain_slider; + internal System.Windows.Controls.CheckBox Simulate_ABS_check; #line default #line hidden - #line 494 "..\..\SettingsControlDemo.xaml" + #line 520 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_dgain; + internal System.Windows.Controls.Canvas canvas_horz_ABS; #line default #line hidden - #line 498 "..\..\SettingsControlDemo.xaml" + #line 530 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Slider PID_tuning_D_gain_slider; + internal System.Windows.Controls.TextBlock text_ABS; #line default #line hidden - #line 510 "..\..\SettingsControlDemo.xaml" + #line 542 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_debug_feedforward; + internal System.Windows.Shapes.Line Line_H_ABS; #line default #line hidden - #line 514 "..\..\SettingsControlDemo.xaml" + #line 547 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Slider PID_tuning_Feedforward_gain_slider; + internal System.Windows.Shapes.Rectangle rect_ABS; #line default #line hidden - #line 575 "..\..\SettingsControlDemo.xaml" + #line 548 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox dynamic_PID_checkbox; + internal System.Windows.Controls.TextBlock text_ABS_text; #line default #line hidden - #line 576 "..\..\SettingsControlDemo.xaml" + #line 559 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox JoystickOutput_check; + internal System.Windows.Controls.Canvas canvas_horz_ABS_freq; #line default #line hidden - #line 577 "..\..\SettingsControlDemo.xaml" + #line 569 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox InvertLoadcellReading_check; + internal System.Windows.Controls.TextBlock text_ABS_freq; #line default #line hidden - #line 579 "..\..\SettingsControlDemo.xaml" + #line 581 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_damping; + internal System.Windows.Shapes.Line Line_H_ABS_freq; #line default #line hidden - #line 589 "..\..\SettingsControlDemo.xaml" + #line 586 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_damping; + internal System.Windows.Shapes.Rectangle rect_ABS_freq; #line default #line hidden - #line 599 "..\..\SettingsControlDemo.xaml" + #line 587 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_damping_text; + internal System.Windows.Controls.TextBlock text_ABS_freq_text; #line default #line hidden - #line 612 "..\..\SettingsControlDemo.xaml" + #line 615 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_damping; + internal System.Windows.Controls.CheckBox checkbox_enable_RPM; #line default #line hidden @@ -621,39 +637,39 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line 617 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_damping; + internal System.Windows.Controls.Canvas canvas_horz_RPM_AMP; #line default #line hidden - #line 621 "..\..\SettingsControlDemo.xaml" + #line 627 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_KF; + internal System.Windows.Controls.TextBlock text_RPM_AMP; #line default #line hidden - #line 631 "..\..\SettingsControlDemo.xaml" + #line 639 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_KF; + internal System.Windows.Shapes.Line Line_H_RPM_AMP; #line default #line hidden - #line 640 "..\..\SettingsControlDemo.xaml" + #line 644 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_KF_text; + internal System.Windows.Shapes.Rectangle rect_RPM_AMP; #line default #line hidden - #line 651 "..\..\SettingsControlDemo.xaml" + #line 645 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_KF; + internal System.Windows.Controls.TextBlock text_RPM_AMP_text; #line default #line hidden @@ -661,1507 +677,1992 @@ public partial class SettingsControlDemo : System.Windows.Controls.UserControl, #line 656 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_KF; + internal System.Windows.Controls.Canvas canvas_horz_RPM_freq; #line default #line hidden - #line 659 "..\..\SettingsControlDemo.xaml" + #line 668 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_LC_rating; + internal System.Windows.Controls.TextBlock text_RPM_freq_min; #line default #line hidden - #line 669 "..\..\SettingsControlDemo.xaml" + #line 678 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_LC_rating; + internal System.Windows.Controls.TextBlock text_RPM_freq_max; #line default #line hidden - #line 681 "..\..\SettingsControlDemo.xaml" + #line 691 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_LC_rating; + internal System.Windows.Shapes.Line Line_H_RPM_freq; #line default #line hidden - #line 686 "..\..\SettingsControlDemo.xaml" + #line 697 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_LC_rating; + internal System.Windows.Shapes.Rectangle rect_RPM_min; #line default #line hidden - #line 687 "..\..\SettingsControlDemo.xaml" + #line 698 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_LC_rating_text; + internal System.Windows.Shapes.Rectangle rect_RPM_max; #line default #line hidden - #line 698 "..\..\SettingsControlDemo.xaml" + #line 699 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_max_game; + internal System.Windows.Controls.TextBlock text_RPM_freq_text; #line default #line hidden - #line 708 "..\..\SettingsControlDemo.xaml" + #line 727 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_max_game; + internal System.Windows.Controls.CheckBox checkbox_enable_bite_point; #line default #line hidden - #line 720 "..\..\SettingsControlDemo.xaml" + #line 729 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_max_game; + internal System.Windows.Controls.Canvas canvas_horz_bite_amp; #line default #line hidden - #line 725 "..\..\SettingsControlDemo.xaml" + #line 739 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_max_game; + internal System.Windows.Controls.TextBlock text_bite_amp; #line default #line hidden - #line 726 "..\..\SettingsControlDemo.xaml" + #line 751 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_max_game_text; + internal System.Windows.Shapes.Line Line_H_bite_amp; #line default #line hidden - #line 752 "..\..\SettingsControlDemo.xaml" + #line 756 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox checkbox_enable_ABS; + internal System.Windows.Shapes.Rectangle rect_bite_amp; #line default #line hidden - #line 754 "..\..\SettingsControlDemo.xaml" + #line 757 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.ComboBox AbsPattern; + internal System.Windows.Controls.TextBlock text_bite_amp_text; #line default #line hidden - #line 759 "..\..\SettingsControlDemo.xaml" + #line 768 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox TestAbs_check; + internal System.Windows.Controls.Canvas canvas_horz_bite_freq; #line default #line hidden - #line 765 "..\..\SettingsControlDemo.xaml" + #line 778 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.ComboBox EffectAppliedOnForceOrTravel_combobox; + internal System.Windows.Controls.TextBlock text_bite_freq; #line default #line hidden - #line 769 "..\..\SettingsControlDemo.xaml" + #line 790 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox Simulate_ABS_check; + internal System.Windows.Shapes.Line Line_H_bite_freq; #line default #line hidden - #line 771 "..\..\SettingsControlDemo.xaml" + #line 795 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_ABS; + internal System.Windows.Shapes.Rectangle rect_bite_freq; #line default #line hidden - #line 781 "..\..\SettingsControlDemo.xaml" + #line 796 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_ABS; + internal System.Windows.Controls.TextBlock text_bite_freq_text; #line default #line hidden - #line 793 "..\..\SettingsControlDemo.xaml" + #line 824 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_ABS; + internal System.Windows.Controls.CheckBox checkbox_enable_G_force; #line default #line hidden - #line 798 "..\..\SettingsControlDemo.xaml" + #line 826 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_ABS; + internal System.Windows.Controls.Canvas canvas_horz_G_force_multi; #line default #line hidden - #line 799 "..\..\SettingsControlDemo.xaml" + #line 836 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_ABS_text; + internal System.Windows.Controls.TextBlock text_G_multi; #line default #line hidden - #line 810 "..\..\SettingsControlDemo.xaml" + #line 848 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_ABS_freq; + internal System.Windows.Shapes.Line Line_G_force_multi; #line default #line hidden - #line 820 "..\..\SettingsControlDemo.xaml" + #line 853 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_ABS_freq; + internal System.Windows.Shapes.Rectangle rect_G_force_multi; #line default #line hidden - #line 832 "..\..\SettingsControlDemo.xaml" + #line 854 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_ABS_freq; + internal System.Windows.Controls.TextBlock text_G_force_multi_text; #line default #line hidden - #line 837 "..\..\SettingsControlDemo.xaml" + #line 865 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_ABS_freq; + internal System.Windows.Controls.Canvas canvas_horz_G_force_window; #line default #line hidden - #line 838 "..\..\SettingsControlDemo.xaml" + #line 875 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_ABS_freq_text; + internal System.Windows.Controls.TextBlock text_G_window; #line default #line hidden - #line 864 "..\..\SettingsControlDemo.xaml" + #line 887 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox checkbox_enable_RPM; + internal System.Windows.Shapes.Line Line_G_force_window; #line default #line hidden - #line 866 "..\..\SettingsControlDemo.xaml" + #line 892 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_RPM_AMP; + internal System.Windows.Shapes.Rectangle rect_G_force_window; #line default #line hidden - #line 876 "..\..\SettingsControlDemo.xaml" + #line 893 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_AMP; + internal System.Windows.Controls.TextBlock text_G_force_window_text; #line default #line hidden - #line 888 "..\..\SettingsControlDemo.xaml" + #line 961 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_RPM_AMP; + internal System.Windows.Controls.CheckBox JoystickOutput_check; #line default #line hidden - #line 893 "..\..\SettingsControlDemo.xaml" + #line 962 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_RPM_AMP; + internal System.Windows.Controls.CheckBox InvertLoadcellReading_check; #line default #line hidden - #line 894 "..\..\SettingsControlDemo.xaml" + #line 965 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_AMP_text; + internal System.Windows.Controls.ComboBox SpindlePitch; #line default #line hidden - #line 905 "..\..\SettingsControlDemo.xaml" + #line 983 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_RPM_freq; + internal System.Windows.Controls.Canvas canvas_horz_damping; #line default #line hidden - #line 917 "..\..\SettingsControlDemo.xaml" + #line 993 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_freq_min; + internal System.Windows.Controls.TextBlock text_damping; #line default #line hidden - #line 927 "..\..\SettingsControlDemo.xaml" + #line 1003 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_freq_max; + internal System.Windows.Controls.TextBlock text_damping_text; #line default #line hidden - #line 940 "..\..\SettingsControlDemo.xaml" + #line 1016 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_RPM_freq; + internal System.Windows.Shapes.Line Line_H_damping; #line default #line hidden - #line 946 "..\..\SettingsControlDemo.xaml" + #line 1021 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_RPM_min; + internal System.Windows.Shapes.Rectangle rect_damping; #line default #line hidden - #line 947 "..\..\SettingsControlDemo.xaml" + #line 1029 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_RPM_max; + internal System.Windows.Controls.Canvas canvas_horz_LC_rating; #line default #line hidden - #line 948 "..\..\SettingsControlDemo.xaml" + #line 1039 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_RPM_freq_text; + internal System.Windows.Controls.TextBlock text_LC_rating; #line default #line hidden - #line 974 "..\..\SettingsControlDemo.xaml" + #line 1051 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.CheckBox checkbox_enable_bite_point; + internal System.Windows.Shapes.Line Line_H_LC_rating; #line default #line hidden - #line 976 "..\..\SettingsControlDemo.xaml" + #line 1056 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_bite_amp; + internal System.Windows.Shapes.Rectangle rect_LC_rating; #line default #line hidden - #line 986 "..\..\SettingsControlDemo.xaml" + #line 1057 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_bite_amp; + internal System.Windows.Controls.TextBlock text_LC_rating_text; #line default #line hidden - #line 998 "..\..\SettingsControlDemo.xaml" + #line 1072 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_bite_amp; + internal System.Windows.Controls.Canvas canvas_horz_max_game; #line default #line hidden - #line 1003 "..\..\SettingsControlDemo.xaml" + #line 1082 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_bite_amp; + internal System.Windows.Controls.TextBlock text_max_game; #line default #line hidden - #line 1004 "..\..\SettingsControlDemo.xaml" + #line 1094 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_bite_amp_text; + internal System.Windows.Shapes.Line Line_H_max_game; #line default #line hidden - #line 1015 "..\..\SettingsControlDemo.xaml" + #line 1099 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.Canvas canvas_horz_bite_freq; + internal System.Windows.Shapes.Rectangle rect_max_game; #line default #line hidden - #line 1025 "..\..\SettingsControlDemo.xaml" + #line 1100 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_bite_freq; + internal System.Windows.Controls.TextBlock text_max_game_text; #line default #line hidden - #line 1037 "..\..\SettingsControlDemo.xaml" + #line 1132 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Line Line_H_bite_freq; + internal System.Windows.Controls.Canvas canvas_horz_KF; #line default #line hidden - #line 1042 "..\..\SettingsControlDemo.xaml" + #line 1142 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Shapes.Rectangle rect_bite_freq; + internal System.Windows.Controls.TextBlock text_KF; #line default #line hidden - #line 1043 "..\..\SettingsControlDemo.xaml" + #line 1151 "..\..\SettingsControlDemo.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] - internal System.Windows.Controls.TextBlock text_bite_freq_text; + internal System.Windows.Controls.TextBlock text_KF_text; #line default #line hidden - private bool _contentLoaded; - /// - /// InitializeComponent - /// - [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] - public void InitializeComponent() { - if (_contentLoaded) { - return; - } - _contentLoaded = true; - System.Uri resourceLocater = new System.Uri("/DiyActivePedal;component/settingscontroldemo.xaml", System.UriKind.Relative); - - #line 1 "..\..\SettingsControlDemo.xaml" - System.Windows.Application.LoadComponent(this, resourceLocater); - - #line default - #line hidden - } + #line 1162 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_KF; - [System.Diagnostics.DebuggerNonUserCodeAttribute()] - [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] - [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] - [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] - [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] - [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] - void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { - switch (connectionId) - { - case 1: - this.MyTab = ((System.Windows.Controls.TabControl)(target)); - - #line 41 "..\..\SettingsControlDemo.xaml" - this.MyTab.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.TabControl_SelectionChanged); - - #line default - #line hidden - return; - case 2: - this.tabPedalSelection_clutch = ((System.Windows.Controls.TabItem)(target)); - return; - case 3: - this.tabPedalSelection_brake = ((System.Windows.Controls.TabItem)(target)); - return; - case 4: - this.tabPedalSelection_accelerator = ((System.Windows.Controls.TabItem)(target)); - return; - case 5: - this.TextBox_debugOutput = ((System.Windows.Controls.TextBox)(target)); - return; - case 6: - this.text_serial = ((System.Windows.Controls.TextBlock)(target)); - return; - case 7: - this.TextBox_serialMonitor = ((System.Windows.Controls.TextBox)(target)); - return; - case 8: - this.canvas = ((System.Windows.Controls.Canvas)(target)); - return; - case 9: - this.text_point_pos = ((System.Windows.Controls.TextBlock)(target)); - return; - case 10: - this.Polyline_BrakeForceCurve = ((System.Windows.Shapes.Polyline)(target)); - return; - case 11: - this.text_SABS = ((System.Windows.Controls.TextBlock)(target)); - return; - case 12: - this.rect_SABS = ((System.Windows.Shapes.Rectangle)(target)); - return; - case 13: - this.rect_SABS_Control = ((System.Windows.Shapes.Rectangle)(target)); - - #line 260 "..\..\SettingsControlDemo.xaml" - this.rect_SABS_Control.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); - - #line default - #line hidden - - #line 260 "..\..\SettingsControlDemo.xaml" - this.rect_SABS_Control.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_ABS); - - #line default - #line hidden - - #line 260 "..\..\SettingsControlDemo.xaml" - this.rect_SABS_Control.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); - - #line default - #line hidden - return; + #line default + #line hidden + + + #line 1167 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_KF; + + #line default + #line hidden + + + #line 1188 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.RadioButton ControlStrategy_Sel_1; + + #line default + #line hidden + + + #line 1189 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.RadioButton ControlStrategy_Sel_2; + + #line default + #line hidden + + + #line 1190 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.RadioButton ControlStrategy_Sel_3; + + #line default + #line hidden + + + #line 1210 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_Pgain; + + #line default + #line hidden + + + #line 1220 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Pgain; + + #line default + #line hidden + + + #line 1230 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Pgain_text; + + #line default + #line hidden + + + #line 1241 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_Pgain; + + #line default + #line hidden + + + #line 1246 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_Pgain; + + #line default + #line hidden + + + #line 1249 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_Igain; + + #line default + #line hidden + + + #line 1259 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Igain; + + #line default + #line hidden + + + #line 1269 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Igain_text; + + #line default + #line hidden + + + #line 1280 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_Igain; + + #line default + #line hidden + + + #line 1285 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_Igain; + + #line default + #line hidden + + + #line 1288 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_Dgain; + + #line default + #line hidden + + + #line 1298 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Dgain; + + #line default + #line hidden + + + #line 1308 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_Dgain_text; + + #line default + #line hidden + + + #line 1319 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_Dgain; + + #line default + #line hidden + + + #line 1324 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_Dgain; + + #line default + #line hidden + + + #line 1327 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_VFgain; + + #line default + #line hidden + + + #line 1337 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_VFgain; + + #line default + #line hidden + + + #line 1347 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_VFgain_text; + + #line default + #line hidden + + + #line 1358 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_VFgain; + + #line default + #line hidden + + + #line 1363 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_VFgain; + + #line default + #line hidden + + + #line 1389 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_MPC_0th_order_gain; + + #line default + #line hidden + + + #line 1399 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_MPC_0th_order_gain; + + #line default + #line hidden + + + #line 1409 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.TextBlock text_MPC_0th_order_gain_text; + + #line default + #line hidden + + + #line 1420 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Line Line_H_MPC_0th_order_gain; + + #line default + #line hidden + + + #line 1425 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Shapes.Rectangle rect_MPC_0th_order_gain; + + #line default + #line hidden + + + #line 1431 "..\..\SettingsControlDemo.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.Canvas canvas_horz_MPC_1st_order_gain; + + #line default + #line hidden + + private bool _contentLoaded; + + /// + /// InitializeComponent + /// + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + public void InitializeComponent() { + if (_contentLoaded) { + return; + } + _contentLoaded = true; + System.Uri resourceLocater = new System.Uri("/DiyActivePedal;component/settingscontroldemo.xaml", System.UriKind.Relative); + + #line 1 "..\..\SettingsControlDemo.xaml" + System.Windows.Application.LoadComponent(this, resourceLocater); + + #line default + #line hidden + } + + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")] + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Design", "CA1033:InterfaceMethodsShouldBeCallableByChildTypes")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")] + void System.Windows.Markup.IComponentConnector.Connect(int connectionId, object target) { + switch (connectionId) + { + case 1: + this.MyTab = ((System.Windows.Controls.TabControl)(target)); + + #line 42 "..\..\SettingsControlDemo.xaml" + this.MyTab.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.TabControl_SelectionChanged); + + #line default + #line hidden + return; + case 2: + this.tabPedalSelection_clutch = ((System.Windows.Controls.TabItem)(target)); + return; + case 3: + this.tabPedalSelection_brake = ((System.Windows.Controls.TabItem)(target)); + return; + case 4: + this.tabPedalSelection_accelerator = ((System.Windows.Controls.TabItem)(target)); + return; + case 5: + this.TextBox_debugOutput = ((System.Windows.Controls.TextBox)(target)); + return; + case 6: + this.text_serial = ((System.Windows.Controls.TextBlock)(target)); + return; + case 7: + this.TextBox_serialMonitor = ((System.Windows.Controls.TextBox)(target)); + return; + case 8: + this.canvas = ((System.Windows.Controls.Canvas)(target)); + return; + case 9: + this.text_point_pos = ((System.Windows.Controls.TextBlock)(target)); + return; + case 10: + this.Serial_port_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 11: + this.Polyline_BrakeForceCurve = ((System.Windows.Shapes.Polyline)(target)); + return; + case 12: + this.text_SABS = ((System.Windows.Controls.TextBlock)(target)); + return; + case 13: + this.rect_SABS = ((System.Windows.Shapes.Rectangle)(target)); + return; case 14: + this.rect_SABS_Control = ((System.Windows.Shapes.Rectangle)(target)); + + #line 253 "..\..\SettingsControlDemo.xaml" + this.rect_SABS_Control.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 253 "..\..\SettingsControlDemo.xaml" + this.rect_SABS_Control.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_ABS); + + #line default + #line hidden + + #line 253 "..\..\SettingsControlDemo.xaml" + this.rect_SABS_Control.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 15: this.rect_BP_Control = ((System.Windows.Shapes.Rectangle)(target)); - #line 261 "..\..\SettingsControlDemo.xaml" - this.rect_BP_Control.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 254 "..\..\SettingsControlDemo.xaml" + this.rect_BP_Control.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 254 "..\..\SettingsControlDemo.xaml" + this.rect_BP_Control.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + + #line default + #line hidden + + #line 254 "..\..\SettingsControlDemo.xaml" + this.rect_BP_Control.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 16: + this.rect_State = ((System.Windows.Shapes.Rectangle)(target)); + return; + case 17: + this.text_state = ((System.Windows.Controls.TextBlock)(target)); + return; + case 18: + this.rect0 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 257 "..\..\SettingsControlDemo.xaml" + this.rect0.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 257 "..\..\SettingsControlDemo.xaml" + this.rect0.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 257 "..\..\SettingsControlDemo.xaml" + this.rect0.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 19: + this.rect1 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 258 "..\..\SettingsControlDemo.xaml" + this.rect1.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 258 "..\..\SettingsControlDemo.xaml" + this.rect1.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 258 "..\..\SettingsControlDemo.xaml" + this.rect1.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 20: + this.rect2 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 259 "..\..\SettingsControlDemo.xaml" + this.rect2.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 259 "..\..\SettingsControlDemo.xaml" + this.rect2.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 259 "..\..\SettingsControlDemo.xaml" + this.rect2.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 21: + this.rect3 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 260 "..\..\SettingsControlDemo.xaml" + this.rect3.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 260 "..\..\SettingsControlDemo.xaml" + this.rect3.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 260 "..\..\SettingsControlDemo.xaml" + this.rect3.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 22: + this.rect4 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 261 "..\..\SettingsControlDemo.xaml" + this.rect4.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 261 "..\..\SettingsControlDemo.xaml" + this.rect4.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 261 "..\..\SettingsControlDemo.xaml" + this.rect4.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 23: + this.rect5 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 262 "..\..\SettingsControlDemo.xaml" + this.rect5.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 262 "..\..\SettingsControlDemo.xaml" + this.rect5.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + + #line default + #line hidden + + #line 262 "..\..\SettingsControlDemo.xaml" + this.rect5.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + + #line default + #line hidden + return; + case 24: + this.text_BP = ((System.Windows.Controls.TextBlock)(target)); + return; + case 25: + this.canvas_vert_slider = ((System.Windows.Controls.Canvas)(target)); + return; + case 26: + this.text_min_force = ((System.Windows.Controls.TextBlock)(target)); + return; + case 27: + this.text_max_force = ((System.Windows.Controls.TextBlock)(target)); + return; + case 28: + this.Line_V_force = ((System.Windows.Shapes.Line)(target)); + return; + case 29: + this.rect8 = ((System.Windows.Shapes.Rectangle)(target)); + + #line 325 "..\..\SettingsControlDemo.xaml" + this.rect8.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 325 "..\..\SettingsControlDemo.xaml" + this.rect8.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_V); #line default #line hidden - #line 261 "..\..\SettingsControlDemo.xaml" - this.rect_BP_Control.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 325 "..\..\SettingsControlDemo.xaml" + this.rect8.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden + return; + case 30: + this.rect9 = ((System.Windows.Shapes.Rectangle)(target)); - #line 261 "..\..\SettingsControlDemo.xaml" - this.rect_BP_Control.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 326 "..\..\SettingsControlDemo.xaml" + this.rect9.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + + #line default + #line hidden + + #line 326 "..\..\SettingsControlDemo.xaml" + this.rect9.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_V); + + #line default + #line hidden + + #line 326 "..\..\SettingsControlDemo.xaml" + this.rect9.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 15: - this.rect_State = ((System.Windows.Shapes.Rectangle)(target)); + case 31: + this.canvas_horz_slider = ((System.Windows.Controls.Canvas)(target)); return; - case 16: - this.text_state = ((System.Windows.Controls.TextBlock)(target)); + case 32: + this.text_min_pos = ((System.Windows.Controls.TextBlock)(target)); return; - case 17: - this.rect0 = ((System.Windows.Shapes.Rectangle)(target)); + case 33: + this.text_max_pos = ((System.Windows.Controls.TextBlock)(target)); + return; + case 34: + this.text_position = ((System.Windows.Controls.TextBlock)(target)); + return; + case 35: + this.Line_H_pos = ((System.Windows.Shapes.Line)(target)); + return; + case 36: + this.rect6 = ((System.Windows.Shapes.Rectangle)(target)); - #line 264 "..\..\SettingsControlDemo.xaml" - this.rect0.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 393 "..\..\SettingsControlDemo.xaml" + this.rect6.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 264 "..\..\SettingsControlDemo.xaml" - this.rect0.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 393 "..\..\SettingsControlDemo.xaml" + this.rect6.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H); #line default #line hidden - #line 264 "..\..\SettingsControlDemo.xaml" - this.rect0.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 393 "..\..\SettingsControlDemo.xaml" + this.rect6.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 18: - this.rect1 = ((System.Windows.Shapes.Rectangle)(target)); + case 37: + this.rect7 = ((System.Windows.Shapes.Rectangle)(target)); - #line 265 "..\..\SettingsControlDemo.xaml" - this.rect1.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 394 "..\..\SettingsControlDemo.xaml" + this.rect7.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 265 "..\..\SettingsControlDemo.xaml" - this.rect1.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 394 "..\..\SettingsControlDemo.xaml" + this.rect7.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H); #line default #line hidden - #line 265 "..\..\SettingsControlDemo.xaml" - this.rect1.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 394 "..\..\SettingsControlDemo.xaml" + this.rect7.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 19: - this.rect2 = ((System.Windows.Shapes.Rectangle)(target)); + case 38: + this.info_label = ((System.Windows.Controls.Label)(target)); + return; + case 39: + this.info_label_2 = ((System.Windows.Controls.Label)(target)); + return; + case 40: + this.SerialPortSelection = ((System.Windows.Controls.ComboBox)(target)); - #line 266 "..\..\SettingsControlDemo.xaml" - this.rect2.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 405 "..\..\SettingsControlDemo.xaml" + this.SerialPortSelection.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.SerialPortSelectionChanged); #line default #line hidden + return; + case 41: + this.ConnectToPedal = ((System.Windows.Controls.CheckBox)(target)); + return; + case 42: + this.btn_pedal_connect = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 266 "..\..\SettingsControlDemo.xaml" - this.rect2.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 413 "..\..\SettingsControlDemo.xaml" + this.btn_pedal_connect.Click += new System.Windows.RoutedEventHandler(this.ConnectToPedal_click); #line default #line hidden + return; + case 43: + this.btn_update = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 266 "..\..\SettingsControlDemo.xaml" - this.rect2.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 414 "..\..\SettingsControlDemo.xaml" + this.btn_update.Click += new System.Windows.RoutedEventHandler(this.UpdateSerialPortList_click); #line default #line hidden return; - case 20: - this.rect3 = ((System.Windows.Shapes.Rectangle)(target)); + case 44: - #line 267 "..\..\SettingsControlDemo.xaml" - this.rect3.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 415 "..\..\SettingsControlDemo.xaml" + ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.SendConfigToPedal_click); #line default #line hidden + return; + case 45: - #line 267 "..\..\SettingsControlDemo.xaml" - this.rect3.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 416 "..\..\SettingsControlDemo.xaml" + ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.ReadConfigFromPedal_click); #line default #line hidden + return; + case 46: - #line 267 "..\..\SettingsControlDemo.xaml" - this.rect3.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 417 "..\..\SettingsControlDemo.xaml" + ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.OpenButton_Click); #line default #line hidden return; - case 21: - this.rect4 = ((System.Windows.Shapes.Rectangle)(target)); + case 47: - #line 268 "..\..\SettingsControlDemo.xaml" - this.rect4.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 418 "..\..\SettingsControlDemo.xaml" + ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.SaveButton_Click); #line default #line hidden + return; + case 48: + this.TextBox2 = ((System.Windows.Controls.TextBox)(target)); + return; + case 49: + this.checkbox_auto_connect = ((System.Windows.Controls.CheckBox)(target)); - #line 268 "..\..\SettingsControlDemo.xaml" - this.rect4.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 420 "..\..\SettingsControlDemo.xaml" + this.checkbox_auto_connect.Checked += new System.Windows.RoutedEventHandler(this.checkbox_auto_connect_Checked); #line default #line hidden - #line 268 "..\..\SettingsControlDemo.xaml" - this.rect4.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 420 "..\..\SettingsControlDemo.xaml" + this.checkbox_auto_connect.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_auto_connect_Unchecked); #line default #line hidden return; - case 22: - this.rect5 = ((System.Windows.Shapes.Rectangle)(target)); + case 50: + this.checkbox_pedal_read = ((System.Windows.Controls.CheckBox)(target)); - #line 269 "..\..\SettingsControlDemo.xaml" - this.rect5.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 421 "..\..\SettingsControlDemo.xaml" + this.checkbox_pedal_read.Checked += new System.Windows.RoutedEventHandler(this.CheckBox_Checked); #line default #line hidden - #line 269 "..\..\SettingsControlDemo.xaml" - this.rect5.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove); + #line 421 "..\..\SettingsControlDemo.xaml" + this.checkbox_pedal_read.Unchecked += new System.Windows.RoutedEventHandler(this.CheckBox_Unchecked); #line default #line hidden + return; + case 51: + this.Vjoy_out_check = ((System.Windows.Controls.CheckBox)(target)); - #line 269 "..\..\SettingsControlDemo.xaml" - this.rect5.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 422 "..\..\SettingsControlDemo.xaml" + this.Vjoy_out_check.Checked += new System.Windows.RoutedEventHandler(this.Vjoy_out_check_Checked); + + #line default + #line hidden + + #line 422 "..\..\SettingsControlDemo.xaml" + this.Vjoy_out_check.Unchecked += new System.Windows.RoutedEventHandler(this.Vjoy_out_check_Unchecked); #line default #line hidden return; - case 23: - this.text_BP = ((System.Windows.Controls.TextBlock)(target)); + case 52: + this.btn_plus = ((System.Windows.Controls.Button)(target)); + + #line 424 "..\..\SettingsControlDemo.xaml" + this.btn_plus.Click += new System.Windows.RoutedEventHandler(this.vjoy_plus_click); + + #line default + #line hidden return; - case 24: - this.canvas_vert_slider = ((System.Windows.Controls.Canvas)(target)); + case 53: + this.Label_vjoy_order = ((System.Windows.Controls.Label)(target)); return; - case 25: - this.text_min_force = ((System.Windows.Controls.TextBlock)(target)); + case 54: + this.btn_minus = ((System.Windows.Controls.Button)(target)); + + #line 426 "..\..\SettingsControlDemo.xaml" + this.btn_minus.Click += new System.Windows.RoutedEventHandler(this.vjoy_minus_click); + + #line default + #line hidden return; - case 26: - this.text_max_force = ((System.Windows.Controls.TextBlock)(target)); + case 55: + this.Debug_check = ((System.Windows.Controls.CheckBox)(target)); + + #line 430 "..\..\SettingsControlDemo.xaml" + this.Debug_check.Checked += new System.Windows.RoutedEventHandler(this.Debug_checkbox_Checked); + + #line default + #line hidden + + #line 430 "..\..\SettingsControlDemo.xaml" + this.Debug_check.Unchecked += new System.Windows.RoutedEventHandler(this.Debug_checkbox_Unchecked); + + #line default + #line hidden return; - case 27: - this.Line_V_force = ((System.Windows.Shapes.Line)(target)); + case 56: + this.text_debug_flag = ((System.Windows.Controls.TextBlock)(target)); return; - case 28: - this.rect8 = ((System.Windows.Shapes.Rectangle)(target)); + case 57: + this.textBox_debug_Flag_0 = ((System.Windows.Controls.TextBox)(target)); - #line 335 "..\..\SettingsControlDemo.xaml" - this.rect8.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 440 "..\..\SettingsControlDemo.xaml" + this.textBox_debug_Flag_0.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumericTextBox_PreviewTextInput); #line default #line hidden - #line 335 "..\..\SettingsControlDemo.xaml" - this.rect8.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_V); + #line 440 "..\..\SettingsControlDemo.xaml" + this.textBox_debug_Flag_0.TextChanged += new System.Windows.Controls.TextChangedEventHandler(this.NumericTextBox_TextChanged); #line default #line hidden + return; + case 58: + this.dump_pedal_response_to_file = ((System.Windows.Controls.CheckBox)(target)); - #line 335 "..\..\SettingsControlDemo.xaml" - this.rect8.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 441 "..\..\SettingsControlDemo.xaml" + this.dump_pedal_response_to_file.Checked += new System.Windows.RoutedEventHandler(this.dump_pedal_response_to_file_checked); + + #line default + #line hidden + + #line 441 "..\..\SettingsControlDemo.xaml" + this.dump_pedal_response_to_file.Unchecked += new System.Windows.RoutedEventHandler(this.dump_pedal_response_to_file_unchecked); #line default #line hidden return; - case 29: - this.rect9 = ((System.Windows.Shapes.Rectangle)(target)); + case 59: + this.button_pedal_position_reset = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + + #line 442 "..\..\SettingsControlDemo.xaml" + this.button_pedal_position_reset.Click += new System.Windows.RoutedEventHandler(this.ResetPedalPosition_click); + + #line default + #line hidden + return; + case 60: + this.button_pedal_restart = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + + #line 443 "..\..\SettingsControlDemo.xaml" + this.button_pedal_restart.Click += new System.Windows.RoutedEventHandler(this.RestartPedal_click); + + #line default + #line hidden + return; + case 61: + this.btn_system_id = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + + #line 444 "..\..\SettingsControlDemo.xaml" + this.btn_system_id.Click += new System.Windows.RoutedEventHandler(this.StartSystemIdentification_click); + + #line default + #line hidden + return; + case 62: + this.btn_reset_default = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + + #line 445 "..\..\SettingsControlDemo.xaml" + this.btn_reset_default.Click += new System.Windows.RoutedEventHandler(this.btn_reset_default_Click); + + #line default + #line hidden + return; + case 63: + this.checkbox_enable_ABS = ((System.Windows.Controls.CheckBox)(target)); + + #line 501 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_ABS.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_ABS_Checked); + + #line default + #line hidden + + #line 501 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_ABS.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_ABS_Unchecked); + + #line default + #line hidden + return; + case 64: + this.AbsPattern = ((System.Windows.Controls.ComboBox)(target)); + + #line 503 "..\..\SettingsControlDemo.xaml" + this.AbsPattern.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.AbsPatternChanged); + + #line default + #line hidden + return; + case 65: + + #line 507 "..\..\SettingsControlDemo.xaml" + ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.TestAbs_click); + + #line default + #line hidden + return; + case 66: + this.TestAbs_check = ((System.Windows.Controls.CheckBox)(target)); + return; + case 67: + this.EffectAppliedOnForceOrTravel_combobox = ((System.Windows.Controls.ComboBox)(target)); - #line 336 "..\..\SettingsControlDemo.xaml" - this.rect9.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 514 "..\..\SettingsControlDemo.xaml" + this.EffectAppliedOnForceOrTravel_combobox.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.EffectAppliedOnForceOrTravel_combobox_changed); #line default #line hidden + return; + case 68: + this.Simulate_ABS_check = ((System.Windows.Controls.CheckBox)(target)); - #line 336 "..\..\SettingsControlDemo.xaml" - this.rect9.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_V); + #line 518 "..\..\SettingsControlDemo.xaml" + this.Simulate_ABS_check.Checked += new System.Windows.RoutedEventHandler(this.Simulate_ABS_check_Checked); #line default #line hidden - #line 336 "..\..\SettingsControlDemo.xaml" - this.rect9.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 518 "..\..\SettingsControlDemo.xaml" + this.Simulate_ABS_check.Unchecked += new System.Windows.RoutedEventHandler(this.Simulate_ABS_check_Unchecked); #line default #line hidden return; - case 30: - this.canvas_horz_slider = ((System.Windows.Controls.Canvas)(target)); - return; - case 31: - this.text_min_pos = ((System.Windows.Controls.TextBlock)(target)); - return; - case 32: - this.text_max_pos = ((System.Windows.Controls.TextBlock)(target)); + case 69: + this.canvas_horz_ABS = ((System.Windows.Controls.Canvas)(target)); return; - case 33: - this.text_position = ((System.Windows.Controls.TextBlock)(target)); + case 70: + this.text_ABS = ((System.Windows.Controls.TextBlock)(target)); return; - case 34: - this.Line_H_pos = ((System.Windows.Shapes.Line)(target)); + case 71: + this.Line_H_ABS = ((System.Windows.Shapes.Line)(target)); return; - case 35: - this.rect6 = ((System.Windows.Shapes.Rectangle)(target)); + case 72: + this.rect_ABS = ((System.Windows.Shapes.Rectangle)(target)); - #line 403 "..\..\SettingsControlDemo.xaml" - this.rect6.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 547 "..\..\SettingsControlDemo.xaml" + this.rect_ABS.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 403 "..\..\SettingsControlDemo.xaml" - this.rect6.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H); + #line 547 "..\..\SettingsControlDemo.xaml" + this.rect_ABS.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 403 "..\..\SettingsControlDemo.xaml" - this.rect6.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 547 "..\..\SettingsControlDemo.xaml" + this.rect_ABS.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 36: - this.rect7 = ((System.Windows.Shapes.Rectangle)(target)); + case 73: + this.text_ABS_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 74: + this.canvas_horz_ABS_freq = ((System.Windows.Controls.Canvas)(target)); + return; + case 75: + this.text_ABS_freq = ((System.Windows.Controls.TextBlock)(target)); + return; + case 76: + this.Line_H_ABS_freq = ((System.Windows.Shapes.Line)(target)); + return; + case 77: + this.rect_ABS_freq = ((System.Windows.Shapes.Rectangle)(target)); - #line 404 "..\..\SettingsControlDemo.xaml" - this.rect7.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 586 "..\..\SettingsControlDemo.xaml" + this.rect_ABS_freq.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 404 "..\..\SettingsControlDemo.xaml" - this.rect7.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H); + #line 586 "..\..\SettingsControlDemo.xaml" + this.rect_ABS_freq.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 404 "..\..\SettingsControlDemo.xaml" - this.rect7.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 586 "..\..\SettingsControlDemo.xaml" + this.rect_ABS_freq.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 37: - this.info_label = ((System.Windows.Controls.Label)(target)); - return; - case 38: - this.info_label_2 = ((System.Windows.Controls.Label)(target)); + case 78: + this.text_ABS_freq_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 39: - this.SerialPortSelection = ((System.Windows.Controls.ComboBox)(target)); + case 79: + this.checkbox_enable_RPM = ((System.Windows.Controls.CheckBox)(target)); - #line 415 "..\..\SettingsControlDemo.xaml" - this.SerialPortSelection.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.SerialPortSelectionChanged); + #line 615 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_RPM.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Checked); #line default #line hidden - return; - case 40: - this.ConnectToPedal = ((System.Windows.Controls.CheckBox)(target)); - return; - case 41: - this.btn_pedal_connect = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 423 "..\..\SettingsControlDemo.xaml" - this.btn_pedal_connect.Click += new System.Windows.RoutedEventHandler(this.ConnectToPedal_click); + #line 615 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_RPM.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Unchecked); #line default #line hidden return; - case 42: - this.btn_update = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - - #line 424 "..\..\SettingsControlDemo.xaml" - this.btn_update.Click += new System.Windows.RoutedEventHandler(this.UpdateSerialPortList_click); - - #line default - #line hidden + case 80: + this.canvas_horz_RPM_AMP = ((System.Windows.Controls.Canvas)(target)); return; - case 43: + case 81: + this.text_RPM_AMP = ((System.Windows.Controls.TextBlock)(target)); + return; + case 82: + this.Line_H_RPM_AMP = ((System.Windows.Shapes.Line)(target)); + return; + case 83: + this.rect_RPM_AMP = ((System.Windows.Shapes.Rectangle)(target)); - #line 425 "..\..\SettingsControlDemo.xaml" - ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.SendConfigToPedal_click); + #line 644 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_AMP.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 44: - #line 426 "..\..\SettingsControlDemo.xaml" - ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.ReadConfigFromPedal_click); + #line 644 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_AMP.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - return; - case 45: - #line 427 "..\..\SettingsControlDemo.xaml" - ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.OpenButton_Click); + #line 644 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_AMP.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 46: + case 84: + this.text_RPM_AMP_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 85: + this.canvas_horz_RPM_freq = ((System.Windows.Controls.Canvas)(target)); + return; + case 86: + this.text_RPM_freq_min = ((System.Windows.Controls.TextBlock)(target)); + return; + case 87: + this.text_RPM_freq_max = ((System.Windows.Controls.TextBlock)(target)); + return; + case 88: + this.Line_H_RPM_freq = ((System.Windows.Shapes.Line)(target)); + return; + case 89: + this.rect_RPM_min = ((System.Windows.Shapes.Rectangle)(target)); - #line 428 "..\..\SettingsControlDemo.xaml" - ((SimHub.Plugins.Styles.SHButtonPrimary)(target)).Click += new System.Windows.RoutedEventHandler(this.SaveButton_Click); + #line 697 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_min.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 47: - this.TextBox2 = ((System.Windows.Controls.TextBox)(target)); - return; - case 48: - this.checkbox_auto_connect = ((System.Windows.Controls.CheckBox)(target)); - #line 430 "..\..\SettingsControlDemo.xaml" - this.checkbox_auto_connect.Checked += new System.Windows.RoutedEventHandler(this.checkbox_auto_connect_Checked); + #line 697 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_min.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H_RPM); #line default #line hidden - #line 430 "..\..\SettingsControlDemo.xaml" - this.checkbox_auto_connect.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_auto_connect_Unchecked); + #line 697 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_min.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 49: - this.checkbox_pedal_read = ((System.Windows.Controls.CheckBox)(target)); + case 90: + this.rect_RPM_max = ((System.Windows.Shapes.Rectangle)(target)); - #line 431 "..\..\SettingsControlDemo.xaml" - this.checkbox_pedal_read.Checked += new System.Windows.RoutedEventHandler(this.CheckBox_Checked); + #line 698 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_max.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 431 "..\..\SettingsControlDemo.xaml" - this.checkbox_pedal_read.Unchecked += new System.Windows.RoutedEventHandler(this.CheckBox_Unchecked); + #line 698 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_max.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H_RPM); #line default #line hidden - return; - case 50: - this.Vjoy_out_check = ((System.Windows.Controls.CheckBox)(target)); - #line 432 "..\..\SettingsControlDemo.xaml" - this.Vjoy_out_check.Checked += new System.Windows.RoutedEventHandler(this.Vjoy_out_check_Checked); + #line 698 "..\..\SettingsControlDemo.xaml" + this.rect_RPM_max.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden + return; + case 91: + this.text_RPM_freq_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 92: + this.checkbox_enable_bite_point = ((System.Windows.Controls.CheckBox)(target)); - #line 432 "..\..\SettingsControlDemo.xaml" - this.Vjoy_out_check.Unchecked += new System.Windows.RoutedEventHandler(this.Vjoy_out_check_Unchecked); + #line 727 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_bite_point.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_bite_point_Checked); #line default #line hidden - return; - case 51: - this.btn_plus = ((System.Windows.Controls.Button)(target)); - #line 434 "..\..\SettingsControlDemo.xaml" - this.btn_plus.Click += new System.Windows.RoutedEventHandler(this.vjoy_plus_click); + #line 727 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_bite_point.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_bite_point_Unchecked); #line default #line hidden return; - case 52: - this.Label_vjoy_order = ((System.Windows.Controls.Label)(target)); + case 93: + this.canvas_horz_bite_amp = ((System.Windows.Controls.Canvas)(target)); return; - case 53: - this.btn_minus = ((System.Windows.Controls.Button)(target)); + case 94: + this.text_bite_amp = ((System.Windows.Controls.TextBlock)(target)); + return; + case 95: + this.Line_H_bite_amp = ((System.Windows.Shapes.Line)(target)); + return; + case 96: + this.rect_bite_amp = ((System.Windows.Shapes.Rectangle)(target)); - #line 436 "..\..\SettingsControlDemo.xaml" - this.btn_minus.Click += new System.Windows.RoutedEventHandler(this.vjoy_minus_click); + #line 756 "..\..\SettingsControlDemo.xaml" + this.rect_bite_amp.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 54: - this.Debug_check = ((System.Windows.Controls.CheckBox)(target)); - #line 440 "..\..\SettingsControlDemo.xaml" - this.Debug_check.Checked += new System.Windows.RoutedEventHandler(this.Debug_checkbox_Checked); + #line 756 "..\..\SettingsControlDemo.xaml" + this.rect_bite_amp.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 440 "..\..\SettingsControlDemo.xaml" - this.Debug_check.Unchecked += new System.Windows.RoutedEventHandler(this.Debug_checkbox_Unchecked); + #line 756 "..\..\SettingsControlDemo.xaml" + this.rect_bite_amp.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 55: - this.text_debug_flag = ((System.Windows.Controls.TextBlock)(target)); + case 97: + this.text_bite_amp_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 56: - this.textBox_debug_Flag_0 = ((System.Windows.Controls.TextBox)(target)); + case 98: + this.canvas_horz_bite_freq = ((System.Windows.Controls.Canvas)(target)); + return; + case 99: + this.text_bite_freq = ((System.Windows.Controls.TextBlock)(target)); + return; + case 100: + this.Line_H_bite_freq = ((System.Windows.Shapes.Line)(target)); + return; + case 101: + this.rect_bite_freq = ((System.Windows.Shapes.Rectangle)(target)); - #line 450 "..\..\SettingsControlDemo.xaml" - this.textBox_debug_Flag_0.PreviewTextInput += new System.Windows.Input.TextCompositionEventHandler(this.NumericTextBox_PreviewTextInput); + #line 795 "..\..\SettingsControlDemo.xaml" + this.rect_bite_freq.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 450 "..\..\SettingsControlDemo.xaml" - this.textBox_debug_Flag_0.TextChanged += new System.Windows.Controls.TextChangedEventHandler(this.NumericTextBox_TextChanged); + #line 795 "..\..\SettingsControlDemo.xaml" + this.rect_bite_freq.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - return; - case 57: - this.button_pedal_position_reset = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 451 "..\..\SettingsControlDemo.xaml" - this.button_pedal_position_reset.Click += new System.Windows.RoutedEventHandler(this.ResetPedalPosition_click); + #line 795 "..\..\SettingsControlDemo.xaml" + this.rect_bite_freq.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 58: - this.button_pedal_restart = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - - #line 452 "..\..\SettingsControlDemo.xaml" - this.button_pedal_restart.Click += new System.Windows.RoutedEventHandler(this.RestartPedal_click); - - #line default - #line hidden + case 102: + this.text_bite_freq_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 59: - this.btn_system_id = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); + case 103: + this.checkbox_enable_G_force = ((System.Windows.Controls.CheckBox)(target)); - #line 453 "..\..\SettingsControlDemo.xaml" - this.btn_system_id.Click += new System.Windows.RoutedEventHandler(this.StartSystemIdentification_click); + #line 824 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_G_force.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_G_force_Checked); #line default #line hidden - return; - case 60: - this.btn_pedal_disconnect = ((SimHub.Plugins.Styles.SHButtonPrimary)(target)); - #line 454 "..\..\SettingsControlDemo.xaml" - this.btn_pedal_disconnect.Click += new System.Windows.RoutedEventHandler(this.DisconnectToPedal_click); + #line 824 "..\..\SettingsControlDemo.xaml" + this.checkbox_enable_G_force.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_G_force_Unchecked); #line default #line hidden return; - case 61: - this.text_debug_PID_para = ((System.Windows.Controls.TextBlock)(target)); + case 104: + this.canvas_horz_G_force_multi = ((System.Windows.Controls.Canvas)(target)); return; - case 62: - this.text_debug_pgain = ((System.Windows.Controls.TextBlock)(target)); + case 105: + this.text_G_multi = ((System.Windows.Controls.TextBlock)(target)); return; - case 63: - this.PID_tuning_P_gain_slider = ((System.Windows.Controls.Slider)(target)); + case 106: + this.Line_G_force_multi = ((System.Windows.Shapes.Line)(target)); + return; + case 107: + this.rect_G_force_multi = ((System.Windows.Shapes.Rectangle)(target)); - #line 467 "..\..\SettingsControlDemo.xaml" - this.PID_tuning_P_gain_slider.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.PID_tuning_P_gain_changed); + #line 853 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_multi.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 64: - this.text_debug_igain = ((System.Windows.Controls.TextBlock)(target)); - return; - case 65: - this.PID_tuning_I_gain_slider = ((System.Windows.Controls.Slider)(target)); - #line 484 "..\..\SettingsControlDemo.xaml" - this.PID_tuning_I_gain_slider.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.PID_tuning_I_gain_changed); + #line 853 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_multi.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - return; - case 66: - this.text_debug_dgain = ((System.Windows.Controls.TextBlock)(target)); - return; - case 67: - this.PID_tuning_D_gain_slider = ((System.Windows.Controls.Slider)(target)); - #line 500 "..\..\SettingsControlDemo.xaml" - this.PID_tuning_D_gain_slider.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.PID_tuning_D_gain_changed); + #line 853 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_multi.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 68: - this.text_debug_feedforward = ((System.Windows.Controls.TextBlock)(target)); + case 108: + this.text_G_force_multi_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 109: + this.canvas_horz_G_force_window = ((System.Windows.Controls.Canvas)(target)); return; - case 69: - this.PID_tuning_Feedforward_gain_slider = ((System.Windows.Controls.Slider)(target)); + case 110: + this.text_G_window = ((System.Windows.Controls.TextBlock)(target)); + return; + case 111: + this.Line_G_force_window = ((System.Windows.Shapes.Line)(target)); + return; + case 112: + this.rect_G_force_window = ((System.Windows.Shapes.Rectangle)(target)); - #line 516 "..\..\SettingsControlDemo.xaml" - this.PID_tuning_Feedforward_gain_slider.ValueChanged += new System.Windows.RoutedPropertyChangedEventHandler(this.PID_tuning_Feedforward_gain_changed); + #line 892 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_window.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 70: - this.dynamic_PID_checkbox = ((System.Windows.Controls.CheckBox)(target)); - #line 575 "..\..\SettingsControlDemo.xaml" - this.dynamic_PID_checkbox.Checked += new System.Windows.RoutedEventHandler(this.PID_type_checkbox_Checked); + #line 892 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_window.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 575 "..\..\SettingsControlDemo.xaml" - this.dynamic_PID_checkbox.Unchecked += new System.Windows.RoutedEventHandler(this.PID_type_checkbox_Unchecked); + #line 892 "..\..\SettingsControlDemo.xaml" + this.rect_G_force_window.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 71: + case 113: + this.text_G_force_window_text = ((System.Windows.Controls.TextBlock)(target)); + return; + case 114: this.JoystickOutput_check = ((System.Windows.Controls.CheckBox)(target)); - #line 576 "..\..\SettingsControlDemo.xaml" + #line 961 "..\..\SettingsControlDemo.xaml" this.JoystickOutput_check.Checked += new System.Windows.RoutedEventHandler(this.JoystickOutput_checked); #line default #line hidden - #line 576 "..\..\SettingsControlDemo.xaml" + #line 961 "..\..\SettingsControlDemo.xaml" this.JoystickOutput_check.Unchecked += new System.Windows.RoutedEventHandler(this.JoystickOutput_unchecked); #line default #line hidden return; - case 72: + case 115: this.InvertLoadcellReading_check = ((System.Windows.Controls.CheckBox)(target)); - #line 577 "..\..\SettingsControlDemo.xaml" + #line 962 "..\..\SettingsControlDemo.xaml" this.InvertLoadcellReading_check.Checked += new System.Windows.RoutedEventHandler(this.InvertLoadcellReading_checked); #line default #line hidden - #line 577 "..\..\SettingsControlDemo.xaml" + #line 962 "..\..\SettingsControlDemo.xaml" this.InvertLoadcellReading_check.Unchecked += new System.Windows.RoutedEventHandler(this.InvertLoadcellReading_unchecked); #line default #line hidden return; - case 73: + case 116: + this.SpindlePitch = ((System.Windows.Controls.ComboBox)(target)); + + #line 965 "..\..\SettingsControlDemo.xaml" + this.SpindlePitch.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.SpindlePitchChanged); + + #line default + #line hidden + return; + case 117: this.canvas_horz_damping = ((System.Windows.Controls.Canvas)(target)); return; - case 74: + case 118: this.text_damping = ((System.Windows.Controls.TextBlock)(target)); return; - case 75: + case 119: this.text_damping_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 76: + case 120: this.Line_H_damping = ((System.Windows.Shapes.Line)(target)); return; - case 77: + case 121: this.rect_damping = ((System.Windows.Shapes.Rectangle)(target)); - #line 617 "..\..\SettingsControlDemo.xaml" + #line 1021 "..\..\SettingsControlDemo.xaml" this.rect_damping.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 617 "..\..\SettingsControlDemo.xaml" + #line 1021 "..\..\SettingsControlDemo.xaml" this.rect_damping.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 617 "..\..\SettingsControlDemo.xaml" + #line 1021 "..\..\SettingsControlDemo.xaml" this.rect_damping.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 78: - this.canvas_horz_KF = ((System.Windows.Controls.Canvas)(target)); - return; - case 79: - this.text_KF = ((System.Windows.Controls.TextBlock)(target)); - return; - case 80: - this.text_KF_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 81: - this.Line_H_KF = ((System.Windows.Shapes.Line)(target)); - return; - case 82: - this.rect_KF = ((System.Windows.Shapes.Rectangle)(target)); - - #line 656 "..\..\SettingsControlDemo.xaml" - this.rect_KF.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); - - #line default - #line hidden - - #line 656 "..\..\SettingsControlDemo.xaml" - this.rect_KF.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); - - #line default - #line hidden - - #line 656 "..\..\SettingsControlDemo.xaml" - this.rect_KF.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); - - #line default - #line hidden - return; - case 83: + case 122: this.canvas_horz_LC_rating = ((System.Windows.Controls.Canvas)(target)); return; - case 84: + case 123: this.text_LC_rating = ((System.Windows.Controls.TextBlock)(target)); return; - case 85: + case 124: this.Line_H_LC_rating = ((System.Windows.Shapes.Line)(target)); return; - case 86: + case 125: this.rect_LC_rating = ((System.Windows.Shapes.Rectangle)(target)); - #line 686 "..\..\SettingsControlDemo.xaml" + #line 1056 "..\..\SettingsControlDemo.xaml" this.rect_LC_rating.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 686 "..\..\SettingsControlDemo.xaml" + #line 1056 "..\..\SettingsControlDemo.xaml" this.rect_LC_rating.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 686 "..\..\SettingsControlDemo.xaml" + #line 1056 "..\..\SettingsControlDemo.xaml" this.rect_LC_rating.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 87: + case 126: this.text_LC_rating_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 88: + case 127: this.canvas_horz_max_game = ((System.Windows.Controls.Canvas)(target)); return; - case 89: + case 128: this.text_max_game = ((System.Windows.Controls.TextBlock)(target)); return; - case 90: + case 129: this.Line_H_max_game = ((System.Windows.Shapes.Line)(target)); return; - case 91: + case 130: this.rect_max_game = ((System.Windows.Shapes.Rectangle)(target)); - #line 725 "..\..\SettingsControlDemo.xaml" + #line 1099 "..\..\SettingsControlDemo.xaml" this.rect_max_game.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 725 "..\..\SettingsControlDemo.xaml" + #line 1099 "..\..\SettingsControlDemo.xaml" this.rect_max_game.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 725 "..\..\SettingsControlDemo.xaml" + #line 1099 "..\..\SettingsControlDemo.xaml" this.rect_max_game.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 92: + case 131: this.text_max_game_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 93: - this.checkbox_enable_ABS = ((System.Windows.Controls.CheckBox)(target)); - - #line 752 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_ABS.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_ABS_Checked); - - #line default - #line hidden - - #line 752 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_ABS.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_ABS_Unchecked); - - #line default - #line hidden + case 132: + this.canvas_horz_KF = ((System.Windows.Controls.Canvas)(target)); return; - case 94: - this.AbsPattern = ((System.Windows.Controls.ComboBox)(target)); - - #line 754 "..\..\SettingsControlDemo.xaml" - this.AbsPattern.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.AbsPatternChanged); - - #line default - #line hidden + case 133: + this.text_KF = ((System.Windows.Controls.TextBlock)(target)); return; - case 95: - - #line 758 "..\..\SettingsControlDemo.xaml" - ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.TestAbs_click); - - #line default - #line hidden + case 134: + this.text_KF_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 96: - this.TestAbs_check = ((System.Windows.Controls.CheckBox)(target)); + case 135: + this.Line_H_KF = ((System.Windows.Shapes.Line)(target)); return; - case 97: - this.EffectAppliedOnForceOrTravel_combobox = ((System.Windows.Controls.ComboBox)(target)); + case 136: + this.rect_KF = ((System.Windows.Shapes.Rectangle)(target)); - #line 765 "..\..\SettingsControlDemo.xaml" - this.EffectAppliedOnForceOrTravel_combobox.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(this.EffectAppliedOnForceOrTravel_combobox_changed); + #line 1167 "..\..\SettingsControlDemo.xaml" + this.rect_KF.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - return; - case 98: - this.Simulate_ABS_check = ((System.Windows.Controls.CheckBox)(target)); - #line 769 "..\..\SettingsControlDemo.xaml" - this.Simulate_ABS_check.Checked += new System.Windows.RoutedEventHandler(this.Simulate_ABS_check_Checked); + #line 1167 "..\..\SettingsControlDemo.xaml" + this.rect_KF.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 769 "..\..\SettingsControlDemo.xaml" - this.Simulate_ABS_check.Unchecked += new System.Windows.RoutedEventHandler(this.Simulate_ABS_check_Unchecked); + #line 1167 "..\..\SettingsControlDemo.xaml" + this.rect_KF.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 99: - this.canvas_horz_ABS = ((System.Windows.Controls.Canvas)(target)); - return; - case 100: - this.text_ABS = ((System.Windows.Controls.TextBlock)(target)); - return; - case 101: - this.Line_H_ABS = ((System.Windows.Shapes.Line)(target)); - return; - case 102: - this.rect_ABS = ((System.Windows.Shapes.Rectangle)(target)); + case 137: + this.ControlStrategy_Sel_1 = ((System.Windows.Controls.RadioButton)(target)); - #line 798 "..\..\SettingsControlDemo.xaml" - this.rect_ABS.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 1188 "..\..\SettingsControlDemo.xaml" + this.ControlStrategy_Sel_1.Checked += new System.Windows.RoutedEventHandler(this.StrategySel); #line default #line hidden + return; + case 138: + this.ControlStrategy_Sel_2 = ((System.Windows.Controls.RadioButton)(target)); - #line 798 "..\..\SettingsControlDemo.xaml" - this.rect_ABS.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 1189 "..\..\SettingsControlDemo.xaml" + this.ControlStrategy_Sel_2.Checked += new System.Windows.RoutedEventHandler(this.StrategySel); #line default #line hidden + return; + case 139: + this.ControlStrategy_Sel_3 = ((System.Windows.Controls.RadioButton)(target)); - #line 798 "..\..\SettingsControlDemo.xaml" - this.rect_ABS.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 1190 "..\..\SettingsControlDemo.xaml" + this.ControlStrategy_Sel_3.Checked += new System.Windows.RoutedEventHandler(this.StrategySel); #line default #line hidden return; - case 103: - this.text_ABS_text = ((System.Windows.Controls.TextBlock)(target)); + case 140: + this.canvas_horz_Pgain = ((System.Windows.Controls.Canvas)(target)); return; - case 104: - this.canvas_horz_ABS_freq = ((System.Windows.Controls.Canvas)(target)); + case 141: + this.text_Pgain = ((System.Windows.Controls.TextBlock)(target)); return; - case 105: - this.text_ABS_freq = ((System.Windows.Controls.TextBlock)(target)); + case 142: + this.text_Pgain_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 106: - this.Line_H_ABS_freq = ((System.Windows.Shapes.Line)(target)); + case 143: + this.Line_H_Pgain = ((System.Windows.Shapes.Line)(target)); return; - case 107: - this.rect_ABS_freq = ((System.Windows.Shapes.Rectangle)(target)); + case 144: + this.rect_Pgain = ((System.Windows.Shapes.Rectangle)(target)); - #line 837 "..\..\SettingsControlDemo.xaml" - this.rect_ABS_freq.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 1246 "..\..\SettingsControlDemo.xaml" + this.rect_Pgain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 837 "..\..\SettingsControlDemo.xaml" - this.rect_ABS_freq.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 1246 "..\..\SettingsControlDemo.xaml" + this.rect_Pgain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 837 "..\..\SettingsControlDemo.xaml" - this.rect_ABS_freq.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 1246 "..\..\SettingsControlDemo.xaml" + this.rect_Pgain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 108: - this.text_ABS_freq_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 109: - this.checkbox_enable_RPM = ((System.Windows.Controls.CheckBox)(target)); - - #line 864 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_RPM.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Checked); - - #line default - #line hidden - - #line 864 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_RPM.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_RPM_Unchecked); - - #line default - #line hidden + case 145: + this.canvas_horz_Igain = ((System.Windows.Controls.Canvas)(target)); return; - case 110: - this.canvas_horz_RPM_AMP = ((System.Windows.Controls.Canvas)(target)); + case 146: + this.text_Igain = ((System.Windows.Controls.TextBlock)(target)); return; - case 111: - this.text_RPM_AMP = ((System.Windows.Controls.TextBlock)(target)); + case 147: + this.text_Igain_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 112: - this.Line_H_RPM_AMP = ((System.Windows.Shapes.Line)(target)); + case 148: + this.Line_H_Igain = ((System.Windows.Shapes.Line)(target)); return; - case 113: - this.rect_RPM_AMP = ((System.Windows.Shapes.Rectangle)(target)); + case 149: + this.rect_Igain = ((System.Windows.Shapes.Rectangle)(target)); - #line 893 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_AMP.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 1285 "..\..\SettingsControlDemo.xaml" + this.rect_Igain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 893 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_AMP.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 1285 "..\..\SettingsControlDemo.xaml" + this.rect_Igain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 893 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_AMP.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 1285 "..\..\SettingsControlDemo.xaml" + this.rect_Igain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 114: - this.text_RPM_AMP_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 115: - this.canvas_horz_RPM_freq = ((System.Windows.Controls.Canvas)(target)); - return; - case 116: - this.text_RPM_freq_min = ((System.Windows.Controls.TextBlock)(target)); + case 150: + this.canvas_horz_Dgain = ((System.Windows.Controls.Canvas)(target)); return; - case 117: - this.text_RPM_freq_max = ((System.Windows.Controls.TextBlock)(target)); + case 151: + this.text_Dgain = ((System.Windows.Controls.TextBlock)(target)); return; - case 118: - this.Line_H_RPM_freq = ((System.Windows.Shapes.Line)(target)); + case 152: + this.text_Dgain_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 119: - this.rect_RPM_min = ((System.Windows.Shapes.Rectangle)(target)); - - #line 946 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_min.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); - - #line default - #line hidden - - #line 946 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_min.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H_RPM); - - #line default - #line hidden - - #line 946 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_min.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); - - #line default - #line hidden + case 153: + this.Line_H_Dgain = ((System.Windows.Shapes.Line)(target)); return; - case 120: - this.rect_RPM_max = ((System.Windows.Shapes.Rectangle)(target)); + case 154: + this.rect_Dgain = ((System.Windows.Shapes.Rectangle)(target)); - #line 947 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_max.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 1324 "..\..\SettingsControlDemo.xaml" + this.rect_Dgain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 947 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_max.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_H_RPM); + #line 1324 "..\..\SettingsControlDemo.xaml" + this.rect_Dgain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 947 "..\..\SettingsControlDemo.xaml" - this.rect_RPM_max.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 1324 "..\..\SettingsControlDemo.xaml" + this.rect_Dgain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 121: - this.text_RPM_freq_text = ((System.Windows.Controls.TextBlock)(target)); - return; - case 122: - this.checkbox_enable_bite_point = ((System.Windows.Controls.CheckBox)(target)); - - #line 974 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_bite_point.Checked += new System.Windows.RoutedEventHandler(this.checkbox_enable_bite_point_Checked); - - #line default - #line hidden - - #line 974 "..\..\SettingsControlDemo.xaml" - this.checkbox_enable_bite_point.Unchecked += new System.Windows.RoutedEventHandler(this.checkbox_enable_bite_point_Unchecked); - - #line default - #line hidden + case 155: + this.canvas_horz_VFgain = ((System.Windows.Controls.Canvas)(target)); return; - case 123: - this.canvas_horz_bite_amp = ((System.Windows.Controls.Canvas)(target)); + case 156: + this.text_VFgain = ((System.Windows.Controls.TextBlock)(target)); return; - case 124: - this.text_bite_amp = ((System.Windows.Controls.TextBlock)(target)); + case 157: + this.text_VFgain_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 125: - this.Line_H_bite_amp = ((System.Windows.Shapes.Line)(target)); + case 158: + this.Line_H_VFgain = ((System.Windows.Shapes.Line)(target)); return; - case 126: - this.rect_bite_amp = ((System.Windows.Shapes.Rectangle)(target)); + case 159: + this.rect_VFgain = ((System.Windows.Shapes.Rectangle)(target)); - #line 1003 "..\..\SettingsControlDemo.xaml" - this.rect_bite_amp.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 1363 "..\..\SettingsControlDemo.xaml" + this.rect_VFgain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 1003 "..\..\SettingsControlDemo.xaml" - this.rect_bite_amp.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 1363 "..\..\SettingsControlDemo.xaml" + this.rect_VFgain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 1003 "..\..\SettingsControlDemo.xaml" - this.rect_bite_amp.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 1363 "..\..\SettingsControlDemo.xaml" + this.rect_VFgain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 127: - this.text_bite_amp_text = ((System.Windows.Controls.TextBlock)(target)); + case 160: + this.canvas_horz_MPC_0th_order_gain = ((System.Windows.Controls.Canvas)(target)); return; - case 128: - this.canvas_horz_bite_freq = ((System.Windows.Controls.Canvas)(target)); + case 161: + this.text_MPC_0th_order_gain = ((System.Windows.Controls.TextBlock)(target)); return; - case 129: - this.text_bite_freq = ((System.Windows.Controls.TextBlock)(target)); + case 162: + this.text_MPC_0th_order_gain_text = ((System.Windows.Controls.TextBlock)(target)); return; - case 130: - this.Line_H_bite_freq = ((System.Windows.Shapes.Line)(target)); + case 163: + this.Line_H_MPC_0th_order_gain = ((System.Windows.Shapes.Line)(target)); return; - case 131: - this.rect_bite_freq = ((System.Windows.Shapes.Rectangle)(target)); + case 164: + this.rect_MPC_0th_order_gain = ((System.Windows.Shapes.Rectangle)(target)); - #line 1042 "..\..\SettingsControlDemo.xaml" - this.rect_bite_freq.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); + #line 1425 "..\..\SettingsControlDemo.xaml" + this.rect_MPC_0th_order_gain.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonDown); #line default #line hidden - #line 1042 "..\..\SettingsControlDemo.xaml" - this.rect_bite_freq.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); + #line 1425 "..\..\SettingsControlDemo.xaml" + this.rect_MPC_0th_order_gain.MouseMove += new System.Windows.Input.MouseEventHandler(this.Rectangle_MouseMove_sigle_slider_H); #line default #line hidden - #line 1042 "..\..\SettingsControlDemo.xaml" - this.rect_bite_freq.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); + #line 1425 "..\..\SettingsControlDemo.xaml" + this.rect_MPC_0th_order_gain.MouseLeftButtonUp += new System.Windows.Input.MouseButtonEventHandler(this.Rectangle_MouseLeftButtonUp); #line default #line hidden return; - case 132: - this.text_bite_freq_text = ((System.Windows.Controls.TextBlock)(target)); + case 165: + this.canvas_horz_MPC_1st_order_gain = ((System.Windows.Controls.Canvas)(target)); return; } this._contentLoaded = true; diff --git a/StepperParameterization/ServoParameterization.md b/StepperParameterization/ServoParameterization.md index ceb24d56..e81eac8d 100644 --- a/StepperParameterization/ServoParameterization.md +++ b/StepperParameterization/ServoParameterization.md @@ -9,8 +9,12 @@ Sec. 5.7, feedforward gain
Sec. 5.10, vibration suppression -## Communication protocoll -# Decoding +# Communication protocoll + +## Hardware setup +Insert description and image of the servo snd logic analyzer here. + +## Decoding The communication protocoll between the iSV57 and the Stepperonline application is partly decoded. It was done be sniffing the traffic on the debug port with a logic analyzer. The logic analyzer settings were as follows: "Async Serial" protocoll @@ -20,7 +24,7 @@ Parity Bit: No Parity Bit Significant Bit: LSB Signal Inversion: Inverted Mode: Normal -A typical message is shown below: +A typical message is shown below: ![Message](message_1.png) The protocol is similar to the modbus. In the above example, the first byte (63) is the device address, the second byte (6) is a function code, the next two bytes (0+25) are the register adress, the next two bytes is the data (0+0) and the remaining two bytes are modbus CRC as can be seen here: @@ -30,6 +34,22 @@ For more detailed information abour modbus, please refer to [here](https://docs. A sample Arduino script for testing the functionslity can be found [here](https://github.com/ChrGri/DIY-Sim-Racing-FFB-Pedal/blob/main/Arduino/ModbusTest/ModbusTest.ino) + +## Lifeline check +To check if the slave with ID 63 is responding, one can send the message: 0x3F 0x03 0x00 0x00 0x00 0x02 0xC0 0xD5. The first byte is the slave ID (=63). The second byte is the function code. + +The image below shows the message from ESP to servo in channel 0 and the returned message from servo to ESP in channel 1: +![image](https://github.com/ChrGri/DIY-Sim-Racing-FFB-Pedal/assets/21274895/64e641e8-8f18-4116-917b-c6201357ffe3) + + + +## Read multiple registers +It seems like that the iSV57 has 4 coil registers to read the servo states from (Address: 0x01F3 - 0x01F6). If one want to read these registers value, one can send the message: 0x3F 0x03 0x01 0xF3 0x00 0x03 0xF0 0xDA. The first byte is the slave ID (=63), the second byte is the function code (=coil register). The third byte is read. The fourth byte is the firsts register address. The fifth and sixth bytes are the number of registers to read, here 3 of the above mentioned registers. The last two bytes are the CRC. + +The image below shows the message from ESP to servo in channel 0 and the returned message from servo to ESP in channel 1: +![image](https://github.com/ChrGri/DIY-Sim-Racing-FFB-Pedal/assets/21274895/122f6a16-bc5f-45df-9f88-fa37a2a603a8) + + ## Link: https://www.leadshine.com/upfiles/downloads/8aa085a2d9e91e0ec1986b2a35b10ebe_1690180312325.pdf