MorseKOB / PyKOB

Python implementation of a library for Morse and MorseKOB functionality
https://sites.google.com/site/morsekob/morsekob40
MIT License
4 stars 2 forks source link

Option for Sounder power saving after idle time #277

Closed AESilky closed 10 months ago

AESilky commented 10 months ago

To conserve power, reduce circuit heat, etc. of sounder drive circuit - provide an option to de-energize the sounder after some period of idle time.

As an example - If a KOB is on Wire-11 all the time, most of the time, this wire is quiet; with a 'true' loop circuit, the sounder would be closed (energized) during all the idle time. However, since this isn't being used as an actual telegraph, all the idle time is simply drawing power and creating heat (wasting energy).

To help with energy conservation (extend battery life when on battery, reduce fire risk, etc.), add an option to de-energize the sounder after some amount of idle time. Also, allow for duplicating a true loop telegraph circuit with a specific value ('0').

Re-energize the sounder/loop when an incoming signal is received, or when the loop key is opened*.

An example would be to set the value to '30' - given an idle condition, the sounder/loop would be closed (energized) for 30 seconds after the last data was received. After 30 seconds of idle time, de-energize the sounder/loop. The sounder/loop will be re-energized when an incoming message is received, or the key is opened. To account for loop interfaces that can't detect an open key when the loop isn't energized, the screen 'Circuit Closer' can be opened (or closed, then opened) to re-energize the loop.

*The example circuit from the (old) MTC pages can detect the key when the loop isn't energized, because the loop isn't 'truly/completely' de-energized. It is de-energized to the point that the sounder doesn't have enough power to close, but there is still enough current flowing that the Op-Amp can detect if the key is open or closed.

AESilky commented 10 months ago

Note that if the loop is re-energized by an incoming message, the first character received might sound a bit 'odd', since the sounder will go from open to closed (the loop circuit being energized) when sounding the first dit/dah.

It is assumed that the message can be understood by context, even if the first character isn't exactly correct. If this would/could be an issue, then the de-energize option should be set to '0'.

In other words, I don't want to complicate this to the point of adding code to delay the sounding of the first character until after the loop has been re-energized.