text: #ifndef PLANNER_H
  #define	PLANNER_H
  /*
   *******************************************************************************
   * Filename:    Planner.h
   * Programmer:  Ivanov Semen
   * 
   * Created:     2015/11/17    (YYYY/MM/DD)
   * 
   * Description: 
   * *****************************************************************************
   */
  
  /*******************************************************************************
   *                              Include Section
  ******************************************************************************/
  
  #include 	"stm32f10x.h"
  
  /*******************************************************************************
   *                              Constant Section
  ******************************************************************************/
  
  /*******************************************************************************
   *                              Define Section
  ******************************************************************************/
  
  #define MAX_TASKS   4
  
  /*******************************************************************************
   *                              Typedef Section
  ******************************************************************************/
  
  typedef struct
  { 
      void       (*pFunc) (void);    
      uint16_t     delay;              
      uint16_t     period;             
      uint8_t      run;                
  }task_tag;
  
  /*******************************************************************************
   *                          Global Variables Section
  ******************************************************************************/
  
  /*******************************************************************************
   *                          Global Function Prototype
  ******************************************************************************/
  
  /*******************************************************************************
   *
   *  Function:       planner_set_task (void (*taskFunc)(void), uint16 taskDelay, 
   *                                                           uint16 taskPeriod);
   *
   *------------------------------------------------------------------------------
   *
   *  description:    add or change task
   *
   *  parameters:     void *taskFunc - pointer to function;
   *                  uint16 taskDelay - delay before 1st execution
   *                  uint16 taskPeriod - period between call
   * 
   *  on return:      none
   *
   * -----------------------------------------------------------------------------
   * 
   *  changes:
   *                  Version     1.0 (xx.xx.xx):
   *                                  1. 
   ******************************************************************************/
  void planner_set_task (void (*taskFunc)(void), uint16_t taskDelay, uint16_t taskPeriod);
  
  /*******************************************************************************
   *
   *  Function:       planer_dispatch_task(void);
   *
   *------------------------------------------------------------------------------
   *
   *  description:    call func., when ready
   *
   *  parameters:     none
   * 
   *  on return:      none
   *
   * -----------------------------------------------------------------------------
   * 
   *  changes:
   *                  Version     1.0 (xx.xx.xx):
   *                                  1. 
   ******************************************************************************/
  
  void planer_dispatch_task(void);
  
  /*******************************************************************************
   *
   *  Function:       planner_delete_task (void (*taskFunc)(void));
   *
   *------------------------------------------------------------------------------
   *
   *  description:    delete function from planner
   *
   *  parameters:     *taskFunc - deleting func.
   * 
   *  on return:      none
   *
   * -----------------------------------------------------------------------------
   * 
   *  changes:
   *                  Version     1.0 (xx.xx.xx):
   *                                  1. 
   ******************************************************************************/
  
  void planner_delete_task (void (*taskFunc)(void));
  
  /*******************************************************************************
   *
   *  Function:       void planner_tics_ISR (void);
   *
   *------------------------------------------------------------------------------
   *
   *  description:    count system tics (add it in tmr_isr)
   *
   *  parameters:     none
   * 
   *  on return:      none
   *
   * -----------------------------------------------------------------------------
   * 
   *  changes:
   *                  Version     1.0 (xx.xx.xx):
   *                                  1. 
   ******************************************************************************/
  
  void planner_tics_ISR (void);
  
  
  /*******************************************************************************
   *                               Errors Section
  ******************************************************************************/
  
  #endif	/* PLANNER_H */
  
  