ncp-spinel: Update raw stream to support new metadata format (#717)

This commit updates the raw packet reporting mechanism to use
the [new Spinel metadata format][1] with `PROP_STREAM_RAW`.

To do this, a new boolean was needed for the `RadioPacket` structure
to allow us to differentiate packets that we received over the
air versus packets we have transmitted.

Since the format of the 802.15.4-PHY-specific metadata hasn't yet
been defined, that field (Along with the vendor data field) is left
unspecified.

[1]: https://cdn.rawgit.com/darconeous/openthread/5b887f3a4e7df5c0c806ca1ba80fb1d9619cf8f2/doc/draft-spinel-protocol.html#frame-metadata-format
This commit is contained in:
Robert Quattlebaum
2016-09-28 17:05:51 -07:00
committed by Jonathan Hui
parent d1c83d3625
commit d0763e7283
4 changed files with 52 additions and 21 deletions
+8 -7
View File
@@ -96,13 +96,14 @@ typedef enum otRadioCaps
*/
typedef struct RadioPacket
{
uint8_t *mPsdu; ///< The PSDU.
uint8_t mLength; ///< Length of the PSDU.
uint8_t mChannel; ///< Channel used to transmit/receive the frame.
int8_t mPower; ///< Transmit/receive power in dBm.
uint8_t mLqi; ///< Link Quality Indicator for received frames.
bool mSecurityValid; ///< Security Enabled flag is set and frame passes security checks.
uint16_t mFcs; ///< Final checksum (optional)
uint8_t *mPsdu; ///< The PSDU.
uint8_t mLength; ///< Length of the PSDU.
uint8_t mChannel; ///< Channel used to transmit/receive the frame.
int8_t mPower; ///< Transmit/receive power in dBm.
uint8_t mLqi; ///< Link Quality Indicator for received frames.
bool mSecurityValid: 1; ///< Security Enabled flag is set and frame passes security checks.
bool mDidTX: 1; ///< Set to true if this packet sent from the radio. Ignored by radio driver.
uint16_t mFcs; ///< Final checksum (optional)
} RadioPacket;
/**