DESERT 4.0.0
MinterpreterTEL Class Reference

#include <minterpreterTEL.h>

Inheritance diagram for MinterpreterTEL:
Inheritance graph
Collaboration diagram for MinterpreterTEL:
Collaboration graph

Public Member Functions

 MinterpreterTEL (UWMdriver *)
 
 ~MinterpreterTEL ()
 
std::string build_poweron_DSP (int _step)
 
std::string build_poweroff_DSP (int _step)
 
std::string build_busy_FPGA ()
 
std::string build_stop_listen ()
 
std::string build_config_DSP (int _gain, int _chipset, int _sl, int _th, int _mps_th)
 
std::string build_recv_data (int msg_bytes, int _stop_f, double _delay)
 
std::string build_send_ctrl (std::string _ctrl, int _delay_f, double _delay)
 
std::string build_send_data (std::string _data, int _delay_f, double _delay)
 
std::string build_bitrate (int _bitrate)
 
std::string build_clear_tx ()
 
void parse_TELEGRAM (std::string telegram)
 
- Public Member Functions inherited from UWMinterpreter
 UWMinterpreter (UWMdriver *)
 
 ~UWMinterpreter ()
 
 UWMinterpreter (UWMdriver *)
 
 ~UWMinterpreter ()
 

Private Attributes

double rx_integrity
 

Additional Inherited Members

- Protected Attributes inherited from UWMinterpreter
UWMdriverpmDriver
 
int debug_
 

Detailed Description

Class used to build and parse TELEGRAMS (this class derives UWMinterpreter); currently, this class implements methods to build/parse:

  • simple configuration messages (e.g., setting of DSP and FPGA of modems)
  • messages involved in the transmission of CONTROL and DATA messages. Contact EvoLogics GmbH, Ackerstr. 76 d-13355 Berlin for more info (email: suppo.nosp@m.rt@e.nosp@m.volog.nosp@m.ics..nosp@m.de).

Constructor & Destructor Documentation

◆ MinterpreterTEL()

MinterpreterTEL::MinterpreterTEL ( UWMdriver pmDriver_)

Class constructor.

Parameters
pmDriver_pointer to the UWMdriver object to link with this UWMinterpreter object.

References rx_integrity.

◆ ~MinterpreterTEL()

MinterpreterTEL::~MinterpreterTEL ( )

Class destructor.

Member Function Documentation

◆ build_bitrate()

std::string MinterpreterTEL::build_bitrate ( int  _bitrate)

Method for building the TELEGRAM that will set the bitrate used for transmission.

Parameters
_bitrate
Returns
bitrate_telegram

Referenced by MdriverS2C_Evo_lowlev::modemTxManager().

◆ build_busy_FPGA()

std::string MinterpreterTEL::build_busy_FPGA ( )

Method which builds the string to ask the DSP if it is busy doing modulation/demodulation. The pin under consideration is a read-only pin.

Returns
Formatted string

Referenced by MdriverS2C_Evo_lowlev::modemTxManager().

◆ build_clear_tx()

std::string MinterpreterTEL::build_clear_tx ( )

Method for building the COMMAND that will clear the tx_on pin

Returns
clear_command

Referenced by MdriverS2C_Evo_lowlev::modemTxManager().

◆ build_config_DSP()

std::string MinterpreterTEL::build_config_DSP ( int  _gain,
int  _chipset,
int  _sl,
int  _th,
int  _mps_th 
)

Method for building the TELEGRAM that will allow configuring the DSP. It sets basic settings like gain and source level.

Parameters
_gain
_chipset
_sl
_th
mps_th
Returns
config_string

Referenced by MdriverS2C_Evo_lowlev::modemTxManager().

◆ build_poweroff_DSP()

std::string MinterpreterTEL::build_poweroff_DSP ( int  _step)

Method for building the string for turning off the DSP of the modem which basically turns off the physical layer. Steps go from 1 to 3.

Parameters
_stepAt which step of the turn off process are you (1-3)?
Returns
turnoff_string

Referenced by MdriverS2C_Evo_lowlev::modemTxManager().

◆ build_poweron_DSP()

std::string MinterpreterTEL::build_poweron_DSP ( int  _step)

Method for building the string that allow turning on the DSP of the modem, which basically turns on the physical layer: it is made up of four steps, numbered from 1 to 4,and there is a short interval of 1 second in the middle of the procedure.

Parameters
_stepAt which step of the turn on process are you (1-4)?
Returns
turnon_string

Referenced by MdriverS2C_Evo_lowlev::modemTxManager().

◆ build_recv_data()

std::string MinterpreterTEL::build_recv_data ( int  msg_bytes,
int  _stop_f,
double  _delay 
)

Method for building the TELEGRAM that will allow receiving BITS, wheter CONTROL or DATA messages. It basically switches the physical layer to detect signals and demodulate them. Any new TELEGRAM automatically makes the physical layer to exit this mode.

Parameters
_stop_fFlag to tell the firmware to stop listening after _stop
_delayTime to wait before shutting stopping listening
Returns
recv_string

Referenced by MdriverS2C_Evo_lowlev::modemTxManager().

◆ build_send_ctrl()

std::string MinterpreterTEL::build_send_ctrl ( std::string  _ctrl,
int  _delay_f,
double  _delay 
)

Method for building the TELEGRAM that will transmit CONTROL messages, which are short messanges of maximum length with fixed bitrate. The bitrate is ? and maximum allowed length is ?.

Parameters
_crtl
_delay_f
_delay
Returns
ctrl_telegram

Referenced by MdriverS2C_Evo_lowlev::modemTxManager().

◆ build_send_data()

std::string MinterpreterTEL::build_send_data ( std::string  _data,
int  _delay_f,
double  _delay 
)

Method for building the TELEGRAM that will send DATA messages. The maximum allowed length of DATA messages is 7881

Parameters
_data
_delay_fFlag to tell the firmware to real _delay
_delayCan make the operation to wait some maount of time
Returns
data_telegram

Referenced by MdriverS2C_Evo_lowlev::modemTxManager().

◆ build_stop_listen()

std::string MinterpreterTEL::build_stop_listen ( )

Method which builds the TELEGRAM that makes the physical layer to exit the listen mode. The modem stops listening for incoming signals asnd returns a timestamp.

Returns
Formatted string

Referenced by MdriverS2C_Evo_lowlev::modemTxManager().

◆ parse_TELEGRAM()

void MinterpreterTEL::parse_TELEGRAM ( std::string  telegram)

Method for parsing what is received upon receiving a TELEGRAM

Parameters
_received

References UWMinterpreter::pmDriver, rx_integrity, and UWMdriver::updateRx().

Referenced by MdriverS2C_Evo_lowlev::updateStatus().

Here is the call graph for this function:

Member Data Documentation

◆ rx_integrity

double MinterpreterTEL::rx_integrity
private

Integrity of the last received packet.

Referenced by MinterpreterTEL(), and parse_TELEGRAM().


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