Add UWB plugin support 84/260384/1
authorAbhay Agarwal <ay.agarwal@samsung.com>
Tue, 9 Mar 2021 09:01:12 +0000 (14:31 +0530)
committerAbhay Agarwal <ay.agarwal@samsung.com>
Thu, 24 Jun 2021 04:09:37 +0000 (09:39 +0530)
This patch updates the enums and convert functions
to support UWB plugin.

Change-Id: I51db435f5bfe4413ddb9e9437dff73f46b1ea22f
Signed-off-by: Abhay Agarwal <ay.agarwal@samsung.com>
include/ua-api.h
ua-daemon/include/ua-manager-core.h
ua-daemon/src/pm/ua-pm-util.c
ua-daemon/src/ua-manager-common.c
ua-daemon/src/ua-manager-core.c
ua-plugins/include/ua-plugin.h

index 25323e0..915ccef 100755 (executable)
@@ -41,6 +41,7 @@ typedef enum {
        UAM_SENSOR_BITMASK_LIGHT = 0x00000010, /**< Bitmask for light */
        UAM_SENSOR_BITMASK_AUDIO = 0x00000020, /**< Bitmask for audio */
        UAM_SENSOR_BITMASK_WIFI_LOCATION = 0x00000040, /**< Bitmask for wifi location */
+       UAM_SENSOR_BITMASK_UWB = 0x00000080, /**< Bitmask for UWB */
        UAM_SENSOR_ALL = 0xFFFFFFFF, /**< Bitmask for all sensors */
 } uam_sensor_bitmask_e;
 
@@ -491,6 +492,7 @@ typedef enum {
        UAM_TECH_TYPE_WIFI = 0x04, /**< Wi-Fi */
        UAM_TECH_TYPE_P2P = 0x08, /**< Wi-Fi p2p */
        UAM_TECH_TYPE_WIFI_LOCATION = 0x10, /**< Wi-Fi location */
+       UAM_TECH_TYPE_UWB = 0x20, /**< UWB */
        UAM_TECH_TYPE_MAX /**< Max. connectivity type */
 } uam_tech_type_e;
 
index b3970fd..6339e5e 100644 (file)
@@ -34,6 +34,7 @@ typedef enum {
        UAM_ADDR_TYPE_P2P, /**< Wi-Fi Direct device address */
        UAM_ADDR_TYPE_IPv4, /**< IPv4 Address */
        UAM_ADDR_TYPE_IPv6, /**< IPv6 Address */
+       UAM_ADDR_TYPE_UWB, /**< UWB device address  */
        UAM_ADDR_TYPE_MAX
 } uam_addr_type_e;
 
index 3a107e8..16dac8e 100644 (file)
@@ -50,6 +50,8 @@ unsigned int _pm_util_uas_plugin_id_to_sensor_bitmask(uas_plugin_id_e id)
                return UAM_SENSOR_BITMASK_MOTION;
        case UAS_PLUGIN_ID_WIFI_LOCATION:
                return UAM_SENSOR_BITMASK_WIFI_LOCATION;
+       case UAS_PLUGIN_ID_UWB:
+               return UAM_SENSOR_BITMASK_UWB;
        default:
                UAM_WARN("Unknown Plugin id 0x%8.8X", id);
                return 0;
@@ -65,6 +67,8 @@ unsigned int _pm_util_uam_tech_type_to_plugin_id(uam_tech_type_e type)
                return UAS_PLUGIN_ID_WIFI;
        case UAM_TECH_TYPE_WIFI_LOCATION:
                return UAS_PLUGIN_ID_WIFI_LOCATION;
+       case UAM_TECH_TYPE_UWB:
+               return UAS_PLUGIN_ID_UWB;
        default:
                UAM_WARN("Unknown type 0x%8.8X", type);
                return UAS_PLUGIN_ID_MAX;
@@ -80,6 +84,8 @@ unsigned int _pm_util_uas_plugin_id_to_tech_type(uas_plugin_id_e id)
                return UAM_TECH_TYPE_WIFI;
        case UAS_PLUGIN_ID_WIFI_LOCATION:
                return UAM_TECH_TYPE_WIFI_LOCATION;
+       case UAS_PLUGIN_ID_UWB:
+               return UAM_TECH_TYPE_UWB;
        default:
                UAM_WARN("Unknown Plugin id 0x%8.8X", id);
                return UAM_TECH_TYPE_NONE;
@@ -150,6 +156,8 @@ uas_address_type_e _pm_util_uam_tech_type_to_uas_addr_type(uam_tech_type_e type)
                return UAS_ADDR_TYPE_WIFI;
        case UAM_TECH_TYPE_WIFI_LOCATION:
                return UAS_ADDR_TYPE_WIFI;
