aboutsummaryrefslogtreecommitdiffstats
path: root/src/osmo-bts-virtual/scheduler_virtbts.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-02-19 14:21:36 +0100
committerHarald Welte <laforge@gnumonks.org>2018-02-27 19:58:20 +0100
commitd5bbd8ccf79eaf13bc23cc71accbeb3ff638b6dd (patch)
tree0f1ec34ad152ac9e7933724b35a8d342e8be2abe /src/osmo-bts-virtual/scheduler_virtbts.c
parentb3a2a3e24f44adcc6660d33cc9684a8f24271e2e (diff)
trx/scheduler: Use integer math for TOA (Timing of Arrival)
There's no need to express TOA as a float: * We receive it as signed 16bit integer in units 1/256 symbol periods * We pass it to L1SAP as signed integer in 1/4 symbol periods So turn it into an int16_t with 1/256 symbol period accuracy throughout the code to avoid both float arithmetic as well as loosing any precision. Change-Id: Idce4178e0b1f7e940ebc22b3e2f340fcd544d4ec
Diffstat (limited to 'src/osmo-bts-virtual/scheduler_virtbts.c')
-rw-r--r--src/osmo-bts-virtual/scheduler_virtbts.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/osmo-bts-virtual/scheduler_virtbts.c b/src/osmo-bts-virtual/scheduler_virtbts.c
index 2283be1f..5782c0a5 100644
--- a/src/osmo-bts-virtual/scheduler_virtbts.c
+++ b/src/osmo-bts-virtual/scheduler_virtbts.c
@@ -480,7 +480,7 @@ send_burst:
int rx_rach_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn,
enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits,
- int8_t rssi, float toa)
+ int8_t rssi, int16_t toa256)
{
return 0;
}
@@ -488,28 +488,28 @@ int rx_rach_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn,
/*! \brief a single burst was received by the PHY, process it */
int rx_data_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn,
enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits,
- int8_t rssi, float toa)
+ int8_t rssi, int16_t toa256)
{
return 0;
}
int rx_pdtch_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn,
enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits,
- int8_t rssi, float toa)
+ int8_t rssi, int16_t toa256)
{
return 0;
}
int rx_tchf_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn,
enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits,
- int8_t rssi, float toa)
+ int8_t rssi, int16_t toa256)
{
return 0;
}
int rx_tchh_fn(struct l1sched_trx *l1t, uint8_t tn, uint32_t fn,
enum trx_chan_type chan, uint8_t bid, sbit_t *bits, uint16_t nbits,
- int8_t rssi, float toa)
+ int8_t rssi, int16_t toa256)
{
return 0;
}