SDDC_Driver
Loading...
Searching...
No Matches
Interface.h
1#pragma once
2
3#define FIRMWARE_VER_MAJOR 2
4#define FIRMWARE_VER_MINOR 2
5
6// HF103 commands !!!
7enum FX3Command {
8 // Start GPII engine and stream the data from ADC
9 // WRITE: UINT32
10 STARTFX3 = 0xAA,
11
12 // Stop GPII engine
13 // WRITE: UINT32
14 STOPFX3 = 0xAB,
15
16 // Get the information of device
17 // including model, version
18 // READ: UINT32
19 TESTFX3 = 0xAC,
20
21 // Control GPIOs
22 // WRITE: UINT32
23 GPIOFX3 = 0xAD,
24
25 // Write data to I2c bus
26 // WRITE: DATA
27 // INDEX: reg
28 // VALUE: i2c_addr
29 I2CWFX3 = 0xAE,
30
31 // Read data from I2c bus
32 // READ: DATA
33 // INDEX: reg
34 // VALUE: i2c_addr
35 I2CRFX3 = 0xAF,
36
37 // Reset USB chip and get back to bootloader mode
38 // WRITE: NONE
39 RESETFX3 = 0xB1,
40
41 // Set Argument, packet Index/Vaule contains the data
42 // WRITE: (Additional Data)
43 // INDEX: Argument_index
44 // VALUE: arguement value
45 SETARGFX3 = 0xB6,
46
47 // Start ADC with the specific frequency
48 // Optional, if ADC is running with crystal, this is not needed.
49 // WRITE: UINT32 -> adc frequency
50 STARTADC = 0xB2,
51
52 // R82XX family Tuner functions
53 // Initialize R82XX tuner
54 // WRITE: NONE
55 TUNERINIT = 0xB4,
56
57 // Tune to a sepcific frequency
58 // WRITE: UINT64
59 TUNERTUNE = 0xB5,
60
61 // Stop Tuner
62 // WRITE: NONE
63 TUNERSTDBY = 0xB8,
64
65 // Read Debug string if any
66 // READ:
67 READINFODEBUG = 0xBA,
68};
69
70#define OUTXIO0 (1U << 0) // ATT_LE
71#define OUTXIO1 (1U << 1) // ATT_CLK
72#define OUTXIO2 (1U << 2) // ATT_DATA
73#define OUTXIO3 (1U << 3) // SEL0
74#define OUTXIO4 (1U << 4) // SEL1
75#define OUTXIO5 (1U << 5) // SHDWN
76#define OUTXIO6 (1U << 6) // DITH
77#define OUTXIO7 (1U << 7) // RAND
78
79#define OUTXIO8 (1U << 8) // 256
80#define OUTXIO9 (1U << 9) // 512
81#define OUTXI10 (1U << 10) // 1024
82#define OUTXI11 (1U << 11) // 2048
83#define OUTXI12 (1U << 12) // 4096
84#define OUTXI13 (1U << 13) // 8192
85#define OUTXI14 (1U << 14) // 16384
86#define OUTXI15 (1U << 15) // 32768
87#define OUTXI16 (1U << 16)
88
89enum GPIOPin {
90 SHDWN = OUTXIO5,
91 DITH = OUTXIO6,
92 RANDO = OUTXIO7,
93 BIAS_HF = OUTXIO8,
94 BIAS_VHF = OUTXIO9,
95 LED_YELLOW = OUTXI10,
96 LED_RED = OUTXI11,
97 LED_BLUE = OUTXI12,
98 ATT_SEL0 = OUTXI13,
99 ATT_SEL1 = OUTXI14,
100
101 // RX888r2
102 VHF_EN = OUTXI15,
103 PGA_EN = OUTXI16,
104};
105
106typedef enum RadioModel {
107 NORADIO = 0x00,
108 BBRF103 = 0x01,
109 HF103 = 0x02,
110 RX888 = 0x03,
111 RX888r2 = 0x04,
112 RX999 = 0x05,
113 RXLUCY = 0x06,
114 RX888r3 = 0x07,
115} RadioModel;
116
117enum ArgumentList {
118 // Set R8xx lna/mixer gain
119 // value: 0-29
120 R82XX_ATTENUATOR = 1,
121
122 // Set R8xx vga gain
123 // value: 0-15
124 R82XX_VGA = 2,
125
126 // Set R8xx sideband
127 // value: 0/1
128 R82XX_SIDEBAND = 3,
129
130 // Set R8xx harmonic
131 // value: 0/1
132 R82XX_HARMONIC = 4,
133
134 // Set DAT-31 Att
135 // Value: 0-63
136 DAT31_ATT = 10,
137
138 // Set AD8340 chip vga
139 // Value: 0-255
140 AD8340_VGA = 11,
141
142 // Preselector
143 // Value: 0-2
144 PRESELECTOR = 12,
145
146 // VHFATT
147 // Value: 0-15
148 VHF_ATTENUATOR = 13,
149};
150
151#define _DEBUG_USB_
152#define MAXLEN_D_USB (100)
153
154