Skip to content
Ron Bentley edited this page Sep 16, 2020 · 25 revisions

Example Application Outline of REM_SYS Capabilities

REM_SYS can provide very flexible and powerful features in cases where an application design requires multiple timing prompts of an elapsed and/or real-time nature. Both types of reminder alerting are supported and these can be programmatically defined and controlled. To illustrate REM_SYS's capabilities consider the following design requirements:

Example: It is required to monitor and respond, as necessary, to eight sensor inputs, with each requiring different sensor input sampling frequencies, specifically:

  • 2 x 1/100 second sampling
  • 1 x 1/2 second sampling
  • 2 x 5 second sampling
  • 1 x 2 minute sampling
  • 1 x 15 minute 30 seconds sampling
  • 1 x 30 minute sampling

That is, to design a multiplexed solution for the eight sensors._ In addition, output is to be generated to an external system to provide the status of of each of the eight sensors, this being at the top of each hour (ie hh:00:00) and every hour._

Designing a solution to meet this requirement would be non-trivial if a standard approach was to be applied. However, the REM_SYS framework makes much of the solution very straight forward - each of the sensors would be associated wit an elapsed time reminder (ETR) and the requirement for the transmission of sensor data on the hour, and every hour, with a real-time reminder (RTR).

Code to deal with each sensor input and the transmission of sensor data remains the same as it would with a standard approach. What REM_SYS would provide is the timing for alerts to asynchronously process the respective sensor code and transmission code.

Principal functions:

create_ET_reminder

purpose: to create an elapsed time reminder that will generate an alert:

  • at the given elapsed time(s) and
  • with the given frequency (if given)
  • for the given duration (if given)

create_RT_reminder

purpose: to create a real time reminder that will generate an alert:

  • at the given real time(s) and
  • with the given frequency (if given)
  • for the given duration (if given)

At the point of definition (calling), the above functions can also provide additional functionality by allowing the inclusion of a subtype parameter that can be used to switch to specific processing when a reminder alert is raised, and up to four user provided integer parameters that can be interrogated once the reminder alert is triggered. In the example above, each sensor input would be assigned a unique subtype that would be the means to switch to the specific code handling each sensor when the alert is raised.

The framework also provides many other capabilities. A fuller appreciation can be found by reference to the User Guide.