RflySimSDK v3.08
RflySimSDK说明文档
载入中...
搜索中...
未找到
ReqCopterSim类 参考

类用于初始化指定CopterSim 更多...

Public 成员函数

 __init__ (self)
 构造函数,初始化ReqCopterSim类的实例。 开始监听20005端口以获取CopterID的 RflyTimeStmp
 
 getLocalIp (self)
 获取本地IP地址。
 
 isValidIp (self, address)
 检查给定的IP地址是否有效。
 
 get_all_ip (self)
 获取本机所有 IP 地址
 
 isIpLocal (self, IP)
 判断IP地址是否为本地IP
 
 updateSimMsg (self)
 更新模拟消息。
 
 getSimIpList (self)
 获取CopterSim IP列表。
 
 getSimIpID (self, CopterID=1)
 根据CopterID获取其IP地址。
 
 getHostIP (self)
 获取主机IP地址。
 
 sendReCopterSim (self, CopterID=1, isReqIP=1, UDP_mode=-1, isXyYaw=0, xyYaw=[0, 0, 0], isZRP=0, zRollPitch=[0, 0, 0], otherParams=[0, 0, 0, 0])
 请求初始化指定的CopterSim。
 
 sendReDllMap (self, CopterID=0, dllOrMap=-1, index=-1, name='')
 请求更改CopterSim的DLL模型和地图。
 
 sendReSimDllName (self, CopterID=1, name='')
 请求通过名称更改CopterSim的DLL模型。
 
 sendReSimDllIdx (self, CopterID=1, index=-1)
 请求通过索引更改CopterSim的DLL模型。
 
 sendReSimMapName (self, CopterID=1, name='')
 请求通过名称更改CopterSim的地图。
 
 sendReSimMapIdx (self, CopterID=1, index=-1)
 请求通过索引更改CopterSim的地图。
 
 sendReSimIP (self, CopterID=1)
 请求指定的CopterSim向主机计算机发送数据。
 
 sendReSimUdpMode (self, CopterID=1, UDP_mode=-1)
 请求指定的CopterSim将UDP模式更改为指定的值。
 
 sendReSimXYyaw (self, CopterID=1, xyYaw=[0, 0, 0])
 请求指定的CopterSim将xyYaw更改为指定的值。
 
 sendReGPSOrin (self, CopterID=1, LLA=[0, 0, 0])
 请求指定的CopterSim将GPS原点更改为指定的值。
 
 sendReGPSPos (self, CopterID=1, lat=0, lon=0, yaw=0)
 请求指定的CopterSim将位置更改为指定的GPS值。
 
 sendEnGpsMode (self, CopterID=1)
 请求指定的CopterSim切换到GPS显示模式。
 
 sendEnXyMode (self, CopterID=1)
 请求指定的CopterSim切换到xy显示模式。
 
 sendReSimXyzRPYaw (self, CopterID=1, Xyz=[0, 0, 0], RPYaw=[0, 0, 0])
 请求指定的CopterSim将Xyz和RollPitchYaw更改为指定的值。
 

Public 属性

 udp_time
 创建UDP套接字并设置选项。
 
 RflyTimeVect
 存储接收到的RflyTimeStmp数据的向量。
 
# 为本机 RflyLocalIPVect
 存储本电脑的所有本地IP地址,用于判断数据是否来着本机
 
 hostIp
 获取并存储本地主机的IP地址。
 
 isFalseMulti
 表示是否为错误的多播状态。
 
 Iplist
 CopterSim的IP列表
 

详细描述

类用于初始化指定CopterSim

构造及析构函数说明

◆ __init__()

__init__ ( self)

构造函数,初始化ReqCopterSim类的实例。 开始监听20005端口以获取CopterID的 RflyTimeStmp

Start to listen to 20005 port to get RflyTimeStmp of CopterID

成员函数说明

◆ get_all_ip()

get_all_ip ( self)

获取本机所有 IP 地址

  • 返回
    返回本地IP地址列表。

◆ getHostIP()

getHostIP ( self)

获取主机IP地址。

  • 返回
    返回主机IP地址。

◆ getLocalIp()

getLocalIp ( self)

获取本地IP地址。

  • 返回
    返回本地IP地址字符串。
+ 这是这个函数的调用关系图:

◆ getSimIpID()

getSimIpID ( self,
CopterID = 1 )

根据CopterID获取其IP地址。

  • 参数
    CopterID要获取IP地址的CopterSim的ID。
    返回
    对应CopterSim的IP地址,如果未找到则为空字符串。
+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ getSimIpList()

getSimIpList ( self)

获取CopterSim IP列表。

  • 返回包含所有检测到的CopterSim的ID和IP地址的列表。
    返回
    CopterSim的ID和IP地址的列表。

◆ isIpLocal()

isIpLocal ( self,
IP )

判断IP地址是否为本地IP

  • 返回
    返回本地IP地址列表。
