/*************************************************************************************************************************************************/ /***************************************** Microcontrolador R5F21256 **********************************************/ /*************************************************************************************************************************************************/ /*************************************************************************************************************************************************/ /**************************************************** Version 12_23(26/03/2020) *****************************************************************/ /*************************************************************************************************************************************************/ AIS: Toda la estrategia de los mensajes AIS se ha cambiado.. Ahora se parece a la estrategia del MMA14 El MMSI propio se lee de los mensajes obtenidos del módulo AIS.. (De esta forma no hay que marcar el MMSI del módulo cuando hay dispositivos virtuales y simulados) Mensaje 6 v2 MFCOM 4.5.9 /*************************************************************************************************************************************************/ /**************************************************** Version 12_22(26/03/2020) *****************************************************************/ /*************************************************************************************************************************************************/ Versión de pruebas /*************************************************************************************************************************************************/ /**************************************************** Version 12_21(18/03/2020) *****************************************************************/ /*************************************************************************************************************************************************/ Bluetooth: Selección automática de puerto de comunicaciones: Puerto Tel: Si la función elegida es la de bluetooth Puerto PC: En el resto de casos Al igual que anteriormente, el bluetooth solo se activará si el tiempo de escaneo es diferente a 0 /*************************************************************************************************************************************************/ /**************************************************** Version 12_20(22/10/2019) *****************************************************************/ /*************************************************************************************************************************************************/ Ocultados ciertos parámetros del MFCOM en versión cliente en función de las directrices de MSM /*************************************************************************************************************************************************/ /**************************************************** Version 12_19(06/10/2019) *****************************************************************/ /*************************************************************************************************************************************************/ Grabación de la última selección de destello o LVD: Había un problema, ya que si cambiábamos los minidips mientras el dispositivo estaba apagado, este no se daba cuenta del cambio. La estrategia ha cambiado completamente. Ahora grabamos el valor de los minidips cada vez que se detecta un cambio. Al arrancar, comprobamos si ha habido un cambio en los minidip.. Si existe este cambio, ejecutaremos el destello o el LVD programado por el minidip... y además mostraremos este valor en el MFCOM. Si no existe este cambio.. ejecutarmos el destello y el LVD anteriormente programado Si se realiza un cambio de destello o LVD por el MFCOM o el resto de formas de comunicación (Bluetooth, IRDA, etc..)ejecutaremos este último destello programado TEST de luminosidad: Ha pasado de 20 minutos a 120 minutos /*************************************************************************************************************************************************/ /**************************************************** Version 12_18(25/09/2019) *****************************************************************/ /*************************************************************************************************************************************************/ Introducción de la comunicación Bluetooth por el puerto secundario y eliminación del puerto principal Hasta entonces.. el BLUETOOTH solo funcionaba por el puerto principal, pero en esta ocasión, necesitamos el puerto principal libre y la comunicación bluetooth se realiza por el puerto secundario (seleccionable a través del MFCOM) La ventana que permanecerá activado el bluetooth se determina por el parámetro "Duracion wake up bluetooth" AIS: Tras un reset, la primera vez que recojamos el mensaje 21, obtendremos los datos del Status del mensaje 21. Estos datos serán los que se utilicen hasta el próximo reset del destellador a excepción del día/ noche o alarma de luz Grabación de la última selección de destello o LVD, bien a través del minidip o a través de MFCOM (ya sea por MFCOM, IRDA o BLUETOOTH) Al arrancar el destellador, volverá a reproducir el destello que se ha seleccionado por última vez /*************************************************************************************************************************************************/ /**************************************************** Version 12_17(20/02/2019) *****************************************************************/ /*************************************************************************************************************************************************/ Versión de pruebas para el AIS que resultó erronea /*************************************************************************************************************************************************/ /**************************************************** Version 12_16(20/02/2019) *****************************************************************/ /*************************************************************************************************************************************************/ Bluetooth: Al detectar dispositivo bluetooth, automáticamente comprueba y cambia: - El nombre del dispositivo (max 12) - Potencia a 6dbm - Quitamos el pin Una vez activado el bluetooth, esperará recibir un comando de "pin bluetooth". Si el pin es correcto, responde y continuamos con las comunicaciones normales Si el pin es incorrecto o no es el comando de "PIN BLUETOOTH", cerramos la conexion bluetooth /*************************************************************************************************************************************************/ /**************************************************** Version 12_15(07/01/2019) *****************************************************************/ /*************************************************************************************************************************************************/ AIS: En el mensaje 6 hemos cambiado la corriente de panel solar acumulada por la corriente panel solar instantánea /*************************************************************************************************************************************************/ /**************************************************** Version 12_13(24/10/2018) *****************************************************************/ /*************************************************************************************************************************************************/ AIS: Hemos cambiado la forma de tx la trama ACE. Hasta la fecha se enviaba la trama al mismo tiempo que se estaba formando.. ahora formamos toda la trama y la enviamos a continuación de forma consecutiva. Detectada una "coma de más" en la trama /*************************************************************************************************************************************************/ /**************************************************** Version 12_12(08/10/2018) *****************************************************************/ /*************************************************************************************************************************************************/ Hemos quitado un problema que no reconocía el inicio de la comunicación IRDA /*************************************************************************************************************************************************/ /**************************************************** Version 12_11(11/09/2018) *****************************************************************/ /*************************************************************************************************************************************************/ Hemos partido de la versión 12_8 Hemos eliminado cualquier cambio de velocidad tanto de día como de noche. Ahora siempre vamos a la velocidad más rápida Al mismo tiempo hemos introducido un log interno que contará todos los resets que se producen en el destellador. De la misma forma, por comandos podremos consultar y resetear dicho contador /*************************************************************************************************************************************************/ /**************************************************** Version 12_10(22/04/2017) *****************************************************************/ /*************************************************************************************************************************************************/ Hemos introducido el factor de potencia en el infrarojos => En lugar de cambiar el PWM ahora se cambia el factor de potencia (escala del 1 al 10) Se introduce la ocultación de cliente para el MFCOM net Se introduce la tabla de ritmos 18 y pasa a guardarse en otra parte de la flash del micro Nuevas funcionalidades: Grabación de parámetros por defecto en la flash del micro => Solo lo podrá hacer el fabricante. Cuando los parámetros sean los adecuados, el fabricante transmitirá dará la orden de grabar esos datos en la flash del micro Recuperación de los parámetros de fábrica => Si el usuario ha hecho una mala configuración del dispositivo, siempre podrá recuperar los parámetros iniciales de fabricación a través de este comando. Realmente, los parámetros guardados en la flash, pasarán a la memoria del dispositivo. Si la memoria flash está borrada, no se graba ningún parámetro y se avisa del problema Se verifican la lectura y escritura de las pautas de usuario a través del MFCOM Se ha detectado que cuando se configura en modo "luz residual", la realimentación a través de los leds de la pulsación del infrarojo no funciona Si detecta la pulsación, pero no enciende el disco de leds. (Solucionado en esta versión) /*************************************************************************************************************************************************/ /**************************************************** Version 12_9(13/06/2016) *****************************************************************/ /*************************************************************************************************************************************************/ Bluetooth: Hemos introducido un cambio en los leds de señalización para saber cuando está la ventana de bluetooth abierta. Cada vez que el MF12 comprueba la existencia de un MFBLUE, el led rojo se pone a parpadear de forma rápida. Si no encuentra módulo MFBLUE, se apagará y esperará al siguiente ciclo (Parámetro "INTERVALO WAKE UP BLUETOOTH") Una vez encuentre al módulo bluetooth, el led rojo permanecerá parpadeando de forma rápida mientras la ventana de bluetooth permanezca activa (Parámetro "DURACION WAKE UP BLUETOOTH"). Este último parámetro suele ser un tiempo corto, ya que si nadie quiere conectarse al bluetooth, se apagará rápidamente para no consumir. Tras la primera comunicación, el bluetooth permanecerá encendido durante el "TIEMPO DE FUNCIONAMIENTO DEL IRDA".Cada vez que se reciba una trama a través del bluetooth, el led verde cambiará su estado y el tiempo de ventana de bluetooth se reiniciará. !!!!!!!!!!!! A PARTIR DE ESTA VERSION TRANSCEIVER NET !!!!!!!!!!!! /*************************************************************************************************************************************************/ /**************************************************** Version 12_8(22/04/2016) *****************************************************************/ /*************************************************************************************************************************************************/ El dip 6 del MINIDIP 1 (Funcionalidades) Indicará si el shunt de la medición de corriente es interno o externo 0 => Shunt interno 1 => Shunt externo IRDA: El tiempo de IRDA lo hemos indicado con el led verde. Mientras el led verde esté activo significa que el irda está activo. Cuando se apague el led, indicará que el sensor IRDA está deshabilitado Shunt externo: Cuando utilizamos el shunt externo, debido al amplificador, hay un cierto ruido en la entrada analógica que puede falsear la corriente medida. Para evitar una mala medición, cada vez qaue pasemos a día y una vez que haya concluido el tiempo de irda, mediremos la corriente de "ruido" y posteriormente dicha corriente la eliminaremos de las medidas de corriente durante la noche Residual: Medimos la corriente de leds durante la "oscuridad residual" /*************************************************************************************************************************************************/ /**************************************************** Version 12_7 (03/03/2016) *****************************************************************/ /*************************************************************************************************************************************************/ El dip 7 del MINIDIP 1 (Funcionalidades) Indicará si hay baliza de emergencia o no. Con baliza de emergencia => Si no hay alarmas => SALIDA_BALIZA_RESERVA activada Si hay alarmas => SALIDA_BALIZA_RESERVA desactivada Sin baliza de emergencia => Si no hay alarmas => SALIDA_BALIZA_RESERVA desactivada Si hay alarmas => SALIDA_BALIZA_RESERVA activada /*************************************************************************************************************************************************/ /**************************************************** Version 12_6 (17/12/2015) *****************************************************************/ /*************************************************************************************************************************************************/ Comunicaciones con MFGSM,MFUHF,MFSAT => Durante el día, no comunicaba bien, pero esto se ha solucionado. IRDA => Telemando a través de IRDA (Forzado noche/dia) => Antes era por parámetros del MFCOM,pero se ha puesto un tiempo fijo de 3 minutos IRDA => Edición de ritmos: En versión anterior no se podía cambiar el ritmo de usuario 6 /*************************************************************************************************************************************************/ /**************************************************** Version 12_5 (23/06/2015) *****************************************************************/ /*************************************************************************************************************************************************/ IRDA: Deep sleep: Este comando solo funcionará cuando el MF12 esté configurado como baliza autoalimentada IRDA: Comando hacer caso al MFCOM o al minidip (Deshabilitación del minidip) pasa del código 08 al código 88 IRDA: Test luminoso Intoducción de este test. Con el código 12, activaremos este test. Durante el test, la baliza se quedará en luz fija durante 20 minutos al 100%. Transcurrido este tiempo, volverá al estado normal. Podemos abortar el test antes de que termine el tiempo pulsando cualquier tecla del mando. /*************************************************************************************************************************************************/ /**************************************************** Version 12_4 (12/06/2015) *****************************************************************/ /*************************************************************************************************************************************************/ IRDA: TEST de batería Cada vez que se realizaba el test de batería, el destellador se reiniciaba. Era debido al "relentí". De día el destellador va a una velocidad más baja para consumir menos. Sin embargo, como encendemos la luz con PWM al 100%, necesitamos más recursos del micro, por lo que durante el test de batería y solo durante el test de bateria, configuramos de nuevo el dispositivo a "high speed" y una vez termina el test de bateria volvemos a velocidad de crucero. /*************************************************************************************************************************************************/ /**************************************************** Version 12_3 (04/06/2015) *****************************************************************/ /*************************************************************************************************************************************************/ IRDA: Tras realizar comandos de cambio de parámetros, el dispositivo hará un reset: Comando cambio destello Comando cambio LVD Comando parámetros por defecto Comando cambio horas pico sol Comando destello leido desde minidip o mfcom Comando luminosidad fotocélula Comando Cambio destellos usuario /*************************************************************************************************************************************************/ /**************************************************** Version 12_2 (26/02/2015) *****************************************************************/ /*************************************************************************************************************************************************/ Modo AIS SRT => Hemos introducido una herramienta a través del hyperterminal donde se pueden observar las tramas que envia el AIS y la respuesta enviada por el destellador (A través del puerto de PC).Dicha función normalmente siempre estará desactivada y solo se activa si el usuario lo necesita (a través del MFCOM) Cada vez que se reinicie el destellador, esta función quedará desactivada De esta forma será mucho más sencillo ver que la comunicación entre el MF12 y el AIS es correcta Al mismo tiempo se ha cambiado la lógica de la salida (Dia/noche en modo AIS = que en modo AIS indica si la baliza está en posición o no) En posición => Salidad desactivada Fuera de posición => Salida activada /*************************************************************************************************************************************************/ /**************************************************** Version 12_1 (21/05/2014) *****************************************************************/ /*************************************************************************************************************************************************/ Tras lectura y escritura de parámetros a través de bluetooth, extraemos por la corona un doble destello rápido para indicar que hemos comunicado con esa baliza /*************************************************************************************************************************************************/ /**************************************************** Version 12 (12/05/2014) *****************************************************************/ /*************************************************************************************************************************************************/ Fotocélula => La fotocélula solo se comprobará en periodos de oscuridad en los destellos normales. Si el destello es luz fija... estará habilitada siempre Se incorporan nuevos comandos de IRDA: - Ajuste de la potencia de los leds (Comando 9) - Ajuste de la sensibilidad de la fotocélula (Comando 10) - Edición de los destellos de usuario a través del IRDA (Comando 11). Cada vez que se graba un tiempo (luz u oscuridad), el destellador dará 2 destellitos cortos.. como realimentación para saber que acabamos de introducir un tiempo y no perdernos Cuando seleccionamos tipo de baliza "MBL400" => El driver VNP, se activará de forma constante durante la noche (no seguirá el ritmo del destello) y se desactivará durante el día. Nota importante: si la opción de 24 horas on está activa, el driver seguirá activado durante el día Naufragio => En este caso realizamos un destello especial Azul (1,0) + 0,5s + Amarillo ( 1,0) + 0,5s= 3,0 Seg. Durante el modo de naufragio, no podemos cambiar el destello ni por minidip, ni por MFCOM Corriente externa => Debido a que se realiza una amplificación, hay que descartar el ruido "amplificado". Para ello, durante el proceso inicial de lectura de la batería (desde que se enchufa el destellador hasta que da los cinco destellos) tambien se calcula el ruido de la corriente de "leds". Cambiamos la forma de medir la corriente de la baliza. En este caso estamos constantemente realizando mediciones AD y obtenemos una media del último segundo (siempre y cuando estemos en período de luz) AIS => Podrá enviar mensajes 21 tanto para el AIS SRT como para el AIS L3 Modbus=> Cuando seleccionamos la función del 2º puerto de comunicaciones RS485, nos comunicaremos vía MODBUS a 9600 baudios 8 bits 1 stop y paridad par Bluetooth => Se incorpora la comunicación a través del módulo bluetooth. El destellador cada x tiempo (programado por el MFCOM), activará el bluetooth, se intentará comunicar con el módulo y si recibe respuesta (lo que indica que está insertado), activará durante x segundos (programados por el MFCOM) el módulo bluetooth. Durante este último tiempo es el tiempo que el usuario tiene para conectarse. Una vez conectado, el módulo bluetooth permanecerá activo durante el tiempo de IRDA. A efectos prácticos, el módulo bluetooth permanecerá constantemente activo mientras tenga cliente, ya que el programa se encarga automáticamente de realizar un diálogo con el destellador para que el tiempo se reinicie y el MF12 no desconecte el bluetooth Para reducir el consumo, el MF12 durante el día baja su velocidad interna a la mitad que por la noche. Durante el día solo funciona a pleno rendimiento durante 2 casos: - 24 horas on (entonces no baja velocidad) - Si se produce una comunicación con el MF12 o bluetooth, se activa a alta velocidad mientras está habiendo transmisión de datos. Tras pasar un segundo sin transmisión de datos, vuelve a velocidad lenta Versión que funciona con el MFCOM NET /*************************************************************************************************************************************************/ /**************************************************** Version 11_7 (03/02/2014) *****************************************************************/ /*************************************************************************************************************************************************/ Especial Panamá Se incormpora un comandos nuevo de IRDA: - Edición de los destellos de usuario a través del IRDA (Comando 11). Aunque en las instrucciones no está implementado así, cada vez que se graba un tiempo (luz u oscuridad), el destellador dará 2 destellitos cortos.. como realimentación para saber que acabamos de introducir un tiempo y no perdernos /*************************************************************************************************************************************************/ /***************************************************** Version 11_6(24/01/2014) *****************************************************************/ /*************************************************************************************************************************************************/ Partiendo de la versión estable fw11_4: Cuando seleccionamos la función RS485 en el puerto secundario, la comunicación es MODBUS /*************************************************************************************************************************************************/ /**************************************************** Version 11_5 (29/10/2013) *****************************************************************/ /*************************************************************************************************************************************************/ Especial Panamá Se incormporan varios comandos nuevos de IRDA: - Ajuste de la potencia de los leds (Comando 9) - Ajuste de la sensibilidad de la fotocélula (Comando 10) /*************************************************************************************************************************************************/ /******************************************************* Version 11_4 (21/05/2013) *****************************************************************/ /*************************************************************************************************************************************************/ Corregidos errores en: - Medición de la corriente de corona - Cambio de horas /pico sol por IRDA - Telemando a través de IRDA Saldrá del forzado noche/ día automáticamente tras 3 minutos. Al finalizar el tiempo, dará 4 destellos rápidos avisando /*************************************************************************************************************************************************/ /******************************************************* Version 11_3 (25/05/2011) *****************************************************************/ /*************************************************************************************************************************************************/ Modificación MF12AIS: En esta versión se tiene en cuenta si la baliza está en posición en función de la información recibida por el mensaje 21 del AIS. Si estamos en posición, mantendremos activada la salida de "dia/noche" que ahora hará la función de alimentar un racón. Si por el contrario, no estamos en posición, lo que haremos será desactivar la salida y por lo tanto, apagar el RACON. /*************************************************************************************************************************************************/ /******************************************************* Version 11_2 (10/05/2011) *****************************************************************/ /*************************************************************************************************************************************************/ Aparece un nuevo parámetro que es el tipo de baliza: - No Autoalimentada - MCL200 (Autoalimentada) - MCL250 (Autoalimentada) - MBL400 Con este nuevo parámetro lo que se pretende es limitar el PWM aplicado al led en las baliza autoalimentadas para que la batería no se vaya a pique. Si la baliza es autoalimentada y utilizamos el CA32, calcularemos un PWM en función del destello seleccionado y el valor de horas pico sol. Ese será nuestro 100% del PWM. A partir de ahi, si el usuario quiere disminuir la luminosidad, con el parámetro POTENCIA LED, podrá disminuir la luminosidad de la baliza. Para las "no autoalimentadas" el PWM aplicado será el parámetro POTENCIA LED. En todas las balizas, excepto en la MBL400, durante el día desconectaremos la salida de pwm. En la MBL400 no, porque durante el día, los leds no los desconectamos con el VNP49, sino que siempre están alimentados y por lo tanto la salida de PWM no podemos dejarla en alta impedancia, porque se encenderían todos los les al 100%. Al mismo tiempo, también se ha incorporado una salida auxiliar que indica si la baliza está en día o en noche. En modo AIS, el destellador transmite por el mensaje 21 (byte regional) 228 (E4h) => Dia 226 (E2h)=> Noche 230 (E6h)=> Alarma corriente leds Los 3 bits más significativos del byte regional son E0 (Página id 7) Al mismo tiempo se ha corregido un error de la versión anterior con la corriente de leds. Si no había disco, existía la posibilidad de que el ruido fuese superior a la corriente, por lo que el valor que extraíamos era disparatado. Por tanto, si el valor medido de ruido es superior a la corriente medida, la corriente ahora es 0. También, cuando se hace un telemando de forzar dia, noche o dejar libre en modo fotocélula, si la ventana de infrarojos está activada, se cierra, porque no es un paso de día a noche correcto. Comando infrarojo: 7=> Cambio radiación solar 8 => Lugar donde leemos los destellos (minidip o MFCOM) /*************************************************************************************************************************************************/ /******************************************************* Version 11 (10/12/2010) *****************************************************************/ /*************************************************************************************************************************************************/ Partiendo de la version 10-7, hemos introducido el IRDA (Mando a distancia) Las funciones que se permiten a través del mando son: - Cambio de destello - Telemando ON/OFF - Test de batería - Cambio configuración LVD - Cambio password - Parámetros por defecto IRDA - Password:123 - Segundos habilitación irda: 30 - Estado fotocélula:libre - LVD atenuado (30 %); - Lectura minidip y lvd por MFCOM - Deep sleep (Catalepsia) - Cambio del lugar donde leemos el número de destello y las funciones LVD En este programa se han cambiado todas las interrupciones para ir con un reloj de 8 Mhz A través del MFCOM, podremos elegir: Si el dispositivo auxiliar con el que nos comunicamos es AIS o GSM o RS485 Comunicación GSM: Idem a las anteriores versiones a una velocidad de 4800 baudios Comunicación AIS: El MF12 será capaz de comunicarse con un AIS a una velocidad de 38400 baudios, decodificar las tramas y modificar los bytes regionales indicando si el MF12 está en día o en noche. Comunicación RS485: Comunicación idéntica a la de PC, pero con control de flujo. Si el regulador de leds que tenemos es un CA30,CA32,Naufragio,Residual CA30: Igual que anteriormente, el pwm se realizará a través del driver, por lo que encenderemos y apagaremos rápidamente los leds. CA32 : En este caso por el driver mediremos la corriente y daremos alimentación o la retiraremos a los drivers de led.El pwm se realizará por otra salida. Naufragio: Cuando seleccionemos la función naufragio, el regulador por defecto será el CA32. Los pwm de los leds se realizarán por la salida principal y una secundaria, de forma alterna. Residual: Cuando seleccionemos este modo de funcionamiento, el comportamiento sera: De día: La salida principal y secundaria apagadas. De noche: En los periodos de luz, ambas salidas con el pwm asignado En los periodos de oscuridad, la salida principal apagada y la salida secundaria con el pwm residual asignado. Si realizamos el destello leido en el minidip o el guardado en memoria (idem con la función LVD) La salida de la baliza de emergencia es igual que la version 10_8, es decir: 0 => Si no hay alarmas 1 => Si hay alguna alarma La medición de temperatura ya extrae temperaturas negativas siento por ejemplo 1 ºC => 1 -1 ºC => 129 Si la corriente mínima de corona es 0, no daremos alarma de bajo consumo leds 3.3 Firmware 11_3 (23/05/2011):