Пример #1
0
        public async Task <ActionResult> SingleMotorVibrateCmd(string name, string speed)
        {
            var response = new BaseDeviceResponse("SingleMotorVibrateCmd", name);

            if (speed == null)
            {
                return(BadRequest(response));
            }

            uint[] speeds;
            try
            {
                speeds = speed.Split(',').Select(uint.Parse).ToArray();
            }
            catch (FormatException)
            {
                return(BadRequest(response));
            }

            response = new ActionSingleVibrateResponse("SingleMotorVibrateCmd", name, speeds);

            if (!Register.IsDevice(name))
            {
                return(NotFound(response));
            }

            if (!await Register.SendVibrateCmd(name, speeds))
            {
                return(BadRequest(response));
            }

            return(Ok(response));
        }
Пример #2
0
        public async Task <ActionResult> StopDeviceCmd(string name)
        {
            BasedResponse output = new BaseDeviceResponse("StopDeviceCmd", name);

            if (!Register.IsDevice(name))
            {
                return(NotFound(output));
            }

            if (!await Register.StopDeviceCmd(name))
            {
                return(BadRequest(output));
            }

            return(Ok(output));
        }
Пример #3
0
        public ActionResult SequenceVibrateCmd(string name, [FromBody] VibrationPattern pattern)
        {
            var response = new BaseDeviceResponse("SequenceVibrateCmd", name);

            if (!Register.IsDevice(name))
            {
                return(NotFound(response));
            }

            //FIXME Need something better as return.

            if (pattern == null)
            {
                return(BadRequest(response));
            }

            if (!Register.SequenceVibrateCmd(name, pattern))
            {
                return(BadRequest(response));
            }

            return(Ok(response));
        }