+ 这是这个函数的调用关系图:

◆ isValidIp()

isValidIp ( self,
address )

检查给定的IP地址是否有效。

  • 参数
    address要检查的IP地址字符串。
    返回
    如果IP地址有效,则返回True,否则返回False。
+ 这是这个函数的调用关系图:

◆ sendEnGpsMode()

sendEnGpsMode ( self,
CopterID = 1 )

请求指定的CopterSim切换到GPS显示模式。

  • 参数
    CopterID要发送命令的Copter的ID。默认为1。
+ 函数调用图:

◆ sendEnXyMode()

sendEnXyMode ( self,
CopterID = 1 )

请求指定的CopterSim切换到xy显示模式。

  • 参数
    CopterID要发送命令的Copter的ID。默认为1。
+ 函数调用图:

◆ sendReCopterSim()

sendReCopterSim ( self,
CopterID = 1,
isReqIP = 1,
UDP_mode = -1,
isXyYaw = 0,
xyYaw = [0,0,0],
isZRP = 0,
zRollPitch = [0,0,0],
otherParams = [0,0,0,0] )

请求初始化指定的CopterSim。

参数
CopterID要发送命令的Copter的ID。默认值为1。
isReqIP表示是否进行IP请求。小于等于0表示不发响应,大于0表示将进行请求。默认值为1。
UDP_mode设置UDP模式。小于0表示不发响应,大于等于0将UDP模式设置为指定值。默认值为-1。
isXyYaw表示是否使用XY和Yaw值。小于等于0表示不发响应,大于0表示将使用这些值。默认值为0。
xyYaw一个列表,包含XY坐标和Yaw角度。默认值为[0, 0, 0]。
isZRP表示是否使用Z、Roll和Pitch值。小于等于0表示不发响应,大于0表示将使用这些值。默认值为0。
zRollPitch一个列表,包含Z、Roll和Pitch值。默认值为[0, 0, 0]。
otherParams一个列表,用于保留未来使用的其他参数。默认值为[0, 0, 0, 0]。

此方法根据指定的参数构建一条消息,并将其发送到指定的Copter。

如果isReqIP大于0且Copter的IP地址为127.0.0.1,则将isReqIP的值设置为0。 消息然后发送到组播地址224.0.0.10上的端口20002。如果isFalseMulti为真且Copter的IP地址不为空, 则消息还将直接发送到Copter的IP地址上的端口20002

struct reCopterSimMsg{
    int checksum; //数据校验位1234567,用于校验数据是否正确
    int CopterID;// 请求的CopterID,用于校验请求是否正确。
    int8_t isReqIP; //如果<=0则不响应,如果>0则勾选联机勾选,且将飞控数据发给本电脑IP(发送本请求消息的电脑)
    int8_t isXyYaw; //如果<=0则不响应,如果>0,则使用后面xyYaw的值,重新部署飞机位置
    int8_t isZRP; // 如果<=0则不响应(默认z会贴合地形,rollPitch会变为0),如果>0,则使用zRollPitch的值部署飞机位姿。本接口可以让飞机初始化在空中
    int8_t UDP_mode; //如果<0,则不响应。如果>=0,则修改UDP模式为指定值。
    uint8_t otherParams[4]; //保留位其他参数,留给将来使用。
    float zRollPitch[3]; //zRollPitch的初始值,单位米和度,z向下为正
    float yaw;// 初始偏航角,单位度
    double xy[2]; // 初始xy的值,支持双精度大地图,单位米,北东地
}; //2i4b4B4f2d
if isXyYaw==2: configure GPS Origin through lat: xy[0] lon: xy[1] alt: yaw
if isXyYaw==3: configure GPS pos through lat: xy[0] lon: xy[1] yaw
+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ sendReDllMap()

sendReDllMap ( self,
CopterID = 0,
dllOrMap = -1,
index = -1,
name = '' )

请求更改CopterSim的DLL模型和地图。

  • 参数
    CopterID要发送命令的Copter的ID。如果为0,则不给出任何响应。如果为-1,则命令会广播到所有的Copter。如果大于0,则命令会发送到指定的Copter。
    dllOrMap切换选项:小于等于0表示不发响应,1表示更改DLL模型,2表示更改地图。
    index选项ID号;如果小于0,则使用名称确定选项。如果大于等于0,则使用索引替代名称。
    nameDLL模型或地图的名称。默认为空字符串。
    此方法根据指定的参数构建一条消息,并将其发送到CopterSim。 消息发送到组播地址224.0.0.10上的端口20002。如果isFalseMulti为真且Copter的IP地址不为空, 则消息还将直接发送到Copter的IP地址上的端口20002
