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

#ifndef   CLOWSPEED_IOM
#define   CLOWSPEED_IOM

#define   pMapLowSpeed ((IOMAPLOWSPEED*)(pHeaders[ENTRY_LOWSPEED]->pIOMap))  

#define   MAX_RETRY_TX_COUNT		  3
#define   NO_OF_LOWSPEED_COM_CHANNEL  4
#define   NO_OF_LSBUF				  NO_OF_LOWSPEED_COM_CHANNEL
#define   SIZE_OF_LSBUF				  16

//Constants referring to LowSpeedDeviceType
enum
{
  ULTRA_SONIC = 2,
  CUSTOM_LS_DEVICE  
};

// Constants reffering to State
enum
{
  COM_CHANNEL_NONE_ACTIVE =  0x00,
  COM_CHANNEL_ONE_ACTIVE =   0x01,
  COM_CHANNEL_TWO_ACTIVE =   0x02,
  COM_CHANNEL_THREE_ACTIVE = 0x04,
  COM_CHANNEL_FOUR_ACTIVE =  0x08
};

// Constants reffering to ChannelState
enum
{
  LOWSPEED_IDLE,
  LOWSPEED_INIT,
  LOWSPEED_LOAD_BUFFER,
  LOWSPEED_COMMUNICATING,  
  LOWSPEED_ERROR,
  LOWSPEED_DONE  
};

// Constants reffering to Mode
enum
{
  LOWSPEED_TRANSMITTING = 1,
  LOWSPEED_RECEIVING,
  LOWSPEED_DATA_RECEIVED
};

// Constants reffering to ErrorType
enum
{
  LOWSPEED_NO_ERROR = 0,
  LOWSPEED_CH_NOT_READY,
  LOWSPEED_TX_ERROR,
  LOWSPEED_RX_ERROR  
};


typedef   struct
{
  UBYTE   Buf[SIZE_OF_LSBUF];
  UBYTE   InPtr;
  UBYTE   OutPtr;
  UBYTE   BytesToRx; 
}LSBUF;

typedef   struct
{
  LSBUF   InBuf[NO_OF_LSBUF]; 
  LSBUF   OutBuf[NO_OF_LSBUF];
  UBYTE   Mode[NO_OF_LSBUF];
  UBYTE	  ChannelState[NO_OF_LSBUF];
  UBYTE   ErrorType[NO_OF_LSBUF];
  UBYTE   State;
  UBYTE   Speed;  
  UBYTE   Spare1;
}IOMAPLOWSPEED;


#endif