aboutsummaryrefslogtreecommitdiff
path: root/AT91SAM7S256/Source/m_sched.c
blob: 7c6955151dc45a669dc8f16891fde4d8a69945fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
//
// Date init       14.12.2004
//
// Revision date   $Date:: 14-11-07 12:40                                    $
//
// Filename        $Workfile:: m_sched.c                                     $
//
// Version         $Revision:: 1                                             $
//
// Archive         $Archive:: /LMS2006/Sys01/Main_V02/Firmware/Source/m_sche $
//
// Platform        C
//


#define   INCLUDE_OS

#define   MODULEHEADERS                 32

#include  "stdconst.h"
#include  "modules.h"
#include  "m_sched.h"

#include  "c_comm.h"
#include  "c_input.h"
#include  "c_button.h"
#include  "c_loader.h"
#include  "c_sound.h"
#include  "c_display.h"
#include  "c_lowspeed.h"
#include  "c_output.h"
#include  "c_cmd.h"
#include  "c_cmd.iom"
#include  "c_ioctrl.h"
#include  "c_ui.h"


static    const HEADER*  pModuleHeaders[MODULEHEADERS] = 
{
  &cComm,
  &cInput,
  &cButton,
  &cDisplay,
  &cLoader,
  &cLowSpeed,
  &cOutput,
  &cSound,
  &cIOCtrl,
  &cCmd,
  &cUi,
  0
};


void      mSchedInit(void)
{
  UWORD   Tmp;
 
  Tmp = 0;
  while(pModuleHeaders[Tmp])
  {
    (*pModuleHeaders[Tmp]).cInit((void*) pModuleHeaders);
    Tmp++;
  }
}


UBYTE     mSchedCtrl(void)
{
  UWORD   Tmp;

  Tmp = 0;
  while(pModuleHeaders[Tmp])
  {
    (*pModuleHeaders[Tmp]).cCtrl();
    Tmp++;
  }

  return(((IOMAPCMD*)(pModuleHeaders[ENTRY_CMD]->pIOMap))->Awake);
}


void      mSchedExit(void)
{
  UWORD   Tmp;

  Tmp = 0;
  while(pModuleHeaders[Tmp])
  {
    (*pModuleHeaders[Tmp]).cExit();
    Tmp++;
  }
}