S32K118EVB external ADC

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

S32K118EVB external ADC

Jump to solution
3,342 Views
Pohsuan
Contributor III

Hello NXP team

I'm using PTA7 on the S32K118EVB as the external ADC channel with ADC_pdb_IP_example_S32K118

I’m able to retrieve ADC values using software trigger with the function below.

Pohsuan_0-1744937142301.png

 

However, when using the hardware trigger part from the sample code, the program gets stuck in the while loop.

Pohsuan_1-1744937142225.png

 

Please give me same advice Or is there any hardware-triggered ADC sample I can refer to?

The attached archive contains the source code I’m currently using. Please refer to it.

Thank you

Tags (1)
0 Kudos
Reply
1 Solution
3,216 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@Pohsuan

Please change settings like below shows.

Senlent_0-1745290313859.png

 

View solution in original post

0 Kudos
Reply
8 Replies
3,314 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@Pohsuan

The project you provided is actually our demo code in S32 DS.

I don't understand your question.

Do you want ADC to be hardware triggered or PDB to be hardware triggered?

If it is an ADC hardware triggered demo project, then this routine is it, because PDB is used here to trigger ADC sampling.

If you mean PDB is hardware triggered, then you need to add TRGMUX module to set the trigger source of PDB.

Please correct me if I understand your question wrongly, or tell me your specific requirements, I can spend some time to help you create a routine

0 Kudos
Reply
3,295 Views
Pohsuan
Contributor III

Hello Senlent

Thanks for your reply

I want to trigger the ADC using PDB.

In my case, I'm using PTA7, which is configured as ADC channel SE3_ADCH3.

However, when the code reaches Pdb_Adc_Ip_SwTrigger(PDBHWUNIT_0_INSTANCE);, it gets stuck waiting for notif_triggered to become true.
It seems that the AdcConversionCompleteNotif function is not being called to update notif_triggered. I can' see the LED toggling

Pohsuan_0-1745203180353.png

Is there anything I need to configure additionally for the PDB?
Below is my current PDB configuration.

Pohsuan_1-1745202782343.png

Thank you for your help!

 

Tags (1)
0 Kudos
Reply
3,289 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@Pohsuan

For the picture your have provided, i didn't see you have configurated any channel to Trigger ADC.

Senlent_0-1745203727431.png

 

0 Kudos
Reply
3,284 Views
Pohsuan
Contributor III

Hello Senlent

If I want to trigger SE3_ADCH3, Which PDB channel I should configure?

Thanks for your help.

Tags (1)
0 Kudos
Reply
3,278 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@Pohsuan

Please refer to the routine in our S32 DS.

Any channel can be used to tigger SE3-ADCH3.

In the S32 DS configuration interface, the PDB channels correspond to the channel order in your ADC.

0 Kudos
Reply
3,234 Views
Pohsuan
Contributor III

Hello Senlent

I've modified the PDB driver as shown in the attached screenshot, but I'm still unable to get the PDB to periodically trigger ADC conversions on PTA7 (ADC0_SE3).

My goal is to configure PDB0 to hardware trigger PTA7 (adc0_se3) sampling external  ADC conversions periodically.

I referred to the Adc_Pdb_Ip_example_S32K118 project. The software-triggered ADC conversions in Part 1 work as expected, but I’m unable to get any ADC conversion results in Part 2 using the hardware trigger method.

Could you kindly take a look at my code (attached) and let me know what changes I need to make to allow PDB0 to periodically trigger external ADC conversions on PTA7?

Thank you so much!

Pohsuan_0-1745283910954.png

Pohsuan_1-1745283931067.png

 

 

Tags (1)
0 Kudos
Reply
3,217 Views
Senlent
NXP TechSupport
NXP TechSupport

Hi@Pohsuan

Please change settings like below shows.

Senlent_0-1745290313859.png

 

0 Kudos
Reply
3,197 Views
Pohsuan
Contributor III

Hello Senlent

I was able to successfully read external ADC values using PDB hardware trigger.

I appreciate your help, thank you very much.

