Menu

port for stm32f1x

Anonymous
2014-02-25
2023-08-14
  • Anonymous

    Anonymous - 2014-02-25

    Hi

    I want to use the program port for stm32f10x, but don't know which files i should add to my project in KEIL. i used source files in "stm32f10x" directory + header files in "include" directory but still some source and headers are needed as compiler says in errors.
    I found some of them like "net.h" or "bo.h" and "bo.c" and etc from somewhere in objects and other ports directories but i don't know if it's true to do that! and also after add them, there are some errors in definition of variables that I have no idea about them.

    Would you please someone help on this?
    Behnam
    Thank you

     
  • Steve Karg

    Steve Karg - 2014-02-25

    The nice thing about the compiler and linker is that they can guide you as you build your project by indicating what is missing.

    The "net.h" file is usually used with BACnet/IP datalink layer. I wrote a BACnet/IP datalink layer for lwIP when I ran on an STM32, and put the files in ports/lwip/ directory. If you are using MS/TP datalink instead of BACnet/IP, then you will need to define BACDL_MSTP either in your project settings or in config.h file - the default is BACnet/IP.

    The include files are usually bacnet-stack/include and bacnet-stack/demo/object/ for the BACnet objects API.

    The linker should indicate which functions are missing, and you can find them by searching in bacnet-stack/src/ or bacnet-stack/demo/handler/ directories and adding those files to your project.

    An overview of these details are in bacnet-stack/doc/README.developer file.

     
    • 李先草

      李先草 - 2015-04-02

      Hi
      I recently begin learning about BAcnet,and also want to use the program port for stm32f10x.I choose MS/TP for datalink layer,and have added source file as many as possible in my project established by keil,but many errors appear. So here is my question:except to define BACDL_MSTP in config.h file, is there any other part should i change?

      Another question is: how can i run demo/server/bacserv on PC as demonstration?I don't know how to open this type file.

      I am really a newbie and sincerely need your help,look forward to your reply.
      Thank you.
      Leemap

       

      Last edit: 李先草 2015-04-02
      • Steve Karg

        Steve Karg - 2015-04-10

        Hello Leemap,

        I recently begin learning about BAcnet,and also want to use the program port
        for stm32f10x.I choose MS/TP for datalink layer,and have added source file
        as many as possible in my project established by keil,but many errors
        appear. So here is my question:except to define BACDL_MSTP in config.h file,
        is there any other part should i change?

        Usually the errors are informative and tell me what needs fixed. Can
        you share the errors (or at least a couple of them)?

        Another question is: how can i run demo/server/bacserv on PC as
        demonstration?I don't know how to open this type file.

        What type of OS is on your PC (i.e. Windows or Linux or something else)?

        Best Regards,

        Steve

         
        • 李先草

          李先草 - 2015-04-21

          Hi Steve,
          Sorry to reply so late.Before,I used Keil to create project and some errors appeared,then i found there was a project already created by IAR.In IAR,no error appear.After download the code into my STM32 development board,i use RS485 to connect the board with PC,but in VTS,no device can be discovered under MS/TP port.Can you give me some advice about this problem.

          By the way,my PC's OS is Windows,so how can i run demo/server/bacserv as demonstration ?

          Looking foward to your reply.

          Leemap

           
  • Steve Karg

    Steve Karg - 2015-04-26

    VTS uses BACnet/IP and BACnet Ethernet datalink, and doesn't have the ability to communicate using MS/TP (RS-485), so you will need a BACnet/IP to MS/TP router if you want to use MS/TP datalink.

     
  • mdeeb

    mdeeb - 2015-05-24

    Hi,
    I have a custom board based on TI TIVA, I modified the stm32f10x code from port folder.
    MS/TP communication is OK, I use YABE BACnet Explorer, and the device lists the object correctly.

    The question is, where I should update/write output. for example, binary output (GPIOwrite...).
    is it in the bo.c, bacnet_task, ...?

    Thanks.

     
  • Steve Karg

    Steve Karg - 2015-05-24

    In some projects, I add the write directly in bo.c, and in some projects, I keep the writes in bacnet.c in bacnet_task() as shown in STM32 example (but that method uses more RAM since the Present_Value, Out_Of_Service, and Polarity are stored in bo.c file).

    The main reason for using bacnet_task() to update the Binary_Output_x functions is to show the relationship of Out_Of_Service and Polarity to the Present_Value properties, and it allows bo.c to remain generic.

     
  • Krishna

    Krishna - 2015-12-23

    Hi..
    I have recently started learing BACnet MSTP.And i am using the program port
    for stm32f10x in IAR environment .I choose MS/TP as my datalink layer.

    1).I want to implement BACnet MSTP SLAVE. Is that possible with the BACnet stack available in the sourceforge.net. If possible how to implement that.

    2).When i run the BAcnet stack code is compiling and to test this BAcnet device i am using YABE bacnet explorerBy using this i am able to detect the device and objects, But in the log window of YABE it always shows below messages..

    Sending ReadPropertyRequest ...
    Didn't get response from 'Structured Object List'
    Sending ReadPropertyRequest ...
    Didn't get response from 'Object List'
    Sending ReadPropertyRequest ...
    Garbage
    Garbage
    Sending ReadPropertyMultipleRequest ...
    Garbage

    Could somebody please help to solve this problem..
    And please give me your views on pont no.1 also..

    Regards,
    Krishna

     
  • Anvesh Manne

    Anvesh Manne - 2016-11-25

    Hi Steve and Krishna,

    I am getting a similar error as above. Did you manage to solve it?

    Here is output from Yabe

    Sending ReadPropertyRequest ...
    Got exception from 'Structured Object List'
    Sending ReadPropertyRequest ...
    Got exception from 'Object List'
    Sending ReadPropertyRequest ...
    Sending ReadPropertyRequest ...
    Got exception from 'Structured Object List'
    Sending ReadPropertyRequest ...
    Got exception from 'Object List'
    Sending ReadPropertyRequest ...

    Anvesh

     
    • Leo Ye

      Leo Ye - 2023-08-14

      Hi Anvesh,

      Did you management to solve your problem? I got the exact same error.

      Cheers,
      Leo

       
      • Steve Karg

        Steve Karg - 2023-08-14

        Those exceptions are probably from an older version of YABE, but a Wireshark capture of the interaction would likely show:
        * ReadProperty request for structured-object list, and getting an error indicating that the structured-object-list is not a supported property. This is normal, and is just a way for YABE to detect if StructuredView objects are supported.
        * ReadProperty request for object-list property, which is a BACnetARRAY. The default for reading this BACnetARRAY is for reading ALL the array entries, and for devices with larger object counts, this will exceed the APDU size. This is normal, and is just a way for YABE to detect and use a fallback mechanism (Readproperty of object-list[0] which is the size, and then reading object-list[1], etc for each element in the object-list BACnetARRAY.

         

Log in to post a comment.