<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>S32K中的主题 Re: Regarding Pal EQADC</title>
    <link>https://community.nxp.com/t5/S32K/Regarding-Pal-EQADC/m-p/1620824#M21566</link>
    <description>&lt;P&gt;Hi David,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your Response.&lt;/P&gt;&lt;P&gt;i am working on PAL Eqadc of MPC5777c.SDK example code which was given by NXP for pal Eqadc shows us&amp;nbsp; &amp;nbsp;to work&amp;nbsp; with group conversion&amp;nbsp; 0&amp;nbsp; of Eqadc 1 which involves&amp;nbsp; four channels.for this call back is working properly and conversions are also happening fine.Below are problems which i am facing.&lt;/P&gt;&lt;P&gt;1.When i increase the channels of&amp;nbsp;group conversion&amp;nbsp; 0&amp;nbsp; more than 4 ,call back happens only one time where as it should happen continuously. Please&amp;nbsp; let me know how to make this callback happen continuously.&lt;/P&gt;&lt;P&gt;2.Similar to&amp;nbsp;group conversion&amp;nbsp; 0 ,if i implement&amp;nbsp;group conversion&amp;nbsp; 1 its not working properly as&amp;nbsp;group conversion&amp;nbsp; 0.Please guide me how to make this&amp;nbsp;group conversion&amp;nbsp; 1 also&amp;nbsp; working as group conversion&amp;nbsp; 0.&lt;/P&gt;&lt;P&gt;i have attached the complete Project folder for your reference.&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Krishnayya&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 23 Mar 2023 11:21:19 GMT</pubDate>
    <dc:creator>Krishnayya29</dc:creator>
    <dc:date>2023-03-23T11:21:19Z</dc:date>
    <item>
      <title>Regarding Pal EQADC</title>
      <link>https://community.nxp.com/t5/S32K/Regarding-Pal-EQADC/m-p/1618544#M21503</link>
      <description>&lt;P&gt;Hi NXP,&lt;/P&gt;&lt;P&gt;i am working on&amp;nbsp; PAL EQADC of mpc5777c(416 pin).the example which is given by NXp for group conversion 0 is working fine. but when i want to improve this to further level i am facing below issues.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1.I increased the channels to 8 because of this callback function is not called as it do for 4 channels.&lt;/P&gt;&lt;P&gt;2.When i configure the group conversion 1 as 0 given by Nxp.it also not working as expected.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please let me know how to configure these and use it efficiently. Thanks in advance for your time and patience.&lt;/P&gt;&lt;P&gt;Below is the code which i have modified.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;/* Flag used to store if an ADC PAL conversion group has finished executing */&lt;BR /&gt;volatile bool groupConvDone = false;&lt;BR /&gt;volatile bool groupConvDone1 = false;&lt;/P&gt;&lt;P&gt;/* Flag used to store the offset of the most recent result in the result buffer */&lt;BR /&gt;volatile uint32_t resultLastOffset = 0;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;void adc_pal1_callback00(const adc_callback_info_t * const callbackInfo, void * userData)&lt;BR /&gt;{&lt;BR /&gt;(void) userData;&lt;/P&gt;&lt;P&gt;groupConvDone = true;&lt;BR /&gt;resultLastOffset = callbackInfo-&amp;gt;resultBufferTail;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;void adc_pal1_callback01(const adc_callback_info_t * const callbackInfo, void * userData)&lt;BR /&gt;{&lt;BR /&gt;(void) userData;&lt;/P&gt;&lt;P&gt;groupConvDone1 = true;&lt;BR /&gt;resultLastOffset = callbackInfo-&amp;gt;resultBufferTail;&lt;BR /&gt;}&lt;BR /&gt;/*&lt;BR /&gt;* Description: Convert a float to null terminated char array&lt;BR /&gt;*/&lt;BR /&gt;static void floatToStr (const float *srcValue, char *destStr, uint8_t maxLen);&lt;BR /&gt;/*!&lt;BR /&gt;\brief The main function for the project.&lt;BR /&gt;\details The startup initialization sequence is the following:&lt;BR /&gt;* - startup asm routine&lt;BR /&gt;* - main()&lt;BR /&gt;*/&lt;BR /&gt;int main(void)&lt;BR /&gt;{&lt;BR /&gt;/* Write your local variable definition here */&lt;BR /&gt;status_t status;&lt;BR /&gt;uint8_t selectedGroupIndex;&lt;BR /&gt;const uint16_t adcMax = ADC_RESOLUTION;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;/* Buffer used to store processed data for serial communication */&lt;BR /&gt;char msg[255] =&lt;BR /&gt;{ 0, };&lt;/P&gt;&lt;P&gt;/*** Processor Expert internal initialization. DON'T REMOVE THIS CODE!!! ***/&lt;BR /&gt;#ifdef PEX_RTOS_INIT&lt;BR /&gt;PEX_RTOS_INIT(); /* Initialization of the selected RTOS. Macro is defined by the RTOS component. */&lt;BR /&gt;#endif&lt;BR /&gt;/*** End of Processor Expert internal initialization. ***/&lt;/P&gt;&lt;P&gt;/* Initialize and configure clocks&lt;BR /&gt;* - see clock manager component for details&lt;BR /&gt;*/&lt;BR /&gt;status = CLOCK_SYS_Init(g_clockManConfigsArr, CLOCK_MANAGER_CONFIG_CNT,&lt;BR /&gt;g_clockManCallbacksArr, CLOCK_MANAGER_CALLBACK_CNT);&lt;BR /&gt;DEV_ASSERT(status == STATUS_SUCCESS);&lt;BR /&gt;status = CLOCK_SYS_UpdateConfiguration(0U, CLOCK_MANAGER_POLICY_AGREEMENT);&lt;BR /&gt;DEV_ASSERT(status == STATUS_SUCCESS);&lt;/P&gt;&lt;P&gt;/* Initialize pins&lt;BR /&gt;* - See PinSettings component for more info&lt;BR /&gt;*/&lt;BR /&gt;PINS_DRV_Init(NUM_OF_CONFIGURED_PINS, g_pin_mux_InitConfigArr);&lt;/P&gt;&lt;P&gt;/* Initialize the ADC PAL&lt;BR /&gt;* - See ADC PAL component for the configuration details&lt;BR /&gt;*/&lt;BR /&gt;status = ADC_Init(&amp;amp;adc_pal1_instance, &amp;amp;adc_pal1_InitConfig0);&lt;BR /&gt;DEV_ASSERT(status == STATUS_SUCCESS);&lt;/P&gt;&lt;P&gt;selectedGroupIndex = 0u; /* Select the index of a SW triggered group of conversions (see ADC PAL component) */&lt;/P&gt;&lt;P&gt;/* Start the selected SW triggered group of conversions */&lt;BR /&gt;status = ADC_StartGroupConversion(&amp;amp;adc_pal1_instance, selectedGroupIndex);&lt;BR /&gt;DEV_ASSERT(status == STATUS_SUCCESS);&lt;BR /&gt;status = ADC_StartGroupConversion(&amp;amp;adc_pal1_instance, 1u);&lt;BR /&gt;&lt;BR /&gt;/* Called only for demonstration purpose - it is not necessary and doesn't influence application functionality. */&lt;BR /&gt;status = ADC_StartGroupConversion(&amp;amp;adc_pal1_instance, 1u); /* Starting another SW triggered group while other is running will return BUSY. */&lt;BR /&gt;/* Do not place any breakpoints or run step-by-step between the start of the first conversion group&lt;BR /&gt;* at line ADC_StartGroupConversion(&amp;amp;adc_pal1_instance, selectedGroupIndex) and line with DEV_ASSERT(status == STATUS_BUSY).&lt;BR /&gt;* Otherwise the DEV_ASSERT will fail because of timing restrictions: previous conversion list finishes execution before the second call to&lt;BR /&gt;* ADC_StartGroupConversion() =&amp;gt; will return different status than expected. */&lt;BR /&gt;DEV_ASSERT(status == STATUS_BUSY);&lt;/P&gt;&lt;P&gt;uint8_t iter = 0;&lt;BR /&gt;while(true)&lt;BR /&gt;{&lt;BR /&gt;/* Wait for group to finish */&lt;BR /&gt;if((groupConvDone == true))&lt;BR /&gt;{&lt;BR /&gt;/* Results are directly available in resultBuffer associated with the group at initialization */&lt;BR /&gt;/* NOTE: only the 3rd channel is connected to the potentiometer.&lt;BR /&gt;* The rest are added to the group for demonstration purposes but the results are not relevant */&lt;BR /&gt;resVolts[0] = ((float) adc_pal1_Results00[0] / adcMax) * VREF; /* Convert result to volts */&lt;BR /&gt;resVolts [1]= ((float) adc_pal1_Results00[1] / adcMax) * VREF; /* Convert result to volts */&lt;BR /&gt;resVolts [2]= ((float) adc_pal1_Results00[2] / adcMax) * VREF; /* Convert result to volts */&lt;BR /&gt;resVolts[3] = ((float) adc_pal1_Results00[3] / adcMax) * VREF; /* Convert result to volts */&lt;BR /&gt;resVolts [4]= ((float) adc_pal1_Results00[4] / adcMax) * VREF; /* Convert result to volts */&lt;BR /&gt;resVolts [5]= ((float) adc_pal1_Results00[5] / adcMax) * VREF; /* Convert result to volts */&lt;BR /&gt;resVolts [6]= ((float) adc_pal1_Results00[6] / adcMax) * VREF; /* Convert result to volts */&lt;BR /&gt;resVolts [7]= ((float) adc_pal1_Results00[7] / adcMax) * VREF; /* Convert result to volts */&lt;/P&gt;&lt;P&gt;resVolt = resVolts[0] + resVolts[1] + resVolts[2] ;&lt;BR /&gt;/* Convert value to string */&lt;BR /&gt;floatToStr(&amp;amp;resVolts, msg, 5);&lt;/P&gt;&lt;P&gt;/* Reset flag for group conversion status */&lt;BR /&gt;groupConvDone = false;&lt;/P&gt;&lt;P&gt;/* Restart the SW triggered group of conversions */&lt;BR /&gt;status = ADC_StartGroupConversion(&amp;amp;adc_pal1_instance, selectedGroupIndex); /* Restart can be avoided if SW triggered group is configured to run in continuous mode */&lt;/P&gt;&lt;P&gt;// DEV_ASSERT(status == STATUS_SUCCESS);&lt;BR /&gt;}&lt;BR /&gt;if((groupConvDone1 == true))&lt;BR /&gt;{&lt;BR /&gt;resVolts [8]= ((float) adc_pal1_Results01[0] / adcMax) * VREF; /* Convert result to volts */&lt;BR /&gt;resVolts [9]= ((float) adc_pal1_Results01[1] / adcMax) * VREF; /* Convert result to volts */&lt;BR /&gt;resVolts [10]= ((float) adc_pal1_Results01[2] / adcMax) * VREF; /* Convert result to volts */&lt;BR /&gt;resVolts [11]= ((float) adc_pal1_Results01[3] / adcMax) * VREF; /* Convert result to volts */&lt;BR /&gt;resVolts [12]= ((float) adc_pal1_Results01[4] / adcMax) * VREF; /* Convert result to volts */&lt;BR /&gt;resVolts [13]= ((float) adc_pal1_Results01[5] / adcMax) * VREF; /* Convert result to volts */&lt;BR /&gt;resVolts [14]= ((float) adc_pal1_Results01[6] / adcMax) * VREF; /* Convert result to volts */&lt;BR /&gt;resVolts [15]= ((float) adc_pal1_Results01[7] / adcMax) * VREF; /* Convert result to volts */&lt;BR /&gt;groupConvDone1 = false;&lt;BR /&gt;status = ADC_StartGroupConversion(&amp;amp;adc_pal1_instance, 1); /* Restart can be avoided if SW triggered group is configured to run in continuous mode */&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;status = ADC_Deinit(&amp;amp;adc_pal1_instance);&lt;BR /&gt;DEV_ASSERT(status == STATUS_SUCCESS);&lt;BR /&gt;/*** Don't write any code pass this line, or it will be deleted during code generation. ***/&lt;BR /&gt;/*** RTOS startup code. Macro PEX_RTOS_START is defined by the RTOS component. DON'T MODIFY THIS CODE!!! ***/&lt;BR /&gt;#ifdef PEX_RTOS_START&lt;BR /&gt;PEX_RTOS_START(); /* Startup of the selected RTOS. Macro is defined by the RTOS component. */&lt;BR /&gt;#endif&lt;BR /&gt;/*** End of RTOS startup code. ***/&lt;BR /&gt;/*** Processor Expert end of main routine. DON'T MODIFY THIS CODE!!! ***/&lt;BR /&gt;for(;;) {&lt;BR /&gt;if(exit_code != 0) {&lt;BR /&gt;break;&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;return exit_code;&lt;BR /&gt;/*** Processor Expert end of main routine. DON'T WRITE CODE BELOW!!! ***/&lt;BR /&gt;} /*** End of main routine. DO NOT MODIFY THIS TEXT!!! ***/&lt;/P&gt;&lt;P&gt;Configured as Below in processor expert for group conversion 0 and 1.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Krishnayya29_1-1679326444430.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/215399i3EB9F1B2F13240A1/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Krishnayya29_1-1679326444430.png" alt="Krishnayya29_1-1679326444430.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Krishnayya29_2-1679326508858.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/215400iD131A637FD037EA6/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Krishnayya29_2-1679326508858.png" alt="Krishnayya29_2-1679326508858.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Krishnayya&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 21 Mar 2023 10:26:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Regarding-Pal-EQADC/m-p/1618544#M21503</guid>
      <dc:creator>Krishnayya29</dc:creator>
      <dc:date>2023-03-21T10:26:04Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding Pal EQADC</title>
      <link>https://community.nxp.com/t5/S32K/Regarding-Pal-EQADC/m-p/1620731#M21563</link>
      <description>&lt;P&gt;Could you describe the issue more in detail? What exactly you are facing?&lt;/P&gt;</description>
      <pubDate>Thu, 23 Mar 2023 09:23:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Regarding-Pal-EQADC/m-p/1620731#M21563</guid>
      <dc:creator>davidtosenovjan</dc:creator>
      <dc:date>2023-03-23T09:23:15Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding Pal EQADC</title>
      <link>https://community.nxp.com/t5/S32K/Regarding-Pal-EQADC/m-p/1620824#M21566</link>
      <description>&lt;P&gt;Hi David,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your Response.&lt;/P&gt;&lt;P&gt;i am working on PAL Eqadc of MPC5777c.SDK example code which was given by NXP for pal Eqadc shows us&amp;nbsp; &amp;nbsp;to work&amp;nbsp; with group conversion&amp;nbsp; 0&amp;nbsp; of Eqadc 1 which involves&amp;nbsp; four channels.for this call back is working properly and conversions are also happening fine.Below are problems which i am facing.&lt;/P&gt;&lt;P&gt;1.When i increase the channels of&amp;nbsp;group conversion&amp;nbsp; 0&amp;nbsp; more than 4 ,call back happens only one time where as it should happen continuously. Please&amp;nbsp; let me know how to make this callback happen continuously.&lt;/P&gt;&lt;P&gt;2.Similar to&amp;nbsp;group conversion&amp;nbsp; 0 ,if i implement&amp;nbsp;group conversion&amp;nbsp; 1 its not working properly as&amp;nbsp;group conversion&amp;nbsp; 0.Please guide me how to make this&amp;nbsp;group conversion&amp;nbsp; 1 also&amp;nbsp; working as group conversion&amp;nbsp; 0.&lt;/P&gt;&lt;P&gt;i have attached the complete Project folder for your reference.&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Krishnayya&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Mar 2023 11:21:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Regarding-Pal-EQADC/m-p/1620824#M21566</guid>
      <dc:creator>Krishnayya29</dc:creator>
      <dc:date>2023-03-23T11:21:19Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding Pal EQADC</title>
      <link>https://community.nxp.com/t5/S32K/Regarding-Pal-EQADC/m-p/1620904#M21571</link>
      <description>&lt;P&gt;Which version of S32DS and SDK you are using? I cannot import this archive to S32DS 2.1.&lt;/P&gt;</description>
      <pubDate>Thu, 23 Mar 2023 13:33:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Regarding-Pal-EQADC/m-p/1620904#M21571</guid>
      <dc:creator>davidtosenovjan</dc:creator>
      <dc:date>2023-03-23T13:33:21Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding Pal EQADC</title>
      <link>https://community.nxp.com/t5/S32K/Regarding-Pal-EQADC/m-p/1620915#M21573</link>
      <description>&lt;P&gt;Hi david,&lt;/P&gt;&lt;P&gt;i am using S32DS 2.1 Power architecture .and sdk version is 3.0.3(S32_SDK_S32PA_RTM_3.0.3).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Krishnayya&lt;/P&gt;</description>
      <pubDate>Thu, 23 Mar 2023 13:48:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Regarding-Pal-EQADC/m-p/1620915#M21573</guid>
      <dc:creator>Krishnayya29</dc:creator>
      <dc:date>2023-03-23T13:48:21Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding Pal EQADC</title>
      <link>https://community.nxp.com/t5/S32K/Regarding-Pal-EQADC/m-p/1622505#M21649</link>
      <description>Hi David ,&lt;BR /&gt;Did you got any solution to this problem.Please let me know if you need any further details about this.</description>
      <pubDate>Mon, 27 Mar 2023 10:18:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Regarding-Pal-EQADC/m-p/1622505#M21649</guid>
      <dc:creator>Krishnayya29</dc:creator>
      <dc:date>2023-03-27T10:18:21Z</dc:date>
    </item>
    <item>
      <title>Re: Regarding Pal EQADC</title>
      <link>https://community.nxp.com/t5/S32K/Regarding-Pal-EQADC/m-p/1626829#M21811</link>
      <description>&lt;P&gt;I tested it finding that eQADC module is facing RFIFO overflow and CFIFO underflow. I am not sure why it happens. Generally it happens when conversion trigger is asserted and there is no commands if the CFIFO or RFIFO is full of un-drained results.&lt;/P&gt;
&lt;P&gt;If is possible that under SDK environment re-triggering (in continuous mode automatically) happen too fast. Also DMA controller should have priority over CPU.&lt;/P&gt;</description>
      <pubDate>Mon, 03 Apr 2023 11:34:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Regarding-Pal-EQADC/m-p/1626829#M21811</guid>
      <dc:creator>davidtosenovjan</dc:creator>
      <dc:date>2023-04-03T11:34:16Z</dc:date>
    </item>
  </channel>
</rss>

