aboutsummaryrefslogtreecommitdiff
path: root/AT91SAM7S256/Source/c_lowspeed.h
blob: 159515875de9c66857e66fcd2a6d4fd9062c9ccf (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
//
// Date init       14.12.2004
//
// Revision date   $Date:: 14-11-07 12:40                                    $
//
// Filename        $Workfile:: c_lowspeed.h                                  $
//
// Version         $Revision:: 1                                             $
//
// Archive         $Archive:: /LMS2006/Sys01/Main_V02/Firmware/Source/c_lows $
//
// Platform        C
//

#ifndef   C_LOWSPEED
#define   C_LOWSPEED

#define   LOWSPEED_RX_TIMEOUT		         100
#define   LOWSPEED_COMMUNICATION_SUCCESS 0x01
#define   LOWSPEED_COMMUNICATION_ERROR   0xFF
#define   SIZE_OF_LSBUFDATA              16
#define   NO_OF_LOWSPEED_COM_CH          4

enum
{
  LOWSPEED_CHANNEL1,
  LOWSPEED_CHANNEL2,
  LOWSPEED_CHANNEL3,
  LOWSPEED_CHANNEL4
};

enum
{
  TIMER_STOPPED,
  TIMER_RUNNING
};

typedef   struct
{
  UBYTE   Buf[SIZE_OF_LSBUFDATA];
  UBYTE   InPtr;
  UBYTE   OutPtr;
}LSDATA;

typedef   struct
{
  LSDATA  OutputBuf[NO_OF_LOWSPEED_COM_CH];
  LSDATA  InputBuf[NO_OF_LOWSPEED_COM_CH];
  UBYTE   RxTimeCnt[NO_OF_LOWSPEED_COM_CH];
  UBYTE   ErrorCount[NO_OF_LOWSPEED_COM_CH];  
  UBYTE   Tmp;
  UBYTE   TimerState;  
}VARSLOWSPEED;

void      cLowSpeedInit(void* pHeader);
void      cLowSpeedCtrl(void);
void      cLowSpeedExit(void);

extern    const HEADER cLowSpeed;

#endif