Et en attendant le début d'une réunion, je me suis amusé avec quelques tests de circuits. Je vois souvent de "gigantesques bases" avec des outposts tous reliés par un même fil vert (ou rouge, ou les deux, peu importe). C'est pratique pour transmettre de l'info de l'un à l'autre, mais je me suis demandé comment on pourrait être "plus malin" et faire en sorte que chaque base puisse communiquer sur son propre canal de communication, puisque de base, seul le canal rouge et le canal vert existent.
Je ne sais pas si c'est efficace ou pas, mais vu que chaque fil est mis à jour "plein de fois par seconde", je suis parti dans l'idée de faire un multiplexage temporel. L'idée est donc d'alterner, à chaque "tick", le contenu du canal afin de ne laisser passer que la communication correspondant au "sous-canal" du tick en cours.
C'est finalement assez simple à implémenter (du moins, la base). Grosso-modo, j'utilise la valeur numérique du signal "info" pour définir le sous-canal courant (par ex, si "info" vaut 1, alors le sous-canal est 1, si "info" vaut 2, le sous-canal est 2, etc.). Ensuite, les "émetteurs" vont fonctionner comme suit : l'émetteur commence à lire le sous-canal courant. Si c'est celui pour lequel il est configuré (via un comparateur de signal), alors il output un "V". Ce V, ainsi que tous les signaux de l'outpost, sont en entrée d'un autre comparateur. SI ce comparateur reçoit un "V", il output tout ce qu'il reçoit en entrée (la raison pour laquelle il faut deux comparateurs est pour éviter de retransmettre le n° de canal en retour, sinon ça bloquerait le système). Du coté des récepteurs, c'est encore plus simple : il suffit d'un seul comparateur qui regarde si le sous-canal est celui pour lequel il est configuré.
C'est basique, et ça marche pas trop mal, mais il faut encore ajouter deux choses :
- Une horloge, afin de pouvoir cycler sur les sous-canaux très rapidement, de sorte à minimiser la latence. Ca doit pas être trop dur avec un calculateur qui fait un "modulo" sur le numéro de canal, et un autre calculateur qui se contente de faire du +1 sur le signal "info" (= numéro du sous-canal). J'ai commencé à tester, et ça switche à une vitesse folle

- Un système de "cellule mémoire", afin de conserver en mémoire les signaux reçus sur un sous-canal dès qu'ils sont lus, de sorte à émettre un signal continu en permanence au delà du récepteur. Ca doit pas bien être compliqué à faire, sans doute avec un RS-latch.
Avec ça, il suffirait de "numéroter" les outposts pour pouvoir faire de la communication bi-directionnelle intelligente. Je testerai
Dès que j'ai un prototype, je poste le screenshot