请求改变CopterSim的DLL模型和地图
struct CptSimCMD{
    int checksum;//校验码,用于确认数据正确性,这里取值 1234567895
    int CopterID; //目标飞机ID,如果为0则不响应;如果为-1,则广播给所有飞机;如果>0则给指定飞机。
    int flag; //切换选项:如果<=0则不响应;如果=1,则修改DLL模型;如果=2,则修改地图;
    int index; // 选项ID序号;如果<0则不响应,使用name来确定选项;如果>=0,则用序号而不是name来确定选项。
    char name[48]; //DLL模型或地图的名字
}//长度64,4i48s
+ 函数调用图:
+ 这是这个函数的调用关系图:

◆ sendReGPSOrin()

sendReGPSOrin ( self,
CopterID = 1,
LLA = [0,0,0] )

请求指定的CopterSim将GPS原点更改为指定的值。

  • 参数
    CopterID要发送命令的Copter的ID。默认为1。
    LLA所需的GPS原点值(纬度、经度、高度)。默认为[0, 0, 0]。
+ 函数调用图:

◆ sendReGPSPos()

sendReGPSPos ( self,
CopterID = 1,
lat = 0,
lon = 0,
yaw = 0 )

请求指定的CopterSim将位置更改为指定的GPS值。

  • 参数
    CopterID要发送命令的Copter的ID。默认为1。
    lat所需的纬度值。默认为0。
    lon所需的经度值。默认为0。
    yaw所需的偏航值。默认为0。
+ 函数调用图:

◆ sendReSimDllIdx()

sendReSimDllIdx ( self,
CopterID = 1,
index = -1 )

请求通过索引更改CopterSim的DLL模型。

  • 参数
    CopterID要发送命令的Copter的ID。默认为1。
    indexDLL模型的索引。默认为-1。
+ 函数调用图:

◆ sendReSimDllName()

sendReSimDllName ( self,
CopterID = 1,
name = '' )

请求通过名称更改CopterSim的DLL模型。

  • 参数
    CopterID要发送命令的Copter的ID。默认为1。
    nameDLL模型的名称。默认为空字符串。
+ 函数调用图:

◆ sendReSimIP()

sendReSimIP ( self,
CopterID = 1 )

请求指定的CopterSim向主机计算机发送数据。

  • 参数
    CopterID要发送命令的Copter的ID。默认为1。
+ 函数调用图:

◆ sendReSimMapIdx()

sendReSimMapIdx ( self,
CopterID = 1,
index = -1 )

请求通过索引更改CopterSim的地图。

  • 参数
    CopterID要发送命令的Copter的ID。默认为1。
    index地图的索引。默认为-1。
+ 函数调用图:

◆ sendReSimMapName()

sendReSimMapName ( self,
CopterID = 1,
name = '' )

请求通过名称更改CopterSim的地图。

  • 参数
    CopterID要发送命令的Copter的ID。默认为1。
    name地图的名称。默认为空字符串。
+ 函数调用图:

◆ sendReSimUdpMode()

sendReSimUdpMode ( self,
CopterID = 1,
UDP_mode = -1 )

请求指定的CopterSim将UDP模式更改为指定的值。

  • 参数
    CopterID要发送命令的Copter的ID。默认为1。
    UDP_mode所需的UDP模式。默认为-1。
+ 函数调用图:

◆ sendReSimXYyaw()

sendReSimXYyaw ( self,
CopterID = 1,
xyYaw = [0,0,0] )

请求指定的CopterSim将xyYaw更改为指定的值。

  • 参数
    CopterID要发送命令的Copter的ID。默认为1。
    xyYaw所需的xyYaw值。默认为[0, 0, 0]。
+ 函数调用图:

◆ sendReSimXyzRPYaw()

sendReSimXyzRPYaw ( self,
CopterID = 1,
Xyz = [0,0,0],
RPYaw = [0,0,0] )

请求指定的CopterSim将Xyz和RollPitchYaw更改为指定的值。

  • 参数
    CopterID要发送命令的Copter的ID。默认为1。
    Xyz所需的Xyz值。默认为[0, 0, 0]。
    RPYaw所需的滚转、俯仰和偏航值。默认为[0, 0, 0]。
+ 函数调用图:

◆ updateSimMsg()

updateSimMsg ( self)

更新模拟消息。

  • 设置UDP套接字的超时时间,并监听CopterSim的心跳消息。 将接收到的有效消息存储在 RflyTimeVect 向量中。
+ 函数调用图:
+ 这是这个函数的调用关系图:

类成员变量说明

◆ hostIp

hostIp

获取并存储本地主机的IP地址。

◆ Iplist

Iplist

CopterSim的IP列表

◆ isFalseMulti

isFalseMulti

表示是否为错误的多播状态。

◆ RflyLocalIPVect

# 为本机 RflyLocalIPVect

存储本电脑的所有本地IP地址,用于判断数据是否来着本机

◆ RflyTimeVect

RflyTimeVect

存储接收到的RflyTimeStmp数据的向量。

◆ udp_time

udp_time

创建UDP套接字并设置选项。


该类的文档由以下文件生成: