TSC / CCS / MCS

Test - Integrate - Control

Fast Telecommanding

High speed telecommanding: TSC allows you to send telecommands at high speed.
The TSC allows you to send TC at high speed. Even with full verification it is still possible to send hundreds of TC per second (fastest measured to date = 620 TC/s) on a fast multi-core PC.

You may need to tune your TC cache size to fit the speed of your PC, the rate of sending TC, and the speed of TC responses from the system under test.

The TC cache size setting is stored in setting TC/cacheSize, note: the default size of this cache is very low (100).
If you intend to send TC fast, this setting should be increased.

The TC cache contains (in memory) all TC sent and kept for viewing in the log and waiting for verification.
To avoid that this memory grows indefinitely, we have to decide when to stop displaying old TC.

The rules are:
- if a TC has completed verification (as far as has been requested), it becomes a candidate for deletion from the cache
- if new TC must be sent, and the cache is full, then the first completed TC(i.e. completed all verification stages) and waiting for deletion is removed from the cache to make way for the new TC.

In some circumstances (fast TC sending, slow PC, small cache, slow verification responses) then you may get to the situation where a new TC must be sent, but there are no completed TC waiting to be deleted from the cache. In this case the new TC is sent, and stored in the cache, but no TC can be deleted. So in this case the cache grows, and in fact it never shrinks. If this happens, a warning is printed. You can avoid these warnings by tuning the cache so that it has enough space to store all the TC that might be waiting for verification. Sending TC very fast will require more memory to store the TC packets until they have been verified. Of course you can also slow down the rate of sending TC somewhat, or try to speed up the responses from the system under test.

Another warning you might see when sending TC very fast (100’s per second) and with slow response from the system under test, is that a verification stage cannot be set. What is happening here is that the verification of the original TC completed due to a timeout. When the TC verification times out, the command becomes a candidate for deletion from the cache. Because you are sending very fast, this candidate TC will be replaced by a new TC relatively quickly. It is possible for the command to be deleted from the cache before the verification report is received. In this case you will see warnings: a verification stage has arrived for a TC that has already been deleted. Again, to avoid this warning, make sure the TC cache is big enough to store all the TC waiting for verification, or send slower, or get the system under test to return its verification responses faster.