Commit Graph

2748 Commits

Author SHA1 Message Date
Steve Karg 1ead6acea5 Fix BACnet IPv4 decode to allow for NULL (#72)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2020-04-15 00:03:21 -05:00
Steve Karg 5c8e3406cb Fixed BACnet integer decode for 40-48-56 bits (#71)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2020-04-15 00:03:06 -05:00
Steve Karg 33cc55db30 Fixed router app after BACnet IPv4 refactor 2020-04-13 14:55:18 -05:00
Steve Karg 40f7aaba74 Added macro to calculate the next power of two for FIFO data store (#69)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2020-04-13 11:45:57 -05:00
Roy Schneider b55a0263f8 Feature/length check use pointers (#66)
* Added received bytes length check and some comments.

* Added more check for MAX_PDU
2020-04-13 06:15:50 -05:00
Steve Karg 4d1aca2a71 Updated readme with additional CI badges
Added AppVeyor and GitHub workflow badges
Add CMake instructions for Code::Blocks
2020-04-12 09:41:53 -05:00
Steve Karg d7918bb2ea Feature/add bbmd unit tests (#65)
* Added som BBMD IPv4 and IPv6 unit tests

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2020-04-11 22:58:07 -05:00
Steve Karg eedfa58a55 Feature/refactor bacnet ipv4 add unit tests (#64)
* refactor BACnet/IPv4 BVLC into encode-decode library with unit tests
Added Read-Broadcast-Distribution-Table encoding and unit test.
Added Read-Broadcast-Distribution-Table-Ack encoding and unit test.
Added Read-Foreign-Device-Table-Ack encoding and unit test.
Added some BDT/FDT diff copy functions with unit tests
Added some FDT add and delete entry functions with unit tests
Added some BDT set append and clear entry functions with unit tests
Added some BIPv4 address conversion functions with unit tests
Added non-BBMD handling unit test
Added basic unit test for BBMD handler
Added BBMD broadcast mask get set and unit tests
Added IPv6 maintenance timer.
Added ReadFDT app
Fixed ReadBDT app
Added Who-Is to Makefile for individual app build
Fixed debugging code blocks projects by swapping bip.c for h_bbmd.c module.
Ported BACnet/IPv4 to refactored BVLC for Linux, BSD, Windows
Fix datalink debug for DLENV module
Improve BIPv4 linux driver debug info
Added BDT mask functions
Reduce debug info clutter in Who-Is app by using environment option
Fix TTL seconds upper bounds addition
Fix CIDR prefix calculation on Linux BIPv4.
Convert BSD BIPv4 to BVLCv4
Fix CMake build for BIPv4 (Linux, BSD, Windows)
Added [U]nsigned to 0xBAC0 constants
Cleanup POSIX and Win32 API sockets
Remove unnecessary file scope variable initialization
Fix routed NPDU to depend on datalink; fix warning
Remove OS dependent network code from gateway
Enable BBMD client in library by default
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
Co-authored-by: Steve Karg <steve.karg@legrand.us>
2020-04-04 11:31:54 -05:00
Steve Karg 0ce6368b43 Feature/refactor datetime os dependency (#63)
* remove dependency on OS for time functions.

* add datetime epoch to and from seconds (yikes! 64-bit!). Add symmetric midnight seconds for unit test. Add unit tests.

* clean up BACnet date time warnings

* fix BACnet datetime warnings

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2020-04-04 11:23:26 -05:00
Steve Karg b159402647 Feature/enable mingw build (#62)
* enabled mingw win32 build in travis

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2020-03-27 13:30:16 -05:00
Steve Karg 9749d42161 Change ringbuffer return type to void pointer to fix cast align warnings (#61)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2020-03-20 17:02:46 -05:00
Steve Karg d557522c1f Bugfix/atmel studio arm compile warnings (#60)
* Cleanup warnings generated by Atmel Studio compiling for SAMD21 ARM

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2020-03-20 16:42:41 -05:00
Steve Karg f18612f1ec Fix mstimer elapsed time (#58)
Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2020-03-17 17:27:25 -05:00
Steve Karg 1b9c1ad3b3 Update README.build 2020-03-12 20:59:34 -05:00
Steve Karg e94bf1bd5e Update README.md 2020-03-12 20:53:34 -05:00
Steve Karg 92645a9aaa Update README.md 2020-03-12 20:48:29 -05:00
Steve Karg 8ef03cf58d Update README.md 2020-03-12 20:45:37 -05:00
Steve Karg 81d3a0b4a4 fix BVLC6 Delete-Foreign-Device-Table-Entry (#56)
* fix BVLC6 Delete-Foreign-Device-Table-Entry

* Add unit test failure detection to Makefile report target

* Fix the IPv6 layers for sending PDU

Co-authored-by: Steve Karg <skarg@users.sourceforge.net>
2020-03-12 12:24:07 -05:00
Anonymous Maarten 4a916468c6 Export symbols in order to support shared libraries (#54)
* Add BAC_ROUTING compile definition

* Reorder cmake

* Fix OpenSSL support: support both 1.0 and 1.1t pus

* Explicitly export symbols, hidden by default

* Build shared libraries on travis using cmake

* Learn Makefile about static library

* Fix build using mingw with cmake

* Do not cleanup twice or after potential free
2020-03-06 15:42:03 -06:00
Steve Karg bb5fafc06a feat remove openssl dependency functions and add missing file to cmake (#52)
* feat: remove openssl dependency functions and add missing file to cmake

* chore: also build shared lib

* chore: also build shared for github ci

* chore: do not test shared libs in ci for the moment
2020-03-04 13:35:14 -06:00
Steve Karg 5ed135c441 build: drop old visual studio / code blocks build files (#53)
* build: drop old visual studio build files

* build: also remove code blocks files
2020-03-04 13:30:38 -06:00
Carlos Gomes Martinho 5d4358030a ci: add mac os to github ci (#51)
* ci: add mac os to ci

* ci: add appveyor file
2020-02-19 10:48:36 -06:00
Steve Karg 7fe81c65c8 Feature/bacnet unsigned integer 64 bit (#47)
* Feature/bacnet unsigned 64 bit

* Added ACCUMULATOR object

* removed or modified stdint.h since we use at least C99 standard compilers.

* CMake: Add BACDL_NONE.
2020-02-18 14:04:54 -06:00
Steve Karg 677f528aa4 Added OS detection into tests to add EXE extension to test executables for cleanup. (#46) 2020-02-18 08:22:16 -06:00
Steve Karg 9c41180145 Add ifdef to bit definitions to avoid conflicts with other libraries. Refactor BITx to use BIT macro. (#45) 2020-02-18 08:21:54 -06:00
Steve Karg cf963a63ca Added IPv6 ascii address decode (#43) 2020-02-10 17:15:47 -06:00
Steve Karg cf24303128 add mstp targets into Makefile. Add mstp as stage in CI jobs. (#41)
* add mstp targets into Makefile. Add mstp as stage in CI jobs.
2020-02-02 10:02:00 -06:00
Steve Karg 914f502cff Bugfix/add makefile lint fix warnings (#39)
* fix warnings indicated by scan-build lint tool

* add lint target to makefile using scan-build tool

* add lint into build script stages (note: uses scan-build-7)

* fix potential use of memory after it is freed
2020-01-28 18:48:29 -06:00
Geert Linders f8ce70470c Fix (most) compilation warnings in Intel C++ Compiler (#38)
* Use BACNET_OBJECT_TYPE for all object type variables.

* Fix ICC "mixing enumerated type" warnings for assignments and parameters.

* Network Port: Use enums for state structs and remove erroneous bounds checks copy-pasted from IP_Subnet_Prefix setter.

* Fix ICC "unreachable statement" warnings.

* Fix ICC "unused variable" warnings when printing is disabled.

* Fix ICC "mixing enumerated type" warnings for struct initializers { 0 } by ensuring the first member is an integer type.

* Send_GetEvent_Global: Return 0 (invalid TSM invoke ID) instead of -1 = 255 (technically valid invoke ID) on failure.

* Fix ICC "pointless comparison" warnings.

* Fix wrong import in objects.c (memset being used).

* Fix signedness warnings and inconsistencies. Include -1 = 255 check in cov_address_get().

* Add some guards for BACAPP_LIGHTING_COMMAND to avoid errors/warnings.

* RPM test fixes

* Address requested changes. (#38)
2020-01-23 08:18:47 -06:00
Geert Linders 76abcaedd1 Reduce Tusage_timeout for all ports. (#37) 2020-01-22 17:07:44 -06:00
Geert Linders 09a7d3876f Fix + expand BACnetDoorStatus enum. (#36) 2020-01-22 17:05:46 -06:00
Roger Light 25f386bca7 Make all demo object variables static. (#14) 2020-01-22 17:04:39 -06:00
Steve Karg c9399ce501 Feature/port avr build check (#35)
* fix atmega168 build.

* remove time.h to solve AVR compile

* Add AVR build to CI for compile check
2020-01-19 20:33:03 -06:00
Steve Karg 738ef825b0 Feature/port arm build check (#34)
* add GCC ARM compiler to travis pre-script and add some ARM ports to job
2020-01-19 19:43:50 -06:00
Geert Linders 61336fb557 Reduce Tusage_timeout from 95ms to 30ms as per 136-2016bm. (#33) 2020-01-17 13:28:34 -06:00
Geert Linders e0be8e89ba Update object property lists for all supported objects. (#32) 2020-01-16 08:46:26 -06:00
shuegr-personal 158ff5b8f2 Fix [30]: Add PRINT_ENABLED around o/w unref'd vars (#31) 2020-01-15 23:54:35 -06:00
shuegr-personal e0c2a452e2 Fix [27]: calls to decode_context_enumerated() pass &uint32_t (#29) 2020-01-15 23:50:15 -06:00
shuegr-personal 7f5045ff3f zero init stack-based struct sockaddrin instances; rm refs to sin_zero padding in non-ports files (#28) 2020-01-15 23:48:55 -06:00
Geert Linders aaec7ef817 Remove Max_APDU_Length_Accepted property from Network Port demo object. (#23) 2020-01-15 23:46:34 -06:00
Steve Karg 21e998eb3b Added reject to error code conversion. Added unit test. (#21) 2020-01-15 14:50:31 -06:00
Steve Karg 0f82748413 Added abort to error code conversion. Added unit test. (#20)
* Added abort to error code conversion. Added unit test.

* add javadoc header to new function.
2020-01-15 14:50:16 -06:00
Geert Linders 6e0ebb99f4 Fix UNKNOWN_PROPERTY on Mac_Address of Network Port demo object. (#24) 2020-01-15 14:49:16 -06:00
Steve Karg a24845ba51 bypass lint check until passing initially (#25) 2020-01-15 08:39:56 -06:00
Steve Karg 63899e6606 Fix gateway app build (#22) 2020-01-15 08:02:15 -06:00
Carlos Gomes Martinho d3014c87fa build: improve cmake, add github actions (#16)
* build: install cmake config files to enable cmake find_package

fix: destination for header files

build: clean up build system

build: also install port directory header files

build: fix name of header files

ci: add github actions

build: add bsd port

chore: fix typos

build: remove not deeded mstpsnap

ci: disable ctests as not corrently

ci: disable macos for the moment

build: print compiler versions in cmake

* build: do not build apps by default

* build: add missing slash

* build: add more options to cmake (#3)

* build: add more options to cmake

* chore: disable ipv6

* build: guard around apps for options

* build: fix link lib on windows
2020-01-14 23:25:41 -06:00
Roger Light 0a414b88f6 Units fixes (#13)
* Match unit name to name used in specification.

* Add missing unit strings to bactext.
2020-01-14 23:20:16 -06:00
Geert Linders 284f009a05 Resolve AV_Descr naming conflict for Analog Value and OctetString Value. (#12) 2020-01-14 23:19:33 -06:00
Roger Light 5a7049557b apps - allow text strings for object-type and property arguments. (#8)
The existing method of calling various example apps requires the user to
know the enumeration value for the object-type and property values. This
patch enhances to allow the object-type and property arguments to be
specified as strings, using the strings as defined in the spec. It does
not remove the old behaviour.

Current:
  bacrp 1234 3 1 85

New:
  bacrp 1234 binary-input 1 present-value

This change does not currently apply to the property arguments of the
readm and writem applications.
2020-01-14 23:18:30 -06:00
Steve Karg ed3f0982a3 Bug #61: add strict decoding for TimeSynchronization 2020-01-07 08:19:02 -06:00