Como sabréis, el firmware de Falcom nos permite concatenar hasta 5 condiciones para una misma alarma. El firmware dispone de la funciones lógicas AND (&) y OR (?). No obstante, no se pueden combinar en una misma alarma. Es decir, las siguientes configuraciones son válidas:

  • [CONDICIÓN1]&[CONDICIÓN2]&..&[CONDICIÓN5]:[ACCIONES]
  • [CONDICIÓN1]?[CONDICIÓN2]?..?[CONDICIÓN5]:[ACCIONES]

Sin embargo, la siguiente configuración no es válida y no es aceptada por el firmware:

  • [CONDICIÓN1]&[CONDICION2]?[CONDICIÓN3]:[ACCIONES]

Para conseguir un comportamiento similar a este se podría utilizar el comando PFAL, Sys.User.Event:

  • PFAL,CNF.Set,AL0=[CONDICIÓN2]&[CONDICIÓN3]:Sys.UserEvent0
  • PFAL,CNF.Set,AL1=[CONDICIÓN1]?Sys.UserEvent.e0:[ACCIONES]

Por ejemplo, para un caso real en el que queremos enviar datos al servidor cada 5 minutos, o cada 2 minutos si el dispositivo se ha desplazado más de 500m:

  • PFAL,CNF.Set,AL0=Sys.Timer.e_2MIN&GPS.Nav.Position.s0>500:Sys.User.Event0
  • PFAL,CNF.Set,AL1=Sys.Timer.e_5MIN?Sys.User.Event.e0:GPS.Nav.Position0=current&TCP.Client.Send,8,""

Se recomienda tener cuidado a la hora de utilizar este comando, tal y como se advierte en el propio manual de usuario de los dispositivos:

 WARNING

  • The UserEvent  is not recommended to be used as it may produce “endless loops” that can slow down the system performances or may affect the stability of other functions.
  •  Use the UserEvents at own risk. However, when using the UserEvents, think about all  consequences of (maybe recursively) launching alarms, especially in combination with various states, which may influence itself by actions. System behaviour can be very unpredictable and complex.
  • Therefore no support will be provided for configurations that contain UserEvents.