diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2010-09-23 21:05:18 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2019-05-23 13:03:36 +0200 |
commit | fea9d9e0562d37afeb8f41a799620407667d0e8d (patch) | |
tree | cd0c95c95f0bd1a7590299a360b8ebaf82232502 /src/target/firmware/include | |
parent | 66e41a35c9c960273336a8edd8b167e61eb643b8 (diff) |
[WIP] Change TPU offset on TS change or sync change
When TPU offset must be changed (assignment to different timeslot or handover
to a different cell), all tasks will be disabled until new TPU offset has been
applied. Currently scheduled tasks are finished before the new TPU offset is
applied.
On change of TPU offset, the TPU's interrupt may skip one frame when changing
backwards in time. Also it may generate two interrupts when changing
significantly forward in time. This is compensated by changing the GSM time.
Change-Id: If858484a9cf497e0f6e8d84593ab3637c2668869
Diffstat (limited to 'src/target/firmware/include')
-rw-r--r-- | src/target/firmware/include/layer1/sync.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/target/firmware/include/layer1/sync.h b/src/target/firmware/include/layer1/sync.h index 3565ee20..7ce87566 100644 --- a/src/target/firmware/include/layer1/sync.h +++ b/src/target/firmware/include/layer1/sync.h @@ -72,7 +72,9 @@ struct l1s_state { /* The current TPU offset register */ uint32_t tpu_offset; - int32_t tpu_offset_correction; + int32_t tpu_offset_correction; /* used for TOA adjustment */ + int32_t tpu_offset_shift; /* used for TS or sync change */ + int32_t tpu_offset_changed; /* offset changed at last fiq */ /* TX parameters */ int8_t ta; |