GNU Radio's FOOT Package
gr::bluetooth::classic_packet Class Referenceabstract

<+description of block+> More...

#include <packet.h>

Inheritance diagram for gr::bluetooth::classic_packet:
gr::bluetooth::packet gr::bluetooth::classic_packet_impl

Public Types

typedef boost::shared_ptr< classic_packetsptr
 
- Public Types inherited from gr::bluetooth::packet
enum  air_format { UNKNOWN = 0, CLASSIC, LOW_ENERGY, NUM_BTAF }
 
typedef boost::shared_ptr< packetsptr
 

Public Member Functions

virtual int crc_check (int clock)=0
 
virtual bool decode_header ()=0
 
virtual void decode_payload ()=0
 
virtual void print ()=0
 
virtual char * tun_format ()=0
 
virtual uint32_t get_LAP ()=0
 
virtual uint8_t get_UAP ()=0
 
virtual void set_UAP (uint8_t UAP)=0
 
virtual void set_NAP (uint16_t NAP)=0
 
virtual uint32_t get_clock ()=0
 
virtual void set_clock (uint32_t clk6, bool have27)=0
 
virtual uint8_t try_clock (int clock)=0
 
virtual bool header_present ()=0
 
virtual uint32_t lap_from_fhs ()=0
 
virtual uint8_t uap_from_fhs ()=0
 
virtual uint16_t nap_from_fhs ()=0
 
virtual uint32_t clock_from_fhs ()=0
 
int get_channel ()
 
- Public Member Functions inherited from gr::bluetooth::packet
 packet ()
 
 packet (char *stream, int length, double freq=0.0)
 
virtual ~packet ()
 
bool get_whitened ()
 
void set_whitened (bool whitened)
 
int get_payload_length ()
 
bool got_payload ()
 
int get_type ()
 
void decode ()
 

Static Public Member Functions

static sptr make (char *stream, int length)
 Return a shared_ptr to a new instance of gr::bluetooth::classic_packet. More...
 
static sptr make (char *stream, int length, uint32_t clkn, double freq)
 
static int sniff_ac (char *stream, int stream_length)
 
static uint8_t * lfsr (uint8_t *data, int length, int k, uint8_t *g)
 
static uint8_t * acgen (int LAP)
 
static bool unfec13 (char *input, char *output, int length)
 
static char * unfec23 (char *input, int length)
 
static bool check_ac (char *stream, int LAP)
 
static uint16_t crcgen (char *payload, int length, int UAP)
 
static int UAP_from_hec (uint16_t data, uint8_t hec)
 
- Static Public Member Functions inherited from gr::bluetooth::packet
static int sniff_packet (char *stream, int stream_length, double freq, air_format &fmt)
 
static uint8_t reverse (char byte)
 
static void convert_to_grformat (uint8_t input, uint8_t *output)
 
static uint8_t air_to_host8 (char *air_order, int bits)
 
static uint16_t air_to_host16 (char *air_order, int bits)
 
static uint32_t air_to_host32 (char *air_order, int bits)
 
static void host_to_air (uint8_t host_order, char *air_order, int bits)
 

Public Attributes

uint32_t d_clkn
 

Static Public Attributes

static const int ID_THRESHOLD = 5
 
static const int SYMBOLS_PER_BASIC_RATE_ACCESS_CODE = 68
 
static const uint8_t INDICES [64]
 
static const uint8_t PREAMBLE_DISTANCE [32]
 
static const uint8_t BARKER_DISTANCE [128]
 
static const std::string TYPE_NAMES [16]
 
- Static Public Attributes inherited from gr::bluetooth::packet
static const uint8_t WHITENING_DATA [127]
 

Detailed Description

<+description of block+>

Member Typedef Documentation

◆ sptr

Member Function Documentation

◆ acgen()

static uint8_t* gr::bluetooth::classic_packet::acgen ( int  LAP)
static

◆ check_ac()

static bool gr::bluetooth::classic_packet::check_ac ( char *  stream,
int  LAP 
)
static

◆ clock_from_fhs()

virtual uint32_t gr::bluetooth::classic_packet::clock_from_fhs ( )
pure virtual

◆ crc_check()

virtual int gr::bluetooth::classic_packet::crc_check ( int  clock)
pure virtual

◆ crcgen()

