OSCBS-23 Scalable BACnet object arrays, part #2

Add processing object table as section iterable for zephyr
      - zephyr/subset/object/device.c
      - zephyr/subset/object/objects.ld
    Add object descriptor array as dynamic list
      - zephyr/subset/object/object.h
      - zephyr/subset/object/*.c
This commit is contained in:
Mikhail Antropov
2022-06-17 11:56:17 +03:00
parent 23fb2394c5
commit 1b147e2edc
41 changed files with 689 additions and 1 deletions
+13
View File
@@ -39,6 +39,8 @@ static inline char *inet_ntoa(struct in_addr in) {
extern int bip_get_local_netmask(
struct in_addr *netmask);
#ifdef CONFIG_BACNET_USE_SECTION_ITERABLE_OBJECT_TABLE
#define BACNET_OBJECT_TABLE(table_name, _type, _init, _count, \
_index_to_instance, _valid_instance, _object_name, \
_read_property, _write_property, _RPM_list, \
@@ -62,4 +64,15 @@ STRUCT_SECTION_ITERABLE(object_functions, table_name) = { \
.Object_Intrinsic_Reporting = _intrinsic_reporting \
}
#else
#define BACNET_OBJECT_TABLE(table_name, _type, _init, _count, \
_index_to_instance, _valid_instance, _object_name, \
_read_property, _write_property, _RPM_list, \
_RR_info, _iterator, _value_list, _COV, \
_COV_clear, _intrinsic_reporting) \
/* empty define */
#endif
#endif