Android-cuttlefish cvd tool
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
cuttlefish::CasimirController Class Reference

#include <casimir_controller.h>

Collaboration diagram for cuttlefish::CasimirController:
Collaboration graph
[legend]

Public Member Functions

Result< void > Mute ()
 
Result< void > Unmute ()
 
Result< void > SetPowerLevel (uint32_t power_level)
 
Result< std::tuple< std::vector< uint8_t >, std::string, bool, uint32_t, uint32_t, uint32_t, double > > SendBroadcast (std::vector< uint8_t > data, std::string type, bool crc, uint8_t bits, uint32_t bitrate, uint32_t timeout, double power)
 
Result< uint16_t > Poll ()
 
Result< std::vector< uint8_t > > SendApdu (uint16_t receiver_id, std::vector< uint8_t > apdu)
 

Static Public Member Functions

static Result< CasimirControllerConnectToTcpPort (int rf_port)
 
static Result< CasimirControllerConnectToUnixSocket (const std::string &rf)
 

Private Member Functions

 CasimirController (SharedFD sock)
 
Result< uint16_t > SelectNfcA ()
 
Result< void > SelectT4AT (uint16_t sender_id)
 
Result< void > Write (const RfPacketBuilder &rf_packet)
 
Result< std::shared_ptr< std::vector< uint8_t > > > ReadExact (size_t size, std::chrono::microseconds timeout)
 
Result< std::shared_ptr< std::vector< uint8_t > > > ReadRfPacket (std::chrono::microseconds timeout)
 

Private Attributes

SharedFD sock_
 
uint8_t power_level
 

Constructor & Destructor Documentation

◆ CasimirController()

cuttlefish::CasimirController::CasimirController ( SharedFD  sock)
private

Member Function Documentation

◆ ConnectToTcpPort()

Result< CasimirController > cuttlefish::CasimirController::ConnectToTcpPort ( int  rf_port)
static

◆ ConnectToUnixSocket()

Result< CasimirController > cuttlefish::CasimirController::ConnectToUnixSocket ( const std::string &  rf)
static

◆ Mute()

Result< void > cuttlefish::CasimirController::Mute ( )

◆ Poll()

Result< uint16_t > cuttlefish::CasimirController::Poll ( )

◆ ReadExact()

Result< std::shared_ptr< std::vector< uint8_t > > > cuttlefish::CasimirController::ReadExact ( size_t  size,
std::chrono::microseconds  timeout 
)
private

◆ ReadRfPacket()

Result< std::shared_ptr< std::vector< uint8_t > > > cuttlefish::CasimirController::ReadRfPacket ( std::chrono::microseconds  timeout)
private

◆ SelectNfcA()

Result< uint16_t > cuttlefish::CasimirController::SelectNfcA ( )
private

◆ SelectT4AT()

Result< void > cuttlefish::CasimirController::SelectT4AT ( uint16_t  sender_id)
private

◆ SendApdu()

Result< std::vector< uint8_t > > cuttlefish::CasimirController::SendApdu ( uint16_t  receiver_id,
std::vector< uint8_t >  apdu 
)

◆ SendBroadcast()

Result< std::tuple< std::vector< uint8_t >, std::string, bool, uint32_t, uint32_t, uint32_t, double > > cuttlefish::CasimirController::SendBroadcast ( std::vector< uint8_t >  data,
std::string  type,
bool  crc,
uint8_t  bits,
uint32_t  bitrate,
uint32_t  timeout,
double  power 
)

◆ SetPowerLevel()

Result< void > cuttlefish::CasimirController::SetPowerLevel ( uint32_t  power_level)

◆ Unmute()

Result< void > cuttlefish::CasimirController::Unmute ( )

◆ Write()

Result< void > cuttlefish::CasimirController::Write ( const RfPacketBuilder rf_packet)
private

Member Data Documentation

◆ power_level

uint8_t cuttlefish::CasimirController::power_level
private

◆ sock_

SharedFD cuttlefish::CasimirController::sock_
private

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