Tags (1)
0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2082878%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ES32K118EVB%20external%20ADC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2082878%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%20NXP%20team%3C%2FP%3E%3CP%3EI'm%20using%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3EPTA7%20on%20the%20S32K118EVB%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eas%20the%20external%20ADC%20channel%20with%26nbsp%3B%3CSTRONG%3EADC_pdb_IP_example_S32K118%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3EI%E2%80%99m%20able%20to%20retrieve%20ADC%20values%20using%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3Esoftware%20trigger%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Ewith%20the%20function%20below.%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Pohsuan_0-1744937142301.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Pohsuan_0-1744937142301.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F333781i79D1D7E3E9AB1A90%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Pohsuan_0-1744937142301.png%22%20alt%3D%22Pohsuan_0-1744937142301.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EHowever%2C%20when%20using%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3Ehardware%20trigger%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Epart%20from%20the%20sample%20code%2C%20the%20program%20gets%20stuck%20in%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3Ewhile%20loop%3C%2FSTRONG%3E.%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Pohsuan_1-1744937142225.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Pohsuan_1-1744937142225.png%22%20style%3D%22width%3A%20399px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F333782iC167649EA20AFA53%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Pohsuan_1-1744937142225.png%22%20alt%3D%22Pohsuan_1-1744937142225.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EPlease%20give%20me%20same%20advice%20Or%20is%20there%20any%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3Ehardware-triggered%20ADC%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Esample%20I%20can%20refer%20to%3F%3C%2FP%3E%3CP%3EThe%20attached%20archive%20contains%20the%20source%20code%20I%E2%80%99m%20currently%20using.%20Please%20refer%20to%20it.%3C%2FP%3E%3CP%3EThank%20you%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2084490%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20S32K118EVB%20external%20ADC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2084490%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%20Senlent%3C%2FP%3E%3CP%3EI%20was%20able%20to%20successfully%20read%20external%20ADC%20values%20using%20PDB%20hardware%20trigger.%3C%2FP%3E%3CP%3EI%20appreciate%20your%20help%2C%20thank%20you%20very%20much.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2084170%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20S32K118EVB%20external%20ADC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2084170%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%40%3CSPAN%3EPohsuan%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EPlease%20change%20settings%20like%20below%20shows.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Senlent_0-1745290313859.png%22%20style%3D%22width%3A%20580px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Senlent_0-1745290313859.png%22%20style%3D%22width%3A%20580px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F334142i3F157967F8D38934%2Fimage-dimensions%2F580x329%3Fv%3Dv2%22%20width%3D%22580%22%20height%3D%22329%22%20role%3D%22button%22%20title%3D%22Senlent_0-1745290313859.png%22%20alt%3D%22Senlent_0-1745290313859.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2084104%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20S32K118EVB%20external%20ADC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2084104%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%20Senlent%3C%2FP%3E%3CP%3EI've%20modified%20the%20PDB%20driver%20as%20shown%20in%20the%20attached%20screenshot%2C%20but%20I'm%20still%20unable%20to%20get%20the%20PDB%20to%20periodically%20trigger%20ADC%20conversions%20on%20PTA7%20(ADC0_SE3).%3C%2FP%3E%3CP%3EMy%20goal%20is%20to%20configure%20PDB0%20to%20hardware%20trigger%20PTA7%20(adc0_se3)%26nbsp%3Bsampling%20external%26nbsp%3B%20ADC%20conversions%20periodically.%3C%2FP%3E%3CP%3EI%20referred%20to%20the%20%3CSTRONG%3EAdc_Pdb_Ip_example_S32K118%3C%2FSTRONG%3E%20project.%20The%20software-triggered%20ADC%20conversions%20in%20Part%201%20work%20as%20expected%2C%20but%20I%E2%80%99m%20unable%20to%20get%20any%20ADC%20conversion%20results%20in%20Part%202%20using%20the%20hardware%20trigger%20method.%3C%2FP%3E%3CP%3ECould%20you%20kindly%20take%20a%20look%20at%20my%20code%20(attached)%20and%20let%20me%20know%20what%20changes%20I%20need%20to%20make%20to%20allow%20PDB0%20to%20periodically%20trigger%20external%20ADC%20conversions%20on%20PTA7%3F%3C%2FP%3E%3CP%3EThank%20you%20so%20much!%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Pohsuan_0-1745283910954.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Pohsuan_0-1745283910954.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F334124i5F5F87E4953B772C%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Pohsuan_0-1745283910954.png%22%20alt%3D%22Pohsuan_0-1745283910954.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Pohsuan_1-1745283931067.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Pohsuan_1-1745283931067.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F334125i144F2EF5BAD8F865%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Pohsuan_1-1745283931067.png%22%20alt%3D%22Pohsuan_1-1745283931067.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2083590%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20S32K118EVB%20external%20ADC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2083590%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%40%3CSPAN%3EPohsuan%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EPlease%20refer%20to%20the%20routine%20in%20our%20S32%20DS.%3C%2FP%3E%0A%3CP%3EAny%20channel%20can%20be%20used%20to%20tigger%20SE3-ADCH3.%3C%2FP%3E%0A%3CP%3EIn%20the%20S32%20DS%20configuration%20interface%2C%20the%20PDB%20channels%20correspond%20to%20the%20channel%20order%20in%20your%20ADC.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2083572%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20S32K118EVB%20external%20ADC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2083572%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%20Senlent%3C%2FP%3E%3CP%3EIf%20I%20want%20to%20trigger%26nbsp%3B%3CSTRONG%3ESE3_ADCH3%2C%26nbsp%3B%3C%2FSTRONG%3EWhich%20PDB%20channel%20I%20should%20configure%3F%3C%2FP%3E%3CP%3EThanks%20for%20your%20help.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2083566%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20S32K118EVB%20external%20ADC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2083566%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CA%20href%3D%22mailto%3AHi%40Pohsuan%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EHi%40Pohsuan%3C%2FA%3E%3C%2FP%3E%0A%3CP%3EFor%20the%20picture%20your%20have%20provided%2C%20i%20didn't%20see%20you%20have%20configurated%20any%20channel%20to%20Trigger%20ADC.%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Senlent_0-1745203727431.png%22%20style%3D%22width%3A%20528px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Senlent_0-1745203727431.png%22%20style%3D%22width%3A%20528px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F333990iF1E1691D1EBDE007%2Fimage-dimensions%2F528x190%3Fv%3Dv2%22%20width%3D%22528%22%20height%3D%22190%22%20role%3D%22button%22%20title%3D%22Senlent_0-1745203727431.png%22%20alt%3D%22Senlent_0-1745203727431.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2083562%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20S32K118EVB%20external%20ADC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2083562%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%20Senlent%3C%2FP%3E%3CP%3EThanks%20for%20your%20reply%3C%2FP%3E%3CP%3EI%20want%20to%20trigger%20the%20ADC%20using%20PDB.%3C%2FP%3E%3CP%3EIn%20my%20case%2C%20I'm%20using%20PTA7%2C%20which%20is%20configured%20as%20ADC%20channel%20SE3_ADCH3.%3C%2FP%3E%3CP%3EHowever%2C%20when%20the%20code%20reaches%20%3CSTRONG%3EPdb_Adc_Ip_SwTrigger(PDBHWUNIT_0_INSTANCE)%3B%3C%2FSTRONG%3E%2C%20it%20gets%20stuck%20waiting%20for%20%3CSTRONG%3Enotif_triggered%3C%2FSTRONG%3E%20to%20become%20true.%3CBR%20%2F%3EIt%20seems%20that%20the%20%3CSTRONG%3EAdcConversionCompleteNotif%3C%2FSTRONG%3E%20function%20is%20not%20being%20called%20to%20update%20%3CSTRONG%3Enotif_triggered%3C%2FSTRONG%3E.%26nbsp%3BI%20can'%20see%20the%20LED%20toggling%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Pohsuan_0-1745203180353.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Pohsuan_0-1745203180353.png%22%20style%3D%22width%3A%20388px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F333989i347EBA4C828E427B%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Pohsuan_0-1745203180353.png%22%20alt%3D%22Pohsuan_0-1745203180353.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22%22%3EIs%20there%20anything%20I%20need%20to%20configure%20additionally%20for%20the%20PDB%3F%3CBR%20%2F%3EBelow%20is%20my%20current%20PDB%20configuration.%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Pohsuan_1-1745202782343.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Pohsuan_1-1745202782343.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F333988iF1C968B7D2A3D90F%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Pohsuan_1-1745202782343.png%22%20alt%3D%22Pohsuan_1-1745202782343.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EThank%20you%20for%20your%20help!%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2083198%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20S32K118EVB%20external%20ADC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2083198%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%40%3CSPAN%3EPohsuan%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EThe%20project%20you%20provided%20is%20actually%20our%20demo%20code%20in%20S32%20DS.%3C%2FP%3E%0A%3CP%3EI%20don't%20understand%20your%20question.%3C%2FP%3E%0A%3CP%3EDo%20you%20want%20ADC%20to%20be%20hardware%20triggered%20or%20PDB%20to%20be%20hardware%20triggered%3F%3C%2FP%3E%0A%3CP%3EIf%20it%20is%20an%20ADC%20hardware%20triggered%20demo%20project%2C%20then%20this%20routine%20is%20it%2C%20because%20PDB%20is%20used%20here%20to%20trigger%20ADC%20sampling.%3C%2FP%3E%0A%3CP%3EIf%20you%20mean%20PDB%20is%20hardware%20triggered%2C%20then%20you%20need%20to%20add%20TRGMUX%20module%20to%20set%20the%20trigger%20source%20of%20PDB.%3C%2FP%3E%0A%3CP%3EPlease%20correct%20me%20if%20I%20understand%20your%20question%20wrongly%2C%20or%20tell%20me%20your%20specific%20requirements%2C%20I%20can%20spend%20some%20time%20to%20help%20you%20create%20a%20routine%3C%2FP%3E%3C%2FLINGO-BODY%3E