コード例 #1
0
        public void CheckHeartbeatObject()
        {
            MavLinkMessage message = createSampleMessage();

            MAVLink.mavlink_heartbeat_t sampleStruct = (MAVLink.mavlink_heartbeat_t)message.data_struct;

            Heartbeat heartbeatContainer = new Heartbeat(message);

            Assert.AreEqual((MAVLink.MAV_AUTOPILOT)sampleStruct.autopilot, heartbeatContainer.autopilot);
            //Assert.AreEqual((MAVLink.MAV_MODE_FLAG)sampleStruct.base_mode, heartbeatContainer.base_mode);
            Assert.AreEqual(sampleStruct.custom_mode, heartbeatContainer.custom_mode);
            Assert.AreEqual(sampleStruct.mavlink_version, heartbeatContainer.mavlink_version);
            Assert.AreEqual((MAVLink.MAV_STATE)sampleStruct.system_status, heartbeatContainer.system_status);
            Assert.AreEqual((MAVLink.MAV_TYPE)sampleStruct.type, heartbeatContainer.type);

            HeartbeatDTO dto = DTOFactory.createHeartbeatDTO(heartbeatContainer);

            Assert.AreEqual(dto.autopilot, heartbeatContainer.autopilot.ToString());
            Assert.AreEqual(dto.base_mode.Count, heartbeatContainer.base_mode.Count);
            Assert.AreEqual(dto.custom_mode, heartbeatContainer.custom_mode);
            Assert.AreEqual(dto.mavlink_version, heartbeatContainer.mavlink_version);
            Assert.AreEqual(dto.system_status, heartbeatContainer.system_status.ToString());
            Assert.AreEqual(dto.type, heartbeatContainer.type.ToString());

            String json = JsonConvert.SerializeObject(dto);
        }
コード例 #2
0
        private void SendHeartbeat()
        {
            var heartBeat = new HeartbeatDTO
            {
                name          = Environment.MachineName,
                url           = _hostControlUrl,
                apiKey        = _config.ApiKey,
                version       = VersionUtil.GetAgentVersion(),
                configVersion = _config.ConfigVersion,
                group         = _config.AgentGroup
            };

            if (_loadBalancerService.UseLoadBalanser)
            {
                heartBeat.loadBalancerState = _loadBalancerService.GetCurrentState();
            }

            HttpPostJsonUpdate(_nodeFrontUri, heartBeat);
        }
コード例 #3
0
        public static HeartbeatDTO createHeartbeatDTO(Heartbeat data)
        {
            if (null == data)
            {
                return(null);
            }
            HeartbeatDTO result = new HeartbeatDTO();

            if (null != data)
            {
                result.type        = data.type.ToString();
                result.autopilot   = data.autopilot.ToString();
                result.custom_mode = data.custom_mode;
                result.base_mode   = new List <string>();
                foreach (MAVLink.MAV_MODE_FLAG flag in data.base_mode)
                {
                    result.base_mode.Add(flag.ToString());
                }
                result.system_status   = data.system_status.ToString();
                result.mavlink_version = data.mavlink_version;
            }
            return(result);
        }