+       case UAM_TECH_TYPE_UWB:
+               return UAS_ADDR_TYPE_UWB;
        default:
                UAM_WARN("Unknown type 0x%8.8X", type);
                return UAS_PLUGIN_ID_MAX;
@@ -405,6 +413,10 @@ uam_device_info_s *_pm_util_uas_dev_info_to_uam_dev_info(const uas_device_info_t
                        g_strlcpy(device->ipv4_addr, dev->addr_list[i].address,
                                        UAM_IP_ADDRESS_MAX_STRING_LEN);
                        break;
+               case UAS_ADDR_TYPE_UWB:
+                       g_strlcpy(device->mac, dev->addr_list[i].address,
+                                       UAM_MAC_ADDRESS_STRING_LEN);
+                       break;
                case UAS_ADDR_TYPE_IPv6:
                default:
                        UAM_ERR("Unsupported address type: %d", dev->addr_list[i].type);
index 0edf391..1de7fa9 100644 (file)
@@ -189,6 +189,8 @@ const char *_uam_get_sensor_str(uas_plugin_id_e ids)
        CASE_TO_STR(UAS_PLUGIN_ID_WIFI)
        CASE_TO_STR(UAS_PLUGIN_ID_LIGHT)
        CASE_TO_STR(UAS_PLUGIN_ID_MOTION)
+       CASE_TO_STR(UAS_PLUGIN_ID_WIFI_LOCATION)
+       CASE_TO_STR(UAS_PLUGIN_ID_UWB)
        CASE_TO_STR(UAS_PLUGIN_ID_MAX)
        default:
                return "UNKNOWN SENSOR";
index 39f179b..7f57132 100755 (executable)
@@ -666,6 +666,7 @@ static gboolean __is_mac_addr(uam_addr_type_e addr_type)
        if (addr_type == UAM_ADDR_TYPE_BT ||
                addr_type == UAM_ADDR_TYPE_BLE ||
                addr_type == UAM_ADDR_TYPE_WIFI ||
+               addr_type == UAM_ADDR_TYPE_UWB ||
                addr_type == UAM_ADDR_TYPE_P2P)
                return 1;
        return 0;
@@ -735,6 +736,8 @@ static unsigned int __uam_core_tech_type_to_addr_type(uam_tech_type_e tech_type)
                return UAM_ADDR_TYPE_WIFI;
        case UAM_TECH_TYPE_WIFI_LOCATION:
                return UAM_ADDR_TYPE_WIFI;
+       case UAM_TECH_TYPE_UWB:
+               return UAM_ADDR_TYPE_UWB;
        default:
                UAM_ERR("Unknown tech type: %d", tech_type);
                return 0;
@@ -750,6 +753,8 @@ static unsigned int __uam_core_sensor_to_tech_type(unsigned int sensor)
                return UAM_TECH_TYPE_WIFI;
        case UAM_SENSOR_BITMASK_WIFI_LOCATION:
                return UAM_TECH_TYPE_WIFI_LOCATION;
+       case UAM_SENSOR_BITMASK_UWB:
+               return UAM_TECH_TYPE_UWB;
        default:
                UAM_ERR("Unknown sensor: %d", sensor);
                return 0;
@@ -765,6 +770,8 @@ static unsigned int __uam_core_tech_type_to_sensor(unsigned int tech_type)
                return UAM_SENSOR_BITMASK_WIFI;
        case UAM_TECH_TYPE_WIFI_LOCATION:
                return UAM_SENSOR_BITMASK_WIFI_LOCATION;
+       case UAM_TECH_TYPE_UWB:
+               return UAM_SENSOR_BITMASK_UWB;
        default:
                UAM_ERR("Unknown tech type: %d", tech_type);
                return 0;
index ffe04a7..d96951a 100644 (file)
@@ -64,6 +64,7 @@ typedef enum {
        UAS_ADDR_TYPE_P2P,
        UAS_ADDR_TYPE_IPv4,
        UAS_ADDR_TYPE_IPv6,
+       UAS_ADDR_TYPE_UWB,
        UAS_ADDR_TYPE_INVALID
 } uas_address_type_e;
 
@@ -106,7 +107,7 @@ typedef struct {
        char *address; /**< Address data */
 } uas_address_info_t;
 
-/* Device ble payload information structure */
+/* Device payload information structure */
 typedef struct {
        char primary_key; /** Primary Key */
        char device_type; /** Device type */
@@ -334,6 +335,7 @@ typedef enum {
        UAS_PLUGIN_ID_LIGHT,
        UAS_PLUGIN_ID_MOTION,
        UAS_PLUGIN_ID_WIFI_LOCATION,
+       UAS_PLUGIN_ID_UWB,
        UAS_PLUGIN_ID_MAX
 } uas_plugin_id_e;