本文整理汇总了C++中WirelessPacket::frequency方法的典型用法代码示例。如果您正苦于以下问题:C++ WirelessPacket::frequency方法的具体用法?C++ WirelessPacket::frequency怎么用?C++ WirelessPacket::frequency使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WirelessPacket
的用法示例。
在下文中一共展示了WirelessPacket::frequency方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: parseSweeps
DiagnosticPacket::DiagnosticPacket(const WirelessPacket& packet)
{
//construct the data packet from the wireless packet passed in
m_nodeAddress = packet.nodeAddress();
m_deliveryStopFlags = packet.deliveryStopFlags();
m_type = packet.type();
m_nodeRSSI = WirelessTypes::UNKNOWN_RSSI;
m_baseRSSI = packet.baseRSSI();
m_frequency = packet.frequency();
m_payload = packet.payload();
//parse the data sweeps in the packet
parseSweeps();
}
示例2: parseSweeps
BufferedLdcPacket::BufferedLdcPacket(const WirelessPacket& packet)
{
//construct the data packet from the wireless packet passed in
m_nodeAddress = packet.nodeAddress();
m_deliveryStopFlags = packet.deliveryStopFlags();
m_type = packet.type();
m_nodeRSSI = WirelessTypes::UNKNOWN_RSSI;
m_baseRSSI = packet.baseRSSI();
m_frequency = packet.frequency();
m_payload = packet.payload();
m_payloadOffsetChannelData = PAYLOAD_OFFSET_CHANNEL_DATA;
//parse the data sweeps in the packet
parseSweeps();
}
示例3:
HclSmartBearing_RawPacket::HclSmartBearing_RawPacket(const WirelessPacket& packet)
{
//construct the data packet from the wireless packet passed in
m_nodeAddress = packet.nodeAddress();
m_deliveryStopFlags = packet.deliveryStopFlags();
m_type = packet.type();
m_nodeRSSI = packet.nodeRSSI();
m_baseRSSI = packet.baseRSSI();
m_frequency = packet.frequency();
m_payload = packet.payload();
m_payloadOffsetChannelData = 0; //not used for these packets
//parse the data sweeps in the packet
parseSweeps();
}
示例4: savePoint
//.........这里部分代码省略.........
//Invalid Packet
return parsePacketResult_invalidPacket;
}
//read byte 2
uint8 deliveryStopFlag = data.read_uint8(); //Delivery Stop Flag
//read byte 3
uint8 appDataType = data.read_uint8(); //App Data Type
//read bytes 4 - 7
uint32 nodeAddress = data.read_uint32(); //Node Address
//read bytes 8 and 9
uint16 payloadLength = data.read_uint16(); //Payload Length
//determine the full packet length
size_t packetLength = payloadLength + WirelessPacket::ASPP_V2_NUM_BYTES_BEFORE_PAYLOAD + WirelessPacket::ASPP_V2_NUM_BYTES_AFTER_PAYLOAD;
//the DataBuffer must be large enough to hold the rest of the packet
if(totalBytesAvailable < packetLength)
{
//Not Enough Data to tell if valid packet
return parsePacketResult_notEnoughData;
}
//create the Bytes vector to hold the payload bytes
Bytes payload;
payload.reserve(payloadLength);
//loop through the payload
for(uint16 payloadItr = 0; payloadItr < payloadLength; payloadItr++)
{
//store the payload bytes
payload.push_back(data.read_uint8()); //Payload Bytes
}
//read the node RSSI
uint8 nodeRSSI = data.read_uint8(); //Node RSSI
//read the base station rssi
uint8 baseRSSI = data.read_uint8(); //Base RSSI
//get the checksum sent in the packet
uint16 checksum = data.read_uint16(); //Checksum
//build the checksum to calculate from all the bytes
ChecksumBuilder calcChecksum;
calcChecksum.append_uint8(startOfPacket);
calcChecksum.append_uint8(deliveryStopFlag);
calcChecksum.append_uint8(appDataType);
calcChecksum.append_uint32(nodeAddress);
calcChecksum.append_uint16(payloadLength);
calcChecksum.appendBytes(payload);
calcChecksum.append_uint8(nodeRSSI);
calcChecksum.append_uint8(baseRSSI);
//verify that the returned checksum is the same as the one we calculated
if(checksum != calcChecksum.fletcherChecksum())
{
//Bad Checksum
return parsePacketResult_badChecksum;
}
DeliveryStopFlags flags = DeliveryStopFlags::fromByte(deliveryStopFlag);
//add all the info about the packet to the WirelessPacket reference passed in
packet.deliveryStopFlags(flags);
packet.type(static_cast<WirelessPacket::PacketType>(appDataType));
packet.nodeAddress(nodeAddress);
packet.payload(payload);
packet.nodeRSSI(static_cast<int16>(nodeRSSI) - 205);
packet.baseRSSI(static_cast<int16>(baseRSSI) - 205);
packet.frequency(freq);
//Correct the packet type if it is incorrect
WirelessPacketUtils::correctPacketType(packet);
//make sure the packet is valid based on its specific type
if(!WirelessPacketUtils::packetIntegrityCheck(packet))
{
//not a valid packet, failed integrity check
return parsePacketResult_invalidPacket;
}
//check if the packet is a duplicate
if(isDuplicate(packet))
{
//even though it is a duplicate, we still have a complete packet so commit the bytes to skip over them
savePoint.commit();
//duplicate packet
return parsePacketResult_duplicate;
}
//we have a complete packet, commit the bytes that we just read (move the read pointer)
savePoint.commit();
return parsePacketResult_completePacket;
}