Crazyradio.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #include <stdint.h>
00004 #include <vector>
00005 
00006 #include "ITransport.h"
00007 #include "USBDevice.h"
00008 
00009 class Crazyradio
00010   : public ITransport
00011   , public USBDevice
00012 {
00013 public:
00014     enum Datarate
00015     {
00016         Datarate_250KPS = 0,
00017         Datarate_1MPS   = 1,
00018         Datarate_2MPS   = 2,
00019     };
00020 
00021     enum Power
00022     {
00023         Power_M18DBM = 0,
00024         Power_M12DBM = 1,
00025         Power_M6DBM  = 2,
00026         Power_0DBM   = 3,
00027     };
00028 
00029 public:
00030     Crazyradio(
00031         uint32_t devid);
00032 
00033     virtual ~Crazyradio();
00034 
00035     static uint32_t numDevices();
00036 
00037     float version() const {
00038         return m_version;
00039     }
00040 
00041     void setChannel(
00042         uint8_t channel);
00043 
00044     uint8_t getChannel() const {
00045         return m_channel;
00046     }
00047 
00048     void setAddress(
00049         uint64_t address);
00050 
00051     uint64_t getAddress() const {
00052         return m_address;
00053     }
00054 
00055     void setDatarate(
00056         Datarate datarate);
00057 
00058     Datarate getDatarate() const {
00059         return m_datarate;
00060     }
00061 
00062     void setPower(
00063         Power power);
00064 
00065     void setArc(
00066         uint8_t arc);
00067 
00068     void setArdTime(
00069         uint8_t us);
00070 
00071     void setArdBytes(
00072         uint8_t nbytes);
00073 
00074     void setAckEnable(
00075         bool enable);
00076 
00077     bool getAckEnable() const {
00078         return m_ackEnable;
00079     }
00080 
00081     void setContCarrier(
00082         bool active);
00083 
00084     virtual void sendPacket(
00085         const uint8_t* data,
00086         uint32_t length,
00087         ITransport::Ack& result);
00088 
00089     virtual void sendPacketNoAck(
00090         const uint8_t* data,
00091         uint32_t length);
00092 
00093 
00094     virtual void send2PacketsNoAck(
00095         const uint8_t* data,
00096         uint32_t totalLength);
00097 
00098 private:
00099     uint8_t m_channel;
00100     uint64_t m_address;
00101     Datarate m_datarate;
00102     bool m_ackEnable;
00103 };


crazyflie_cpp
Author(s): Wolfgang Hoenig
autogenerated on Wed Jun 12 2019 19:20:44