GNU Radio's GSM Package
txtime_setter_impl.h
Go to the documentation of this file.
1 /* -*- c++ -*- */
2 /* @file
3  * @author Piotr Krysik <ptrkrysik@gmail.com>
4  * @section LICENSE
5  *
6  * Gr-gsm is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 3, or (at your option)
9  * any later version.
10  *
11  * Gr-gsm is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with gr-gsm; see the file COPYING. If not, write to
18  * the Free Software Foundation, Inc., 51 Franklin Street,
19  * Boston, MA 02110-1301, USA.
20  *
21  */
22 
23 #ifndef INCLUDED_GSM_TXTIME_SETTER_IMPL_H
24 #define INCLUDED_GSM_TXTIME_SETTER_IMPL_H
25 
29 
30 namespace gr {
31  namespace gsm {
32 
34  {
35  private:
36  uint32_t d_fn_ref;
37  uint32_t d_ts_ref;
38  time_format d_time_ref;
39  time_format d_time_hint;
40  double d_timing_advance;
41  double d_delay_correction;
42 
43  void process_fn_time_reference(pmt::pmt_t msg);
44  void process_txtime_of_burst(pmt::pmt_t msg);
45 
46  public:
47  txtime_setter_impl(uint32_t init_fn, uint64_t init_time_secs,
48  double init_time_fracs, uint64_t time_hint_secs,
49  double time_hint_fracs, double timing_advance,
50  double delay_correction);
52 
53  // Where all the action really happens
54  void set_fn_time_reference(uint32_t fn, uint32_t ts,
55  uint64_t time_secs, double time_fracs);
56  void set_time_hint(uint64_t time_hint_secs, double time_hint_fracs);
57  void set_delay_correction(double delay_correction);
59  };
60 
61  } // namespace gsm
62 } // namespace gr
63 
64 #endif /* INCLUDED_GSM_TXTIME_SETTER_IMPL_H */
gr::gsm::txtime_setter_impl::~txtime_setter_impl
~txtime_setter_impl()
time_spec.h
fn_time.h
gr::gsm::txtime_setter_impl::set_time_hint
void set_time_hint(uint64_t time_hint_secs, double time_hint_fracs)
gr::gsm::txtime_setter
<+description of block+>
Definition: txtime_setter.h:38
timing_advance
uint8_t timing_advance
Definition: gsm_04_08.h:8
gr::gsm::time_format
std::pair< unsigned long long, double > time_format
Definition: fn_time.h:46
gr::gsm::txtime_setter_impl::txtime_setter_impl
txtime_setter_impl(uint32_t init_fn, uint64_t init_time_secs, double init_time_fracs, uint64_t time_hint_secs, double time_hint_fracs, double timing_advance, double delay_correction)
txtime_setter.h
gr::gsm::txtime_setter_impl::set_fn_time_reference
void set_fn_time_reference(uint32_t fn, uint32_t ts, uint64_t time_secs, double time_fracs)
gr::gsm::txtime_setter_impl::set_delay_correction
void set_delay_correction(double delay_correction)
gr::gsm::txtime_setter_impl::set_timing_advance
void set_timing_advance(double timing_advance)
gr
Definition: constants.h:29
gr::gsm::txtime_setter_impl
Definition: txtime_setter_impl.h:33