1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-02-18 08:54:15 +01:00

Updated UAVObjects

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2223 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
pip 2010-12-12 18:16:00 +00:00 committed by pip
parent c01c69299c
commit 6a44b0544b
6 changed files with 110 additions and 47 deletions

View File

@ -42,38 +42,47 @@ PipXtremeModemSettings::PipXtremeModemSettings(): UAVDataObject(OBJID, ISSINGLEI
{
// Create fields
QList<UAVObjectField*> fields;
QStringList Frequency calibrationElemNames;
Frequency calibrationElemNames.append("0");
fields.append( new UAVObjectField(QString("Frequency calibration"), QString(""), UAVObjectField::UINT8, Frequency calibrationElemNames, QStringList()) );
QStringList Frequency minElemNames;
Frequency minElemNames.append("0");
fields.append( new UAVObjectField(QString("Frequency min"), QString("Hz"), UAVObjectField::UINT32, Frequency minElemNames, QStringList()) );
QStringList Frequency maxElemNames;
Frequency maxElemNames.append("0");
fields.append( new UAVObjectField(QString("Frequency max"), QString("Hz"), UAVObjectField::UINT32, Frequency maxElemNames, QStringList()) );
QStringList FrequencyElemNames;
FrequencyElemNames.append("0");
fields.append( new UAVObjectField(QString("Frequency"), QString("Hz"), UAVObjectField::UINT32, FrequencyElemNames, QStringList()) );
QStringList RFBandwidthElemNames;
RFBandwidthElemNames.append("0");
QStringList RFBandwidthEnumOptions;
RFBandwidthEnumOptions.append("500");
RFBandwidthEnumOptions.append("1000");
RFBandwidthEnumOptions.append("2000");
RFBandwidthEnumOptions.append("4000");
RFBandwidthEnumOptions.append("8000");
RFBandwidthEnumOptions.append("9600");
RFBandwidthEnumOptions.append("16000");
RFBandwidthEnumOptions.append("19200");
RFBandwidthEnumOptions.append("24000");
RFBandwidthEnumOptions.append("32000");
RFBandwidthEnumOptions.append("64000");
RFBandwidthEnumOptions.append("128000");
RFBandwidthEnumOptions.append("192000");
fields.append( new UAVObjectField(QString("RFBandwidth"), QString("Hz"), UAVObjectField::ENUM, RFBandwidthElemNames, RFBandwidthEnumOptions) );
QStringList MaxTxPowerElemNames;
MaxTxPowerElemNames.append("0");
QStringList MaxTxPowerEnumOptions;
MaxTxPowerEnumOptions.append("1");
MaxTxPowerEnumOptions.append("2");
MaxTxPowerEnumOptions.append("5");
MaxTxPowerEnumOptions.append("8");
MaxTxPowerEnumOptions.append("11");
MaxTxPowerEnumOptions.append("14");
MaxTxPowerEnumOptions.append("17");
MaxTxPowerEnumOptions.append("20");
fields.append( new UAVObjectField(QString("MaxTxPower"), QString("dBm"), UAVObjectField::ENUM, MaxTxPowerElemNames, MaxTxPowerEnumOptions) );
QStringList RF bandwidthElemNames;
RF bandwidthElemNames.append("0");
QStringList RF bandwidthEnumOptions;
RF bandwidthEnumOptions.append("500");
RF bandwidthEnumOptions.append("1000");
RF bandwidthEnumOptions.append("2000");
RF bandwidthEnumOptions.append("4000");
RF bandwidthEnumOptions.append("8000");
RF bandwidthEnumOptions.append("9600");
RF bandwidthEnumOptions.append("16000");
RF bandwidthEnumOptions.append("19200");
RF bandwidthEnumOptions.append("24000");
RF bandwidthEnumOptions.append("32000");
RF bandwidthEnumOptions.append("64000");
RF bandwidthEnumOptions.append("128000");
RF bandwidthEnumOptions.append("192000");
fields.append( new UAVObjectField(QString("RF bandwidth"), QString("Hz"), UAVObjectField::ENUM, RF bandwidthElemNames, RF bandwidthEnumOptions) );
QStringList Max Tx powerElemNames;
Max Tx powerElemNames.append("0");
QStringList Max Tx powerEnumOptions;
Max Tx powerEnumOptions.append("1");
Max Tx powerEnumOptions.append("2");
Max Tx powerEnumOptions.append("5");
Max Tx powerEnumOptions.append("8");
Max Tx powerEnumOptions.append("11");
Max Tx powerEnumOptions.append("14");
Max Tx powerEnumOptions.append("17");
Max Tx powerEnumOptions.append("20");
fields.append( new UAVObjectField(QString("Max Tx power"), QString("dBm"), UAVObjectField::ENUM, Max Tx powerElemNames, Max Tx powerEnumOptions) );
QStringList AESEncryptionElemNames;
AESEncryptionElemNames.append("0");
QStringList AESEncryptionEnumOptions;
@ -134,9 +143,12 @@ UAVObject::Metadata PipXtremeModemSettings::getDefaultMetadata()
*/
void PipXtremeModemSettings::setDefaultFieldValues()
{
data.Frequency = 433920000;
data.RFBandwidth = 11;
data.MaxTxPower = 4;
data.Frequency calibration = 127;
data.Frequency min = 0;
data.Frequency max = 0;
data.Frequency = 0;
data.RF bandwidth = 11;
data.Max Tx power = 4;
data.AESEncryption = 0;
data.AESEncryptionKey[0] = 0;
data.AESEncryptionKey[1] = 0;

View File

@ -43,9 +43,12 @@ class UAVOBJECTS_EXPORT PipXtremeModemSettings: public UAVDataObject
public:
// Field structure
typedef struct {
quint8 Frequency calibration;
quint32 Frequency min;
quint32 Frequency max;
quint32 Frequency;
quint8 RFBandwidth;
quint8 MaxTxPower;
quint8 RF bandwidth;
quint8 Max Tx power;
quint8 AESEncryption;
quint8 AESEncryptionKey[16];
quint32 PairedSerialNumberCRC;
@ -53,13 +56,16 @@ public:
} __attribute__((packed)) DataFields;
// Field information
// Field Frequency calibration information
// Field Frequency min information
// Field Frequency max information
// Field Frequency information
// Field RFBandwidth information
/* Enumeration options for field RFBandwidth */
typedef enum { RFBANDWIDTH_500=0, RFBANDWIDTH_1000=1, RFBANDWIDTH_2000=2, RFBANDWIDTH_4000=3, RFBANDWIDTH_8000=4, RFBANDWIDTH_9600=5, RFBANDWIDTH_16000=6, RFBANDWIDTH_19200=7, RFBANDWIDTH_24000=8, RFBANDWIDTH_32000=9, RFBANDWIDTH_64000=10, RFBANDWIDTH_128000=11, RFBANDWIDTH_192000=12 } RFBandwidthOptions;
// Field MaxTxPower information
/* Enumeration options for field MaxTxPower */
typedef enum { MAXTXPOWER_1=0, MAXTXPOWER_2=1, MAXTXPOWER_5=2, MAXTXPOWER_8=3, MAXTXPOWER_11=4, MAXTXPOWER_14=5, MAXTXPOWER_17=6, MAXTXPOWER_20=7 } MaxTxPowerOptions;
// Field RF bandwidth information
/* Enumeration options for field RF bandwidth */
typedef enum { RF BANDWIDTH_500=0, RF BANDWIDTH_1000=1, RF BANDWIDTH_2000=2, RF BANDWIDTH_4000=3, RF BANDWIDTH_8000=4, RF BANDWIDTH_9600=5, RF BANDWIDTH_16000=6, RF BANDWIDTH_19200=7, RF BANDWIDTH_24000=8, RF BANDWIDTH_32000=9, RF BANDWIDTH_64000=10, RF BANDWIDTH_128000=11, RF BANDWIDTH_192000=12 } RF bandwidthOptions;
// Field Max Tx power information
/* Enumeration options for field Max Tx power */
typedef enum { MAX TX POWER_1=0, MAX TX POWER_2=1, MAX TX POWER_5=2, MAX TX POWER_8=3, MAX TX POWER_11=4, MAX TX POWER_14=5, MAX TX POWER_17=6, MAX TX POWER_20=7 } Max Tx powerOptions;
// Field AESEncryption information
/* Enumeration options for field AESEncryption */
typedef enum { AESENCRYPTION_FALSE=0, AESENCRYPTION_TRUE=1 } AESEncryptionOptions;
@ -70,7 +76,7 @@ public:
// Constants
static const quint32 OBJID = 1441129524U;
static const quint32 OBJID = 3841416984U;
static const QString NAME;
static const bool ISSINGLEINST = 1;
static const bool ISSETTINGS = 1;

View File

@ -37,6 +37,36 @@ from collections import namedtuple
# This is a list of instances of the data fields contained in this object
_fields = [ \
uavobject.UAVObjectField(
'Frequency calibration',
'B',
1,
[
'0',
],
{
}
),
uavobject.UAVObjectField(
'Frequency min',
'I',
1,
[
'0',
],
{
}
),
uavobject.UAVObjectField(
'Frequency max',
'I',
1,
[
'0',
],
{
}
),
uavobject.UAVObjectField(
'Frequency',
'I',
@ -48,7 +78,7 @@ _fields = [ \
}
),
uavobject.UAVObjectField(
'RFBandwidth',
'RF bandwidth',
'b',
1,
[
@ -71,7 +101,7 @@ _fields = [ \
}
),
uavobject.UAVObjectField(
'MaxTxPower',
'Max Tx power',
'b',
1,
[
@ -140,7 +170,7 @@ _fields = [ \
class PipXtremeModemSettings(uavobject.UAVObject):
## Object constants
OBJID = 1441129524
OBJID = 3841416984
NAME = "PipXtremeModemSettings"
METANAME = "PipXtremeModemSettingsMeta"
ISSINGLEINST = 1

View File

@ -91,6 +91,9 @@ PipXtremeModemStatus::PipXtremeModemStatus(): UAVDataObject(OBJID, ISSINGLEINST,
StateEnumOptions.append("Connected");
StateEnumOptions.append("NotReady");
fields.append( new UAVObjectField(QString("State"), QString(""), UAVObjectField::ENUM, StateElemNames, StateEnumOptions) );
QStringList TxRetryElemNames;
TxRetryElemNames.append("0");
fields.append( new UAVObjectField(QString("TxRetry"), QString(""), UAVObjectField::UINT16, TxRetryElemNames, QStringList()) );
QStringList TxDataRateElemNames;
TxDataRateElemNames.append("0");
fields.append( new UAVObjectField(QString("TxDataRate"), QString("bytes/sec"), UAVObjectField::UINT32, TxDataRateElemNames, QStringList()) );
@ -117,7 +120,7 @@ UAVObject::Metadata PipXtremeModemStatus::getDefaultMetadata()
metadata.gcsTelemetryUpdatePeriod = 0;
metadata.flightTelemetryAcked = 0;
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_PERIODIC;
metadata.flightTelemetryUpdatePeriod = 2000;
metadata.flightTelemetryUpdatePeriod = 5000;
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
metadata.loggingUpdatePeriod = 0;
return metadata;

View File

@ -50,6 +50,7 @@ public:
quint32 RFBandwidth;
qint8 TxPower;
quint8 State;
quint16 TxRetry;
quint32 TxDataRate;
quint32 RxDataRate;
@ -67,12 +68,13 @@ public:
// Field State information
/* Enumeration options for field State */
typedef enum { STATE_DISCONNECTED=0, STATE_CONNECTING=1, STATE_CONNECTED=2, STATE_NOTREADY=3 } StateOptions;
// Field TxRetry information
// Field TxDataRate information
// Field RxDataRate information
// Constants
static const quint32 OBJID = 1854119896U;
static const quint32 OBJID = 2584820952U;
static const QString NAME;
static const bool ISSINGLEINST = 1;
static const bool ISSETTINGS = 0;

View File

@ -134,6 +134,16 @@ _fields = [ \
'3' : 'NotReady',
}
),
uavobject.UAVObjectField(
'TxRetry',
'H',
1,
[
'0',
],
{
}
),
uavobject.UAVObjectField(
'TxDataRate',
'I',
@ -159,7 +169,7 @@ _fields = [ \
class PipXtremeModemStatus(uavobject.UAVObject):
## Object constants
OBJID = 1854119896
OBJID = 2584820952
NAME = "PipXtremeModemStatus"
METANAME = "PipXtremeModemStatusMeta"
ISSINGLEINST = 1