-
Notifications
You must be signed in to change notification settings - Fork 4
/
a867_user.h
155 lines (122 loc) · 3.33 KB
/
a867_user.h
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#ifndef __USER_H__
#define __USER_H__
//#include <stdio.h>
#include "a867_type.h"
#include "a867_error.h"
//#include <linux/smp_lock.h> //for Linux mdelay
#include <linux/delay.h> //for Linux mdelay
#define User_USE_INTERRUPT 0
#define User_USE_DRIVER 0
/** Define timeout count for acquirePlatform and setPlatform, the default value 300 means 30 seconds. */
#define User_TIMEOUT_COUNT 300
/** Define I2C master speed, the default value 0x0D means 197KHz (1000000000 / (24.4 * 16 * User_I2C_SPEED)). */
#define User_I2C_SPEED 0x0D
/** Define I2C address of secondary chip when Diversity mode or PIP mode is active. */
#define User_I2C_ADDRESS 0x3A//0x38
/** Define USB frame size */
#define User_USB20_MAX_PACKET_SIZE 512
//j010+s
//#define User_USB20_FRAME_SIZE (188 * 348)
#define User_USB20_FRAME_SIZE (188 * TS_PACKET_COUNT)
//j010+e
#define User_USB20_FRAME_SIZE_DW (User_USB20_FRAME_SIZE / 4)
#define User_USB11_MAX_PACKET_SIZE 64
#define User_USB11_FRAME_SIZE (188 * 21)
#define User_USB11_FRAME_SIZE_DW (User_USB11_FRAME_SIZE / 4)
typedef unsigned char tBYTE; // 1 byte
typedef unsigned short tWORD; // 2 bytes
typedef unsigned int tDWORD; // 4 bytes
typedef int tINT; // 4 bytes
typedef void * tHANDLE;
/**
* Memory copy Function
*/
Dword User_memoryCopy (
IN Demodulator* demodulator,
IN void* dest,
IN void* src,
IN Dword count
);
/**
* Memory free Function
*/
Dword User_memoryFree (
IN Demodulator* demodulator,
IN void* mem
);
/**
* Print Function
*/
Dword User_printf (
IN Demodulator* demodulator,
IN const char* format,
IN ...
);
/**
* Delay Function
*/
Dword User_delay (
IN Demodulator* demodulator,
IN Dword dwMs
);
/**
* Creat and initialize critical section
*/
Dword User_createCriticalSection (
IN Demodulator* demodulator
);
/**
* Delete critical section
*/
Dword User_deleteCriticalSection (
IN Demodulator* demodulator
);
/**
* Enter critical section
*/
Dword User_enterCriticalSection (
IN Demodulator* demodulator
);
/**
* Leave critical section
*/
Dword User_leaveCriticalSection (
IN Demodulator* demodulator
);
/**
* Config MPEG2 interface
*/
Dword User_mpegConfig (
IN Demodulator* demodulator
);
/**
* Write data via "Control Bus"
* I2C mode : uc2WireAddr mean demodulator chip address, the default value is 0x38
* USB mode : uc2WireAddr is useless, don't have to send this data
*/
Dword User_busTx (
IN Demodulator* demodulator,
IN Dword bufferLength,
IN Byte* buffer
);
/**
* Read data via "Control Bus"
* I2C mode : uc2WireAddr mean demodulator chip address, the default value is 0x38
* USB mode : uc2WireAddr is useless, don't have to send this data
*/
Dword User_busRx (
IN Demodulator* demodulator,
IN Dword bufferLength,
OUT Byte* buffer
);
/**
* Read data via "Data Bus"
* I2C mode : uc2WireAddr mean demodulator chip address, the default value is 0x38
* USB mode : uc2WireAddr is useless, don't have to send this data
*/
Dword User_busRxData (
IN Demodulator* demodulator,
IN Dword bufferLength,
OUT Byte* buffer
);
#endif