Erick / Mbed 2 deprecated ICE-F412

Dependencies:   mbed-rtos mbed

Revision:
2:02cb20446785
Parent:
1:b2e90cda7a5a
--- a/ICE-Application/src/Utilities/timerUtils.h	Tue Jan 24 19:06:45 2017 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,269 +0,0 @@
-#ifndef __CNTL_TIME_SHEDULE_UTILS_H__
-#define __CNTL_TIME_SHEDULE_UTILS_H__
-/************************************************************************
- *                                                                      *
- *       Copyright (c) 2012 Nalco Company. All Rights Reserved.         *
- *                                                                      *
- ************************************************************************/
- 
-#include <mbed.h>
-#include "rtos.h"
-  
-#ifdef __ICCARM__ 
-struct tm *localtime_r(const time_t *const timep, struct tm *result);
-#endif
-    
-typedef char                DMSTRING32[32];
-typedef char                DMSTRING128[128];
-typedef DMSTRING32          DM_TAG;
-
-#define ERROR -1
-#define OK 0
-
-typedef enum cntl_check_schedule_returns
-{
-    CNTL_SCHED_CHECK_INTERNAL_ERROR     = -3,   // internal implementation error
-    CNTL_SCHED_CHECK_BAD_PARAMS         = -2,   // problem with the schedule data passed
-    CNTL_SCHED_CHECK_SCHED_OK           = 0,    // no problems or conflicts with the schedule
-    CNTL_SCHED_CHECK_OUTPUT_CONFLICT    = 1,    // conflict on output relay
-    CNTL_SCHED_CHECK_PRODUCT_CONFLICT   = 2,    // product conflict with another relay timer
-    CNTL_SCHED_CHECK_BLOWDOWN_CONFLICT  = 3     // blowdown conflict with another relay timer
-} CNTL_CHECK_SCHEDULE_RETURNS;
-
-#define CNTL_MAX_SCHEDULE_ELEMENTS 64
-#define TSC_ALARM_PRIORITY  (90)    /* Very high alarm priority so no other alarm can cancel it, i.e. interlock, maintenance mode, etc.*/
-#define TSC_12_HOURS_IN_SECONDS             (SECONDS_PER_MINUTE * MINUTES_PER_HOUR * 12 )
-#define TSC_31_DAYS_IN_SECONDS              (SECONDS_PER_MINUTE * MINUTES_PER_HOUR * HOURS_PER_DAY * 31)
-
-
-#define SUNDAY_MASK         (0x001)
-#define MONDAY_MASK         (0x002)
-#define TUESDAY_MASK        (0x004)
-#define WEDNESDAY_MASK      (0x008)
-#define THURSDAY_MASK       (0x010)
-#define FRIDAY_MASK         (0x020)
-#define SATURDAY_MASK       (0x040)
-#define EVERY_DAY_MASK      (0x080)
-#define EVERY_WEEK_DAY_MASK (0x100)
-#define SUN_TO_SAT_MASK     (SUNDAY_MASK | MONDAY_MASK | TUESDAY_MASK | WEDNESDAY_MASK | THURSDAY_MASK | FRIDAY_MASK | SATURDAY_MASK)
-
-typedef struct
-{
-    int days;
-    int hours;
-    int minutes;
-    int seconds;
-} UTtimeInterval;
-
-/*
- * A general date and time struct
- */
-typedef struct
-{
-    int hour;
-    int minute;
-    int day;
-    int month;
-    int year;
-} UT_DATE_TIME;
-
-typedef struct cntl_date_struct
-{
-    unsigned long  month;
-    unsigned long  day;
-    unsigned long  year;
-} CNTL_DATE_STRUCT;
-
-typedef struct cntl_hr_min_struct
-{
-    unsigned long  hour;
-    unsigned long  minute;
-    unsigned long  second;
-} CNTL_HR_MIN_STRUCT;
-
-#define SECONDS_PER_MINUTE      (60)
-#define MINUTES_PER_HOUR        (60)
-#define HOURS_PER_DAY           (24)
-#define DAYS_PER_WEEK           (7)
-#define DAYS_PER_YEAR           (365)
-#define HOURS_PER_WEEK          (HOURS_PER_DAY * DAYS_PER_WEEK)
-#define MINUTES_PER_DAY         (MINUTES_PER_HOUR * HOURS_PER_DAY)
-#define MINUTES_PER_WEEK        (MINUTES_PER_HOUR * HOURS_PER_WEEK)
-#define SECONDS_PER_HOUR        (SECONDS_PER_MINUTE*MINUTES_PER_HOUR)
-#define SECONDS_PER_DAY         (SECONDS_PER_HOUR*HOURS_PER_DAY)
-#define SECONDS_PER_WEEK        (SECONDS_PER_HOUR*HOURS_PER_WEEK)
-
-
-#define CNTL_SUNDAY_MASK        (0x01)
-#define CNTL_MONDAY_MASK        (0x02)
-#define CNTL_TUESDAY_MASK       (0x04)
-#define CNTL_WEDNESDAY_MASK     (0x08)
-#define CNTL_THURSDAY_MASK      (0x10)
-#define CNTL_FRIDAY_MASK        (0x20)
-#define CNTL_SATURDAY_MASK      (0x40)
-#define CNTL_SUN_TO_SAT_MASK    (CNTL_SUNDAY_MASK | CNTL_MONDAY_MASK | CNTL_TUESDAY_MASK | CNTL_WEDNESDAY_MASK | CNTL_THURSDAY_MASK | CNTL_FRIDAY_MASK | CNTL_SATURDAY_MASK)
-#define CNTL_WEEKDAY_MASK       (CNTL_MONDAY_MASK | CNTL_TUESDAY_MASK | CNTL_WEDNESDAY_MASK | CNTL_THURSDAY_MASK | CNTL_FRIDAY_MASK)
-
-typedef enum
-{
-      DAY_SCHEDULE_NOT_SPECIFIED     = 0x00,
-      DAY_SCHEDULE_SUNDAY_MASK       = 0x01,
-      DAY_SCHEDULE_MONDAY_MASK       = 0x02,
-      DAY_SCHEDULE_TUESDAY_MASK      = 0x04,
-      DAY_SCHEDULE_WEDNESDAY_MASK    = 0x08,
-      DAY_SCHEDULE_THURSDAY_MASK     = 0x10,
-      DAY_SCHEDULE_FRIDAY_MASK       = 0x20,
-      DAY_SCHEDULE_SATURDAY_MASK     = 0x40,
-      DAY_SCHEDULE_WEEKDAY_MASK      = ( DAY_SCHEDULE_MONDAY_MASK | DAY_SCHEDULE_TUESDAY_MASK | DAY_SCHEDULE_WEDNESDAY_MASK | DAY_SCHEDULE_THURSDAY_MASK | DAY_SCHEDULE_FRIDAY_MASK ),
-      DAY_SCHEDULE_SAT_TO_SUN_MASK   = ( DAY_SCHEDULE_SUNDAY_MASK | DAY_SCHEDULE_WEEKDAY_MASK | DAY_SCHEDULE_SATURDAY_MASK )
-} DAY_SCHEDULE;
-
-typedef enum
-{
-      WEEKLY_CHOICE_EVERY_WEEK       = 0,
-      WEEKLY_CHOICE_FIRST_WEEK       = 1,
-      WEEKLY_CHOICE_SECOND_WEEK      = 2,
-      WEEKLY_CHOICE_THIRD_WEEK       = 3,
-      WEEKLY_CHOICE_FOURTH_WEEK      = 4,
-      WEEKLY_CHOICE_LAST_WEEK        = 5,
-      WEEKLY_CHOICE_EVERYOTHER_WEEK  = 6,
-      WEEKLY_CHOICE_NOT_SPECIFIED    = 7
-} WEEKLY_CHOICES;
-
-
-typedef enum cntl_days_of_wk
-{
-    SUNDAY      = 0,
-    MONDAY      = 1,
-    TUESDAY     = 2,
-    WEDNESDAY   = 3,
-    THURSDAY    = 4,
-    FRIDAY      = 5,
-    SATURDAY    = 6
-} CNTL_DAYS_OF_WK;
-
-/*
- * CNLT_SCHED_STRUCT contains everything needed to specify a schedule
- */
-typedef struct cntl_sched_struct
-{
-    CNTL_DATE_STRUCT    startDate;      // always valid, mm/dd/yyyy when schedule starts all schedules have a startDate
-    CNTL_HR_MIN_STRUCT  startTime;      // always valid, hour and minute when output is activated, all schedules have startTime
-    CNTL_HR_MIN_STRUCT  endTime;        // always valid, hour and minute when output is activation stops, all schedules have stopTime
-    WEEKLY_CHOICES   weeklySchedule; // default is EVERY
-    unsigned char       dailySchedule;  // default is the current day of the week  
-} CNTL_SCHED_STRUCT;
-
-typedef struct
-{
-    CNTL_SCHED_STRUCT   schedule;       /* the schedule */
-    time_t              calTime;        /* time in seconds passed to localtime to populate the requestTime structure */
-    struct tm           requestTime;    /* the broken down time when the request was made, used to determine the initial starting date */
-    unsigned long       outputDuty;     /* scaled output duty 3 digits 1 decimal 0 <= outputDuty <= 1000 */
-    bool                preBleedorLockout; /* the timer specifies preBleed or lockout */
-} TSC_SCHED_ELEM;
-
-#define TSC_NULL_INSTANCE   (-1)
-
-/*
- * To be deprecated
- */
-typedef enum
-{
-    TSC_UTIL_ONE_OUTPUT     = 1,
-    TSC_UTIL_ALL_OUTPUTS    = 2,
-} TSC_UTIL_OUTPUT_CHECK;
-
-/*
- * Tell the general checking function what to look for
- */
-typedef enum
-{
-    TSC_UTIL_THEOUTPUT_CHECK,
-    TSC_UTIL_BLOWDOWN_CHECK,
-    TSC_UTIL_OXNONOX_CHECK
-} TSC_UTIL_WHAT_TO_CHECK;
-
-/*
- * The attribute to look for when filtering the list of timer schedules
- * it's up to the pruning filter functions to include or exclude based upon the
- * pruning attribute
- */
-typedef enum
-{
-    TSC_UTIL_PRUNE_PRODUCTS = 1,
-    TSC_UTIL_PRUNE_BLOWDOWN = 2
-} TSC_UTIL_PRUNE_ATTRIBUTE;
-
-/*
- * attribute indicates if a timer scheduling is for the first time or a reschedule 
- */
-typedef enum
-{
-    TSC_INITIAL_SCHEDULE,
-    TSC_RESCHEDULE
-} TSC_UTIL_SCHED_STATE;
-
-typedef enum tsc_sched_miss_reason
-{
-    TSC_SCHEDULE_NOT_MISSED,
-    TSC_SCHEDULE_MISSED,
-    TSC_SCHEDULE_INTERRUPTED
-} TSC_SCHED_MISS_REASON;
-
-
-/*
- * renamed utility functions replacing CNTL_xyz functions
- */
-
-void    TSCutilScheduleWithInWeek( TSC_SCHED_ELEM *pSchedElem );
-void    TSCutilPreviousScheduleWithInWeek( TSC_SCHED_ELEM *pSchedElem );
-void    TSCutilComputeStartDate( TSC_SCHED_ELEM *pSchedElem );
-void    TSCutilScheduleOneWeekPerMonth( TSC_SCHED_ELEM *pSchedElem );
-void    TSCutilInitFreeLists();
-bool   TSCutilWasPreviousScheduleInterrupted( CNTL_SCHED_STRUCT *pElem, TSC_SCHED_MISS_REASON *pReason, unsigned long create_time_stamp, int *pmiss_count, int *pstart_to_end_diff );
-int  TSCgetCreateTime( DM_TAG relay, unsigned long starting_hour, unsigned long starting_minute, unsigned long *create_time );
-int  TSCnewComputeWaitTimer( CNTL_SCHED_STRUCT *pSchedule, TSC_UTIL_SCHED_STATE scheduleingState, TSC_SCHED_ELEM *pNowTimeDate, unsigned long *pDiffInSeconds );
-bool   TSCIsTimerSchedLT12Hr( unsigned long *pGo_Off, DMSTRING32 id_info );
-
-int  TSCutilLoadSchedules();
-int  TSCutilAddElemToScheduleList( TSC_SCHED_ELEM *pElem );
-int  TSCutilPutFreeSchedElem( TSC_SCHED_ELEM *pElem );
-
-
-int  TSCutilDeleteSchedElem( TSC_SCHED_ELEM *pElem );
-
-TSC_SCHED_ELEM  *TSCutilGetFreeSchedElem( );
-TSC_SCHED_ELEM  *TSCutilGetFirstSchedule();
-TSC_SCHED_ELEM  *TSCutilGetNextSchedule( TSC_SCHED_ELEM *pElem );
-
-int TSCutilgetScheduleCount();
-int TSCutilCmpStartTimes( TSC_SCHED_ELEM *pNewElem, TSC_SCHED_ELEM *pListElem );
-
-bool       TSCutilDoesScheduleConflict( TSC_SCHED_ELEM *pNewElem, TSC_UTIL_OUTPUT_CHECK which_check );
-
-
-
-int  Util_addTupleToTimeControl( int instance, TSC_SCHED_ELEM *pElem );
-int  Util_addTupleToRLcontrol( int instance, TSC_SCHED_ELEM *pElem, DM_TAG keyTag );
-int  Util_dateTimeDiff( CNTL_SCHED_STRUCT *pDateTime1, CNTL_SCHED_STRUCT *pDateTime2, unsigned long *pDiffInSeconds );
-
-
-void    Util_displayStartDateTime( CNTL_SCHED_STRUCT *pTimeStruct );
-void    Util_displayWeeklySchedule( CNTL_SCHED_STRUCT *pTimeStruct );
-void    Util_displayDailySchedule( CNTL_SCHED_STRUCT *pTimeStruct );
-
-int Util_getDayOfWeek( TSC_SCHED_ELEM *pSchedElem, CNTL_DATE_STRUCT *pDate );
-int Util_getMonthWeek( TSC_SCHED_ELEM *pSchedElem, CNTL_DATE_STRUCT *pDate  );
-int Util_findAday( int startingDay, unsigned char dailySchedule );
-int Util_getDoWThisMonth( TSC_SCHED_ELEM *pSchedElem, int dom );
-int Util_numDaysInSchedule( unsigned char dailySchedule );
-
-char *Util_getDailyScheduleString( CNTL_SCHED_STRUCT *pTimeStruct );
-char *Util_getWeeklyScheduleString( CNTL_SCHED_STRUCT *pTimeStruct);
-char *Util_getDayString( int dayOfWeek );
-
-int TSCgetNumericSuffix(char* input);
-char * TSCinterruptReasonToString( TSC_SCHED_MISS_REASON reason );
-
-#endif