as3993 ST25RU3993 Firmware
as3993_config.h
Go to the documentation of this file.
1 /*
2  *****************************************************************************
3  * AS3993/ST25RU3993 Firmware tech@eleckits.com http://iot.eleckits.com *
4  * STMicroelectronics ST25RU3993 is an EPC Class 1 Gen 2 RFID reader IC *
5  * *
6  * IMPORTANT - PLEASE READ CAREFULLY BEFORE COPYING, INSTALLING OR USING *
7  * THE SOFTWARE. *
8  * *
9  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
10  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *
11  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *
12  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT *
13  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, *
14  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT *
15  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, *
16  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY *
17  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
18  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE *
19  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
20  *****************************************************************************
21  */
33 #ifndef _AS3993_CONFIG_H
34 #define _AS3993_CONFIG_H
35 
36 /***************************************************************************/
37 /********************** configuration area *********************************/
38 /***************************************************************************/
39 
41 #define FERMI 0
42 
44 #define FEMTO2 1
45 
47 #define FEMTO2_1 0
48 
50 #define RADON 0
51 
53 #define NEWTON 0
54 
56 #define RUN_ON_AS3993 1
57 
59 #define RUN_ON_AS3980 0
60 
63 #define AS3993_DO_SELFTEST 1
64 
67 #define AS3993DEBUG 0
68 
70 #define VERBOSE_INIT 0
71 
73 #if RUN_ON_AS3993
74 #define ISO6B 1
75 #else
76 #define ISO6B 0
77 #endif
78 
79 #if ISO6B
80 #define CRC16_ENABLE 1
81 #endif
82 
84 #define BAUDRATE 115200UL
85 
86 /***************************************************************************/
87 /******************** private definitions, not to be changed ***************/
88 /***************************************************************************/
89 #define EVAL_HW_ID 1 //not supported anymore
90 #define FERMI_HW_ID 2
91 #define FERMI_BIG_HW_ID 3 //not supported anymore
92 #define FEMTO_1V0_HW_ID 4 //not supported anymore
93 #define FEMTO_1V1_HW_ID 5 //not supported anymore
94 #define FEMTO_2V0_HW_ID 6
95 #define MEGA_HW_ID 7 //not supported anymore
96 #define RADON_HW_ID 8
97 #define FEMTO_2V1_HW_ID 9
98 #define NEWTON_HW_ID 10
99 
100 #if RUN_ON_AS3993
101 #define CHIP "AS3993"
102 #elif RUN_ON_AS3980
103 #define CHIP "AS3980"
104 #endif
105 
106 #define FIRMWARE_ID CHIP" Reader Firmware"
107 #define FIRMWARE_VERSION 0x020504UL;
108 
109 #if FERMI
110 #define HARDWARE_ID CHIP" FERMI Reader Hardware 1.0"
111 #define HARDWARE_ID_NUM FERMI_HW_ID
112 #endif
113 
114 #if FEMTO2
115 #define HARDWARE_ID CHIP" FEMTO Reader Hardware 2.0"
116 #define HARDWARE_ID_NUM FEMTO_2V0_HW_ID
117 #endif
118 
119 #if FEMTO2_1
120 #define HARDWARE_ID CHIP" FEMTO Reader Hardware 2.1"
121 #define HARDWARE_ID_NUM FEMTO_2V1_HW_ID
122 #endif
123 
124 #if RADON
125 #define HARDWARE_ID CHIP" RADON Reader Hardware 1.0"
126 #define HARDWARE_ID_NUM RADON_HW_ID
127 #endif
128 
129 #if NEWTON
130 #define HARDWARE_ID CHIP" NEWTON Reader Hardware 1.0"
131 #define HARDWARE_ID_NUM NEWTON_HW_ID
132 #endif
133 
134 #define WRONG_CHIP_ID "caution wrong chip"
135 
137 #define TUNER_CIN 0x01
138 
139 #define TUNER_CLEN 0x02
140 
141 #define TUNER_COUT 0x04
142 
143 /* Set the following configuration switches depending on the board setup:
144  * INTVCO or EXTVCO
145  * INTPA or EXTPA
146  * SINGLEINP or BALANCEDINP
147  * ANTENNA_SWITCH if 2 antenna ports are available
148  * TUNER if antenna tuning is available
149  * TUNER_CONFIG configures which tuner caps are available (bitmask)
150 */
151 #if FERMI
152 #define INTVCO
153 #define EXTPA
154 #define BALANCEDINP
155 #elif FEMTO2 || FEMTO2_1
156 #define INTVCO
157 #define INTPA
158 #define SINGLEINP
159 #define ANTENNA_SWITCH
160 #define TUNER
161 #define TUNER_CONFIG (TUNER_CIN | TUNER_COUT)
162 #elif RADON
163 #define INTVCO
164 #define EXTPA
165 #define BALANCEDINP
166 #define ANTENNA_SWITCH
167 #define TUNER
168 #define TUNER_CONFIG (TUNER_CIN | TUNER_CLEN | TUNER_COUT)
169 #elif NEWTON
170 #define INTVCO
171 #define EXTPA
172 #define SINGLEINP
173 #define ANTENNA_SWITCH
174 #endif
175 
176 /***************************************************************************/
177 /******************** check for configuration errors ***********************/
178 /***************************************************************************/
179 #if (FERMI + FEMTO2 + FEMTO2_1 + RADON + NEWTON) > 1
180 #error "FW is configured for more than 1 board at the same time"
181 #endif
182 #if !FERMI && !FEMTO2 && !FEMTO2_1 && !RADON && !NEWTON
183 #error unknown board
184 #endif
185 
186 #if (RUN_ON_AS3993 + RUN_ON_AS3980) > 1
187 #error "FW is configured for more than 1 chip at the same time"
188 #endif
189 #if !RUN_ON_AS3993 && !RUN_ON_AS3980
190 #error "unknown device"
191 #endif
192 
260 #endif