[go: up one dir, main page]

Activity for BACnet Protocol Stack

  • Steve Karg Steve Karg posted a comment on discussion Help

    The first device-instance in the command line is used with Who-Is and I-Am discovery services to bind the device-instance to a MAC, DNET, and DADR in an address table module used to lookup the address from a given device instance. If you pass the --mac on the command line then the Who-Is and I-Am is skipped. The device-instance passed on the command line is added to the address table module along with the MAC, DNET, and DADR values for the application to use when looking up the address from the instance...

  • gfab gfab posted a comment on discussion Help

    Hi Steve, thank you for your help! I think the main point is that using --dnet 0 for local network was necessary, to make it work. The hint with the wildcard 4194303 is very useful as well. I was able to get responses with these calls: $ ./bacrp --mac <controller-ip>:47808 --dnet 0 1 8 4194303 75 $ ./bacrp --mac <controller-ip>:47808 --dnet 0 1 8 4194303 77 $ ./bacrp --mac <controller-ip>:47808 --dnet 0 1 8 <device-id> 75 $ ./bacrp --mac <controller-ip>:47808 --dnet 0 1 8 <device-id> 77 $ ./bacrp...

  • Steve Karg Steve Karg posted a comment on discussion Help

    All the BACnet services use a MAC address to send messages to each other, whether the MAC address is an IP address (which uses the Ethernet MAC address via ARP to find the IP address) or an Ethernet MAC address or an MS/TP address, depending on the hardware connection of the local device. On IP, an IP router or gateway is needed to send the packet from one IP subnet to another (ping should be working if the end device support it). On the example apps, the --mac can therefore be used to send via the...

  • gfab gfab modified a comment on discussion Help

    Hi, I want to use the BACnet Protocol Stack on Linux to check connectivity for BACnet/IP to devices on a different subnet. As far as I understood I can use Who-is only on the local subnet or using BBMD routing. Can I instead do a read property call to the BACnet device on the remote subnet if I only know the IP, Port and potentially the Device ID? (Linux routing seems fine since pinging the device works. And issuing nc -u CONTROLLER-IP 47808 does at least not fail with an ICMP message from a firewall)...

  • gfab gfab modified a comment on discussion Help

    Hi, I want to use the BACnet Protocol Stack on Linux to check connectivity for BACnet/IP to devices on a different subnet. As far as I understood I can use Who-is only on the local subnet or using BBMD routing. Can I instead do a read property call to the BACnet device on the remote subnet if I only know the IP, Port and potentially the Device ID? (Linux routing seems fine since pinging the device works. And issuing nc -u <controller-ip> 47808 does at least not fail with an ICMP message from a firewall)</controller-ip>...

  • gfab gfab posted a comment on discussion Help

    Hi, I want to use the BACnet Protocol Stack on Linux to check connectivity for BACnet/IP to devices on a different subnet. As far as I understood I can use Who-is only on the local subnet or using BBMD routing. Can I instead do a read property call to the BACnet device on the remote subnet if I only know the IP, Port and potentially the Device ID? (Routing seems fine since pinging the device works. And issuing nc -u <controller-ip> 47808 does at least not fail with an ICMP message from a firewall)</controller-ip>...

  • GitHub committed [35f396] on Code

    Secured event decoding by refactoring deprecated functions. (#1126)

  • GitHub committed [4dd13c] on Code

    Added basic timer object, internal state machine, and unit tests (#1123)

  • Steve Karg Steve Karg committed [91ea56] on Code

    Created a storybook for kids with BACnet Stack nonsense.

  • Steve Karg Steve Karg committed [33eda1] on Code

    [WIP] Secured event decoding by removing deprecated functions.

  • Steve Karg Steve Karg committed [9e348a] on Code

    Secured event decoding by removing deprecated functions.

  • Steve Karg Steve Karg committed [69519c] on Code

    Cleanup of compile after merge

  • Steve Karg Steve Karg committed [12dea7] on Code

    Merge remote-tracking branch 'origin/master' into feature/bacnet-ipv6-bbmd-enabled-handler

  • GitHub committed [17259b] on Code

    Fixing Makefile build for bip6 with win32 MinGW and in github workflows. (#1125)

  • GitHub committed [895d9b] on Code

    Clause 21, enumerations for BACnetNetworkPortCommand conflict with final assigned values in multiple addenda. (#1124)

  • Steve Karg Steve Karg committed [7144cf] on Code

    Updated the bvlc6.sh to enable registration with foreign device

  • GitHub committed [f278cc] on Code

    Added object list init into create function in cases where create is called before init. (#1122)

  • Steve Karg Steve Karg committed [191320] on Code

    Updated CHANGELOG with this change.

  • Steve Karg Steve Karg committed [349d9e] on Code

    Added object list init into create function in cases where create is called before init.

  • GitHub committed [cf7951] on Code

    Fixed octetstring_copy_value() and added unit tests. (#1121)

  • Steve Karg Steve Karg committed [2252b6] on Code

    Added abstract-syntax constructed value for timer object to use. Removed color tags that were not part of the standard.

  • Steve Karg Steve Karg committed [8e6e2c] on Code

    Added constructed value encoded and decoder.

  • Steve Karg Steve Karg committed [5ccf53] on Code

    [WIP] adding more funcitonality to Timer object and its unit test

  • Steve Karg Steve Karg committed [61f928] on Code

    [WIP] adding more funcitonality to Timer object and its unit test

  • Steve Karg Steve Karg committed [fce37e] on Code

    [WIP] adding more funcitonality to Timer object and its unit test

  • Steve Karg Steve Karg committed [13e61f] on Code

    [WIP] adding more funcitonality to Timer object and its unit test

  • Steve Karg Steve Karg committed [82b8ad] on Code

    [WIP] adding more funcitonality to Timer object and its unit test

  • Steve Karg Steve Karg committed [98d556] on Code

    [WIP] adding more funcitonality to Timer object and its unit test

  • Steve Karg Steve Karg committed [4e05e1] on Code

    [WIP] adding more funcitonality to Timer object and its unit test

  • Steve Karg Steve Karg committed [8840d9] on Code

    Added more debug to property unit test

  • Steve Karg Steve Karg committed [8e532a] on Code

    Handle list of property references as BACnetLIST by default

  • Steve Karg Steve Karg committed [2d040c] on Code

    [WIP] adding Timer object and API for Read/Write property with unit tests

  • Steve Karg Steve Karg committed [cfb52d] on Code

    [WIP] basic timer object functionality

  • Steve Karg Steve Karg committed [a74e4e] on Code

    [WIP] adding BACnetTimerStateChangeValue encode, decode, parse, print, and diff with unit tests

  • Steve Karg Steve Karg committed [de2e0c] on Code

    [WIP] adding BACnetTimerStateChangeValue encode, decode, parse, print, and diff with unit tests

  • Steve Karg Steve Karg committed [bea4c3] on Code

    [WIP] adding basic timer object and unit tests

  • Steve Karg Steve Karg committed [6cbf9e] on Code

    [WIP] Fixing Makefile build for bip6 with win32 MinGW and in github workflows.

  • Steve Karg Steve Karg committed [b65bcb] on Code

    Fixed apps that failed with missing functions during linking.

  • Steve Karg Steve Karg committed [ea11bb] on Code

    Fixed unit tests that failed with missing functions during linking.

  • Steve Karg Steve Karg committed [ffdefc] on Code

    Added unit testing for npdu_is_expecting_reply functions.

  • Steve Karg Steve Karg committed [c22301] on Code

    Refactored the data-expecting-reply compare function into the NDPU module.

  • Steve Karg Steve Karg committed [89b3b2] on Code

    Added NDPU helper to detect segmented complex ack reply in a PDU

  • Steve Karg Steve Karg committed [bd5593] on Code

    Reverted segment-ack changes to ports

  • Steve Karg Steve Karg committed [0bc8ff] on Code

    Merge remote-tracking branch 'origin/master' into bugfix/force-reply-postponed-segmented-complex-ack

  • GitHub committed [b72645] on Code

    The NDPU priority is now passed through the stack via apdu.c or h_apdu.c module so the MS/TP compare DER function can include the value in the comparison. (#1119)

  • GitHub committed [d4d928] on Code

    Added more unit testing for ReadProperty to increase code coverage. (#1118)

  • GitHub committed [6713f7] on Code

    Bump github/codeql-action from 3 to 4 (#1117)

  • Steve Karg Steve Karg committed [b74843] on Code

    Added postpone reply because transmission of the segmented ComplexACK cannot begin until the node holds the token.

  • GitHub committed [5b7932] on Code

    Feature/add-device-object-functions-find-api (#1115)

  • Steve Karg Steve Karg committed [ff294b] on Code

    Reverted changes to ports devices that use alternate device function table structure.

  • Steve Karg Steve Karg committed [10e786] on Code

    Updated CHANGELOG with pull-request info.

  • Steve Karg Steve Karg committed [823bc6] on Code

    Expose Device_Object_Functions() API to return basic object API table of functions for all objects.

  • Steve Karg Steve Karg committed [20f893] on Code

    Expose Device_Object_Functions_Find() API to enable override of basic object API function.

  • Steve Karg Steve Karg posted a comment on discussion Help

    In general, if a BACnet device supports receiving a TimeSync, it will update its Local_Date and Local_Time properties in the Device object. Most of the demo apps in the BACnet Stack library include an example TimeSync handler, but the actual setting of the OS clock may or may not be functional - see ports/xx/datetime-init.c module for the OS you are using. There is also a simulated time clock in src/bacnet/basic/sys/datetime_mstimer.c that could be used instead as shown in the ports/stm32f4xx example....

  • Steve Karg Steve Karg posted a comment on discussion Help

    there are several implementations of 'basic' example objects. Feel free to copy and modify any of those to support the object numbering of your choice. If you want to add an API (function/method) in the basic header file, feel free to post a patch and following the naming conventions of the existing example header files. Many times I simply create a copy of the basic example objects and add all the API and features that I need in order to support specific features that the basic example objects don't...

  • Steve Karg Steve Karg posted a comment on discussion Help

    I think the fix you need is this one: https://github.com/bacnet-stack/bacnet-stack/pull/803/files Note that v1.3.8 and v1.4.x are pretty similar for the ports/stm32f10x, so you could use the v1.4.x src/bacnet/datalink/mstp.c and dlmstp.c modules to see if that fixes the problem. If that does fix it, I can update 1.3.x branch with the fixes.

  • Andrew Cox Andrew Cox posted a comment on discussion Help

    This seems to get me what I want. Any downsides to this? Thanks! pdu_len = datalink_receive(&src, &PDUBuffer[0], MAX_MPDU, 0); if (pdu_len) { if (MSTP_Port->DestinationAddress == MSTP_Port->This_Station || MSTP_Port->DestinationAddress == MSTP_BROADCAST_ADDRESS) { npdu_handler(&src, &PDUBuffer[0], pdu_len); } else { MSTP_Port->master_state = MSTP_MASTER_STATE_IDLE; MSTP_Port->ReceivedValidFrame = false; } }

  • Andrew Cox Andrew Cox posted a comment on discussion Help

    Hello to Steve and the community! I am working on a simple MS/TP master device implementation based off of the STM32F10x port on version 1.3.8. I have noticed dlmstp_receive() operates agnostic to the value of This_Station. This appears also true for npdu_handler(). This results in handler_read_property_multiple() for example, being entered regardless if the received request matches This_Station. I suspect this behavior is required in case the device wants to perform routing, but where is rejection...

  • kishore venki kishore venki posted a comment on discussion Help

    Hi Steve, 1. I want users to set the instance numbers of the objects of their choice through a UI. There is a method to set the instance number of the device, but to how to set the Object Instance of first AI[0] be 50 and so on. The code takes index number as instance number. 2. If I use the library in the app folder for my project, how can I accomplish the above task and how can I modify the functions pertaining to specific object. 3. If I want to create my library, should I need to include all...

  • Steve Karg Steve Karg committed [c474e8] on Code

    Merge remote-tracking branch 'origin/master' into bacnet-stack-1.4

  • Steve Karg Steve Karg committed [83dfe5] on Code

    Updated CHANGELOG after latest commits.

  • Steve Karg Steve Karg committed [7351c7] on Code

    Merge remote-tracking branch 'origin/master' into bacnet-stack-1.4

  • Steve Karg Steve Karg committed [133861] on Code

    Only print the property-list if supported.

  • Steve Karg Steve Karg committed [3153e4] on Code

    Fixed the EPICS tool to read all the required and optional properties that could be in a device when property-list property is not supported.

  • Steve Karg Steve Karg committed [e2269d] on Code

    Fixed property-list array size checking. Fixed APDU timeout.

  • Steve Karg Steve Karg committed [c02a1e] on Code

    Revert changes to date decode and basic CSV object.

  • Steve Karg Steve Karg committed [137853] on Code

    Clean up merge on .gitignore

  • Steve Karg Steve Karg committed [c1be3f] on Code

    FIxed warnings in EPICS main module.

  • Steve Karg Steve Karg committed [4d2fb1] on Code

    Merge remote-tracking branch 'origin/master' into bugfix/add-more-bibbs-to-bacepics

  • Michael Osborne Michael Osborne committed [28ccce] on Code

    Fixes based on SK's feedback

  • Michael Osborne Michael Osborne committed [bdcbda] on Code

    Updated EPICS to reflect the latest PR and work better with BTF

  • Michael Osborne Michael Osborne committed [06e307] on Code

    Fixed bug where a pointer to memory was read after free.

  • Steve Karg Steve Karg committed [e4fff7] on Code

    Merge remote-tracking branch 'origin/master' into bugfix/ai.c_used_uint8_t_for_units_and_not_uint16_t

  • GitHub committed [f5bc06] on Code

    Added new enumerations, text, BACnetARRAY and BACnetList from protocol-revision 30 (#1114)

  • GitHub committed [b74af3] on Code

    Refactored CharacterString_Value_Out_Of_Service_Set() function to remove confusion about an assignment inside an if-statement. (#1113)

  • GitHub committed [241615] on Code

    Added a context variable in basic object data structure and API to get or set the context pointer. (#1111)

  • GitHub committed [d91282] on Code

    Fixed basic program object internal datatype for reason-for-fault and change properties. (#1110)

  • Steve Karg Steve Karg committed [ed0f0c] on Code

    Merge remote-tracking branch 'origin/master' into bugfix/ai.c_used_uint8_t_for_units_and_not_uint16_t

  • GitHub committed [814eea] on Code

    Fixed compile errors in basic/server/device when BACAPP_TIMESTAMP or Channel object are not enabled. (#1109)

  • Steve Karg Steve Karg posted a comment on discussion Help

    I've used the library with ESP32, but not with Platform IO. I also use vscode with the BACnet Stack library on a daily basis for maintaining the library. When I integrated BACnet into an EPS32 product, I needed to create a CMakeLists.txt that worked with the IDF that ESP32 was using as that was what the team was using to build their product. I can try to make something similar in the ports eventually, but have not had the free time to do it. You could also use the BACnet Stack Zephyr OS repo to build...

  • stomachbuzz stomachbuzz modified a comment on discussion Help

    Using VS Code, PlatformIO, generic ESP32 dev module. I really appreciate the fact that this BACnet stack is free and open-source. There’s clearly a huge amount of work behind it. That said, I cannot figure this out for the life of me. Almost certainly part of the challenge is 1) I’m targeting an ESP32, and 2) my background is more industrial/PLC-focused, so I’m not usually deep in the weeds of low-level C libraries like this. I’ve spent about two weeks of nights and weekends tinkering, and I’m still...

  • stomachbuzz stomachbuzz modified a comment on discussion Help

    Using VS Code, PlatformIO, generic ESP32 dev module. I really appreciate the fact that this BACnet stack is free and open-source. There’s clearly a huge amount of work behind it. That said, I cannot figure this out for the life of me. Almost certainly part of the challenge is 1) I’m targeting an ESP32, and 2) my background is more industrial/PLC-focused, so I’m not usually deep in the weeds of low-level C libraries like this. I’ve spent about two weeks of nights and weekends tinkering, and I’m still...

  • stomachbuzz stomachbuzz posted a comment on discussion Help

    Using VS Code, PlatformIO, generic ESP32 dev module. I really appreciate the fact that this BACnet stack is free and open-source. There’s clearly a huge amount of work behind it. That said, I cannot figure this out for the life of me. Almost certainly part of the challenge is 1) I’m targeting an ESP32, and 2) my background is more industrial/PLC-focused, so I’m not usually deep in the weeds of low-level C libraries like this. I’ve spent about two weeks of nights and weekends tinkering, and I’m still...

  • Steve Karg Steve Karg committed [aeffed] on Code

    Merge remote-tracking branch 'origin/master' into bacnet-stack-1.4

  • Steve Karg Steve Karg committed [d3689a] on Code

    Updated CHANGELOG after latest commits.

  • GitHub committed [f93f4f] on Code

    Added uBASIC+BACnet README document to describe the programming language, porting, and integration. (#1108)

  • GitHub committed [7dfc84] on Code

    Bugfix/using-uint16-for-units-property-storage (#1107)

  • GitHub committed [b357bc] on Code

    Converted device object test to use common read-write property test. Extended the basic BACnet device object example API. (#1106)

  • Steve Karg Steve Karg committed [365704] on Code

    Merge remote-tracking branch 'origin/master' into bacnet-stack-1.4

  • Ed committed [b26cef] on Code

    Manually restoring diffs to Steve's format

  • Ed committed [457650] on Code

    Added clang-format-win.bat to do a global scrub

  • Ed committed [9dbe35] on Code

    More clang format fixups

  • Ed committed [d7f8c6] on Code

    Brought in Steves latest changes and applied clang-format

  • Ed committed [93f57b] on Code

    Merge remote-tracking branch 'originKarg/master' into bugfix/ai.c_used_uint8_t_for_units_and_not_uint16_t

  • GitHub committed [f877ca] on Code

    Fixed MS/TP state WAIT_FOR_REPLY to allow reception of any frames that are not known to be not reply frames. (#1103)

  • Ed committed [518e18] on Code

    ai.c used a uint8_t for units (needs to be 16 bits)

  • GitHub committed [af29c7] on Code

    Test/expanded-object-property-write-coverage (#1102)

  • GitHub committed [203cb1] on Code

    Fixed Lighting Output object STOP lighting command so that it sets the present-value. (#1101)

  • GitHub committed [6061c3] on Code

    Fixed the lighting command RAMP TO ramp rate to always clamp within 0.1 and 100.0 to avoid endless rate of 0.0. (#1100)

  • GitHub committed [bc2e08] on Code

    Fixed Lighting Output Step Up/On and Down/Off mixup. (#1099)

1 >