trx_toolkit/clck_gen.py: refactor CLCKGen to use a single thread
commitbaf07c4be2faf791b4c5d34d065eafea1408e95a
authorVadim Yanitskiy <axilirator@gmail.com>
Sat, 23 Nov 2019 18:30:57 +0000 (24 01:30 +0700)
committerVadim Yanitskiy <axilirator@gmail.com>
Sat, 23 Nov 2019 19:24:34 +0000 (24 02:24 +0700)
treefab4b4cd76fea523ff6d550560ae047207e51e4e
parentae8e5ad64841ed437385bfbf298cd9dad6c10af4
trx_toolkit/clck_gen.py: refactor CLCKGen to use a single thread

The previous approach was based on threading.Timer, so on each clock
iteration one thread spawned another new thread.  So far it worked
well, but such frequent spawning involves an additional overhead.

After this change, CLCKGen.start() allocates and starts a new thread,
that periodically sends clock indications and sleep()s during the
indication intervals.  The CLCKGen.stop() in its turn terminates
that thread and frees the memory.

Change-Id: Ibe477eb0a1ee2193c1ff16452a407be7e858b2ef
src/target/trx_toolkit/clck_gen.py
src/target/trx_toolkit/transceiver.py