示例#1
0
        public static SystemStatusDTO createSystemStatusDTO(SystemStatus source)
        {
            if (null == source)
            {
                return(null);
            }
            SystemStatusDTO result = new SystemStatusDTO();

            Utilities.CopySimilar.CopyAll(source, result);
            result.sensorsEnabled = new List <String>();
            foreach (MAVLink.MAV_SYS_STATUS_SENSOR flag in source.sensorsEnabled)
            {
                result.sensorsEnabled.Add(flag.ToString());
            }
            result.sensorsHealth = new List <String>();
            foreach (MAVLink.MAV_SYS_STATUS_SENSOR flag in source.sensorsHealth)
            {
                result.sensorsHealth.Add(flag.ToString());
            }
            result.sensorsPresent = new List <String>();
            foreach (MAVLink.MAV_SYS_STATUS_SENSOR flag in source.sensorsPresent)
            {
                result.sensorsPresent.Add(flag.ToString());
            }
            return(result);
        }
示例#2
0
        public void CheckSystemStatusObject()
        {
            MAVLink.mavlink_sys_status_t statusStruct = new MAVLink.mavlink_sys_status_t();
            statusStruct.voltage_battery   = 1;
            statusStruct.current_battery   = 2;
            statusStruct.battery_remaining = 3;
            statusStruct.drop_rate_comm    = 4;
            statusStruct.errors_comm       = 5;
            statusStruct.errors_count1     = 6;
            statusStruct.errors_count2     = 7;
            statusStruct.errors_count3     = 8;
            statusStruct.errors_count4     = 9;

            MavLinkMessage message = new MavLinkMessage();

            message.compid      = 1;
            message.messid      = MAVLink.MAVLINK_MSG_ID.SYS_STATUS;
            message.seq         = 1;
            message.sysid       = 1;
            message.data_struct = statusStruct;

            SystemStatus systemStatus = new SystemStatus(message);

            Assert.AreEqual(statusStruct.voltage_battery, systemStatus.voltage_battery);
            Assert.AreEqual(statusStruct.current_battery, systemStatus.current_battery);
            Assert.AreEqual(statusStruct.battery_remaining, systemStatus.battery_remaining);
            Assert.AreEqual(statusStruct.drop_rate_comm, systemStatus.drop_rate_comm);
            Assert.AreEqual(statusStruct.errors_comm, systemStatus.errors_comm);
            Assert.AreEqual(statusStruct.errors_count1, systemStatus.errors_count1);
            Assert.AreEqual(statusStruct.errors_count2, systemStatus.errors_count2);
            Assert.AreEqual(statusStruct.errors_count3, systemStatus.errors_count3);
            Assert.AreEqual(statusStruct.errors_count4, systemStatus.errors_count4);

            SystemStatusDTO dto = DTOFactory.createSystemStatusDTO(systemStatus);

            Assert.AreEqual(dto.voltage_battery, systemStatus.voltage_battery);
            Assert.AreEqual(dto.current_battery, systemStatus.current_battery);
            Assert.AreEqual(dto.battery_remaining, systemStatus.battery_remaining);
            Assert.AreEqual(dto.drop_rate_comm, systemStatus.drop_rate_comm);
            Assert.AreEqual(dto.errors_comm, systemStatus.errors_comm);
            Assert.AreEqual(dto.errors_count1, systemStatus.errors_count1);
            Assert.AreEqual(dto.errors_count2, systemStatus.errors_count2);
            Assert.AreEqual(dto.errors_count3, systemStatus.errors_count3);
            Assert.AreEqual(dto.errors_count4, systemStatus.errors_count4);

            String json = JsonConvert.SerializeObject(dto);
        }