Not applicable
Feb 29, 2016
11:52 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Feb 29, 2016
11:52 PM
Hi Guys
I just started using the VADC-Core in my project at work. I'm using multible ADC-Groups and Channels in Scan-Mode
Group 0: Channel 0-7
Group 1: Channel 5-7
Group 2: Channel 7
Group 3: Channel 2-3.
Every Channel works fine but the Channel 1 of Group 0. This channel shows always the same value as Channel 0 of Group 0.
I have checked all the input voltages and every output channel shows the correct output value except Channel 1 of Group 0.
I couldn't find any solution to fix the problem, but to modificate the hardware to use the G1CH4 instead of G0Ch1.
With that change the G1Ch4 shows now the correct output value to the input voltage.
Do you have any suggestions?
Thank you in advance
Cheers
Sven
Here is my configuration:
VADC_GLOBAL_TypeDef *ADC_Reg = VADC;
VADC_G_TypeDef *ADC_Group[4] =
{
VADC_G0, VADC_G1, VADC_G2, VADC_G3 };
ADC_CH_Conf_t ADC_Conf[MAX_ADC_CH] =
{
{ .group = VADC_G0, .channel = 0, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 0,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(3.3 * 1.0 / 4095.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G0, .channel = 1, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 1,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(3.3 * 1.0 / 4095.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G0, .channel = 2, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 2,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(3.3 * 5.7 / 4095.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G0, .channel = 3, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 3,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(3.3 * 2.0 / 4095.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G0, .channel = 4, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 4,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(3.3 * 5.7 / 4095.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G0, .channel = 5, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 5,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(3.3 * -4.59 / 4095.0), .analogOffset = double2q(2780.0) },
{ .group = VADC_G0, .channel = 6, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 6,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(3.3 * 10.915 / 4095.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G0, .channel = 7, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 7,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(51.28 * 3.3 / 4095.0), .analogOffset = double2q(-496.0) },
{ .group = VADC_G1, .channel = 4, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 3,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(1.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G1, .channel = 5, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 0,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(1.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G1, .channel = 6, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 1,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(1.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G1, .channel = 7, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 2,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(1.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G2, .channel = 7, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 0,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(1.0), .analogOffset = double2q(0.0) },
//Check DAC-Level
{ .group = VADC_G3, .channel = 2, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 0,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(1.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G3, .channel = 3, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 1,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(1.0), .analogOffset = double2q(0.0) } };
ADC_Scan_Conf_t Scan_Conf[MAX_ADC_GROUP] =
{
{ .group = VADC_G0, .startMode = XMC_VADC_STARTMODE_WFS, .loadMode = XMC_VADC_SCAN_LOAD_OVERWRITE, .priority = XMC_VADC_GROUP_RS_PRIORITY_1, .enAutoScan = 0, .enInterruptAfterScan = 1,
.interrruptLine = XMC_VADC_SR_GROUP_SR0, .interruptPriority = 63 },
{ .group = VADC_G1, .startMode = XMC_VADC_STARTMODE_WFS, .loadMode = XMC_VADC_SCAN_LOAD_OVERWRITE, .priority = XMC_VADC_GROUP_RS_PRIORITY_3, .enAutoScan = 0, .enInterruptAfterScan = 1,
.interrruptLine = XMC_VADC_SR_GROUP_SR0, .interruptPriority = 63 },
{ .group = VADC_G2, .startMode = XMC_VADC_STARTMODE_WFS, .loadMode = XMC_VADC_SCAN_LOAD_OVERWRITE, .priority = XMC_VADC_GROUP_RS_PRIORITY_2, .enAutoScan = 0, .enInterruptAfterScan = 1,
.interrruptLine = XMC_VADC_SR_GROUP_SR0, .interruptPriority = 63 },
{ .group = VADC_G3, .startMode = XMC_VADC_STARTMODE_WFS, .loadMode = XMC_VADC_SCAN_LOAD_OVERWRITE, .priority = XMC_VADC_GROUP_RS_PRIORITY_0, .enAutoScan = 0, .enInterruptAfterScan = 1,
.interrruptLine = XMC_VADC_SR_SHARED_SR0, .interruptPriority = 63 } };
//!Global configuration of adc unit
XMC_VADC_GLOBAL_CONFIG_t ADC_Glob_Conf =
{ .clock_config =
{ .analog_clock_divider = 4, 0, .msb_conversion_clock = 0, .arbiter_clock_divider = 1 } };
//!Global class configuration of adc unit
XMC_VADC_GLOBAL_CLASS_t ADC_Glob_Class_Conf =
{ .sample_time_std_conv = 0, .conversion_mode_standard = XMC_VADC_CONVMODE_12BIT, .sampling_phase_emux_channel = 0, .conversion_mode_emux = 0 };
//!Global result register configuration
XMC_VADC_RESULT_CONFIG_t ADC_Glob_Res_Conf =
{ .data_reduction_control = XMC_VADC_DMM_REDUCTION_MODE, .post_processing_mode = 0, .wait_for_read_mode = 0, .part_of_fifo = 0, .event_gen_enable = 0
};
//!Global group configuration
XMC_VADC_GROUP_CONFIG_t ADC_Group_Conf =
{ .class0 =
{ .conversion_mode_standard = XMC_VADC_CONVMODE_12BIT, .sample_time_std_conv = 4U, }, //
.class1 =
{ .conversion_mode_standard = XMC_VADC_CONVMODE_12BIT, .sample_time_std_conv = 4U, } };
I just started using the VADC-Core in my project at work. I'm using multible ADC-Groups and Channels in Scan-Mode
Group 0: Channel 0-7
Group 1: Channel 5-7
Group 2: Channel 7
Group 3: Channel 2-3.
Every Channel works fine but the Channel 1 of Group 0. This channel shows always the same value as Channel 0 of Group 0.
I have checked all the input voltages and every output channel shows the correct output value except Channel 1 of Group 0.
I couldn't find any solution to fix the problem, but to modificate the hardware to use the G1CH4 instead of G0Ch1.
With that change the G1Ch4 shows now the correct output value to the input voltage.
Do you have any suggestions?
Thank you in advance
Cheers
Sven
Here is my configuration:
VADC_GLOBAL_TypeDef *ADC_Reg = VADC;
VADC_G_TypeDef *ADC_Group[4] =
{
VADC_G0, VADC_G1, VADC_G2, VADC_G3 };
ADC_CH_Conf_t ADC_Conf[MAX_ADC_CH] =
{
{ .group = VADC_G0, .channel = 0, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 0,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(3.3 * 1.0 / 4095.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G0, .channel = 1, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 1,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(3.3 * 1.0 / 4095.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G0, .channel = 2, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 2,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(3.3 * 5.7 / 4095.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G0, .channel = 3, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 3,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(3.3 * 2.0 / 4095.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G0, .channel = 4, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 4,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(3.3 * 5.7 / 4095.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G0, .channel = 5, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 5,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(3.3 * -4.59 / 4095.0), .analogOffset = double2q(2780.0) },
{ .group = VADC_G0, .channel = 6, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 6,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(3.3 * 10.915 / 4095.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G0, .channel = 7, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 7,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(51.28 * 3.3 / 4095.0), .analogOffset = double2q(-496.0) },
{ .group = VADC_G1, .channel = 4, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 3,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(1.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G1, .channel = 5, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 0,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(1.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G1, .channel = 6, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 1,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(1.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G1, .channel = 7, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 2,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(1.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G2, .channel = 7, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 0,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(1.0), .analogOffset = double2q(0.0) },
//Check DAC-Level
{ .group = VADC_G3, .channel = 2, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 0,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(1.0), .analogOffset = double2q(0.0) },
{ .group = VADC_G3, .channel = 3, .reference = XMC_VADC_CHANNEL_REF_INTREF, .convMode = XMC_VADC_CONVMODE_12BIT, .convClass = XMC_VADC_CHANNEL_CONV_GROUP_CLASS0, .resultRegNumber = 1,
.resultUseGlobReg = 0, .resultAlignment = XMC_VADC_RESULT_ALIGN_RIGHT, .addToScan = 1, .analogGain = double2q(1.0), .analogOffset = double2q(0.0) } };
ADC_Scan_Conf_t Scan_Conf[MAX_ADC_GROUP] =
{
{ .group = VADC_G0, .startMode = XMC_VADC_STARTMODE_WFS, .loadMode = XMC_VADC_SCAN_LOAD_OVERWRITE, .priority = XMC_VADC_GROUP_RS_PRIORITY_1, .enAutoScan = 0, .enInterruptAfterScan = 1,
.interrruptLine = XMC_VADC_SR_GROUP_SR0, .interruptPriority = 63 },
{ .group = VADC_G1, .startMode = XMC_VADC_STARTMODE_WFS, .loadMode = XMC_VADC_SCAN_LOAD_OVERWRITE, .priority = XMC_VADC_GROUP_RS_PRIORITY_3, .enAutoScan = 0, .enInterruptAfterScan = 1,
.interrruptLine = XMC_VADC_SR_GROUP_SR0, .interruptPriority = 63 },
{ .group = VADC_G2, .startMode = XMC_VADC_STARTMODE_WFS, .loadMode = XMC_VADC_SCAN_LOAD_OVERWRITE, .priority = XMC_VADC_GROUP_RS_PRIORITY_2, .enAutoScan = 0, .enInterruptAfterScan = 1,
.interrruptLine = XMC_VADC_SR_GROUP_SR0, .interruptPriority = 63 },
{ .group = VADC_G3, .startMode = XMC_VADC_STARTMODE_WFS, .loadMode = XMC_VADC_SCAN_LOAD_OVERWRITE, .priority = XMC_VADC_GROUP_RS_PRIORITY_0, .enAutoScan = 0, .enInterruptAfterScan = 1,
.interrruptLine = XMC_VADC_SR_SHARED_SR0, .interruptPriority = 63 } };
//!Global configuration of adc unit
XMC_VADC_GLOBAL_CONFIG_t ADC_Glob_Conf =
{ .clock_config =
{ .analog_clock_divider = 4, 0, .msb_conversion_clock = 0, .arbiter_clock_divider = 1 } };
//!Global class configuration of adc unit
XMC_VADC_GLOBAL_CLASS_t ADC_Glob_Class_Conf =
{ .sample_time_std_conv = 0, .conversion_mode_standard = XMC_VADC_CONVMODE_12BIT, .sampling_phase_emux_channel = 0, .conversion_mode_emux = 0 };
//!Global result register configuration
XMC_VADC_RESULT_CONFIG_t ADC_Glob_Res_Conf =
{ .data_reduction_control = XMC_VADC_DMM_REDUCTION_MODE, .post_processing_mode = 0, .wait_for_read_mode = 0, .part_of_fifo = 0, .event_gen_enable = 0
};
//!Global group configuration
XMC_VADC_GROUP_CONFIG_t ADC_Group_Conf =
{ .class0 =
{ .conversion_mode_standard = XMC_VADC_CONVMODE_12BIT, .sample_time_std_conv = 4U, }, //
.class1 =
{ .conversion_mode_standard = XMC_VADC_CONVMODE_12BIT, .sample_time_std_conv = 4U, } };
- Tags:
- IFX
3 Replies
Attachments are accessible only for community members.
Mar 01, 2016
01:52 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 01, 2016
01:52 AM
Not applicable
Mar 02, 2016
01:35 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 02, 2016
01:35 AM
Hi Travis
Thank you for the fast response.
I was able to locate and fix my error with the help of your working example
Thanks a lot!
Thank you for the fast response.
I was able to locate and fix my error with the help of your working example
Thanks a lot!
Not applicable
Mar 02, 2016
01:39 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Mar 02, 2016
01:39 PM
Hi Sei,
Could you please let us know what the problem was?
Thank you.
Regards,
Andrey
Could you please let us know what the problem was?
Thank you.
Regards,
Andrey