infineon4engi@twitter infineon@linkedin infineon4engineers infineon@youtube
twitter Facebook Linkedin Youtube

+ Reply to Thread
Results 1 to 10 of 10

Thread: Missing functions

  1. #1
    Beginner Beginner john7 is on a distinguished road
    Join Date
    Mar 2020
    Posts
    11
    Points
    90

    Missing functions

    In the code (in isr_defines.h) I see
    Code:
    #ifndef ADC2_VCP_LO_CALLBACK
    #define ADC2_VCP_LO_CALLBACK BDRV_Diag_Supply   
    #endif
    
    #ifndef BDRV_HS1_OC_CALLBACK
    #define BDRV_HS1_OC_CALLBACK BDRV_Diag
    #endif
    But there is no BDRV_Diag_Supply or BDRV_Diag in the code. Do the functions exist at all?

  2. #2
    Beginner Beginner muratrazi is on a distinguished road
    Join Date
    Aug 2019
    Posts
    35
    Points
    327.5
    I have searched for the functions in arm keil and i have this in bdrv.h.

    * V0.1.1: 2013-05-24, DM: Bdrv_Diag functions removed
    * Bdrv_Clr_Sts changed, to be robust agains
    * unintened flag clearing
    * Open-Load detection function added

    and for ADC2_VCP_LO_CALLBACK();
    as i understand from this

    #ifndef ADC2_VCP_LO_CALLBACK
    #define ADC2_VCP_LO_CALLBACK place_your_function_call_back_here
    #endif

    you should define your own function. but i am not sure.

  3. #3
    Beginner Beginner john7 is on a distinguished road
    Join Date
    Mar 2020
    Posts
    11
    Points
    90
    if Bdrv_Diag function removed what replacement function instead? Do we need thees interrupts and its callback functions?
    Last edited by john7; Mar 15th, 2020 at 11:01 PM.

  4. #4
    Beginner Beginner muratrazi is on a distinguished road
    Join Date
    Aug 2019
    Posts
    35
    Points
    327.5
    I think you can use bdrv_clr_sts in place of bdrv_diag. I dont know what exactly they will do, but here is clue for you. the code below is an example that show how to use bdrv_clr_sts.

    * \brief This example enables BDRV LS1, LS2, HS1 and HS2 Over-Current Interrupt.
    * ~~~~~~~~~~~~~~~{.c}
    * void Example_Function(void)
    * {
    * BDRV_Clr_Sts(LS1_OC | LS2_OC | LS3_OC | HS1_OC | HS2_OC | HS3_OC);
    * }
    * ~~~~~~~~~~~~~~~
    * \ingroup bdrv_api
    */

  5. #5
    Beginner Beginner john7 is on a distinguished road
    Join Date
    Mar 2020
    Posts
    11
    Points
    90
    Quote Originally Posted by muratrazi View Post
    I think you can use bdrv_clr_sts in place of bdrv_diag. I dont know what exactly they will do, but here is clue for you. the code below is an example that show how to use bdrv_clr_sts.

    * \brief This example enables BDRV LS1, LS2, HS1 and HS2 Over-Current Interrupt.
    * ~~~~~~~~~~~~~~~{.c}
    * void Example_Function(void)
    * {
    * BDRV_Clr_Sts(LS1_OC | LS2_OC | LS3_OC | HS1_OC | HS2_OC | HS3_OC);
    * }
    * ~~~~~~~~~~~~~~~
    * \ingroup bdrv_api
    */
    Thank you. The question is do we need it? There is no clear explanation provided with the code. I'm not sure I can use the board in serious projects.

  6. #6

    Infineon Employee
    Infineon Employee
    Elettrograffiti is on a distinguished road
    Join Date
    Oct 2019
    Posts
    20
    Hi John. May I ask which product and board are you workng with?
    In the ISR_defines.h header you can find the definition of the inturrupts and their enable values. Our SDK is designed in order to be used with the ConfigWizard. Currently we are at its V2 version. If you are using an older version of the SDK I would suggest to uplad it or to reinstall following the procedures indicated in our website:
    https://www.infineon.com/cms/en/prod...7qxa40/#!tools

    Back to your question, if you open the config wizard from within the Kiel project (main menu->Tools->configWizard v2) you can see that it is composed of several panes, each one related to a subsystem of our SOCs.
    You can find here, for almost each interrupt service routine, a check box that enables it and a dialog that defines its name. When you hoover your mouse cursor on an item it will show you the properties of those items giving you an indication of where it is related in the code.
    In your case:
    Click image for larger version

Name:	ADC2VCPcallbackForum.png
Views:	2
Size:	253.8 KB
ID:	4549

    In conclusion, if you are using our SDK for the project we suggest to keep all the defines you see and then, once your project is finished you could discard all the ones you don't use.

    I hope this was helpful.
    The views expressed here are my personal opinions, have not been reviewed or authorized by Infineon and do not necessarily represent the views of Infineon.

  7. #7
    Beginner Beginner john7 is on a distinguished road
    Join Date
    Mar 2020
    Posts
    11
    Points
    90
    Thank you. I'll try the wizard.
    I have an axis manager that drives 1-4 motors, depends on a project, so the shield would be perfect if I'll manage to work with it.

  8. #8
    Beginner Beginner john7 is on a distinguished road
    Join Date
    Mar 2020
    Posts
    11
    Points
    90
    Well... The Config Wizard is working only with Keil installed. I ported the project to IAR...

  9. #9
    Beginner Beginner muratrazi is on a distinguished road
    Join Date
    Aug 2019
    Posts
    35
    Points
    327.5
    because i did not know what is your aim i can not answer your question if you can tell me what is your aim exactly maybe i can answer your question

  10. #10
    Beginner Beginner john7 is on a distinguished road
    Join Date
    Mar 2020
    Posts
    11
    Points
    90
    Quote Originally Posted by muratrazi View Post
    because i did not know what is your aim i can not answer your question if you can tell me what is your aim exactly maybe i can answer your question
    Thank you
    .
    I see in isr_defines.h (for FOC)

    #ifndef BDRV_HS1_OC_CALLBACK
    #define BDRV_HS1_OC_CALLBACK BDRV_Diag
    #endif

    #ifndef BDRV_HS1_OC_INT_EN
    #define BDRV_HS1_OC_INT_EN 1
    #endif

    But there is no BDRV_Diag existed.

+ Reply to Thread
Disclaimer

All content and materials on this site are provided “as is“. Infineon makes no warranties or representations with regard to this content and these materials of any kind, whether express or implied, including without limitation, warranties or representations of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, whether express or implied, is granted by Infineon. Use of the information on this site may require a license from a third party, or a license from Infineon.


Infineon accepts no liability for the content and materials on this site being accurate, complete or up- to-date or for the contents of external links. Infineon distances itself expressly from the contents of the linked pages, over the structure of which Infineon has no control.


Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Usage Terms of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Usage Terms of this site. Infineon reserves the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.