Menu

#14 notes in the process of work and integration

release
open
None
1
2018-04-19
2017-11-03
Anonymous
No

Hello, about three weeks ago I started working with your BacNet stack,
maybe I can make my contribution to the development of technology,
if so, I'll be happy.(Sorry for my English)

Here are some notes that I made in the process of work and integration,
perhaps some of them arise from others and their solution will help
a faster understanding of the technology.
1) I did not immediately find the required FAQ, which I did not
know about this document - and where there was a general answer
to some questions. I found it only after a week and a half of work and
was surprised that there is no reference to it in the description
of the project - on his page in sourceforge (http://bacnet.sourceforge.net/)
2) It's strange that there is no realization of the example with the
self-write/read (yes, I read Support Request stickets on your
discussion page, and I know about the A-15 to Q-15 question there
and the link you give in FAQ) tried all three options and it did
not help ... Probably the most obvious way of self-write/read from
the device itself is to use the example ./baswp <self-id>
   (The consequence of the previous version was that I had to write my
own read-write bike into myself, through a common piece of memory)
3) There is no seemingly obvious example of a smart sensor, for example,
a temperature that could write a value and a server that was already
running would give these data to those who are interested ...
(examples have a BacNet server, but not have BacNet device)
4) I did not find a way to stop the server correctly -
I can start it - but how can I stop it later?
5) In the process of working on my patch, it turned out that I can
not find the documentation and description of working with functions
and the overall structure of the project code (not file project,
but logic in code) - it was especially insulting that the primitive
functions of writing and reading have not been described and so far
it is a mystery for me fill the structure of the
type BACNET_WRITE_PROPERTY_DATE, first tried to use the function
Device_Write_Properties () for the write in proprty, but then
it turned out that in the application_data field, not only the
data, but also some kind of "tag". Due to the lack of time
for the proceedings, I decided to use the functions below:
   - Analog_Output_Present_Value_Network ()
   - Binary_Input_Present_Value_Network ()
6) There is no general structure describing the device, with its
objects, objects are created separately in their modules (for
me it was unusual - therefore, those patterns that I applied
earlier did not work for this project)
7) Another surprise that was waiting for me is that the number of
objects created is categorized as a definite, inside each
module (not header),for example in demo/object/bv.c:
#define MAX_BINARY_VALUES 10

As a result:
I do not write this in order to just criticize the project - on the contrary,
I would like to make this project better, because it is very useful.

What I can offer at the moment based on my free time, to save time
for those who will use this project after me:
1) It is more specific to describe the documentation for your project
- describe the structure of the project code
- describe the work with the library and the basic functions of
initialization, writing / reading, etc.
2) Check out the patch I wrote (utility, plus a sample server patch)
that allows you to self-write/read from a device with a running server
through shared memory:
- write to server from another app
- read from server to another app
- stop the server correctly from another hub
- TODO: suspend its operation for a while
(when stopped, the processing of BuckNet messages stops)
- TODO: and then start from a pause

Maybe I took the wrong path - then please tell me what I'm wrong about,
because I want to benefit and still insert the correct and approved
example for you to write to yourself, which is not enough to fully
use the stack if necessary.

Discussion

Anonymous
Anonymous

Add attachments
Cancel