Commit Graph

3647 Commits

Author SHA1 Message Date
Steve Karg 7a5190f295 Fixed Who-Has object instance by checking for valid instance. (#922) 2025-02-20 17:29:39 -06:00
Steve Karg 08f152b4ac Fixed out-of-service writability to be consistent with present-value in objects using Write_Enabled flag (#921) 2025-02-20 09:42:15 -06:00
Steve Karg 97490dacb1 Fixed the NDPU encoding for confirmed COV notifications (#917) 2025-02-18 08:44:16 -06:00
Steve Karg aa87bd8051 Bugfix/ipv6 leave multicast on foreign device registration (#899)
* Fixed IPv6 handler to ignore original-broadcast when registered as a foreign-device

* Fixed IPv6 to leave multicast when registering as foreign device.
2025-02-17 09:07:27 -06:00
Steve Karg adff1f9c0f Fixed the ReinitializeDevice and DeviceCommunicationControl password length checking for non-UTF8 passwords. (#914) 2025-02-13 12:58:54 -06:00
Steve Karg f8e9ab8d86 Changed link-speed, network-number, network-number-quality, and apdu-length properties of the network port object to be optional when protocol-revision is 24 or greater. (#913) 2025-02-13 08:44:30 -06:00
Steve Karg 7b9d6d7dc5 Fixed error-code returned when an object does not support WriteProperty but has properties that are known. (#912) 2025-02-12 16:54:40 -06:00
Steve Karg ae135cd368 Bugfix/property list consistency testing (#910)
* Added unit test while reading all object properties to flag properties not in the property-list.

* Added enumeration for last-property used in unit testing.

* Added missing reliability property in the basic multistate output object example.

* Removed polarity property in binary value object as it is not standard.
2025-02-12 12:14:01 -06:00
Steve Karg bc2438f85b Fixed structured view object subtype get and set. (#909) 2025-02-10 09:56:52 -06:00
Steve Karg 66329a05a0 Bugfix/property array element zero size (#908)
* Changed BACnetARRAY index validation into ReadProperty, ReadPropertyMultiple, WriteProperty, and WritePropertyMultiple handlers.

* Changed the basic and example objects after refactoring BACnetARRAY index validation into ReadProperty, ReadPropertyMultiple, WriteProperty, and WritePropertyMultiple handlers.

* Added BACnet application decoder that understands that an array element of zero is an unsigned integer tagged value.  Fixes RP and RPM apps when reading the array element zero of arrays.
2025-02-10 09:44:53 -06:00
Steve Karg da3aaf3b48 Added Write_Enabled flag API into multi-state-input and multi-state-value basic objects. (#903) 2025-02-06 14:10:56 -06:00
Steve Karg 77bdaaf853 Fixed usage of 8-bit modulo operator off-by-one maximum. (#901) 2025-02-04 13:56:53 -06:00
Steve Karg 19ef7f74cd Added MS/TP automatic baudrate detection option into the core MS/TP state machine. (#900) 2025-02-03 15:10:31 -06:00
Steve Karg c5b129e9ab Fixed legacy make build recipe for library. 2025-02-03 09:28:51 -06:00
Steve Karg 4d0c626c1d Fixed IPv6 handler to ignore original-broadcast when regiistered as a foreign-device (#898) 2025-01-29 15:28:35 -06:00
Steve Karg d4a32171b7 Changed date encoding when year is out of range to use wildcard. Updated APDU encoding pattern (#897) 2025-01-27 08:42:43 -06:00
Steve Karg 44c2bccdeb Added linked list of lighting-command notification callbacks, (#893) 2025-01-21 14:30:38 -06:00
Steve Karg cfe257fe69 Fixed spelling errors detected by code-spell utility. (#895)
* Fixed spelling errors detected by code-spell utility.

* Fixed cppcheck preprocessorErrorDirective. Suppressed new cppcheck warnings until fixed.
2025-01-21 13:31:43 -06:00
Steve Karg ece31443b6 Secured SubscribeCOVProperty decoder. (#892)
* Secured SubscribeCOVProperty decoder.

* Changed datatype of monitoredProperty in struct BACnet_Subscribe_COV_Data
2025-01-09 14:27:39 -06:00
Steve Karg 9f858fdb4f Added bvlc6.sh script to enable foreign-device-registration for client tools. (#889) 2025-01-09 08:57:05 -06:00
Steve Karg 39109f5929 Secured the BACnet Who-Request decoder by changing deprecated decode functions. (#891) 2025-01-09 08:55:57 -06:00
Steve Karg 6806cc3bb7 Fixed CharacterString Value object name default and reverted API chan… (#888) 2025-01-06 11:40:03 -06:00
Tomasz Kazimierz Motyl 2ba59abbf8 Added DeleteObject and Cleanup support to basic CharacterString object (#886) 2025-01-06 08:20:49 -06:00
Steve Karg 94b3809a58 Bugfix/confirmed handlers empty service request (#885)
* Added reject in all confirmed service handlers, except GetEventInformation, when confirmed services with zero length occur which rejects with required parameters are missing message.

* Refactored errno use in service using debug_perror. Changed debug_perror usage to debug_fprintf. 

* Updated file and function headers in basic/service modules.

* Changed NDPU priority on confirmed messages to use requested NDPU priority.

* Renamed debug_aprintf to debug_printf_stdout for clarity.

* Convert most debug_fprintf usage to debug_print to reduce text bloat in AVR build
2025-01-05 10:09:39 -06:00
Steve Karg 1f41e2c933 Fixed datalink environment for BIP6 foreign device registration for the example apps. (#884) 2025-01-03 09:43:58 -06:00
Jonathan 788d31902e PROP_RELIABILITY added to MSI and MSV as they answer to read request (#880)
Read request worked but write request gave "unknown property" error.

PROP_RELIABILITY is already (at least) in AI and AV (meaning that it make sense to add it to MSI and MSV rather than removing its reading).
2024-12-19 10:28:12 -06:00
Jonathan a9942de186 av.c, write present value: If type is not valid, don't overwrite error code (#881) 2024-12-19 10:27:10 -06:00
Steve Karg a1d0a5ff5a Added bitstring-bits-used-set API to use in audit-log status bits (#879) 2024-12-19 10:25:15 -06:00
Steve Karg 6b6be4a434 Added check for zero length buffer size in primitive decoders that returns zero to enable simpler complex value optional element decoding. (#876) 2024-12-18 15:29:27 -06:00
Jonathan 389b6a7d4d h_dcc.c : Return correct error when no service request (#877) 2024-12-18 11:40:23 -06:00
RJ Vandermate f0461078ba Fixed CMakeLists routing option (#874)
* If BAC_ROUTING was turned off, the gateway app wasn't deselected
2024-12-12 09:16:46 -06:00
Steve Karg be9c30026b Updated comments in datalink header file 2024-12-11 16:12:19 -06:00
Steve Karg c7867f1ca9 Revert "DCC initiation disabled, only proceess and initiate allowed services for protocol-revision 20 (#868)"
This reverts commit 5a89525fec.

The honoring of DCC initiation disabled is accomplished in the various
bacnet/basic/service/s_xyz.c sending service modules.
2024-12-11 07:53:23 -06:00
pkjkaindi 5a89525fec DCC initiation disabled, only proceess and initiate allowed services for protocol-revision 20 (#868) 2024-12-10 14:22:28 -06:00
Steve Karg 11682ca484 Removed use of 'class' keyword as a variable in BACnet/SC (#872) 2024-12-10 13:46:03 -06:00
Jonathan 791c1e5d3b bacdcode.c : Fix ability to write empty string (#871) 2024-12-10 12:23:34 -06:00
Steve Karg d4cbec91e2 Enabled style and CERT-C addon for CPPCHECK (#869)
* Enabled style and CERT-C addon for CPPCHECK with some suppressions and fixed the defects found..
2024-12-10 07:56:24 -06:00
Steve Karg f38b75b389 Fixed DeviceCommunicationControl service handler to return Service Request Denied when the DISABLE parameter is given in protocol-revision 20 or higher builds. (#867) 2024-12-05 10:17:44 -06:00
Steve Karg 5dd5f04055 Updated to-do document with ideas for improvement. 2024-12-02 10:50:02 -06:00
Steve Karg 001b69cbd8 Fixed dlmstp ringbuffer initialization corruption (#865)
* Added ringbuf API for testing.

* Fixed basic ms/tp datalink packet ringbuffer initialization buffer overrun.

* Added basic ms/tp datalink unit test

* Added Ringbuf_Initialize() API with buffer size checking.

* Changed examples to use Ringbuf_Initialize() API for buffer size checking.
2024-12-02 07:32:57 -06:00
Jonathan f28b03bf81 msv.c : Fix typo in Object_Name (#864) 2024-11-26 20:18:38 -06:00
Jonathan 1924ab9540 device.c : Add BitString_Value_Create and BitString_Value_Delete in Object_Table (#863) 2024-11-26 20:18:06 -06:00
Jonathan 8c82dbb76c Add ability to compile with BACNET_PROTOCOL_REVISION<17 (#862) 2024-11-26 20:17:27 -06:00
Steve Karg fd3be47d86 Feature/date time mstimer clock (#861)
* Added daylight savings time calculation module with unit testing.

* Added datetime daylight savings time and clock API

* Added basic datetime_local() clock using mstimer as basis and time-sync option.  Integrated clock with ports/stm32f4xx example.
2024-11-24 11:20:25 -06:00
Steve Karg cdda524afc Added Time-Of-Device-Restart property to example device. (#860)
* Added Time-Of-Device-Restart property to example device.

* Added BACnetTimeStamp bacapp support for encode, decode, and parse.

* Added specific addresses handling to apps/writeprop bacwp command line.
2024-11-22 19:14:09 -06:00
Steve Karg 776b212995 Removed strcasecmp and strncasecmp because they are non-standand C functions. (#858) 2024-11-21 12:29:08 -06:00
Steve Karg f149481eff Added API for datetime based clocks 2024-11-21 06:55:46 -06:00
Steve Karg 1375347ab6 Added bacnet_strnlen and bacnet_stricmp to avoid libc compiler problems (#857)
* Added bacnet_strnlen and bacnet_stricmp to avoid libc compiler problems

* FIxed compiler warnings in printf conversions.
2024-11-21 06:43:37 -06:00
Tomasz Kazimierz Motyl c71b2e3a66 Merge pull request #82 from se-apc/devel/object_event_state (#853)
Replacing hardcoded NORMAL event state with the factual objects event…

Co-authored-by: Tomasz Kazimierz Motyl <tomasz.motyl@se.com>
2024-11-21 05:20:30 -06:00
Steve Karg 5bb2546efb Fixed compiler warning in write-group module constant. (#856) 2024-11-14 10:09:15 -06:00