diff --git a/ems_c/app/app_parse.c b/ems_c/app/app_parse.c index ceb2924..2c2dd2c 100644 --- a/ems_c/app/app_parse.c +++ b/ems_c/app/app_parse.c @@ -708,7 +708,7 @@ static north_protocol_u parse_json_north(const char protoContent[MAX_CONFIG_CONT * @param[in] devId 设备ID * @return 返回匹配设备的点位数组,未找到返回 NULL *********************************************************************/ -point_t *get_pointArr(dev_type_e devType, uint16_t devId) +point_t *get_pointArr(dev_type_e devType, uint16_t devArrayId) { for (int i = 0; i < kProto_Master_End; i++) { @@ -718,7 +718,7 @@ point_t *get_pointArr(dev_type_e devType, uint16_t devId) } for (int j = 0; j < protoTable[i].devNum; j++) { - if (protoTable[i].devPointMapArr[j].devType == devType && protoTable[i].devPointMapArr[j].devId == devId) + if (protoTable[i].devPointMapArr[j].devType == devType && (protoTable[i].devPointMapArr[j].devId == devArrayId + 1)) { return protoTable[i].devPointMapArr[j].pointArr; // 返回匹配设备的 pointArr } @@ -726,3 +726,28 @@ point_t *get_pointArr(dev_type_e devType, uint16_t devId) } return NULL; // 未找到匹配设备,返回 NULL } + +/********************************************************************* + * @brief 根据设备类型和设备ID获取设备的点位数组 + * @param[in] devType 设备类型 + * @param[in] devId 设备ID + * @return 返回匹配设备的点位数组,未找到返回 NULL + *********************************************************************/ +dev_info_t *get_devPointMapArr(dev_type_e devType, uint16_t devArrayId) +{ + for (int i = 0; i < kProto_Master_End; i++) + { + if (protoTable[i].devPointMapArr == NULL) + { + continue; // 跳过空协议 + } + for (int j = 0; j < protoTable[i].devNum; j++) + { + if (protoTable[i].devPointMapArr[j].devType == devType && (protoTable[i].devPointMapArr[j].devId == devArrayId + 1)) + { + return &protoTable[i].devPointMapArr[j]; // 返回匹配设备的 pointArr + } + } + } + return NULL; // 未找到匹配设备,返回 NULL +} diff --git a/ems_c/app/app_parse.h b/ems_c/app/app_parse.h index dc10e84..25527d6 100644 --- a/ems_c/app/app_parse.h +++ b/ems_c/app/app_parse.h @@ -41,6 +41,14 @@ extern advanced_setting_t AdvancedSettingTable[kAdvanced_Setting_Type_End]; *********************************************************************/ point_t *get_pointArr(dev_type_e devType, uint16_t devId); +/********************************************************************* + * @brief 根据设备类型和设备ID获取设备的点位数组 + * @param[in] devType 设备类型 + * @param[in] devId 设备ID + * @return 返回匹配设备的点位数组,未找到返回 NULL + *********************************************************************/ +dev_info_t *get_devPointMapArr(dev_type_e devType, uint16_t devArrayId); + /********************************************************************* * @brief 读取系统配置的设备数量 * @param[in] item: 接入EMS的所有设备类型数量 diff --git a/ems_c/clib/aarch64/libcsunshmrtdb.so b/ems_c/clib/aarch64/libcsunshmrtdb.so index fb978e4..c8694b2 100644 Binary files a/ems_c/clib/aarch64/libcsunshmrtdb.so and b/ems_c/clib/aarch64/libcsunshmrtdb.so differ diff --git a/release/ems/01-netcfg.yaml b/release/ems/01-netcfg.yaml new file mode 100644 index 0000000..5cf23dc --- /dev/null +++ b/release/ems/01-netcfg.yaml @@ -0,0 +1,9 @@ +network: + ethernets: + eth0: + addresses: [192.169.0.123/24] + nameservers: + addresses: [114.114.114.114,8.8.8.8] + eth1: + dhcp4: true + version: 2 diff --git a/release/ems/db.rar b/release/ems/db.rar new file mode 100644 index 0000000..fda244b Binary files /dev/null and b/release/ems/db.rar differ diff --git a/release/ems/db/sqlite3.db b/release/ems/db/sqlite3.db index 41ade9e..4cace87 100644 Binary files a/release/ems/db/sqlite3.db and b/release/ems/db/sqlite3.db differ diff --git a/release/ems/db/sqlite3.db-shm b/release/ems/db/sqlite3.db-shm deleted file mode 100644 index 3215c83..0000000 Binary files a/release/ems/db/sqlite3.db-shm and /dev/null differ diff --git a/release/ems/db/sqlite3.db-wal b/release/ems/db/sqlite3.db-wal deleted file mode 100644 index fea1188..0000000 Binary files a/release/ems/db/sqlite3.db-wal and /dev/null differ