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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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.
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
Hello Leemap,
Usually the errors are informative and tell me what needs fixed. Can
you share the errors (or at least a couple of them)?
What type of OS is on your PC (i.e. Windows or Linux or something else)?
Best Regards,
Steve
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
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.
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.
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.
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
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
Hi Anvesh,
Did you management to solve your problem? I got the exact same error.
Cheers,
Leo
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.