DESERT 4.0.0
mdriverS2C_Evo_lowlev.h
Go to the documentation of this file.
1//
2// Copyright (c) 2016 Regents of the SIGNET lab, University of Padova.
3// All rights reserved.
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions
7// are met:
8// 1. Redistributions of source code must retain the above copyright
9// notice, this list of conditions and the following disclaimer.
10// 2. Redistributions in binary form must reproduce the above copyright
11// notice, this list of conditions and the following disclaimer in the
12// documentation and/or other materials provided with the distribution.
13// 3. Neither the name of the University of Padova (SIGNET lab) nor the
14// names of its contributors may be used to endorse or promote products
15// derived from this software without specific prior written permission.
16//
17// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
21// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
24// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
38#ifndef UWMDRIVERS2CLOWLEVEL_H
39#define UWMDRIVERS2CLOWLEVEL_H
40
41#include "minterpreterTEL.h"
42#include <msocket.h>
43#include <queue>
44#include <uwmdriver.h>
45
63
65
67
69
76{
77
87 std::queue<std::string> queue_tx;
89 std::queue<std::string> queue_rx;
91 int _gain;
92 int _SL;
98 int _th;
100 int
103 double _delay;
113public:
126 void start();
131 void stop();
135 void setBitrate(int index);
139 void setSourceLevel(int level);
143 void setPktBitLen(int bitlen);
151 void modemTx();
190 virtual void modemSetID();
201 virtual modem_state_t updateStatus();
202
203protected:
208 void modemTxManager();
215};
216#endif
enum MODEM_STATES modem_state_t
Definition uwmdriver.h:79
Definition mdriverS2C_Evo_lowlev.h:76
int _SL
Definition mdriverS2C_Evo_lowlev.h:92
void modemTx()
Definition mdriverS2C_Evo_lowlev.cpp:162
ll_tx_state_t m_state_tx
Definition mdriverS2C_Evo_lowlev.h:84
double _delay
Definition mdriverS2C_Evo_lowlev.h:103
int _chipset
Definition mdriverS2C_Evo_lowlev.h:95
void start()
Definition mdriverS2C_Evo_lowlev.cpp:130
void stop()
Definition mdriverS2C_Evo_lowlev.cpp:148
int _delay_flag
Definition mdriverS2C_Evo_lowlev.h:106
Msocket mConnector
Definition mdriverS2C_Evo_lowlev.h:80
std::queue< std::string > queue_tx
Definition mdriverS2C_Evo_lowlev.h:87
std::queue< std::string > queue_rx
Definition mdriverS2C_Evo_lowlev.h:89
ll_rx_state_t m_state_rx
Definition mdriverS2C_Evo_lowlev.h:85
void setBitrate(int index)
Definition mdriverS2C_Evo_lowlev.cpp:553
void setPktBitLen(int bitlen)
Definition mdriverS2C_Evo_lowlev.cpp:565
int _gain
Definition mdriverS2C_Evo_lowlev.h:91
virtual modem_state_t updateStatus()
Definition mdriverS2C_Evo_lowlev.cpp:170
int _th
Definition mdriverS2C_Evo_lowlev.h:98
~MdriverS2C_Evo_lowlev()
Definition mdriverS2C_Evo_lowlev.cpp:125
void setSourceLevel(int level)
Definition mdriverS2C_Evo_lowlev.cpp:559
void updateTxState(ll_tx_state_t)
Definition mdriverS2C_Evo_lowlev.cpp:491
int _mps_th
Definition mdriverS2C_Evo_lowlev.h:101
virtual void modemSetID()
Definition mdriverS2C_Evo_lowlev.cpp:571
int _msg_bitlen
Definition mdriverS2C_Evo_lowlev.h:110
void modemTxManager()
Definition mdriverS2C_Evo_lowlev.cpp:397
int _bitrate_i
Definition mdriverS2C_Evo_lowlev.h:93
MinterpreterTEL mInterpreter
Definition mdriverS2C_Evo_lowlev.h:78
Definition minterpreterTEL.h:64
Definition msocket.h:59
Definition uwmphy_modem.h:85
Definition uwmdriver.h:94
enum LL_STATE_RX ll_rx_state_t
Definition mdriverS2C_Evo_lowlev.h:68
LL_STATE_TX
Definition mdriverS2C_Evo_lowlev.h:46
@ TX_STATE_CTRL
Definition mdriverS2C_Evo_lowlev.h:56
@ TX_STATE_ASK_BUSY
Definition mdriverS2C_Evo_lowlev.h:59
@ TX_STATE_IDLE
Definition mdriverS2C_Evo_lowlev.h:47
@ TX_STATE_CLEAR_TX
Definition mdriverS2C_Evo_lowlev.h:61
@ TX_STATE_ON2
Definition mdriverS2C_Evo_lowlev.h:49
@ TX_STATE_BITRATE_CFG
Definition mdriverS2C_Evo_lowlev.h:57
@ TX_STATE_ON4
Definition mdriverS2C_Evo_lowlev.h:51
@ TX_STATE_OFF1
Definition mdriverS2C_Evo_lowlev.h:52
@ TX_STATE_ON1
Definition mdriverS2C_Evo_lowlev.h:48
@ TX_STATE_ON3
Definition mdriverS2C_Evo_lowlev.h:50
@ TX_STATE_OFF3
Definition mdriverS2C_Evo_lowlev.h:54
@ TX_STATE_OFF2
Definition mdriverS2C_Evo_lowlev.h:53
@ TX_STATE_DSP_CFG
Definition mdriverS2C_Evo_lowlev.h:58
@ TX_STATE_DATA
Definition mdriverS2C_Evo_lowlev.h:55
@ TX_STATE_STOP_LISTEN
Definition mdriverS2C_Evo_lowlev.h:60
enum LL_STATE_TX ll_tx_state_t
Definition mdriverS2C_Evo_lowlev.h:66
LL_STATE_RX
Definition mdriverS2C_Evo_lowlev.h:64
@ LISTENING
Definition mdriverS2C_Evo_lowlev.h:64
@ RX_STATE_DATA
Definition mdriverS2C_Evo_lowlev.h:64
@ RX_STATE_IDLE
Definition mdriverS2C_Evo_lowlev.h:64
Class that is in charge of building and parsing the required messages to make the UWMdriver able to c...