From 04a308a98d5bb46ab562b84263630222a133147a Mon Sep 17 00:00:00 2001 From: vg Date: Wed, 14 Feb 2018 14:36:43 +0100 Subject: completing translation of feature list --- two_hosts_auto_powerswitch/readme.rst | 111 +++++++++++++++++++--------------- 1 file changed, 62 insertions(+), 49 deletions(-) (limited to 'two_hosts_auto_powerswitch') diff --git a/two_hosts_auto_powerswitch/readme.rst b/two_hosts_auto_powerswitch/readme.rst index 5d98a1a..c0b6216 100644 --- a/two_hosts_auto_powerswitch/readme.rst +++ b/two_hosts_auto_powerswitch/readme.rst @@ -5,81 +5,94 @@ General principle ================= This project detects up to two host power state through the their usb port and -switch on their associated devices (screen, sound amplifier, printer, etc). +switch on their associated devices' mains outlets (screen, sound amplifier, +printer, etc). + Devices might be shared (the same printer is used by both computers), in this -case, the device is switched on by whatever computer is on. +case, the device is switched on by whatever computer is detected on. Flowchart ========= When detecting a host state change, the following happen:: - .------------------. .-------------------. .--------------. - | Host state | | Skip filter input | | Switch relay | - | change detection | | (usb control) | '--------------' - '------------------' '-------------------' ^ - | .-------------. | | - '-->| Skip filter |<--' | - '-------------' .--------------. | - | | Start timers | | - v | Stop plugs |-----' - .---------------. '--------------' - | Update target | ^ - | table |--------------' + + .------------------. .-------------------. + | Host state | | Skip filter input | + | change detection | | (usb control) | + '------------------' '-------------------' .--------------. + | .-------------. | .------>| Switch relay | + '-->| Skip filter |<--' | '--------------' + '-------------' | + | .---------------------. + v | Start on/off timers | + .---------------. '---------------------' + | Update target | ^ + | table |-------------' '---------------' + Feature list ============ -* Detect when one of the host is up (not in standby) +* Detect when one of the host is up (not in standby), switching on its + associated devices (mains outlet). +* Each computer has its own set of associated outlets to switch on. +* An outlet may be shared between computers, if at least one of the computers + is on the outlet is on (logical OR). ------ +* Each outlet have an optional delay before it switch on or off. Delay for on + and off may be different. +* Configuration for outlet associations and for the switch delay is saved in + non-volatile memory. -* la détection d'un ordi on, allume certaines prises, chaque ordi peut avoir - un ensemble de prises dédiées ou partagées (OR logic), configuration - enregistrée en nvm. +* Computer standby detection is isolated and done by a mini-usb plug + (calibrated for standard 5 volts supply, but you might change the input + tension according to the optical coupler and input resistor, see schematic + for more details). Molex to usb cable might be done if all usb ports of the + computer are always on and its standby is never detected. -* délai possible sur l'allumage de certaines prises au changement d'état - off=>on, configuration enregistrée en nvm. +* There is one button for each computer to toggle its state (thus overriding + its current state). The override is reset at the next computer state change. + If the override reset is the same as the current state, you will see no + change: if an override set the state to on, and the computer is switched on, + the state change will not be seen until computer is in standby or off again + or if another override is done. -* la détection d'allumage d'un ordi se fait via une prise mini-usb - (utilisation uniquement du 5v), circuit isolé. Si un ordi a tous ses ports - usb en always-on, soit régler pour que ça ne soit pas le cas, soit brancher - un adaptateur molex-usb. +* There is one button for each outlet so it can be toggled off or on. This + toggle bypass the configured delay. The outlet can be toggled again normally + according to the associated computer(s) state change. -* bouton qui toggle manuellement (override) l'état d'un ordi. +* If at least one of the computers is on, global led is on. An individual led + indicate the state of each outlet. -* bouton qui toggle chaque prise (off-forcé/on-forcé/reset, resetted auto - quand un ordi change d'état). +* Very low power then no outlet nor computer is on: the MCU will sleep and + consume near nothing and all led will be off. -* power converter super basse conso, avec mcu en mode standby, je devrais être - à zero sur le kill-a-watt (pas assez précis pour mesurer le niveau, en - fabriquer un plus précis pour comparer avec un chargeur de tél à vide). -ou- - alimentation via le port usb (si usb, pas ethernet) de contrôle (yui). - L'avantage d'une alimentation à part, c'est que l'on éteint pas les prises - en depluggant le port usb de contrôle (mais sur un projet de ce type, cette - extinction est acceptable). L'autre aventage c'est qu'on isole le bruit d'un - switch de port (je ne sais pas dans quelle mesure on peut faire reset yui - avec les relays, à mesurer). +* Instead of pressing button, the dedicated control usb connection can be used + to toggle state of things and to set a detection skip for the next off to on + detection of a computer. -* leds d'état pour chaque prise quand au moins un des deux ordi est allumé, et - au global pour dire que le système est "on", en "off" le mcu en est standby - et aucune led n'est allumé +* A low consumption power converter (near 0 watt in full standby) is used to + power the MCU. Advantages compared to being powered by control port include + being autonomous, not using control port to switch relay (might induce + little current spikes), and keeping current state when unplugging + controlling computer. -* possible de skip la prochaine détection off=>on d'un host via une commande - série. Rationale ========= -* multi allume ordi => pas bien car je veux que les périphs s'allument tout - seul quand j'allume l'ordi depuis le clavier. +The power switch could have triggered computer wakeup instead of doing +computer standby detection, but it is more complicated and it prevents using +the keyboard or another source of wakeup to switch on its associated devices. + +The disadvantage is to need a way to skip the switch-on of the associated +devices when it is not needed (for example when doing wakeonlan to read data +in another location, one does not need the associated devices to be on). -* si allumer les périphs systématiquement en fonction de l'allumage de l'ordi - est un problème, c'est uniquement à cause du wakeonlan, c'est donc le - wakeonlan qui est une exception. => faire passer l'information que le - prochain wake de l'ordi ne doit pas être pris en compte c'est possible soit - par ethernet, soit par usb via l'ordi qui lance le wakeonlan (yui/nagato). +In my case, the wake-on-lan was an exception to the normal usage of my +computer, so I made the skip choice to be in the workflow. -- cgit v1.2.3