- Mié, 25 May 2016 15:42
#1349469
Antes de explicar la plantilla, creo que es importante tener claro algunos conceptos:
1) La programación que le hagamos a la emisora la ejecuta el firmware continuamente en un bucle infinito.
2) De una ejecución a otra, los valores de inputs, switches y canales no se inicializan, por lo que se arrastra el valor de la ejecución anterior.
3) Si un input, en su pantalla correspondiente, está condicionado por un switch y no se ejecuta, mantendrá el valor de la ejecución anterior.
4) Los canales se comportan de manera diferente. Si en la pantalla mixes, algún canal no es actualizado por estar condicionado por un switch, se inicializará a valor: 0,0.
5) En cuanto a los switches, si su condicion de la pantalla logical switches se cumple, se les cargará el valor verdadero y, en caso contrario: falso.
6) El orden de ejecución parece ser: inputs, canales(mixes) y, por último, switches.
Esto es asi en companion 2.0.17 que es la versión que he utilizado, probablemente algo es diferente en companion 2.1.8 y por eso no funciona.
En cuanto al funcionamiento de la plantilla hay que tener en cuenta que no buscamos que cambie de fase cuando la palanca SA está en un extremo pues de ese modo cambiaría de fase consecutivamente hasta el final. Lo que buscamos es que cambie de fase cuando pasa de centro a extremo, es decir, la programación debe saber que en la ejecución inmediatamente anterior estaba en el centro. Esto se consigue con el switch L10 que se activa o no en cada ejecución para avisar a la siguiente y es la clave de todo el algoritmo.
Veamos un ejemplo:
Supongamos que estamos en la fase 3, con la palanca SA en el centro y solicitamos subir de fase: En la primera ejecución que ocurra con SA a subir, L10 será verdadero, por lo que el input: "I1 sube" se activará y tomará el valor de GV1 de la fase 3, es decir: 4. Posteriormente, este valor irá a CH05 según lo definido en Mixes y teniendo en cuenta que SA está activado a subir de fase. El que CH05 sea igual a 4 implica que en logical switches se activará el switch L4 y el firmware pasará automáticamente a fase 4. También ocurrirá que L10 pasará a falso. En la siguiente y sucesivas ejecuciones (muchísimas hasta que toquemos algo de nuevo), tendremos que L10 será falso, por lo que no cambiará el valor de "I1 sube" y, como la palanca SA estará a subir, de nuevo, ese será el valor que pase a CH05, con lo cual seguiremos en fase 4. Cuando pongamos SA en el centro, se activará el input "I3 igua" pasando a tener el valor de GV2 de fase 4, cuyo valor es 4 y esto acabará activando L4 con lo que seguiremos en fase 4. Si ocurrirá que L10 se hará verdadero y podremos repetir el ciclo.
Bueno, no se si he aclarado algo o lo he liado más, en cualquier caso aquí estoy para lo que queráis.
Un saludo.