Bulk Capacitor Precharge - Rev 4 |
|
| I | O | M | D | N |
Variable Information |
|
| Y | N |
|
|
|
|
|
|
|
|
|
|
| Range |
|
|
|
|
|
|
|
|
|
|
|
|
Software Variable Name | Standard Reference Name | FDD Reference | Description | [I]nput
[O]uput
[M]oduleInternal
[D]isplay
[N]onVolatileMemory
Usage | OEM | 1X, 1Y, 1Z, 1I, 1BS
2X, 2Y, 2Z, 2I, 2BS
etc
Graph Settings | Initalization Value | Min | Max | Resolution | Unit Test Tolerance (+/-) | Units | Type | Memory Segment |
|
|
|
|
|
|
|
Variables |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OVERRIDESIGDIAGADC_Volt_f32 | OVERRIDE_SIG_DIAG_ADC |
| ADC Converted representation of the Override signal diagnostic monitor point | I |
|
| 0 | 0 | 5 | Single Precision Float |
| Volts | float32 |
|
|
|
|
|
|
|
|
PMOSDIAGADC_Volt_f32 | PMOS_DIAG_ADC |
| ADC Converted representation of the PMOS Diagnostic monitor point | I |
|
| 0 | 0 | 5 | Single Precision Float |
| Volts | float32 |
|
|
|
|
|
|
|
|
MotorVelocityMRFUnfiltered_MtrRadpS_f32 | Motor_Velocity_MRF_Unfiltered |
| Unfiltered version of motor velocity | I |
|
| 0 | -1118 | 1118 | Single Precision Float |
| MtrRadpS | float32 |
|
|
|
|
|
|
|
|
Batt_Volt_f32 | Vbatt_ADC |
| ADC converted representation of Vbatt (Upstream of Power Disconnect) | I |
|
| 0 | 5 | 30 | Single Precision Float |
| Volts | float32 |
|
|
|
|
|
|
|
|
BattSwitched_Volt_f32 | Vswitch_ADC |
| ADC converted representation of Vswitch (Downstream of Power Disconnect) | I |
|
| 0 | 0 | 20 | Single Precision Float |
| Volts | float32 |
|
|
|
|
|
|
|
|
PwrDiscATestStart_Cnt_lgc |
|
|
| I |
|
| 0 | 0 | 1 | n/a |
| Counts | boolean |
|
|
|
|
|
|
|
|
PwrDiscBTestStart_Cnt_lgc |
|
|
| I |
|
| 0 | 0 | 1 | n/a |
| Counts | boolean |
|
|
|
|
|
|
|
|
PwrDiscClosed_Cnt_lgc | PwrDisc_Closed | FDD11B BulkCapacitorPrechargeAndPowerDisconnect | Flag indicating that the power disconnect is closed | O |
|
| 0 | 0 | 1 | n/a | n/a | Counts | boolean |
|
|
|
|
|
|
|
|
PwrDiscATestComplete_Cnt_lgc | PwrDiscA_Test_Complete | FDD11B BulkCapacitorPrechargeAndPowerDisconnect | Flag indicating that the sequence A is complete | O |
|
| 0 | 0 | 1 | n/a | n/a | Counts | boolean |
|
|
|
|
|
|
|
|
PwrDiscBTestComplete_Cnt_lgc | PwrDiscB_Test_Complete | FDD11B BulkCapacitorPrechargeAndPowerDisconnect | Flag indicating that the sequence B is complete | O |
|
| 0 | 0 | 1 | n/a | n/a | Counts | boolean |
|
|
|
|
|
|
|
|
FirstRunComplete_Cnt_M_lgc |
| FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| M |
|
| 0 | 0 | 1 | n/a | n/a | Counts | boolean |
|
|
|
|
|
|
|
|
PowerRelayInitFltFailed_Cnt_M_lgc |
| FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| M |
|
| 0 | 0 | 1 | n/a | n/a | Counts | boolean |
|
|
|
|
|
|
|
|
PwrDiscATestComplete_Cnt_M_lgc |
| FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| M |
|
| 0 | 0 | 1 | n/a | n/a | Counts | boolean |
|
|
|
|
|
|
|
|
PwrDiscBTestComplete_Cnt_M_lgc |
| FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| M |
|
| 0 | 0 | 1 | n/a | n/a | Counts | boolean |
|
|
|
|
|
|
|
|
PwrDiscClosed_Cnt_M_lgc |
| FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| M |
|
| 0 | 0 | 1 | n/a | n/a | Counts | boolean |
|
|
|
|
|
|
|
|
BulkCapPrechargeState_Cnt_M_enum | BulkCapPrecharge State | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| M |
|
| 0 | 0 | 7 | 1 | 0.00E+00 | Counts |
|
|
|
|
|
|
|
|
|
RunTimeFaultAcc_Cnt_M_u16 |
| FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| M |
|
| 0 | 0 | 65535 | 1 | 0.00E+00 | Counts | uint16 |
|
|
|
|
|
|
|
|
VerifyDiscOpenDiagTimer_mS_M_u32 |
| FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| M |
|
| 0 | 0 | 4294967295 | 1 | 1.00E+00 | mS | uint32 |
|
|
|
|
|
|
|
|
WaitForSqrWaveDiagTimer_mS_M_u32 |
| FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| M |
|
| 0 | 0 | 4294967295 | 1 | 1.00E+00 | mS | uint32 |
|
|
|
|
|
|
|
|
PrechargeDiagTimer_mS_M_u32 |
| FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| M |
|
| 0 | 0 | 4294967295 | 1 | 1.00E+00 | mS | uint32 |
|
|
|
|
|
|
|
|
PostCloseDiagTimer_mS_M_u32 |
| FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| M |
|
| 0 | 0 | 4294967295 | 1 | 1.00E+00 | mS | uint32 |
|
|
|
|
|
|
|
|
VerifyCloseDiagTimer_mS_M_u32 |
| FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| M |
|
| 0 | 0 | 4294967295 | 1 | 1.00E+00 | mS | uint32 |
|
|
|
|
|
|
|
|
VdischMax_Volts_M_f32 | VdischMax | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| M |
|
| 0 | 0 | 21 | Single Precision Float | 4.88E-04 | Volts | float32 |
|
|
|
|
|
|
|
|
VdischMin_Volts_M_f32 | VdischMin | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| M |
|
| 0 | 0 | 19 | Single Precision Float | 4.88E-04 | Volts | float32 |
|
|
|
|
|
|
|
|
VbattStart_Volts_M_f32 |
| FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| M |
|
| 0 | 0 | 30 | Single Precision Float | 4.88E-04 | Volts | float32 |
|
|
|
|
|
|
|
|
VswitchStart_Volts_M_f32 |
| FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| M |
|
| 0 | 0 | 20 | Single Precision Float | 4.88E-04 | Volts | float32 |
|
|
|
|
|
|
|
|
MotionDetected_Cnt_D_lgc | Motion_Detected | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| D |
|
| 0 | 0 | 1 | n/a | n/a | Counts | boolean |
|
|
|
|
|
|
|
|
DeltaV_Volts_D_f32 | Delta_V | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| D |
|
| 0 | -20 | 30 | Single Precision Float | 9.77E-04 | Volts | float32 |
|
|
|
|
|
|
|
|
VswitchCorrected_Volts_D_f32 | Vswitch_Corrected | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| D |
|
| 0 | 0 | 120 | Single Precision Float | 1.95E-03 | Volts | float32 |
|
|
|
|
|
|
|
|
D_PWRDISCCONFIGURATION_CNT_U08 | D_PWRDISCCONFIGURATION_CNT_U08 | FDD11B BulkCapacitorPrechargeAndPowerDisconnect | A program specific power disconnect configuration variable: 1 - Configuration A (Power Disconnect supplies power to gate drive only. Bridge and Bulk cap are hot at all times). 2 - Configuration B (Power Disconnect supplies power to gate drive, bridge and bulk cap). (ES-11B) |
|
|
| 1 | 1 | 2 | 1 | 0.00E+00 | Counts | uint8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bulk Capacitor Precharge - Rev 4 |
|
|
| N |
Calibration Information | Achieved in Software Design |
|
|
|
| Y |
|
|
|
|
|
|
|
| Range |
|
|
|
|
|
| P |
Software Calibration Name | Standard Reference Name | FDD Reference | Description | Tuning Set | OEM | 1X, 1Y, 1Z, 1I, 1BS
2X, 2Y, 2Z, 2I, 2BS
etc
Graph Settings | Default Value | Min | Max | Units | Type | Memory Segment |
|
|
|
|
Calibrations |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k_MtrMotionThresh_MtrRadpS_f32 | k_MtrMotionThresh | FDD11B BulkCapacitorPrechargeAndPowerDisconnect | Threshold value used to determine if the motor is moving | N |
|
| 100 | 0 | 700 | MtrRadpS | float32 |
|
|
|
|
|
k_MaxSwitchedVolt_Volts_f32 | k_MaxSwitchedVolt_Volts | FDD08B BatterySwitchedVoltage | Voltage transition point to switch between Switched Battery and Battery voltage | N |
|
| 16 | 0 | 31 | Volts | float32 |
|
|
|
|
|
k_PwrDiscOpenThresh_Volts_f32 | k_PwrDisc_Open_Thresh | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 2 | 0 | 30 | Volts | float32 |
|
|
|
|
|
k_PMOSDIAGOpenThresh_Volts_f32 | k_ PMOS_DIAG _ Open _Thresh | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 0.5 | 0 | 30 | Volts | float32 |
|
|
|
|
|
k_OVERRIDESIGDIAGOpenThresh_Volts_f32 | k_ OVERRIDE_SIG_DIAG _ Open _Thresh | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 0.5 | 0 | 30 | Volts | float32 |
|
|
|
|
|
k_VerifyPwrDiscOpenThresh_mS_u16 | k_VerifyPwrDiscOpen_Thresh | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 100 | 0 | 2000 | mS | uint16 |
|
|
|
|
|
k_WaitForSqrWaveThresh_mS_u16 | k_WaitForSqrWave_Thresh | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 100 | 0 | 2000 | mS | uint16 |
|
|
|
|
|
k_PwrDiscCloseThresh_Volts_f32 | k_PwrDisc_Close_Thresh | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 0.5 | 0 | 30 | Volts | float32 |
|
|
|
|
|
k_PrechargeThresh_mS_u16 | k_Precharge_Thresh | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 400 | 0 | 2000 | mS | uint16 |
|
|
|
|
|
k_PMOSVError_Volts_f32 | k_PMOS_VError | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 1 | 0 | 30 | Volts | float32 |
|
|
|
|
|
k_PMOSTError_mS_u16 | k_PMOS_TError | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 50 | 0 | 500 | mS | uint16 |
|
|
|
|
|
k_MaxDischEst_Uls_f32 | k_MaxDischEst | FDD11B BulkCapacitorPrechargeAndPowerDisconnect | Maximum discharge estimator tau equivalent | N |
|
| 0.99 | 0 | 1 | Unitless | float32 |
|
|
|
|
|
k_MinDischEst_Uls_f32 | k_MinDischEst | FDD11B BulkCapacitorPrechargeAndPowerDisconnect | Minimum discharge estimator tau equivalent | N |
|
| 0.98 | 0 | 1 | Unitless | float32 |
|
|
|
|
|
k_VswitchDeltaThresh_Volts_f32 | k_Vswitch_Delta_Thresh | FDD11B BulkCapacitorPrechargeAndPowerDisconnect | Maximum delta voltage before which the power disconnect is considered open | N |
|
| 0.5 | 0 | 30 | Volts | float32 |
|
|
|
|
|
k_VerifyPwrDiscCloseThresh_mS_u16 | k_VerifyPwrDiscClose_Thresh | FDD11B BulkCapacitorPrechargeAndPowerDisconnect | Maximum time allotted to determine if the power disconnect is indeed closed | N |
|
| 100 | 0 | 500 | mS | uint16 |
|
|
|
|
|
k_ChargePumpDiag_Cnt_str |
| FDD11B BulkCapacitorPrechargeAndPowerDisconnect | Charge pump min delta fault accumulator parameters | N |
|
| {100, 4, 1} |
|
|
| DiagSettings_Str |
|
|
|
|
|
k_ChargePumpDiag_Cnt_str.Threshold | K_ChargePump_Threshold | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 100 | 0 | 1000 | Counts |
|
|
|
|
|
|
k_ChargePumpDiag_Cnt_str.PStep | K_ChargePump_Pstep | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 4 | 0 | 1000 | Counts |
|
|
|
|
|
|
k_ChargePumpDiag_Cnt_str.NStep | K_ChargePump_Nstep | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 1 | 0 | 1000 | Counts |
|
|
|
|
|
|
k_VbattSwitchThreshNonExt_Volt_f32 | k_VbattSwitchThresh_NonExt | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 7 | 0 | 30 | Volt | float32 |
|
|
|
|
|
k_VbattSwitchThreshExNorm_Volt_f32 | k_VbattSwitchThresh_ExNorm | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 8 | 0 | 30 | Volt | float32 |
|
|
|
|
|
k_ChargeMinDeltaNonOp_Volt_f32 | k_ChargeMinDelta_NonOp | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 0 | 0 | 30 | Volt | float32 |
|
|
|
|
|
k_ChargeMinDeltaExtOp_Volt_f32 | k_ChargeMinDelta_ExtOp | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 5 | 0 | 30 | Volt | float32 |
|
|
|
|
|
k_ChargeMinDeltaNormlOp_Volt_f32 | k_ChargeMinDelta_NormalOp | FDD11B BulkCapacitorPrechargeAndPowerDisconnect |
| N |
|
| 6 | 0 | 30 | Volt | float32 |
|
|
|
|
|
Bulk Capacitor Precharge - Rev 4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Variable Information (Global Variables Only) |
|
| Achieved in Software Design | Used in Module List |
|
|
|
|
| Layer 2 | Layer 3 | Layer 4 | Layer 5 |
Constant Name | Description | Uints | Type | Engineering Value | ADC | ADC Diagnostics | Data Memory Verification | DC Link Power Control | DSP Computational Integrity | DSP SPI driver | Event Manager Driver | External Memory Driver | Flash Programming Exec | GPIO | Illegal OpCode Handler | Interrupt Handler | Motor Current Driver | Motor Driver Diagnostics | Motor Position Driver | Phase Feedback Capture | Powerdown Control | Primary Shutdown Control | Program Flow | Program Memory Diagnostic | PWM Duty Cycle | Redundant Memory Check | Redundant Rapid Shutdown | Scheduler | Stack Monitor | State Dependent Task List | System Boot & Startup | System Control | Temperature Sensor Diagnostic | Unused Interrupt Handler | Utilization Monitor | Watchdog Dirver | Smith | Battery Voltage | Battery Voltage Diagnostics | Diagnostic CTC Manager | Diagnostic Manager | Diagnostics Application Services | EOL TorqueTest | Flash Boot Loader | Flight Recorder | Handwheel Position | Handwheel Torque | Motor Control Output Conversion | Motor Position Diagnostics | Motor Position Initialization | Motor Velocity | Motor Velocity Tachometer | Serial Communications I/O | Serial Communications Services | States and Modes | Tuning Select | Vehicle Power Mode | Vehicle Speed | Controller Polarity | Current Estimation | Handwheel Velocity | Inverse Motor Model | Motor Temperature Estimation | Motor Torque Limit | Output Reasonableness Dianostic | Parameter Estimation | Quadrant and rate Detection | Active Pull Compensation | Assist | Damping | Duty Cycle | Kinematic Integrity Diagnostic | Long Term Vehicle Speed Diagnostic | Max Assist Limit | Return | State Output Control | Torque Output |
STD_LOW |
| Counts | uint8 | 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
STD_HIGH |
| Counts | uint8 | 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RTE_E_OK |
| Counts | uint8 | 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2.2a | Data File: |
|
|
|
|
|
|
|
|
|
|
|
|
| Header: | extern <TYPE><TAB><NAME>; |
|
|
|
|
|
|
|
|
|
| Source: | #pragma DATA_SECTION(<ROOTNAME>, "<SEGMENT>"); <TYPE> <NAME>; |
|
|
|
|
|
|
|
|
|
| EOL Constants: |
|
|
|
|
|
|
|
|
|
|
|
|
| Header: | extern <TYPE><TAB><NAME>; |
|
|
|
|
|
|
|
|
|
| Source: | #pragma DATA_SECTION(<ROOTNAME>, "<SEGMENT>"); <TYPE> <NAME>; |
|
|
|
|
|
|
|
|
|
| Global (Embedded) Constants: |
|
|
|
|
|
|
|
|
|
|
|
|
| Header: | #define <NAME><COL40><VALUE> |
|
|
|
|
|
|
|
|
|
| A2L Name |
|
|
|
|
|
|
|
|
|
|
|
|
| Measurement: | rte_<SWC>_<NAME> |
|
|
|
|
|
|
|
|
|
| Calibration Constants: |
|
|
|
|
|
|
|
|
|
|
|
|
| Tuning ID: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Tuning: | N | Index Range: |
|
|
|
|
|
|
|
|
|
|
| Header: | extern CONST(<AUTOSAR_TYPE>, CAL_CONST) <NAME>; |
|
|
|
|
|
|
|
|
|
| Source: | #pragma DATA_SECTION(<ROOTNAME>, ".<SEGMENT>"); CONST(<AUTOSAR_TYPE>, CAL_CONST) <NAME> = <VALUE>; |
|
|
|
|
|
|
|
|
|
| eCal: | <NAME> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Tuning: | Y | Index Range: |
|
|
|
|
|
|
|
|
|
|
| Header: | <NONCRITICAL> #define <ROOTNAME><TAB>k_N_CalNC_Cnt_Str.<ROOTNAME> <NONCRITICAL> <SAFETYCRITICAL> #define <ROOTNAME><TAB>k_S_CalSC_Cnt_Str.<ROOTNAME> <SAFETYCRITICAL> |
|
|
|
|
|
|
|
|
|
| Source: |
|
|
|
|
|
|
|
|
|
|
| eCal: | <NONCRITICAL> k_N_CalNC_Cnt_Str.<ROOTNAME> <NONCRITICAL> <SAFETYCRITICAL> k_S_CalSC_Cnt_Str.<ROOTNAME> <SAFETYCRITICAL> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Tuning: | P | Index Range: |
|
|
|
|
|
|
|
|
|
|
| Header: | <NONCRITICAL> #define <ROOTNAME><TAB>k_N_CalNC_Cnt_Str.Personality[L3_S_CalPersSelect_Cnt_G_u16].<ROOTNAME> <NONCRITICAL> <SAFETYCRITICAL> #define <ROOTNAME><TAB>k_S_CalSC_Cnt_Str.SC_Personality[L3_S_CalPersSelect_Cnt_G_u16].<ROOTNAME> <SAFETYCRITICAL> |
|
|
|
|
|
|
|
|
|
| Source: |
|
|
|
|
|
|
|
|
|
|
| eCal: | <NONCRITICAL> k_N_CalNC_Cnt_Str.Personality[L3_S_CalPersSelect_Cnt_G_u16].<ROOTNAME> <NONCRITICAL> <SAFETYCRITICAL> k_S_CalSC_Cnt_Str.SC_Personality[L3_S_CalPersSelect_Cnt_G_u16].<ROOTNAME> <SAFETYCRITICAL> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|