static uint16_t gr::bluetooth::classic_packet::crcgen ( char *  payload,
int  length,
int  UAP 
)
static

◆ decode_header()

virtual bool gr::bluetooth::classic_packet::decode_header ( )
pure virtual

◆ decode_payload()

virtual void gr::bluetooth::classic_packet::decode_payload ( )
pure virtual

◆ get_channel()

int gr::bluetooth::classic_packet::get_channel ( )
inlinevirtual

Implements gr::bluetooth::packet.

◆ get_clock()

virtual uint32_t gr::bluetooth::classic_packet::get_clock ( )
pure virtual

◆ get_LAP()

virtual uint32_t gr::bluetooth::classic_packet::get_LAP ( )
pure virtual

◆ get_UAP()

virtual uint8_t gr::bluetooth::classic_packet::get_UAP ( )
pure virtual

◆ header_present()

virtual bool gr::bluetooth::classic_packet::header_present ( )
pure virtual

◆ lap_from_fhs()

virtual uint32_t gr::bluetooth::classic_packet::lap_from_fhs ( )
pure virtual

◆ lfsr()

static uint8_t* gr::bluetooth::classic_packet::lfsr ( uint8_t *  data,
int  length,
int  k,
uint8_t *  g 
)
static

◆ make() [1/2]

static sptr gr::bluetooth::classic_packet::make ( char *  stream,
int  length 
)
static

Return a shared_ptr to a new instance of gr::bluetooth::classic_packet.

To avoid accidental use of raw pointers, gr::bluetooth::classic_packet's constructor is in a private implementation class. gr::bluetooth::classic_packet::make is the public interface for creating new instances.

◆ make() [2/2]

static sptr gr::bluetooth::classic_packet::make ( char *  stream,
int  length,
uint32_t  clkn,
double  freq 
)
static

◆ nap_from_fhs()

virtual uint16_t gr::bluetooth::classic_packet::nap_from_fhs ( )
pure virtual

◆ print()

virtual void gr::bluetooth::classic_packet::print ( )
pure virtual

◆ set_clock()

virtual void gr::bluetooth::classic_packet::set_clock ( uint32_t  clk6,
bool  have27 
)
pure virtual

◆ set_NAP()

virtual void gr::bluetooth::classic_packet::set_NAP ( uint16_t  NAP)
pure virtual

◆ set_UAP()

virtual void gr::bluetooth::classic_packet::set_UAP ( uint8_t  UAP)
pure virtual

◆ sniff_ac()

static int gr::bluetooth::classic_packet::sniff_ac ( char *  stream,
int  stream_length 
)
static

◆ try_clock()

virtual uint8_t gr::bluetooth::classic_packet::try_clock ( int  clock)
pure virtual

◆ tun_format()

virtual char* gr::bluetooth::classic_packet::tun_format ( )
pure virtual

◆ uap_from_fhs()

virtual uint8_t gr::bluetooth::classic_packet::uap_from_fhs ( )
pure virtual

◆ UAP_from_hec()

static int gr::bluetooth::classic_packet::UAP_from_hec ( uint16_t  data,
uint8_t  hec 
)
static

◆ unfec13()

static bool gr::bluetooth::classic_packet::unfec13 ( char *  input,
char *  output,
int  length 
)
static

◆ unfec23()

static char* gr::bluetooth::classic_packet::unfec23 ( char *  input,
int  length 
)
static

Member Data Documentation

◆ BARKER_DISTANCE

const uint8_t gr::bluetooth::classic_packet::BARKER_DISTANCE[128]
static

◆ d_clkn

uint32_t gr::bluetooth::classic_packet::d_clkn

◆ ID_THRESHOLD

const int gr::bluetooth::classic_packet::ID_THRESHOLD = 5
static

◆ INDICES

const uint8_t gr::bluetooth::classic_packet::INDICES[64]
static

◆ PREAMBLE_DISTANCE

const uint8_t gr::bluetooth::classic_packet::PREAMBLE_DISTANCE[32]
static

◆ SYMBOLS_PER_BASIC_RATE_ACCESS_CODE

const int gr::bluetooth::classic_packet::SYMBOLS_PER_BASIC_RATE_ACCESS_CODE = 68
static

◆ TYPE_NAMES

const std::string gr::bluetooth::classic_packet::TYPE_NAMES[16]
static

The documentation for this class was generated from the following file: