S32K348 CANFD normal communication

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

S32K348 CANFD normal communication

Jump to solution
1,109 Views
youngkin
Contributor III

hello:

Can you provide a can fd sample(s32k344 or s32k3358), thanks!

Tags (1)
0 Kudos
Reply
1 Solution
998 Views
PetrS
NXP TechSupport
NXP TechSupport

Hi,

1) Using IP level driver this is set withing code

If FlexCAN_Ip_Send function is called with tx_info.polling=TRUE, then for each MB used you need to periodically call FlexCAN_Ip_MainFunctionWrite with respective MB selected as parameter. This is to process transmitted Tx MB and update driver status variable.
If tx_info.polling=FALSE, FlexCAN_Ip_MainFunctionWrite calling is not needed, but module interrupt must be properly enabled and handler assigned.
 
For receiving isPolling parameter of Receive function specifies interrupt/polling mode.
Here again if polling is used you need to call FlexCAN_Ip_MainFunctionRead periodically, otherwise module interrupt must be properly enabled and handler assigned.
 
2) correct
 
3) either you can assign/enable interrupt in IntCtrl_Ip component and within code just IntCtrl_Ip_Init(&IntCtrlConfig_0) is called or
leave this empty in IntCtrl_Ip component and assign/enable interrupt within code, like

IntCtrl_Ip_Init(&IntCtrlConfig_0);
IntCtrl_Ip_EnableIrq(FlexCAN0_1_IRQn);
IntCtrl_Ip_InstallHandler(FlexCAN0_1_IRQn, CAN0_ORED_0_31_MB_IRQHandler, NULL_PTR);

BR, Petr

View solution in original post

0 Kudos
Reply
6 Replies
1,084 Views
PetrS
NXP TechSupport
NXP TechSupport
0 Kudos
Reply
1,080 Views
youngkin
Contributor III

Hello:

I have studied this example( https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K358-FlexCAN-TXRX-ISR-S32DS35-RTD400-500...), but I have a question, how do I set up the mailbox and filtering for CAN FD。 Should  I   add the can driver module 

youngkin_2-1761046846492.png

 

youngkin_1-1761046812116.png

 

and i  cannot find  the Mode of  can rx and tx (polling or  interrupt)

youngkin_0-1761046634231.png

Also, I would like to inquire about the examples of CAN. can sample use CAN mcal module(Can_43_FLEXCAN), while Flexcan sample use Drivers module(Flexcan). Can  Flexcan module and  Can_43_FLEXCAN  module appear in the same project at the same time?

Tags (1)
0 Kudos
Reply
1,069 Views
PetrS
NXP TechSupport
NXP TechSupport

Hi,

if using IP level driver then MB and mask is simply configured within code using respective API

PetrS_0-1761051486779.png

If using mcal level driver, ID and mask is defined in configuration, you outlined.

Flexcan_IP and  Can_43_FLEXCAN  modules can be used in the same project at the same time, but not for same FlexCAN instance.

BR, Petr

0 Kudos
Reply
1,049 Views
youngkin
Contributor III

I am sorry, I would like to confirm three questions,

1. i cannot find the Mode of can rx and tx (polling or interrupt)in the sample(Example-S32K358-FlexCAN-TXRX-ISR-S32DS35-RTD400),   how to set  the mode of rx and tx?

youngkin_0-1761095849911.png

2. about the can clock set,This clock value only needs to be written as one value(Any value)。

youngkin_1-1761095936768.png

the can peripheral clock  need not  Choose a reference clock,as  show

youngkin_2-1761096322351.png

3.  the sample use the can interrupt, but i can not find the interrupt set

youngkin_3-1761097001570.png

 

0 Kudos
Reply
999 Views
PetrS
NXP TechSupport
NXP TechSupport

Hi,

1) Using IP level driver this is set withing code

If FlexCAN_Ip_Send function is called with tx_info.polling=TRUE, then for each MB used you need to periodically call FlexCAN_Ip_MainFunctionWrite with respective MB selected as parameter. This is to process transmitted Tx MB and update driver status variable.
If tx_info.polling=FALSE, FlexCAN_Ip_MainFunctionWrite calling is not needed, but module interrupt must be properly enabled and handler assigned.
 
For receiving isPolling parameter of Receive function specifies interrupt/polling mode.
Here again if polling is used you need to call FlexCAN_Ip_MainFunctionRead periodically, otherwise module interrupt must be properly enabled and handler assigned.
 
2) correct
 
3) either you can assign/enable interrupt in IntCtrl_Ip component and within code just IntCtrl_Ip_Init(&IntCtrlConfig_0) is called or
leave this empty in IntCtrl_Ip component and assign/enable interrupt within code, like

IntCtrl_Ip_Init(&IntCtrlConfig_0);
IntCtrl_Ip_EnableIrq(FlexCAN0_1_IRQn);
IntCtrl_Ip_InstallHandler(FlexCAN0_1_IRQn, CAN0_ORED_0_31_MB_IRQHandler, NULL_PTR);

