Commit Graph

453 Commits

Author SHA1 Message Date
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 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
Steve Karg 51c915a5da Bugfix/lighting output dimming refactor (#855)
* Refactored lighting command operations from the lighting output object, and added unit testing. Integrated the result back into lighting-output object.
2024-11-13 15:24:25 -06:00
Tomasz Kazimierz Motyl 35d49a14ee Merge pull request #81 from se-apc/dc_Analogs_Event_Detection_Enable (#854)
Dc analogs event detection enable

Co-authored-by: Tomasz Kazimierz Motyl <tomasz.motyl@se.com>
Co-authored-by: dcmaverick <150046088+dcmaverick@users.noreply.github.com>
2024-11-13 08:37:08 -06:00
Tomasz Kazimierz Motyl ab74620449 Merge pull request #83 from se-apc/bugfix/fixing_error_condition_for__max_recipients_wp (#852)
Fixing ERROR_CODE_NO_SPACE_TO_WRITE_PROPERTY condition

Co-authored-by: Tomasz Kazimierz Motyl <tomasz.motyl@se.com>
2024-11-13 08:26:46 -06:00
Steve Karg 9da3bad465 Added DLMSTP start, valid, and invalid frame complete callbacks in common DLMSTP module. (#848) 2024-11-06 08:16:55 -06:00
Steve Karg 568bd130c6 Remove extraneous structure dereferences 2024-11-06 06:35:28 -06:00
Steve Karg f332225b19 Release/version 1.4.0 candidate (#758) 2024-11-04 07:40:17 -06:00
Steve Karg cf77abac9b Feature/bacnet secure connect hub (#818)
* Added BACnet Secure Connect datalink.

* Added BACnet/SC hub application
---------

Co-authored-by: Kirill Neznamov <kirill.neznamov@dsr-corporation.com>
Co-authored-by: Mikhail Antropov <michail.antropov@dsr-corporation.com>
Co-authored-by: Ondřej Hruška <ondra@ondrovo.com>
Co-authored-by: Patrick Grimm <patrick@lunatiki.de>
2024-11-04 07:05:26 -06:00
Steve Karg 90cdc4920b Fixed MS/TP module flush stderr compile error from leftover. (#844)
* Fixed MS/TP module flush stderr compile error from leftover.

* Fixed MS/TP zero-config preferred-station setting to not filter getter.
2024-11-03 10:28:42 -06:00
Steve Karg 7b6a0923f0 Added missing MS/TP zero configuration preferred address API and usage. (#840) 2024-10-29 20:09:16 -05:00
Steve Karg a41e8177ba Added IPv6 Zone Index function to return ASCII. (#838) 2024-10-29 15:32:54 -05:00
Steve Karg 1444715c5a Add network port callbacks for pending changes activate and discard. (#836) 2024-10-29 14:28:21 -05:00
Steve Karg 089caf7e4b Fixed BACnet basic file object to have dynamic name, mime-type, path. (#835) 2024-10-29 13:30:03 -05:00
Steve Karg a38cc531d2 Added WriteProperty setter for BACnet Unsigned Integer values. (#834) 2024-10-29 13:17:39 -05:00
Steve Karg 05c6d06265 Fixed MS/TP Slave Node FSM to enable receiving DNER frames (#832) 2024-10-29 03:53:01 -05:00
Steve Karg 3329dff337 Added WriteGroup service and Channel object interfaces (#829) 2024-10-25 10:43:29 -05:00
Steve Karg 9397cfaafb Fixed BACnetLightingCommand decode options by setting them. (#830) 2024-10-25 09:06:47 -05:00
Steve Karg 44662fdb35 Added code to parse BACnetAccessRule from ASCII command line. (#827) 2024-10-24 15:12:30 -05:00
Steve Karg 4bb18a34a9 Added a common BACnetARRAY write property iterator function. (#826) 2024-10-24 14:46:16 -05:00
Steve Karg dcf79b038f Enabled BACnetARRAY checking when using proplist.c and added to apps/epics (#823) 2024-10-23 13:54:48 -05:00
Patrick Grimm 987ce816ea fix EXC_BAD_ACCESS in datalink_set() strcasecmp() (#816)
If -DBACDL_MULTIPLE and runtime env BACNET_DATALINK is null
'''
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
    frame #0: 0x00007ff819a0e782 libsystem_c.dylib`strcasecmp_l + 91
'''

Set default datalink with priority bip,bip6,mstp,ethernet,arcnet
2024-10-18 13:21:40 -05:00
Steve Karg c3cb72bc41 Fixed BACNET_APPLICATION_DATA_VALUE declarations to be initialized so that the next pointer is NULL by default. (#814) 2024-10-18 07:43:39 -05:00
Steve Karg ac7dee0021 Issues/issue 811 mstpcap considers valid frames as invalid if used as a standalone tool (#812)
* Fixed mstpcap utility by setting This-Station to the MS/TP promiscuous mode address 255.

* Fixed MS/TP receive filter for valid data frames which was missing.

* Fixed MS/TP zero-config duplicate node detection

* Reset silence during MS/TP capture after writing packet to prevent endless packets when stream is interrupted.
2024-10-15 15:38:25 -05:00
Steve Karg 52a2cd437a Fixed MS/TP FSM TS filter that was removed for zero-config permiscuous feature. (#803) 2024-10-10 15:50:57 -05:00
Tomasz Kazimierz Motyl bcb82841fb Merge pull request #78 from se-apc/bugfix/stack_smashing_on_cov_subscriptions_encoding (#802)
Resolving stack-smashing problem associated with variable length of subscriber's process ID 2..5 bytes

Co-authored-by: Tomasz Kazimierz Motyl <tomasz.motyl@se.com>
2024-10-09 12:31:13 -05:00
Steve Karg c4c1d9f921 Added define to control IP_DHCP_Enable property being present in Network Port object (#796) 2024-10-04 22:15:31 -05:00
Patrick Grimm 712dda8bbe fix server app doesn't work with BAC_ROUTING (#783) 2024-10-04 13:47:52 -05:00
Jonathan 97cb612d6d netport.c : Tiny improvements (#792) 2024-10-02 08:05:06 -05:00
Steve Karg c18768ba61 Fixed BACnetAccessRule application integration into Access Rights object. Improved unit testing and code coverage. (#790) 2024-09-30 14:04:30 -05:00
Steve Karg 7b18add6d3 Issues/issue 787 app bacepics misses optional parameters for the device object (#789)
* Added some optional properties into the object property lists up to protocol-revision 22

* Added serial-number property to basic device object example.
2024-09-27 16:22:58 -05:00
Steve Karg 3eee88dd31 Added optional description property to basic network port object example. (#788) 2024-09-27 14:43:41 -05:00
Steve Karg 4781582204 Changed ATmega168 port to ATmega328 on Uno R3 with DFR0259 RS485 shield (#784)
* Changed ATmega168 example for ATmega328 on Arduino Uno R3 with DFR0259 RS485 shield. Added ADC interface from BDK port and mapped to some AV objects. Removed MS/TP MAC address DIP switch GPIO and moved MS/TP configuration to AV objects. Added AV units property. Added some Uno R3 Digital Inputs and outputs mapped to some BV. Added AVR EEPROM from BDK port and mapped some non-volatile data including MAC address and max manager and baud rate, device ID and names and description and location.
2024-09-27 14:42:47 -05:00
Jonathan 6e4034a92d Fixed a warning emitted from arm-none-eabi-gcc in hostnport.c (#785) 2024-09-26 17:06:09 -05:00
Patrick Grimm cd3f79d544 Added ucix_get_list and ucix_set_list function (#780) 2024-09-24 16:24:28 -05:00
Steve Karg 3d86873346 Bugfix/read property multiple client errors (#765)
* Fixed variable data type for boolean in RPM structure.

* Fixed RPM error handling to use callback.

* Fixed bacrpm app example when not enough command line parameters are used

* Fixed empty-list EPICS printing.

* Fixed RPM-Ack processing for end of list-of-results

* Added minimal handling for segmentation-not-supported during RPM of object properties.
2024-09-21 09:26:09 -05:00
Tomasz Kazimierz Motyl 869a827d55 Secured Active-COV-Subscriptions property encoding. (#763) 2024-09-21 09:22:08 -05:00