Example #1
0
        public override void Execute(JSONNode args)
        {
            var uid = args["uid"].Value;
            var api = ApiManager.Instance;

            SensorBase sensor = null;

            if (SimulatorManager.InstanceAvailable)
            {
                sensor = SimulatorManager.Instance.Sensors.GetSensor(uid);
            }
            if (sensor != null)
            {
                var sensorType = sensor.GetType().GetCustomAttribute <SensorType>();
                if (sensorType.Name == "Lidar")
                {
                    var path = args["path"].Value;

                    var result = (bool)sensor.GetType().GetMethod("Save").Invoke(sensor, new object[] { path });
                    api.SendResult(this, result);
                }
                else
                {
                    api.SendError(this, $"Sensor '{uid}' is not a lidar sensor");
                }
            }
            else
            {
                api.SendError(this, $"Sensor '{uid}' not found");
            }
        }
Example #2
0
    static string GetSensorType(SensorBase sensor)
    {
        var type = sensor.GetType().GetCustomAttributes(typeof(SensorType), false)[0] as SensorType;

        UnityEngine.Debug.Log($"{type.Name}");
        return(type.Name);
    }
        public override void Execute(JSONNode args)
        {
            var uid = args["uid"].Value;
            var api = ApiManager.Instance;

            SensorBase sensor = null;

            if (SimulatorManager.InstanceAvailable)
            {
                sensor = SimulatorManager.Instance.Sensors.GetSensor(uid);
            }

            if (sensor != null)
            {
                var isStart  = args["is_start"].AsBool;
                var filename = args["filename"].Value;

                var sensorType = sensor.GetType().GetCustomAttribute <SensorType>();
                if (sensorType.Name == "Video Recording")
                {
                    bool result;

                    if (isStart)
                    {
                        result = (bool)sensor.GetType().GetMethod("StartRecording").Invoke(sensor, new object[] { filename });
                    }
                    else
                    {
                        result = (bool)sensor.GetType().GetMethod("StopRecording").Invoke(sensor, null);
                    }

                    api.SendResult(this, result);
                }
                else
                {
                    api.SendError(this, $"Sensor '{uid}' is not a video recording sensor");
                }
            }
            else
            {
                api.SendError(this, $"Sensor '{uid}' not found");
            }
        }
Example #4
0
        public override void Execute(JSONNode args)
        {
            var uid = args["uid"].Value;
            var api = ApiManager.Instance;

            SensorBase sensor = null;

            if (SimulatorManager.InstanceAvailable)
            {
                sensor = SimulatorManager.Instance.Sensors.GetSensor(uid);
            }
            if (sensor != null)
            {
                var sensorType  = sensor.GetType().GetCustomAttribute <SensorType>();
                var path        = args["path"].Value;
                var quality     = args["quality"].AsInt;
                var compression = args["compression"].AsInt;

                if (sensorType.Name == "Color Camera")
                {
                    bool result = (bool)sensor.GetType().GetMethod("Save").Invoke(sensor, new object[] { path, quality, compression });
                    api.SendResult(this, result);
                }
                else if (sensorType.Name == "Segmentation Camera")
                {
                    bool result = (bool)sensor.GetType().GetMethod("Save").Invoke(sensor, new object[] { path, quality, compression });
                    api.SendResult(this, result);
                }
                else
                {
                    api.SendError(this, $"Sensor '{uid}' is not a camera sensor");
                }
            }
            else
            {
                api.SendError(this, $"Sensor '{uid}' not found");
            }
        }
Example #5
0
        public override void Execute(JSONNode args)
        {
            var uid = args["uid"].Value;
            var api = ApiManager.Instance;

            SensorBase sensor = null;

            if (SimulatorManager.InstanceAvailable)
            {
                sensor = SimulatorManager.Instance.Sensors.GetSensor(uid);
            }
            if (sensor != null)
            {
                var sensorType = sensor.GetType().GetCustomAttribute <SensorType>();
                if (sensorType.Name == "GPS Device")
                {
                    var data = (GpsData)sensor.GetType().GetMethod("GetData").Invoke(sensor, null);

                    var result = new JSONObject();
                    result.Add("latitude", data.Latitude);
                    result.Add("longitude", data.Longitude);
                    result.Add("northing", data.Northing);
                    result.Add("easting", data.Easting);
                    result.Add("altitude", data.Altitude);
                    result.Add("orientation", data.Orientation);

                    api.SendResult(this, result);
                }
                else
                {
                    api.SendError(this, $"Sensor '{uid}' is not a GPS sensor");
                }
            }
            else
            {
                api.SendError(this, $"Sensor '{uid}' not found");
            }
        }
Example #6
0
    static string GetSensorType(SensorBase sensor)
    {
        var type = sensor.GetType().GetCustomAttributes(typeof(SensorType), false)[0] as SensorType;

        return(type.Name);
    }