BR, Petr

0 Kudos
Reply
981 Views
youngkin
Contributor III
thanks for your help
0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2189797%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ES32K348%20CANFD%20%20normal%20communication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2189797%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3Ehello%EF%BC%9A%3C%2FP%3E%3CP%3ECan%20you%20provide%20a%20can%20fd%20sample(s32k344%20or%20s32k3358)%2C%20thanks!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2192131%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K348%20CANFD%20%20normal%20communication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2192131%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Ethanks%20for%20your%20help%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2191335%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K348%20CANFD%20%20normal%20communication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2191335%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%0A%3CP%3E1)%20Using%20IP%20level%20driver%20this%20is%20set%20withing%20code%3C%2FP%3E%0A%3CDIV%3EIf%20FlexCAN_Ip_Send%26nbsp%3Bfunction%20is%20called%20with%20tx_info.polling%3DTRUE%2C%20then%20for%20each%20MB%20used%20you%20need%20to%20periodically%20call%20FlexCAN_Ip_MainFunctionWrite%20with%20respective%20MB%20selected%20as%20parameter.%20This%20is%20to%20process%20transmitted%20Tx%20MB%20and%20update%20driver%20status%20variable.%3C%2FDIV%3E%0A%3CDIV%3EIf%20tx_info.polling%3DFALSE%2C%20FlexCAN_Ip_MainFunctionWrite%20calling%20is%20not%20needed%2C%20but%20module%20interrupt%20must%20be%20properly%20enabled%20and%20handler%20assigned.%3C%2FDIV%3E%0A%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CDIV%3EFor%20receiving%26nbsp%3BisPolling%20parameter%20of%20Receive%20function%20specifies%20interrupt%2Fpolling%20mode.%3C%2FDIV%3E%0A%3CDIV%3EHere%20again%20if%20polling%20is%20used%20you%20need%20to%20call%20FlexCAN_Ip_MainFunctionRead%20periodically%2C%20otherwise%26nbsp%3Bmodule%20interrupt%20must%20be%20properly%20enabled%20and%20handler%20assigned.%0A%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CDIV%3E2)%20correct%3C%2FDIV%3E%0A%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%0A%3CDIV%3E3)%20either%20you%20can%20assign%2Fenable%20interrupt%20in%20IntCtrl_Ip%26nbsp%3Bcomponent%20and%20within%20code%20just%20IntCtrl_Ip_Init(%26amp%3BIntCtrlConfig_0)%20is%20called%20or%3C%2FDIV%3E%0A%3CDIV%3Eleave%20this%20empty%20in%20IntCtrl_Ip%20component%20and%26nbsp%3Bassign%2Fenable%20interrupt%20within%20code%2C%20like%3CBR%20%2F%3E%0A%3CDIV%3E%0A%3CDIV%3E%0A%3CP%3EIntCtrl_Ip_Init(%26amp%3BIntCtrlConfig_0)%3B%3CBR%20%2F%3EIntCtrl_Ip_EnableIrq(FlexCAN0_1_IRQn)%3B%3CBR%20%2F%3EIntCtrl_Ip_InstallHandler(FlexCAN0_1_IRQn%2C%20CAN0_ORED_0_31_MB_IRQHandler%2C%20NULL_PTR)%3B%3C%2FP%3E%0A%3CP%3EBR%2C%20Petr%3C%2FP%3E%0A%3C%2FDIV%3E%0A%3C%2FDIV%3E%0A%3C%2FDIV%3E%0A%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2190333%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K348%20CANFD%20%20normal%20communication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2190333%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20am%20sorry%2C%20I%20would%20like%20to%20confirm%20three%20questions%EF%BC%8C%3C%2FP%3E%3CP%3E1.%20i%20cannot%20find%20the%20Mode%20of%20can%20rx%20and%20tx%20%EF%BC%88polling%20or%20interrupt%EF%BC%89in%20the%20sample%EF%BC%88Example-S32K358-FlexCAN-TXRX-ISR-S32DS35-RTD400%EF%BC%89%2C%26nbsp%3B%20%26nbsp%3Bhow%20to%20set%26nbsp%3B%20the%20mode%20of%20rx%20and%20tx%3F%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22youngkin_0-1761095849911.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22youngkin_0-1761095849911.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F361972i5DEE2FE41771D7CC%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22youngkin_0-1761095849911.png%22%20alt%3D%22youngkin_0-1761095849911.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E2.%20about%20the%20can%20clock%20set%EF%BC%8CThis%20clock%20value%20only%20needs%20to%20be%20written%20as%20one%20value%EF%BC%88Any%20value%EF%BC%89%E3%80%82%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22youngkin_1-1761095936768.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22youngkin_1-1761095936768.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F361973i8F9CAE7EC70A7FA8%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22youngkin_1-1761095936768.png%22%20alt%3D%22youngkin_1-1761095936768.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3Ethe%20can%20peripheral%20clock%26nbsp%3B%20need%20not%26nbsp%3B%26nbsp%3BChoose%20a%20reference%20clock%EF%BC%8Cas%26nbsp%3B%20show%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22youngkin_2-1761096322351.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22youngkin_2-1761096322351.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F361974i9C4493D1F0886FCD%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22youngkin_2-1761096322351.png%22%20alt%3D%22youngkin_2-1761096322351.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E3.%26nbsp%3B%20the%20sample%20use%20the%20can%20interrupt%2C%20but%20i%20can%20not%20find%20the%20interrupt%20set%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22youngkin_3-1761097001570.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22youngkin_3-1761097001570.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F361977i13464F93740252D0%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22youngkin_3-1761097001570.png%22%20alt%3D%22youngkin_3-1761097001570.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2189987%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K348%20CANFD%20%20normal%20communication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2189987%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%0A%3CP%3Eif%20using%20IP%20level%20driver%20then%20MB%20and%20mask%20is%20simply%20configured%20within%20code%20using%20respective%20API%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22PetrS_0-1761051486779.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22PetrS_0-1761051486779.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F361876iE1262AA43C508B1A%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22PetrS_0-1761051486779.png%22%20alt%3D%22PetrS_0-1761051486779.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EIf%20using%20mcal%20level%20driver%2C%20ID%20and%20mask%20is%20defined%20in%20configuration%2C%20you%20outlined.%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EFlexcan_IP%20and%26nbsp%3B%26nbsp%3BCan_43_FLEXCAN%26nbsp%3B%20modules%20can%20be%20used%20in%20the%20same%20project%20at%20the%20same%20time%2C%20but%20not%20for%20same%20FlexCAN%20instance.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EBR%2C%20Petr%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2189939%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K348%20CANFD%20%20normal%20communication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2189939%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%3A%3C%2FP%3E%3CP%3EI%20have%20studied%20this%20example%EF%BC%88%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K-Knowledge-Base%2FExample-S32K358-FlexCAN-TXRX-ISR-S32DS35-RTD400-500%2Fta-p%2F1981987%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K-Knowledge-Base%2FExample-S32K358-FlexCAN-TXRX-ISR-S32DS35-RTD400-500...%3C%2FA%3E%EF%BC%89%2C%20but%20I%20have%20a%20question%2C%26nbsp%3Bhow%20do%20I%20set%20up%20the%20mailbox%20and%20filtering%20for%20CAN%20FD%E3%80%82%20Should%26nbsp%3B%20I%26nbsp%3B%20%26nbsp%3Badd%20the%20can%20driver%20module%26nbsp%3B%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22youngkin_2-1761046846492.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22youngkin_2-1761046846492.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F361856i20AADC25F9B1C41C%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22youngkin_2-1761046846492.png%22%20alt%3D%22youngkin_2-1761046846492.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22youngkin_1-1761046812116.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22youngkin_1-1761046812116.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F361855iA1003265497C51FC%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22youngkin_1-1761046812116.png%22%20alt%3D%22youngkin_1-1761046812116.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3Eand%20i%26nbsp%3B%20cannot%20find%26nbsp%3B%20the%20Mode%20of%26nbsp%3B%20can%20rx%20and%20tx%20%EF%BC%88polling%20or%26nbsp%3B%20interrupt%EF%BC%89%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22youngkin_0-1761046634231.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22youngkin_0-1761046634231.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F361852i0B3234D1BF9A14A0%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22youngkin_0-1761046634231.png%22%20alt%3D%22youngkin_0-1761046634231.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3EAlso%2C%20I%20would%20like%20to%20inquire%20about%20the%20examples%20of%20CAN.%20can%20sample%20use%20CAN%20mcal%20module%EF%BC%88Can_43_FLEXCAN%EF%BC%89%2C%20while%26nbsp%3BFlexcan%20sample%20use%20Drivers%20module(Flexcan).%20Can%26nbsp%3B%20Flexcan%20module%20and%26nbsp%3B%26nbsp%3BCan_43_FLEXCAN%26nbsp%3B%20module%20appear%20in%20the%20same%20project%20at%20the%20same%20time%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2189898%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K348%20CANFD%20%20normal%20communication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2189898%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%0A%3CP%3Eyou%20can%20refer%20to%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K-Knowledge-Base%2FExample-S32K358-FlexCAN-TXRX-ISR-S32DS35-RTD400-500%2Fta-p%2F1981987%22%20target%3D%22_blank%22%3Ehttps%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K-Knowledge-Base%2FExample-S32K358-FlexCAN-TXRX-ISR-S32DS35-RTD400-500%2Fta-p%2F1981987%3C%2FA%3E%3C%2FP%3E%0A%3CP%3EBR%2C%20Petr%3C%2FP%3E%3C%2FLINGO-BODY%3E