/********************************************************************************************************************** /****** Microcontrolador: ATSAMD21J17A Frecuencia: 48Mhz ****/ /***********************************************************************************************************************/ /***********************************************************************************************************************/ Version 2_4: (06/09/24) (Smartcom mmb01 v0.7.7) Al enviar un telemando por Ethernet, solo atendía hasta la 255 baliza (8 bits).. Lo hemos pasado a 16 bits /***********************************************************************************************************************/ Version 2_3: (02/09/24) (Smartcom mmb01 v0.7.7) Error en el mensaje enviado por Ethernet.. Se enviaba un byte al principio que no tocaba /***********************************************************************************************************************/ Version 2_2: (18/07/24) (Smartcom mmb01 v0.7.7) • Introducción de las rutinas del reloj astronómico.Lógica de funcionamiento en función del reloj astronómico: ? Reloj en día => Fotocélula ? Reloj en noche => Forzado a noche • Intercambio de principal a secundaria y viceversa en función de la frecuencia seleccionada en la configuración ? Intercambio Disable ? Intercambio mensual ? Intercambio cada x días Salidas: 1 => Noche Baliza principal 3 => Noche Baliza secundaria 2 => Alarma baliza principal 4 => Alarma baliza secundaria Entradas: 1 => Forzamos noche la baliza principal 2 => Forzamos noche la baliza secundaria /***********************************************************************************************************************/ Version 2_1: (26/04/24) (Smartcom mmb01 v0.7.6.5) Error detectado cuando la memoria está totalmente borrada en fabricación. Al grabar parámetros se reinicia.. Solucionado /***********************************************************************************************************************/ Version 2: (25/07/23) (Smartcom mmb01 v0.7.6.5) A través del canal 3 podremos elegir entre comunicaciones radio ICM o comunicaciones Ethernet. Esta elección la realizaremos a través del software Ethenet: La MMB01 se identificará con su número de estación, mientras que los MF12 que lleve asociados se identificarán: Principal = Id MMB01 + 1 Reserva = Id MMB01 + 2 Ejemplo: Si la MM01 es el equipo con ID= 10 => Principal = 11 y Reserva = 12 Todos los equipos responderán a los telemandos - STATUS - READ_STATUS - INTERROGAR=/ESTADO/ - INTERROGAR=/ESTADOB/ MMB01: Reset: TELEMANDO=MMB01=4 ON SD1: TELEMANDO=MMB01=12=1=1 OFF SD1: TELEMANDO=MMB01=12=1=0 ON SD2: TELEMANDO=MMB01=12=2=1 OFF SD2: TELEMANDO=MMB01=12=2=0 ON SD3: TELEMANDO=MMB01=12=3=1 OFF SD3: TELEMANDO=MMB01=12=3=0 ON SD4: TELEMANDO=MMB01=12=4=1 OFF SD4: TELEMANDO=MMB01=12=4=0 MF12: Forzado a noche: TELEMANDO=MMB01=1 Forzado a dia: TELEMANDO=MMB01=2 LDR normal: TELEMANDO=MMB01=3 Reset: TELEMANDO=MMB01=4 Keep alive Ethernet => Cada x minutos (frecuencia programable por el software), la MMB01 enviará un "NULL" a través del puerto Ethernet que deberá recibir el servidor El servidor deberá hacer lo mismo pero al revés. Cada vez que se reciba un "NULL" o datos válidos, reiniciaremos un contador interno. Si el contador interno supera 4 veces el tiempo programado, haremos un reset del módulo Ethernet (si se hubiese programado salida para ello) La configuración de la MMB01 se podrá leer y escribir ahora por el USB y a través del canal3 /***********************************************************************************************************************/ Version 1_5: (21/02/23) En esta versión, hemos puesto un timeout de comunicaciones del coordinador tanto para la MMB01 como para los equipos conectados al MODBUS Cuando este tiempo llega a 0, la MM0B1 empezará a enviar mensajes de radio indicando al coordinador que está ahí.. que hace mucho tiempo que no le ha preguntado (Status automaticos) /***********************************************************************************************************************/ Version 1_4: (16/09/22) Con el jumper de "boot", una vez arrancado el programa, deshabilitamos todas las funcionalidades excepto la de PC para poder comunicarnos con el software /***********************************************************************************************************************/ Version 1_3: (10/08/22) Resuelve un problema de que al detectar, "low battery" en un MF12 , no cambiaba a la reserva /***********************************************************************************************************************/ Version 1_2: (28/07/22) Al convertir un numero ascii con decimales, se tiene en cuenta tanto el "." como la "," /***********************************************************************************************************************/ Version 1: Este dispositivo, se encargará de gestionar diferentes dispositivos "esclavos" y enviar esta información a un coordinador a través de radio Canal 1 (MODBUS) => El canal 1 es un bus modbus donde la MMB01 será el dispositivo Master y el resto de dispositivos los esclavos Los esclavos en esta versión son MF12. Se pueden gestionar por parejas (uno principal y el otro secundario) y singles (UN unico MF12). Se pueden gestionar hasta un máximo de 50 parejas o singles A través del software, grabaremos los ID modbus de cada pareja o de un single. ID = 0 significa que en ese hueco no hay dispositivo. En una pareja, habrá un equipo principal y otro secundario. Siempre se dará prioridad al principal y el secundario estará forzado en día. Si se produce alguna alarma en el principal, entonces realizaremos automáticmante un cambio y el principal pasará a estar forzado en día, mientras que el secundario lo dejaremos libre para que determine automáticamente si estará en noche o en día. Si está activa la baliza secundaria, tras el paso de día a noche, reseteamos todas las alarmas del principal y verificamos el resultado. Canal 2 (GPS) => El dispositivo aparte de verificar que los parámetros que la MMB01 tiene en memoria son exáctamente los mismos que tiene el módulo GPS, del GPS recibirá una trama con hora y posición cada x tiempo. De este dispositivo obtendremos la hora del sistema, así como la posición GPS Sincronismo => Cualquiera de las entradas externas se puede definir como entrada de sincronismo, para que el sincronismo del destellador esté sincronizado con el GPS. Si no se define o no tiene PPS, con el reloj interno iremos haciendo el sincronismo de los destelladores Canal 3 (RADIO) => El dispositivo aparte de verificar que los parámetros que la MMB01 tiene en memoria son exáctamente los mismos que tiene el módulo radio, se comunicará con este dispositivo para enviar y recibir mensajes del coordinador Cada vez que se produzca un evento enviará un mensaje Del coordinador podrá recibir telemandos La MMB01 dispone de 4 entradas, 4 salidas y 2 entradas analógicas aparte de la tensión de batería