Date:2011-02-22 04:17:13 (3 years 9 months ago)
Author:Werner Almesberger
Commit:2642b9e1c3a8dc602dc419be1a374598941b5994
Message:atusb-sil/: moved C8051F326-related material out of atusb/

- Makefile, atusb.pro, atusb.sch, atrf.sch, usb.sch, atusb.cmp, atusb.brd:
resurrected from git history (commit
14b00823b04f185638e4c741016e59eecde2f64e)
- fw/: moved all C8051F326-specific files over from atusb/fw/
- fw/include/: copied MCU-independent files over from atusb/fw/include/
Files: atusb-sil/Makefile (1 diff)
atusb-sil/atrf.sch (1 diff)
atusb-sil/atusb.brd (1 diff)
atusb-sil/atusb.cmp (1 diff)
atusb-sil/atusb.pro (1 diff)
atusb-sil/atusb.sch (1 diff)
atusb-sil/fw/Makefile (1 diff)
atusb-sil/fw/atusb/Makefile (1 diff)
atusb-sil/fw/atusb/atusb.c (1 diff)
atusb-sil/fw/atusb/descr.c (1 diff)
atusb-sil/fw/atusb/ep0.c (1 diff)
atusb-sil/fw/boot/Makefile (1 diff)
atusb-sil/fw/common/Makefile (1 diff)
atusb-sil/fw/common/Makefile.common (1 diff)
atusb-sil/fw/common/config.h (1 diff)
atusb-sil/fw/common/io.h (1 diff)
atusb-sil/fw/common/regs.h (1 diff)
atusb-sil/fw/include/at86rf230.h (1 diff)
atusb-sil/fw/include/atusb/ep0.h (1 diff)
atusb-sil/fw/include/atusb/usb-ids.h (1 diff)
atusb-sil/usb.sch (1 diff)
atusb/fw/Makefile (1 diff)
atusb/fw/atusb/Makefile (1 diff)
atusb/fw/atusb/atusb.c (1 diff)
atusb/fw/atusb/descr.c (1 diff)
atusb/fw/atusb/ep0.c (1 diff)
atusb/fw/boot/Makefile (1 diff)
atusb/fw/common/Makefile (1 diff)
atusb/fw/common/Makefile.common (1 diff)
atusb/fw/common/config.h (1 diff)
atusb/fw/common/io.h (1 diff)
atusb/fw/common/regs.h (1 diff)

Change Details

atusb-sil/Makefile
1PLOT_BRD = pcbnew --plot=ps_a4 --ps-pads-drill-opt=none --fill-all-zones
2
3NAME = atusb
4
5.PHONY: all gen generate sch brd xpdf front back clean
6
7all:
8        @echo "make what ? target: gen sch brd xpdf front back clean"
9        @exit 1
10
11gen generate:
12        eeschema --plot `pwd`/$(NAME).sch
13        # need scripts
14
15sch:
16        eeschema `pwd`/$(NAME).sch
17
18brd:
19        pcbnew `pwd`/$(NAME).brd
20
21xpdf:
22        xpdf $(NAME).pdf
23
24front: $(NAME)-Front.ps
25        lpr $<
26
27back: $(NAME)-Back.ps
28        lpr $<
29
30#
31# Postscript for production of front/back layer, using the toner transfer
32# method. Note that other artwork transfer methods may require different
33# mirror settings.
34#
35# We use --ps-pads-drill-opt=none to avoid having any hole before drilling,
36# which yields the best results with a CNC drill. For manual drilling, "real"
37# would be preferrable. Do not use "small", for this created holes that are
38# larger (!) than designed.
39#
40
41%-Front.ps: %.brd
42        $(PLOT_BRD) -l Front --mirror $<
43
44%-Back.ps: %.brd
45        $(PLOT_BRD) -l Back $<
46
47clean:
48        rm -f $(NAME)-Front.ps $(NAME)-Back.ps
49        rm -f $(NAME).drl $(NAME)-PCB_Edges.gbr
50        rm -f $(NAME)-Front.gtl $(NAME)-Mask_Front.gts
51        rm -f $(NAME)-SilkS_Front.gto $(NAME)-SoldP_Front.gtp
52        rm -f $(NAME)-Back.gbl $(NAME)-Mask_Back.gbs
53        rm -f $(NAME)-SilkS_Back.gbo $(NAME)-SoldP_Back.gbp
54        rm -f $(NAME)-Comments.gbr
atusb-sil/atrf.sch
1EESchema Schematic File Version 2 date Sun Jan 23 01:33:33 2011
2LIBS:power
3LIBS:device
4LIBS:conn
5LIBS:at86rf231
6LIBS:c8051f326
7LIBS:usb_a_plug
8LIBS:xtal-4
9LIBS:antenna
10LIBS:balun-smt6
11LIBS:atusb-cache
12EELAYER 24 0
13EELAYER END
14$Descr A4 11700 8267
15Sheet 3 3
16Title "IEEE 802.15.4 USB Transceiver (AT86RF230)"
17Date "23 jan 2011"
18Rev "20110123"
19Comp "Werner Almesberger"
20Comment1 ""
21Comment2 ""
22Comment3 ""
23Comment4 ""
24$EndDescr
25Wire Wire Line
26    2500 4400 2500 4600
27Connection ~ 6200 3750
28Wire Wire Line
29    6700 3750 6200 3750
30Wire Wire Line
31    6700 4500 6500 4500
32Wire Wire Line
33    6500 4500 6500 4850
34Wire Wire Line
35    3150 5000 3150 4200
36Wire Wire Line
37    4350 5000 4350 4800
38Wire Wire Line
39    4150 4000 4350 4000
40Wire Wire Line
41    4950 4200 5150 4200
42Wire Wire Line
43    5150 4200 5150 4050
44Wire Wire Line
45    5150 4050 6700 4050
46Wire Wire Line
47    4950 3800 5350 3800
48Wire Wire Line
49    5350 3800 5350 4200
50Wire Wire Line
51    5350 4200 6700 4200
52Wire Wire Line
53    1400 3800 1800 3800
54Connection ~ 3400 6150
55Wire Wire Line
56    3400 6350 3400 6150
57Wire Wire Line
58    1600 4600 1600 3900
59Connection ~ 8400 6150
60Wire Wire Line
61    8600 6150 8400 6150
62Wire Wire Line
63    7600 2050 7600 1850
64Wire Wire Line
65    8100 2650 8100 1250
66Wire Wire Line
67    8250 2650 8250 2450
68Wire Wire Line
69    7950 2650 7950 2450
70Connection ~ 9700 2450
71Wire Wire Line
72    9900 2450 8550 2450
73Wire Wire Line
74    8550 2450 8550 2650
75Connection ~ 10500 1950
76Wire Wire Line
77    10500 1950 10100 1950
78Wire Wire Line
79    10500 2650 10500 1150
80Wire Wire Line
81    10500 1150 10300 1150
82Wire Wire Line
83    9700 1350 9700 1150
84Connection ~ 7500 2450
85Wire Wire Line
86    6200 2450 7800 2450
87Wire Wire Line
88    6200 2450 6200 4850
89Connection ~ 6200 4350
90Wire Wire Line
91    6700 4350 6200 4350
92Wire Wire Line
93    8100 6950 8100 6750
94Wire Wire Line
95    7500 5450 7500 5850
96Connection ~ 9700 4500
97Wire Wire Line
98    9700 4850 9700 4050
99Wire Wire Line
100    9500 4500 9700 4500
101Wire Wire Line
102    10400 3600 9500 3600
103Wire Wire Line
104    10400 3900 9500 3900
105Wire Wire Line
106    10400 4350 9500 4350
107Wire Wire Line
108    8550 5850 8550 5450
109Wire Wire Line
110    8400 6350 8400 5450
111Wire Wire Line
112    8100 6350 8100 5450
113Wire Wire Line
114    8250 5450 8250 5650
115Wire Wire Line
116    8250 5650 8100 5650
117Connection ~ 8100 5650
118Wire Wire Line
119    6000 4650 6700 4650
120Wire Wire Line
121    10400 4650 9500 4650
122Wire Wire Line
123    9500 4200 10400 4200
124Wire Wire Line
125    9500 3750 10400 3750
126Wire Wire Line
127    9700 4050 9500 4050
128Wire Wire Line
129    7950 5850 7950 5450
130Wire Wire Line
131    7650 5450 7650 5650
132Wire Wire Line
133    7650 5650 7500 5650
134Connection ~ 7500 5650
135Wire Wire Line
136    8400 6750 8400 6950
137Wire Wire Line
138    9000 5850 9000 5450
139Wire Wire Line
140    6200 3900 6700 3900
141Connection ~ 6200 3900
142Wire Wire Line
143    7800 2450 7800 2650
144Wire Wire Line
145    7500 2450 7500 2650
146Wire Wire Line
147    7650 2650 7650 2450
148Connection ~ 7650 2450
149Wire Wire Line
150    9700 2250 9700 2450
151Wire Wire Line
152    10500 2450 10300 2450
153Connection ~ 10500 2450
154Wire Wire Line
155    10100 1650 10500 1650
156Connection ~ 10500 1650
157Wire Wire Line
158    8400 2650 8400 1150
159Wire Wire Line
160    8400 1150 9900 1150
161Connection ~ 9700 1150
162Wire Wire Line
163    7950 2050 7950 1850
164Wire Wire Line
165    7800 6350 7800 5450
166Wire Wire Line
167    7600 1450 7600 1250
168Wire Wire Line
169    7600 1250 8100 1250
170Wire Wire Line
171    7850 1050 7850 1250
172Connection ~ 7850 1250
173Wire Wire Line
174    1600 3900 1400 3900
175Wire Wire Line
176    3150 6350 3150 6150
177Wire Wire Line
178    3150 6150 3650 6150
179Wire Wire Line
180    3650 6150 3650 6350
181Wire Wire Line
182    2300 3800 3350 3800
183Wire Wire Line
184    4150 3800 4550 3800
185Wire Wire Line
186    4150 4200 4550 4200
187Wire Wire Line
188    3150 4200 3350 4200
189Wire Wire Line
190    4350 3600 4350 4400
191Connection ~ 4350 4000
192Wire Wire Line
193    3350 4300 3150 4300
194Connection ~ 3150 4300
195Wire Wire Line
196    6200 3600 6700 3600
197Connection ~ 6200 3600
198Wire Wire Line
199    2500 4000 2500 3800
200Connection ~ 2500 3800
201$Comp
202L AGND #PWR016
203U 1 1 4D3B019B
204P 2500 4600
205F 0 "#PWR016" H 2500 4600 40 0001 C CNN
206F 1 "AGND" H 2500 4530 50 0000 C CNN
207    1 2500 4600
208    1 0 0 -1
209$EndComp
210$Comp
211L C C16
212U 1 1 4D3B018B
213P 2500 4200
214F 0 "C16" H 2550 4300 50 0000 L CNN
215F 1 "NC" H 2550 4100 50 0000 L CNN
216F 2 "0402" H 2500 4200 60 0001 C CNN
217    1 2500 4200
218    1 0 0 -1
219$EndComp
220$Comp
221L DGND #PWR23
222U 1 1 4D2296C2
223P 6500 4850
224F 0 "#PWR23" H 6500 4850 40 0001 C CNN
225F 1 "DGND" H 6500 4780 40 0000 C CNN
226    1 6500 4850
227    1 0 0 -1
228$EndComp
229$Comp
230L AT86RF231 U2
231U 1 1 4D229690
232P 8100 4050
233F 0 "U2" H 7100 5250 60 0000 C CNN
234F 1 "AT86RF231" H 8100 4050 60 0000 C CNN
235F 2 "QFN32-VHHD-6" H 8100 4050 60 0001 C CNN
236    1 8100 4050
237    1 0 0 -1
238$EndComp
239Text Label 2850 3800 0 60 ~ 0
240FEED
241$Comp
242L PWR_FLAG #FLG017
243U 1 1 4CF4B348
244P 4350 3600
245F 0 "#FLG017" H 4350 3870 30 0001 C CNN
246F 1 "PWR_FLAG" H 4350 3830 30 0000 C CNN
247    1 4350 3600
248    1 0 0 -1
249$EndComp
250$Comp
251L AGND #PWR018
252U 1 1 4CF4B229
253P 3150 5000
254F 0 "#PWR018" H 3150 5000 40 0001 C CNN
255F 1 "AGND" H 3150 4930 50 0000 C CNN
256    1 3150 5000
257    1 0 0 -1
258$EndComp
259$Comp
260L AGND #PWR019
261U 1 1 4CF4B224
262P 4350 5000
263F 0 "#PWR019" H 4350 5000 40 0001 C CNN
264F 1 "AGND" H 4350 4930 50 0000 C CNN
265    1 4350 5000
266    1 0 0 -1
267$EndComp
268$Comp
269L R R3
270U 1 1 4CF4B07E
271P 2050 3800
272F 0 "R3" V 2130 3800 50 0000 C CNN
273F 1 "0R" V 2050 3800 50 0000 C CNN
274F 2 "0402" H 2050 3800 60 0001 C CNN
275    1 2050 3800
276    0 -1 -1 0
277$EndComp
278$Comp
279L BALUN-SMT6 B1
280U 1 1 4CF4B034
281P 3750 4000
282F 0 "B1" H 3450 4350 60 0000 C CNN
283F 1 "2450FB15L0001" H 3750 3550 60 0000 C CNN
284F 2 "0805-6" H 3750 4000 60 0001 C CNN
285    1 3750 4000
286    1 0 0 -1
287$EndComp
288Text Label 9900 4650 0 60 ~ 0
289CLKM
290Text Label 5750 4200 0 60 ~ 0
291RFN
292Text Label 5750 4050 0 60 ~ 0
293RPF
294$Comp
295L GND #PWR020
296U 1 1 4C641B5A
297P 3150 6350
298F 0 "#PWR020" H 3150 6350 30 0001 C CNN
299F 1 "GND" H 3150 6280 30 0001 C CNN
300    1 3150 6350
301    1 0 0 -1
302$EndComp
303$Comp
304L DGND #PWR19
305U 1 1 4C641B55
306P 3400 6350
307F 0 "#PWR19" H 3400 6350 40 0001 C CNN
308F 1 "DGND" H 3400 6280 40 0000 C CNN
309    1 3400 6350
310    1 0 0 -1
311$EndComp
312$Comp
313L AGND #PWR021
314U 1 1 4C641B53
315P 3650 6350
316F 0 "#PWR021" H 3650 6350 40 0001 C CNN
317F 1 "AGND" H 3650 6280 50 0000 C CNN
318    1 3650 6350
319    1 0 0 -1
320$EndComp
321$Comp
322L AGND #PWR022
323U 1 1 4C641731
324P 1600 4600
325F 0 "#PWR022" H 1600 4600 40 0001 C CNN
326F 1 "AGND" H 1600 4530 50 0000 C CNN
327    1 1600 4600
328    1 0 0 -1
329$EndComp
330$Comp
331L C C3
332U 1 1 4C641710
333P 4350 4600
334F 0 "C3" H 4400 4700 50 0000 L CNN
335F 1 "22pF/RF" H 4400 4500 50 0000 L CNN
336F 2 "0402" H 4350 4600 60 0001 C CNN
337    1 4350 4600
338    1 0 0 -1
339$EndComp
340$Comp
341L C C9
342U 1 1 4C641509
343P 4750 4200
344F 0 "C9" H 4800 4300 50 0000 L CNN
345F 1 "22pF/RF" H 4800 4100 50 0000 L CNN
346F 2 "0402" H 4750 4200 60 0001 C CNN
347    1 4750 4200
348    0 -1 -1 0
349$EndComp
350$Comp
351L C C8
352U 1 1 4C641506
353P 4750 3800
354F 0 "C8" H 4800 3900 50 0000 L CNN
355F 1 "22pF/RF" H 4800 3700 50 0000 L CNN
356F 2 "0402" H 4750 3800 60 0001 C CNN
357    1 4750 3800
358    0 -1 -1 0
359$EndComp
360Text Notes 1300 1400 0 200 ~ 40
361RF
362Text HLabel 7800 6350 3 60 Input ~ 0
363SLP_TR
364Text HLabel 6000 4650 0 60 Input ~ 0
365nRST_RF
366Text HLabel 10400 4350 2 60 Input ~ 0
367SCLK
368Text HLabel 10400 4200 2 60 Output ~ 0
369MISO
370Text HLabel 10400 3900 2 60 Input ~ 0
371MOSI
372Text HLabel 10400 3750 2 60 Input ~ 0
373nSS
374Text HLabel 10400 3600 2 60 Output ~ 0
375IRQ_RF
376$Comp
377L VDD #PWR023
378U 1 1 4C641205
379P 8600 6150
380F 0 "#PWR023" H 8600 6250 30 0001 C CNN
381F 1 "VDD" H 8600 6260 30 0000 C CNN
382    1 8600 6150
383    0 1 1 0
384$EndComp
385$Comp
386L VDD #PWR024
387U 1 1 4C6411DB
388P 7850 1050
389F 0 "#PWR024" H 7850 1150 30 0001 C CNN
390F 1 "VDD" H 7850 1160 30 0000 C CNN
391    1 7850 1050
392    1 0 0 -1
393$EndComp
394$Comp
395L AGND #PWR025
396U 1 1 4C641100
397P 7600 2050
398F 0 "#PWR025" H 7600 2050 40 0001 C CNN
399F 1 "AGND" H 7600 1980 50 0000 C CNN
400    1 7600 2050
401    1 0 0 -1
402$EndComp
403$Comp
404L AGND #PWR026
405U 1 1 4C64109A
406P 8250 2450
407F 0 "#PWR026" H 8250 2450 40 0001 C CNN
408F 1 "AGND" H 8250 2380 50 0000 C CNN
409    1 8250 2450
410    -1 0 0 1
411$EndComp
412$Comp
413L DGND #PWR27
414U 1 1 4C641010
415P 7950 1850
416F 0 "#PWR27" H 7950 1850 40 0001 C CNN
417F 1 "DGND" H 7950 1780 40 0000 C CNN
418    1 7950 1850
419    -1 0 0 1
420$EndComp
421$Comp
422L C C11
423U 1 1 4C641004
424P 7950 2250
425F 0 "C11" H 8000 2350 50 0000 L CNN
426F 1 "1uF" H 8000 2150 50 0000 L CNN
427F 2 "0402" H 7950 2250 60 0001 C CNN
428    1 7950 2250
429    -1 0 0 -1
430$EndComp
431$Comp
432L DGND #PWR36
433U 1 1 4C640E02
434P 10500 2650
435F 0 "#PWR36" H 10500 2650 40 0001 C CNN
436F 1 "DGND" H 10500 2580 40 0000 C CNN
437    1 10500 2650
438    1 0 0 -1
439$EndComp
440$Comp
441L AGND #PWR027
442U 1 1 4C640D33
443P 6200 4850
444F 0 "#PWR027" H 6200 4850 40 0001 C CNN
445F 1 "AGND" H 6200 4780 50 0000 C CNN
446    1 6200 4850
447    1 0 0 -1
448$EndComp
449$Comp
450L TST P16
451U 1 1 4C640CD5
452P 10400 4650
453F 0 "P16" H 10400 4950 40 0000 C CNN
454F 1 "TST" H 10400 4900 30 0000 C CNN
455F 2 "PAD_60x60" H 10400 4650 60 0001 C CNN
456    1 10400 4650
457    0 1 1 0
458$EndComp
459$Comp
460L AGND #PWR028
461U 1 1 4C640CBA
462P 9000 5850
463F 0 "#PWR028" H 9000 5850 40 0001 C CNN
464F 1 "AGND" H 9000 5780 50 0000 C CNN
465    1 9000 5850
466    1 0 0 -1
467$EndComp
468$Comp
469L DGND #PWR29
470U 1 1 4C640C4C
471P 8100 6950
472F 0 "#PWR29" H 8100 6950 40 0001 C CNN
473F 1 "DGND" H 8100 6880 40 0000 C CNN
474    1 8100 6950
475    1 0 0 -1
476$EndComp
477$Comp
478L DGND #PWR31
479U 1 1 4C640C48
480P 8400 6950
481F 0 "#PWR31" H 8400 6950 40 0001 C CNN
482F 1 "DGND" H 8400 6880 40 0000 C CNN
483    1 8400 6950
484    1 0 0 -1
485$EndComp
486$Comp
487L DGND #PWR24
488U 1 1 4C640C14
489P 7500 5850
490F 0 "#PWR24" H 7500 5850 40 0001 C CNN
491F 1 "DGND" H 7500 5780 40 0000 C CNN
492    1 7500 5850
493    1 0 0 -1
494$EndComp
495$Comp
496L DGND #PWR35
497U 1 1 4C640BFC
498P 9700 4850
499F 0 "#PWR35" H 9700 4850 40 0001 C CNN
500F 1 "DGND" H 9700 4780 40 0000 C CNN
501    1 9700 4850
502    1 0 0 -1
503$EndComp
504$Comp
505L DGND #PWR28
506U 1 1 4C640BF7
507P 7950 5850
508F 0 "#PWR28" H 7950 5850 40 0001 C CNN
509F 1 "DGND" H 7950 5780 40 0000 C CNN
510    1 7950 5850
511    1 0 0 -1
512$EndComp
513$Comp
514L DGND #PWR32
515U 1 1 4C640BD2
516P 8550 5850
517F 0 "#PWR32" H 8550 5850 40 0001 C CNN
518F 1 "DGND" H 8550 5780 40 0000 C CNN
519    1 8550 5850
520    1 0 0 -1
521$EndComp
522$Comp
523L C C12
524U 1 1 4C640A84
525P 8100 6550
526F 0 "C12" H 8150 6650 50 0000 L CNN
527F 1 "1uF" H 8150 6450 50 0000 L CNN
528F 2 "0402" H 8100 6550 60 0001 C CNN
529    1 8100 6550
530    1 0 0 -1
531$EndComp
532$Comp
533L C C13
534U 1 1 4C640A7E
535P 8400 6550
536F 0 "C13" H 8450 6650 50 0000 L CNN
537F 1 "1uF" H 8450 6450 50 0000 L CNN
538F 2 "0402" H 8400 6550 60 0001 C CNN
539    1 8400 6550
540    1 0 0 -1
541$EndComp
542$Comp
543L C C15
544U 1 1 4C640A7B
545P 10100 2450
546F 0 "C15" H 10150 2550 50 0000 L CNN
547F 1 "12pF" H 10150 2350 50 0000 L CNN
548F 2 "0402" H 10100 2450 60 0001 C CNN
549    1 10100 2450
550    0 -1 1 0
551$EndComp
552$Comp
553L C C10
554U 1 1 4C640A76
555P 7600 1650
556F 0 "C10" H 7650 1750 50 0000 L CNN
557F 1 "1uF" H 7650 1550 50 0000 L CNN
558F 2 "0402" H 7600 1650 60 0001 C CNN
559    1 7600 1650
560    -1 0 0 -1
561$EndComp
562$Comp
563L C C14
564U 1 1 4C640A73
565P 10100 1150
566F 0 "C14" H 10150 1250 50 0000 L CNN
567F 1 "12pF" H 10150 1050 50 0000 L CNN
568F 2 "0402" H 10100 1150 60 0001 C CNN
569    1 10100 1150
570    0 -1 1 0
571$EndComp
572$Comp
573L ANTENNA ANT1
574U 1 1 4C63FE17
575P 1100 3850
576F 0 "ANT1" H 1100 4100 60 0000 C CNN
577F 1 "50R" H 1100 3600 60 0000 C CNN
578F 2 "meander" H 1100 3850 60 0001 C CNN
579    1 1100 3850
580    1 0 0 -1
581$EndComp
582$Comp
583L XTAL-4 X1
584U 1 1 4C63FA9F
585P 9700 1800
586F 0 "X1" V 9950 2400 60 0000 C CNN
587F 1 "16MHz" V 9800 2300 60 0000 C CNN
588F 2 "xtal4-3.2mmx2.5mm" H 9700 1800 60 0001 C CNN
589F 4 "8pF" V 9650 2350 60 0000 C CNN "Field1"
590F 5 "40ppm" V 9550 2300 60 0000 C CNN "Field2"
591F 6 "ESR=80R" V 9450 2250 60 0000 C CNN "Field3"
592    1 9700 1800
593    0 -1 -1 0
594$EndComp
595$EndSCHEMATC
atusb-sil/atusb.brd
1PCBNEW-BOARD Version 1 date Sun Jan 23 15:22:17 2011
2
3# Created by Pcbnew(2010-12-27 BZR 2685)-unstable
4
5$GENERAL
6LayerCount 2
7Ly 1FFF8001
8EnabledLayers 12E88001
9Links 83
10NoConn 0
11Di 44856 36414 53375 52126
12Ndraw 22
13Ntrack 428
14Nzone 0
15BoardThickness 630
16Nmodule 29
17Nnets 29
18$EndGENERAL
19
20$SHEETDESCR
21Sheet A4 11700 8267
22Title "IEEE 802.15.4 USB Transceiver (AT86RF231)"
23Date "23 jan 2011"
24Rev "20110123"
25Comp "Werner Almesberger"
26Comment1 ""
27Comment2 ""
28Comment3 ""
29Comment4 ""
30$EndSHEETDESCR
31
32$SETUP
33InternalUnit 0.000100 INCH
34ZoneGridSize 250
35Layers 2
36Layer[0] Back signal
37Layer[15] Front signal
38TrackWidth 80
39TrackWidthList 580
40TrackClearence 80
41ZoneClearence 100
42TrackMinWidth 80
43DrawSegmWidth 50
44EdgeSegmWidth 50
45ViaSize 300
46ViaDrill 100
47ViaMinSize 300
48ViaMinDrill 100
49MicroViaSize 200
50MicroViaDrill 50
51MicroViasAllowed 0
52MicroViaMinSize 200
53MicroViaMinDrill 50
54TextPcbWidth 120
55TextPcbSize 600 800
56EdgeModWidth 150
57TextModSize 600 600
58TextModWidth 120
59PadSize 600 600
60PadDrill 320
61Pad2MaskClearance 20
62Pad2PasteClearance -10
63AuxiliaryAxisOrg 0 0
64$EndSETUP
65
66$EQUIPOT
67Na 0 ""
68St ~
69$EndEQUIPOT
70$EQUIPOT
71Na 1 "/RF/CLKM"
72St ~
73$EndEQUIPOT
74$EQUIPOT
75Na 2 "/RF/FEED"
76St ~
77$EndEQUIPOT
78$EQUIPOT
79Na 3 "/RF/RFN"
80St ~
81$EndEQUIPOT
82$EQUIPOT
83Na 4 "/RF/RPF"
84St ~
85$EndEQUIPOT
86$EQUIPOT
87Na 5 "/RF/SLP_TR"
88St ~
89$EndEQUIPOT
90$EQUIPOT
91Na 6 "/RF/nSS"
92St ~
93$EndEQUIPOT
94$EQUIPOT
95Na 7 "/USB/C2CK"
96St ~
97$EndEQUIPOT
98$EQUIPOT
99Na 8 "/USB/C2D"
100St ~
101$EndEQUIPOT
102$EQUIPOT
103Na 9 "/USB/D+"
104St ~
105$EndEQUIPOT
106$EQUIPOT
107Na 10 "/USB/D-"
108St ~
109$EndEQUIPOT
110$EQUIPOT
111Na 11 "/USB/IRQ_RF"
112St ~
113$EndEQUIPOT
114$EQUIPOT
115Na 12 "/USB/MISO"
116St ~
117$EndEQUIPOT
118$EQUIPOT
119Na 13 "/USB/MOSI"
120St ~
121$EndEQUIPOT
122$EQUIPOT
123Na 14 "/USB/SCLK"
124St ~
125$EndEQUIPOT
126$EQUIPOT
127Na 15 "/USB/VBUS"
128St ~
129$EndEQUIPOT
130$EQUIPOT
131Na 16 "/USB/nRST_RF"
132St ~
133$EndEQUIPOT
134$EQUIPOT
135Na 17 "AGND"
136St ~
137$EndEQUIPOT
138$EQUIPOT
139Na 18 "N-000012"
140St ~
141$EndEQUIPOT
142$EQUIPOT
143Na 19 "N-000015"
144St ~
145$EndEQUIPOT
146$EQUIPOT
147Na 20 "N-000021"
148St ~
149$EndEQUIPOT
150$EQUIPOT
151Na 21 "N-000023"
152St ~
153$EndEQUIPOT
154$EQUIPOT
155Na 22 "N-000025"
156St ~
157$EndEQUIPOT
158$EQUIPOT
159Na 23 "N-000026"
160St ~
161$EndEQUIPOT
162$EQUIPOT
163Na 24 "N-000027"
164St ~
165$EndEQUIPOT
166$EQUIPOT
167Na 25 "N-000028"
168St ~
169$EndEQUIPOT
170$EQUIPOT
171Na 26 "N-000030"
172St ~
173$EndEQUIPOT
174$EQUIPOT
175Na 27 "N-000032"
176St ~
177$EndEQUIPOT
178$EQUIPOT
179Na 28 "VDD"
180St ~
181$EndEQUIPOT
182$NCLASS
183Name "Default"
184Desc "This is the default net class."
185Clearance 80
186TrackWidth 80
187ViaDia 300
188ViaDrill 100
189uViaDia 200
190uViaDrill 50
191AddNet ""
192AddNet "/RF/CLKM"
193AddNet "/RF/RFN"
194AddNet "/RF/RPF"
195AddNet "/RF/SLP_TR"
196AddNet "/RF/nSS"
197AddNet "/USB/C2CK"
198AddNet "/USB/C2D"
199AddNet "/USB/D+"
200AddNet "/USB/D-"
201AddNet "/USB/IRQ_RF"
202AddNet "/USB/MISO"
203AddNet "/USB/MOSI"
204AddNet "/USB/SCLK"
205AddNet "/USB/nRST_RF"
206AddNet "N-000012"
207AddNet "N-000015"
208AddNet "N-000021"
209AddNet "N-000023"
210AddNet "N-000025"
211AddNet "N-000026"
212AddNet "N-000027"
213AddNet "N-000028"
214AddNet "N-000030"
215AddNet "N-000032"
216$EndNCLASS
217$NCLASS
218Name "50R"
219Desc ""
220Clearance 80
221TrackWidth 190
222ViaDia 300
223ViaDrill 100
224uViaDia 200
225uViaDrill 50
226AddNet "/RF/FEED"
227$EndNCLASS
228$NCLASS
229Name "Power"
230Desc ""
231Clearance 80
232TrackWidth 100
233ViaDia 300
234ViaDrill 100
235uViaDia 200
236uViaDrill 50
237AddNet "/USB/VBUS"
238AddNet "AGND"
239AddNet "VDD"
240$EndNCLASS
241$MODULE USB-A-PLUG-SMT
242Po 49550 50700 0 15 4D3B0611 4CF5C2C3 ~~
243Li USB-A-PLUG-SMT
244Sc 4CF5C2C3
245AR /4C609BEF/4CF4AD1B
246Op 0 0 0
247At SMD
248T0 -2500 -1250 200 200 0 40 N V 25 N"CON1"
249T1 0 150 200 200 0 40 N I 25 N"USB_A_PLUG_"
250DS -2244 1082 2244 1082 50 21
251$PAD
252Sh "1" R 473 867 0 0 0
253Dr 0 0 0
254At SMD N 00888000
255Ne 15 "/USB/VBUS"
256Po 1377 -1062
257$EndPAD
258$PAD
259Sh "2" R 472 867 0 0 0
260Dr 0 0 0
261At SMD N 00888000
262Ne 10 "/USB/D-"
263Po 393 -1062
264$EndPAD
265$PAD
266Sh "3" R 472 867 0 0 0
267Dr 0 0 0
268At SMD N 00888000
269Ne 9 "/USB/D+"
270Po -393 -1062
271$EndPAD
272$PAD
273Sh "4" R 473 867 0 0 0
274Dr 0 0 0
275At SMD N 00888000
276Ne 17 "AGND"
277Po -1377 -1062
278$EndPAD
279$PAD
280Sh "5" O 787 1968 0 0 0
281Dr 393 0 0 O 393 984
282At STD N 00CC8001
283Ne 17 "AGND"
284Po -2243 0
285$EndPAD
286$PAD
287Sh "6" O 787 1968 0 0 0
288Dr 393 0 0 O 393 984
289At STD N 00CC8001
290Ne 17 "AGND"
291Po 2243 0
292$EndPAD
293$PAD
294Sh "HOLE" C 433 433 0 0 0
295Dr 433 0 0
296At HOLE N 00000000
297Ne 0 ""
298Po -885 0
299$EndPAD
300$PAD
301Sh "HOLE" C 433 433 0 0 0
302Dr 433 0 0
303At HOLE N 00000000
304Ne 0 ""
305Po 885 0
306$EndPAD
307$EndMODULE USB-A-PLUG-SMT
308$MODULE xtal4-3.2mmx2.5mm
309Po 50900 45600 900 15 4D3B0692 4CF5C2C4 ~~
310Li xtal4-3.2mmx2.5mm
311Sc 4CF5C2C4
312AR /4C609C08/4C63FA9F
313Op 0 0 0
314At SMD
315T0 650 850 200 200 900 40 N V 25 N"X1"
316T1 0 0 200 200 900 40 N I 25 N"16MHz"
317DS -107 -492 107 -492 50 21
318DS -107 492 107 492 50 21
319DS -629 28 -629 -28 50 21
320DS 629 28 629 -28 50 21
321$PAD
322Sh "1" R 551 473 0 0 900
323Dr 0 0 0
324At SMD N 00888000
325Ne 27 "N-000032"
326Po -432 314
327$EndPAD
328$PAD
329Sh "2" R 551 473 0 0 900
330Dr 0 0 0
331At SMD N 00888000
332Ne 17 "AGND"
333Po 432 314
334$EndPAD
335$PAD
336Sh "3" R 551 473 0 0 900
337Dr 0 0 0
338At SMD N 00888000
339Ne 24 "N-000027"
340Po 432 -314
341$EndPAD
342$PAD
343Sh "4" R 551 473 0 0 900
344Dr 0 0 0
345At SMD N 00888000
346Ne 17 "AGND"
347Po -432 -314
348$EndPAD
349$EndMODULE xtal4-3.2mmx2.5mm
350$MODULE MEANDER-110
351Po 46750 39450 0 15 4D3B0793 4CF5C2B3 ~~
352Li MEANDER-110
353Sc 4CF5C2B3
354AR /4C609C08/4C63FE17
355Op 0 0 0
356At SMD
357T0 850 -700 200 200 0 40 N V 25 N"ANT1"
358T1 850 -350 200 200 0 40 N I 25 N"50R"
359DS -374 -137 -374 -2185 50 21
360DS 5980 -2185 -374 -2185 50 21
361DS 5980 -2185 5980 -137 50 21
362DS 5980 -137 1594 -137 50 21
363$PAD
364Sh "1" R 354 196 0 0 0
365Dr 78 0 0
366At STD N 00008001
367Ne 17 "AGND"
368Po 0 -39
369$EndPAD
370$PAD
371Sh "X" R 354 1733 0 0 0
372Dr 0 0 0
373At SMD N 00008000
374Ne 0 ""
375Po 0 -1003
376$EndPAD
377$PAD
378Sh "X" R 1968 196 0 0 0
379Dr 0 0 0
380At SMD N 00008000
381Ne 0 ""
382Po 807 -1968
383$EndPAD
384$PAD
385Sh "2" R 197 196 0 0 0
386Dr 0 0 0
387At SMD N 00008000
388Ne 23 "N-000026"
389Po 826 -39
390$EndPAD
391$PAD
392Sh "X" R 197 1733 0 0 0
393Dr 0 0 0
394At SMD N 00008000
395Ne 0 ""
396Po 826 -1003
397$EndPAD
398$PAD
399Sh "X" R 197 1040 0 0 0
400Dr 0 0 0
401At SMD N 00008000
402Ne 0 ""
403Po 1692 -1350
404$EndPAD
405$PAD
406Sh "X" R 866 197 0 0 0
407Dr 0 0 0
408At SMD N 00008000
409Ne 0 ""
410Po 2224 -928
411$EndPAD
412$PAD
413Sh "X" R 1169 196 0 0 0
414Dr 0 0 0
415At SMD N 00008000
416Ne 0 ""
417Po 3241 -1968
418$EndPAD
419$PAD
420Sh "X" R 197 1040 0 0 0
421Dr 0 0 0
422At SMD N 00008000
423Ne 0 ""
424Po 3727 -1350
425$EndPAD
426$PAD
427Sh "X" R 197 1040 0 0 0
428Dr 0 0 0
429At SMD N 00008000
430Ne 0 ""
431Po 2755 -1350
432$EndPAD
433$PAD
434Sh "X" R 197 1040 0 0 0
435Dr 0 0 0
436At SMD N 00008000
437Ne 0 ""
438Po 4790 -1350
439$EndPAD
440$PAD
441Sh "X" R 866 197 0 0 0
442Dr 0 0 0
443At SMD N 00008000
444Ne 0 ""
445Po 4259 -928
446$EndPAD
447$PAD
448Sh "X" R 1170 196 0 0 0
449Dr 0 0 0
450At SMD N 00008000
451Ne 0 ""
452Po 5277 -1968
453$EndPAD
454$PAD
455Sh "X" R 197 1552 0 0 0
456Dr 0 0 0
457At SMD N 00008000
458Ne 0 ""
459Po 5763 -1094
460$EndPAD
461$PAD
462Sh "X" R 0 197 0 0 0
463Dr 0 0 0
464At SMD N 00008000
465Ne 0 ""
466Po 5862 -416
467$EndPAD
468$EndMODULE MEANDER-110
469$MODULE PAD_60x60
470Po 52100 48850 0 15 4D3B05CD 4CF5C2BE ~~
471Li PAD_60x60
472Sc 4CF5C2BE
473AR /4C609BEF/4C640203
474Op 0 0 0
475At SMD
476T0 50 600 200 200 0 40 N V 25 N"P14"
477T1 0 0 200 200 0 40 N I 25 N"CONN_1"
478$PAD
479Sh "1" O 600 600 0 0 0
480Dr 0 0 0
481At SMD N 00808000
482Ne 17 "AGND"
483Po 0 0
484$EndPAD
485$EndMODULE PAD_60x60
486$MODULE PAD_60x60
487Po 52100 45850 0 15 4D3B05BC 4CF5C2BC ~~
488Li PAD_60x60
489Sc 4CF5C2BC
490AR /4C609BEF/4C640202
491Op 0 0 0
492At SMD
493T0 0 -500 200 200 0 40 N V 25 N"P13"
494T1 0 0 200 200 0 40 N I 25 N"CONN_1"
495$PAD
496Sh "1" O 600 600 0 0 0
497Dr 0 0 0
498At SMD N 00808000
499Ne 8 "/USB/C2D"
500Po 0 0
501$EndPAD
502$EndMODULE PAD_60x60
503$MODULE PAD_60x60
504Po 52100 46850 0 15 4D3B05C1 4CF5C2BA ~~
505Li PAD_60x60
506Sc 4CF5C2BA
507AR /4C609BEF/4C640200
508Op 0 0 0
509At SMD
510T0 -50 -500 200 200 0 40 N V 25 N"P12"
511T1 0 0 200 200 0 40 N I 25 N"CONN_1"
512$PAD
513Sh "1" O 600 600 0 0 0
514Dr 0 0 0
515At SMD N 00808000
516Ne 7 "/USB/C2CK"
517Po 0 0
518$EndPAD
519$EndMODULE PAD_60x60
520$MODULE PAD_60x60
521Po 52100 47850 0 15 4D3B05C7 4CF5C2B8 ~~
522Li PAD_60x60
523Sc 4CF5C2B8
524AR /4C609BEF/4C6401FE
525Op 0 0 0
526At SMD
527T0 0 -450 200 200 0 40 N V 25 N"P11"
528T1 0 0 200 200 0 40 N I 25 N"CONN_1"
529$PAD
530Sh "1" O 600 600 0 0 0
531Dr 0 0 0
532At SMD N 00808000
533Ne 15 "/USB/VBUS"
534Po 0 0
535$EndPAD
536$EndMODULE PAD_60x60
537$MODULE PAD_60x60
538Po 46950 46000 0 15 4D3C38BE 4CF5C2B6 ~~
539Li PAD_60x60
540Sc 4CF5C2B6
541AR /4C609C08/4C640CD5
542Op 0 0 0
543At SMD
544T0 -50 550 200 200 0 40 N V 25 N"P16"
545T1 0 50 200 200 0 40 N I 25 N"TST"
546$PAD
547Sh "1" O 600 600 0 0 0
548Dr 0 0 0
549At SMD N 00808000
550Ne 1 "/RF/CLKM"
551Po 0 0
552$EndPAD
553$EndMODULE PAD_60x60
554$MODULE 0402
555Po 51100 48250 1800 15 4D3B0567 4CF5C2B0 ~~
556Li 0402
557Sc 4CF5C2B0
558AR /4C609BEF/4C64034D
559Op 0 0 0
560At SMD
561T0 700 -50 200 200 1800 40 N V 25 N"VR3"
562T1 0 0 200 200 1800 40 N I 25 N"5V6"
563DS -354 177 -354 -177 50 21
564DS -354 -177 354 -177 50 21
565DS 354 -177 354 177 50 21
566DS 354 177 -354 177 50 21
567$PAD
568Sh "1" R 197 236 0 0 1800
569Dr 0 0 0
570At SMD N 00888000
571Ne 15 "/USB/VBUS"
572Po -196 0
573$EndPAD
574$PAD
575Sh "2" R 197 236 0 0 1800
576Dr 0 0 0
577At SMD N 00888000
578Ne 17 "AGND"
579Po 196 0
580$EndPAD
581$EndMODULE 0402
582$MODULE 0402
583Po 49500 48850 0 15 4D3B063F 4CF5C2AE ~~
584Li 0402
585Sc 4CF5C2AE
586AR /4C609BEF/4C640343
587Op 0 0 0
588At SMD
589T0 -500 -50 200 200 900 40 N V 25 N"VR2"
590T1 0 0 200 200 0 40 N I 25 N"5V6"
591DS -354 177 -354 -177 50 21
592DS -354 -177 354 -177 50 21
593DS 354 -177 354 177 50 21
594DS 354 177 -354 177 50 21
595$PAD
596Sh "1" R 197 236 0 0 0
597Dr 0 0 0
598At SMD N 00888000
599Ne 10 "/USB/D-"
600Po -196 0
601$EndPAD
602$PAD
603Sh "2" R 197 236 0 0 0
604Dr 0 0 0
605At SMD N 00888000
606Ne 17 "AGND"
607Po 196 0
608$EndPAD
609$EndMODULE 0402
610$MODULE 0402
611Po 48350 48850 1800 15 4D3B0639 4CF5C2AC ~~
612Li 0402
613Sc 4CF5C2AC
614AR /4C609BEF/4C6402FB
615Op 0 0 0
616At SMD
617T0 500 50 200 200 2700 40 N V 25 N"VR1"
618T1 0 -50 200 200 1800 40 N I 25 N"5V6"
619DS -354 177 -354 -177 50 21
620DS -354 -177 354 -177 50 21
621DS 354 -177 354 177 50 21
622DS 354 177 -354 177 50 21
623$PAD
624Sh "1" R 197 236 0 0 1800
625Dr 0 0 0
626At SMD N 00888000
627Ne 9 "/USB/D+"
628Po -196 0
629$EndPAD
630$PAD
631Sh "2" R 197 236 0 0 1800
632Dr 0 0 0
633At SMD N 00888000
634Ne 17 "AGND"
635Po 196 0
636$EndPAD
637$EndMODULE 0402
638$MODULE 0402
639Po 47000 47750 0 15 4D3B064D 4CF5C2AA ~~
640Li 0402
641Sc 4CF5C2AA
642AR /4C609BEF/4C6402F2
643Op 0 0 0
644At SMD
645T0 0 -350 200 200 0 40 N V 25 N"R1"
646T1 0 50 200 200 0 40 N I 25 N"68"
647DS -354 177 -354 -177 50 21
648DS -354 -177 354 -177 50 21
649DS 354 -177 354 177 50 21
650DS 354 177 -354 177 50 21
651$PAD
652Sh "1" R 197 236 0 0 0
653Dr 0 0 0
654At SMD N 00888000
655Ne 19 "N-000015"
656Po -196 0
657$EndPAD
658$PAD
659Sh "2" R 197 236 0 0 0
660Dr 0 0 0
661At SMD N 00888000
662Ne 18 "N-000012"
663Po 196 0
664$EndPAD
665$EndMODULE 0402
666$MODULE 0402
667Po 51100 48850 1800 15 4D3B0576 4CF5C2A8 ~~
668Li 0402
669Sc 4CF5C2A8
670AR /4C609BEF/4C6401B3
671Op 0 0 0
672At SMD
673T0 650 0 200 200 1800 40 N V 25 N"C2"
674T1 -50 0 200 200 1800 40 N I 25 N"100nF"
675DS -354 177 -354 -177 50 21
676DS -354 -177 354 -177 50 21
677DS 354 -177 354 177 50 21
678DS 354 177 -354 177 50 21
679$PAD
680Sh "1" R 197 236 0 0 1800
681Dr 0 0 0
682At SMD N 00888000
683Ne 28 "VDD"
684Po -196 0
685$EndPAD
686$PAD
687Sh "2" R 197 236 0 0 1800
688Dr 0 0 0
689At SMD N 00888000
690Ne 17 "AGND"
691Po 196 0
692$EndPAD
693$EndMODULE 0402
694$MODULE 0402
695Po 51100 47750 1800 15 4D3B0546 4CF5C2A6 ~~
696Li 0402
697Sc 4CF5C2A6
698AR /4C609BEF/4C6401AA
699Op 0 0 0
700At SMD
701T0 0 350 200 200 1800 40 N V 25 N"C1"
702T1 0 0 200 200 1800 40 N I 25 N"1uF"
703DS -354 177 -354 -177 50 21
704DS -354 -177 354 -177 50 21
705DS 354 -177 354 177 50 21
706DS 354 177 -354 177 50 21
707$PAD
708Sh "1" R 197 236 0 0 1800
709Dr 0 0 0
710At SMD N 00888000
711Ne 15 "/USB/VBUS"
712Po -196 0
713$EndPAD
714$PAD
715Sh "2" R 197 236 0 0 1800
716Dr 0 0 0
717At SMD N 00888000
718Ne 17 "AGND"
719Po 196 0
720$EndPAD
721$EndMODULE 0402
722$MODULE 0402
723Po 47600 39800 2700 15 4D3B0717 4CF5C2A4 ~~
724Li 0402
725Sc 4CF5C2A4
726AR /4C609C08/4CF4B07E
727Op 0 0 0
728At SMD
729T0 150 350 200 200 2700 40 N V 25 N"R3"
730T1 0 0 200 200 2700 40 N I 25 N"0R"
731DS -354 177 -354 -177 50 21
732DS -354 -177 354 -177 50 21
733DS 354 -177 354 177 50 21
734DS 354 177 -354 177 50 21
735$PAD
736Sh "1" R 197 236 0 0 2700
737Dr 0 0 0
738At SMD N 00888000
739Ne 23 "N-000026"
740Po -196 0
741$EndPAD
742$PAD
743Sh "2" R 197 236 0 0 2700
744Dr 0 0 0
745At SMD N 00888000
746Ne 2 "/RF/FEED"
747Po 196 0
748$EndPAD
749$EndMODULE 0402
750$MODULE 0402
751Po 47550 42050 1800 15 4D3B072A 4CF5C2A2 ~~
752Li 0402
753Sc 4CF5C2A2
754AR /4C609C08/4C641710
755Op 0 0 0
756At SMD
757T0 100 -400 200 200 1800 40 N V 25 N"C3"
758T1 250 0 200 200 1800 40 N I 25 N"22pF/RF"
759DS -354 177 -354 -177 50 21
760DS -354 -177 354 -177 50 21
761DS 354 -177 354 177 50 21
762DS 354 177 -354 177 50 21
763$PAD
764Sh "1" R 197 236 0 0 1800
765Dr 0 0 0
766At SMD N 00888000
767Ne 20 "N-000021"
768Po -196 0
769$EndPAD
770$PAD
771Sh "2" R 197 236 0 0 1800
772Dr 0 0 0
773At SMD N 00888000
774Ne 17 "AGND"
775Po 196 0
776$EndPAD
777$EndMODULE 0402
778$MODULE 0402
779Po 48700 42600 2700 15 4D3B0755 4CF5C2A0 ~~
780Li 0402
781Sc 4CF5C2A0
782AR /4C609C08/4C641509
783Op 0 0 0
784At SMD
785T0 0 -400 200 200 2700 40 N V 25 N"C9"
786T1 350 -50 200 200 2700 40 N I 25 N"22pF/RF"
787DS -354 177 -354 -177 50 21
788DS -354 -177 354 -177 50 21
789DS 354 -177 354 177 50 21
790DS 354 177 -354 177 50 21
791$PAD
792Sh "1" R 197 236 0 0 2700
793Dr 0 0 0
794At SMD N 00888000
795Ne 21 "N-000023"
796Po -196 0
797$EndPAD
798$PAD
799Sh "2" R 197 236 0 0 2700
800Dr 0 0 0
801At SMD N 00888000
802Ne 4 "/RF/RPF"
803Po 196 0
804$EndPAD
805$EndMODULE 0402
806$MODULE 0402
807Po 48300 42600 2700 15 4D3B074A 4CF5C29E ~~
808Li 0402
809Sc 4CF5C29E
810AR /4C609C08/4C641506
811Op 0 0 0
812At SMD
813T0 0 350 200 200 2700 40 N V 25 N"C8"
814T1 300 0 200 200 2700 40 N I 25 N"22pF/RF"
815DS -354 177 -354 -177 50 21
816DS -354 -177 354 -177 50 21
817DS 354 -177 354 177 50 21
818DS 354 177 -354 177 50 21
819$PAD
820Sh "1" R 197 236 0 0 2700
821Dr 0 0 0
822At SMD N 00888000
823Ne 25 "N-000028"
824Po -196 0
825$EndPAD
826$PAD
827Sh "2" R 197 236 0 0 2700
828Dr 0 0 0
829At SMD N 00888000
830Ne 3 "/RF/RFN"
831Po 196 0
832$EndPAD
833$EndMODULE 0402
834$MODULE 0402
835Po 50050 43900 2700 15 4D3B07B2 4CF5C29C ~~
836Li 0402
837Sc 4CF5C29C
838AR /4C609C08/4C641004
839Op 0 0 0
840At SMD
841T0 -700 -350 200 200 2700 40 N V 25 N"C11"
842T1 0 0 200 200 2700 40 N I 25 N"1uF"
843DS -354 177 -354 -177 50 21
844DS -354 -177 354 -177 50 21
845DS 354 -177 354 177 50 21
846DS 354 177 -354 177 50 21
847$PAD
848Sh "1" R 197 236 0 0 2700
849Dr 0 0 0
850At SMD N 00888000
851Ne 17 "AGND"
852Po -196 0
853$EndPAD
854$PAD
855Sh "2" R 197 236 0 0 2700
856Dr 0 0 0
857At SMD N 00888000
858Ne 26 "N-000030"
859Po 196 0
860$EndPAD
861$EndMODULE 0402
862$MODULE 0402
863Po 46900 44100 900 15 4D3B06B6 4CF5C29A ~~
864Li 0402
865Sc 4CF5C29A
866AR /4C609C08/4C640A84
867Op 0 0 0
868At SMD
869T0 750 -150 200 200 900 40 N V 25 N"C12"
870T1 0 0 200 200 900 40 N I 25 N"1uF"
871DS -354 177 -354 -177 50 21
872DS -354 -177 354 -177 50 21
873DS 354 -177 354 177 50 21
874DS 354 177 -354 177 50 21
875$PAD
876Sh "1" R 197 236 0 0 900
877Dr 0 0 0
878At SMD N 00888000
879Ne 22 "N-000025"
880Po -196 0
881$EndPAD
882$PAD
883Sh "2" R 197 236 0 0 900
884Dr 0 0 0
885At SMD N 00888000
886Ne 17 "AGND"
887Po 196 0
888$EndPAD
889$EndMODULE 0402
890$MODULE 0402
891Po 50550 43900 900 15 4D3B07B5 4CF5C298 ~~
892Li 0402
893Sc 4CF5C298
894AR /4C609C08/4C640A7E
895Op 0 0 0
896At SMD
897T0 700 250 200 200 900 40 N V 25 N"C13"
898T1 0 0 200 200 900 40 N I 25 N"1uF"
899DS -354 177 -354 -177 50 21
900DS -354 -177 354 -177 50 21
901DS 354 -177 354 177 50 21
902DS 354 177 -354 177 50 21
903$PAD
904Sh "1" R 197 236 0 0 900
905Dr 0 0 0
906At SMD N 00888000
907Ne 28 "VDD"
908Po -196 0
909$EndPAD
910$PAD
911Sh "2" R 197 236 0 0 900
912Dr 0 0 0
913At SMD N 00888000
914Ne 17 "AGND"
915Po 196 0
916$EndPAD
917$EndMODULE 0402
918$MODULE 0402
919Po 50700 46650 1800 15 4D3B0537 4CF5C296 ~~
920Li 0402
921Sc 4CF5C296
922AR /4C609C08/4C640A7B
923Op 0 0 0
924At SMD
925T0 -50 -400 200 200 1800 40 N V 25 N"C15"
926T1 0 0 200 200 1800 40 N I 25 N"12pF"
927DS -354 177 -354 -177 50 21
928DS -354 -177 354 -177 50 21
929DS 354 -177 354 177 50 21
930DS 354 177 -354 177 50 21
931$PAD
932Sh "1" R 197 236 0 0 1800
933Dr 0 0 0
934At SMD N 00888000
935Ne 27 "N-000032"
936Po -196 0
937$EndPAD
938$PAD
939Sh "2" R 197 236 0 0 1800
940Dr 0 0 0
941At SMD N 00888000
942Ne 17 "AGND"
943Po 196 0
944$EndPAD
945$EndMODULE 0402
946$MODULE 0402
947Po 46900 45300 2700 15 4D3B06A0 4CF5C294 ~~
948Li 0402
949Sc 4CF5C294
950AR /4C609C08/4C640A76
951Op 0 0 0
952At SMD
953T0 100 -400 200 200 2700 40 N V 25 N"C10"
954T1 0 0 200 200 2700 40 N I 25 N"1uF"
955DS -354 177 -354 -177 50 21
956DS -354 -177 354 -177 50 21
957DS 354 -177 354 177 50 21
958DS 354 177 -354 177 50 21
959$PAD
960Sh "1" R 197 236 0 0 2700
961Dr 0 0 0
962At SMD N 00888000
963Ne 28 "VDD"
964Po -196 0
965$EndPAD
966$PAD
967Sh "2" R 197 236 0 0 2700
968Dr 0 0 0
969At SMD N 00888000
970Ne 17 "AGND"
971Po 196 0
972$EndPAD
973$EndMODULE 0402
974$MODULE 0402
975Po 50050 44800 900 15 4D3B0685 4CF5C292 ~~
976Li 0402
977Sc 4CF5C292
978AR /4C609C08/4C640A73
979Op 0 0 0
980At SMD
981T0 -700 0 200 200 900 40 N V 25 N"C14"
982T1 50 0 200 200 900 40 N I 25 N"12pF"
983DS -354 177 -354 -177 50 21
984DS -354 -177 354 -177 50 21
985DS 354 -177 354 177 50 21
986DS 354 177 -354 177 50 21
987$PAD
988Sh "1" R 197 236 0 0 900
989Dr 0 0 0
990At SMD N 00888000
991Ne 24 "N-000027"
992Po -196 0
993$EndPAD
994$PAD
995Sh "2" R 197 236 0 0 900
996Dr 0 0 0
997At SMD N 00888000
998Ne 17 "AGND"
999Po 196 0
1000$EndPAD
1001$EndMODULE 0402
1002$MODULE 0603
1003Po 47150 48850 0 15 4D3B05FC 4CF5C2B1 ~~
1004Li 0603
1005Sc 4CF5C2B1
1006AR /4C609BEF/4C6402EE
1007Op 0 0 0
1008At SMD
1009T0 -400 -450 200 200 0 40 N V 25 N"D1"
1010T1 -750 100 200 200 0 40 N I 25 N"LTST-C190KRKT"
1011DS -531 275 -531 -275 50 21
1012DS -531 -275 531 -275 50 21
1013DS 531 -275 531 275 50 21
1014DS 531 275 -531 275 50 21
1015$PAD
1016Sh "1" R 276 354 0 0 0
1017Dr 0 0 0
1018At SMD N 00888000
1019Ne 19 "N-000015"
1020Po -295 0
1021$EndPAD
1022$PAD
1023Sh "2" R 276 354 0 0 0
1024Dr 0 0 0
1025At SMD N 00888000
1026Ne 17 "AGND"
1027Po 295 0
1028$EndPAD
1029$EndMODULE 0603
1030$MODULE 0402
1031Po 47450 41050 2250 15 4D3C3A4D 4D3B0238 ~~
1032Li 0402
1033Sc 4D3B0238
1034AR /4C609C08/4D3B018B
1035Op 0 0 0
1036At SMD
1037T0 424 354 200 200 2250 40 N V 25 N"C16"
1038T1 35 -35 200 200 2250 40 N I 25 N"NC"
1039DS -354 177 -354 -177 50 21
1040DS -354 -177 354 -177 50 21
1041DS 354 -177 354 177 50 21
1042DS 354 177 -354 177 50 21
1043$PAD
1044Sh "1" R 197 236 0 0 2250
1045Dr 0 0 0
1046At SMD N 00888000
1047Ne 2 "/RF/FEED"
1048Po -196 0
1049$EndPAD
1050$PAD
1051Sh "2" R 197 236 0 0 2250
1052Dr 0 0 0
1053At SMD N 00888000
1054Ne 17 "AGND"
1055Po 196 0
1056$EndPAD
1057$EndMODULE 0402
1058$MODULE QFN28-SiLabs
1059Po 48700 47300 900 15 4D3C3891 4CF5C2C1 ~~
1060Li QFN28-SiLabs
1061Sc 4CF5C2C1
1062AR /4C609BEF/4C609C36
1063Op 0 0 0
1064At SMD
1065T0 -1000 -1200 200 200 900 40 N V 25 N"U1"
1066T1 0 0 200 200 900 40 N I 25 N"C8051F326"
1067DS -944 -944 -767 -944 50 21
1068DS -944 -944 -944 -767 50 21
1069DS -944 -767 -767 -944 50 21
1070DS -944 944 -944 767 50 21
1071DS -944 944 -767 944 50 21
1072DS -767 944 -767 944 50 21
1073DS 944 944 767 944 50 21
1074DS 944 944 944 767 50 21
1075DS 944 767 944 767 50 21
1076DS 944 -944 944 -767 50 21
1077DS 944 -944 767 -944 50 21
1078DS 767 -944 767 -944 50 21
1079$PAD
1080Sh "1" R 355 98 0 0 900
1081Dr 0 0 0
1082At SMD N 00888000
1083Ne 11 "/USB/IRQ_RF"
1084Po -944 -590
1085$EndPAD
1086$PAD
1087Sh "2" R 355 98 0 0 900
1088Dr 0 0 0
1089At SMD N 00888000
1090Ne 17 "AGND"
1091Po -944 -393
1092$EndPAD
1093$PAD
1094Sh "3" R 355 99 0 0 900
1095Dr 0 0 0
1096At SMD N 00888000
1097Ne 9 "/USB/D+"
1098Po -944 -196
1099$EndPAD
1100$PAD
1101Sh "4" R 355 98 0 0 900
1102Dr 0 0 0
1103At SMD N 00888000
1104Ne 10 "/USB/D-"
1105Po -944 0
1106$EndPAD
1107$PAD
1108Sh "5" R 355 99 0 0 900
1109Dr 0 0 0
1110At SMD N 00888000
1111Ne 28 "VDD"
1112Po -944 196
1113$EndPAD
1114$PAD
1115Sh "6" R 355 98 0 0 900
1116Dr 0 0 0
1117At SMD N 00888000
1118Ne 28 "VDD"
1119Po -944 393
1120$EndPAD
1121$PAD
1122Sh "7" R 355 98 0 0 900
1123Dr 0 0 0
1124At SMD N 00888000
1125Ne 15 "/USB/VBUS"
1126Po -944 590
1127$EndPAD
1128$PAD
1129Sh "8" R 98 355 0 0 900
1130Dr 0 0 0
1131At SMD N 00888000
1132Ne 15 "/USB/VBUS"
1133Po -590 944
1134$EndPAD
1135$PAD
1136Sh "9" R 98 355 0 0 900
1137Dr 0 0 0
1138At SMD N 00888000
1139Ne 7 "/USB/C2CK"
1140Po -393 944
1141$EndPAD
1142$PAD
1143Sh "10" R 99 355 0 0 900
1144Dr 0 0 0
1145At SMD N 00888000
1146Ne 8 "/USB/C2D"
1147Po -196 944
1148$EndPAD
1149$PAD
1150Sh "11" R 98 355 0 0 900
1151Dr 0 0 0
1152At SMD N 00888000
1153Ne 0 ""
1154Po 0 944
1155$EndPAD
1156$PAD
1157Sh "12" R 99 355 0 0 900
1158Dr 0 0 0
1159At SMD N 00888000
1160Ne 0 ""
1161Po 196 944
1162$EndPAD
1163$PAD
1164Sh "13" R 98 355 0 0 900
1165Dr 0 0 0
1166At SMD N 00888000
1167Ne 0 ""
1168Po 393 944
1169$EndPAD
1170$PAD
1171Sh "14" R 98 355 0 0 900
1172Dr 0 0 0
1173At SMD N 00888000
1174Ne 0 ""
1175Po 590 944
1176$EndPAD
1177$PAD
1178Sh "15" R 355 98 0 0 900
1179Dr 0 0 0
1180At SMD N 00888000
1181Ne 0 ""
1182Po 944 590
1183$EndPAD
1184$PAD
1185Sh "16" R 355 98 0 0 900
1186Dr 0 0 0
1187At SMD N 00888000
1188Ne 0 ""
1189Po 944 393
1190$EndPAD
1191$PAD
1192Sh "17" R 355 99 0 0 900
1193Dr 0 0 0
1194At SMD N 00888000
1195Ne 6 "/RF/nSS"
1196Po 944 196
1197$EndPAD
1198$PAD
1199Sh "18" R 355 98 0 0 900
1200Dr 0 0 0
1201At SMD N 00888000
1202Ne 13 "/USB/MOSI"
1203Po 944 0
1204$EndPAD
1205$PAD
1206Sh "19" R 355 99 0 0 900
1207Dr 0 0 0
1208At SMD N 00888000
1209Ne 12 "/USB/MISO"
1210Po 944 -196
1211$EndPAD
1212$PAD
1213Sh "20" R 355 98 0 0 900
1214Dr 0 0 0
1215At SMD N 00888000
1216Ne 0 ""
1217Po 944 -393
1218$EndPAD
1219$PAD
1220Sh "21" R 355 98 0 0 900
1221Dr 0 0 0
1222At SMD N 00888000
1223Ne 0 ""
1224Po 944 -590
1225$EndPAD
1226$PAD
1227Sh "22" R 98 355 0 0 900
1228Dr 0 0 0
1229At SMD N 00888000
1230Ne 14 "/USB/SCLK"
1231Po 590 -944
1232$EndPAD
1233$PAD
1234Sh "23" R 98 355 0 0 900
1235Dr 0 0 0
1236At SMD N 00888000
1237Ne 16 "/USB/nRST_RF"
1238Po 393 -944
1239$EndPAD
1240$PAD
1241Sh "24" R 99 355 0 0 900
1242Dr 0 0 0
1243At SMD N 00888000
1244Ne 5 "/RF/SLP_TR"
1245Po 196 -944
1246$EndPAD
1247$PAD
1248Sh "25" R 98 355 0 0 900
1249Dr 0 0 0
1250At SMD N 00888000
1251Ne 0 ""
1252Po 0 -944
1253$EndPAD
1254$PAD
1255Sh "26" R 99 355 0 0 900
1256Dr 0 0 0
1257At SMD N 00888000
1258Ne 0 ""
1259Po -196 -944
1260$EndPAD
1261$PAD
1262Sh "27" R 98 355 0 0 900
1263Dr 0 0 0
1264At SMD N 00888000
1265Ne 17 "AGND"
1266Po -393 -944
1267$EndPAD
1268$PAD
1269Sh "28" R 98 355 0 0 900
1270Dr 0 0 0
1271At SMD N 00888000
1272Ne 18 "N-000012"
1273Po -590 -944
1274$EndPAD
1275$PAD
1276Sh "29" R 1298 1298 0 0 900
1277Dr 0 0 0
1278At SMD N 00808000
1279Ne 17 "AGND"
1280Po 0 0
1281$EndPAD
1282$PAD
1283Sh "" R 355 355 0 0 900
1284Dr 0 0 0
1285At SMD N 00080000
1286Ne 0 ""
1287Po -432 432
1288$EndPAD
1289$PAD
1290Sh "" R 355 354 0 0 900
1291Dr 0 0 0
1292At SMD N 00080000
1293Ne 0 ""
1294Po -432 0
1295$EndPAD
1296$PAD
1297Sh "" R 355 355 0 0 900
1298Dr 0 0 0
1299At SMD N 00080000
1300Ne 0 ""
1301Po -432 -432
1302$EndPAD
1303$PAD
1304Sh "" R 354 355 0 0 900
1305Dr 0 0 0
1306At SMD N 00080000
1307Ne 0 ""
1308Po 0 432
1309$EndPAD
1310$PAD
1311Sh "" R 354 354 0 0 900
1312Dr 0 0 0
1313At SMD N 00080000
1314Ne 0 ""
1315Po 0 0
1316$EndPAD
1317$PAD
1318Sh "" R 354 355 0 0 900
1319Dr 0 0 0
1320At SMD N 00080000
1321Ne 0 ""
1322Po 0 -432
1323$EndPAD
1324$PAD
1325Sh "" R 355 355 0 0 900
1326Dr 0 0 0
1327At SMD N 00080000
1328Ne 0 ""
1329Po 432 432
1330$EndPAD
1331$PAD
1332Sh "" R 355 354 0 0 900
1333Dr 0 0 0
1334At SMD N 00080000
1335Ne 0 ""
1336Po 432 0
1337$EndPAD
1338$PAD
1339Sh "" R 355 355 0 0 900
1340Dr 0 0 0
1341At SMD N 00080000
1342Ne 0 ""
1343Po 432 -432
1344$EndPAD
1345$EndMODULE QFN28-SiLabs
1346$MODULE QFN32-VHHD-6
1347Po 48500 44250 2700 15 4D3C387A 4CF5C2C2 ~~
1348Li QFN32-VHHD-6
1349Sc 4CF5C2C2
1350AR /4C609C08/4D229690
1351Op 0 0 0
1352At SMD
1353T0 -1200 -1300 200 200 2700 40 N V 25 N"U2"
1354T1 0 0 200 200 2700 40 N I 25 N"AT86RF231"
1355DS -1003 -1003 -868 -1003 50 21
1356DS -1003 -1003 -1003 -868 50 21
1357DS -1003 -868 -868 -1003 50 21
1358DS -1003 1003 -1003 868 50 21
1359DS -1003 1003 -868 1003 50 21
1360DS -868 1003 -868 1003 50 21
1361DS 1003 1003 868 1003 50 21
1362DS 1003 1003 1003 868 50 21
1363DS 1003 868 1003 868 50 21
1364DS 1003 -1003 1003 -868 50 21
1365DS 1003 -1003 868 -1003 50 21
1366DS 868 -1003 868 -1003 50 21
1367$PAD
1368Sh "1" R 271 103 0 0 2700
1369Dr 0 0 0
1370At SMD N 00888000
1371Ne 17 "AGND"
1372Po -1003 -688
1373$EndPAD
1374$PAD
1375Sh "2" R 271 103 0 0 2700
1376Dr 0 0 0
1377At SMD N 00888000
1378Ne 17 "AGND"
1379Po -1003 -491
1380$EndPAD
1381$PAD
1382Sh "3" R 271 102 0 0 2700
1383Dr 0 0 0
1384At SMD N 00888000
1385Ne 17 "AGND"
1386Po -1003 -295
1387$EndPAD
1388$PAD
1389Sh "4" R 271 102 0 0 2700
1390Dr 0 0 0
1391At SMD N 00888000
1392Ne 4 "/RF/RPF"
1393Po -1003 -98
1394$EndPAD
1395$PAD
1396Sh "5" R 271 102 0 0 2700
1397Dr 0 0 0
1398At SMD N 00888000
1399Ne 3 "/RF/RFN"
1400Po -1003 98
1401$EndPAD
1402$PAD
1403Sh "6" R 271 102 0 0 2700
1404Dr 0 0 0
1405At SMD N 00888000
1406Ne 17 "AGND"
1407Po -1003 295
1408$EndPAD
1409$PAD
1410Sh "7" R 271 103 0 0 2700
1411Dr 0 0 0
1412At SMD N 00888000
1413Ne 17 "AGND"
1414Po -1003 491
1415$EndPAD
1416$PAD
1417Sh "8" R 271 103 0 0 2700
1418Dr 0 0 0
1419At SMD N 00888000
1420Ne 16 "/USB/nRST_RF"
1421Po -1003 688
1422$EndPAD
1423$PAD
1424Sh "9" R 103 271 0 0 2700
1425Dr 0 0 0
1426At SMD N 00888000
1427Ne 17 "AGND"
1428Po -688 1003
1429$EndPAD
1430$PAD
1431Sh "10" R 103 271 0 0 2700
1432Dr 0 0 0
1433At SMD N 00888000
1434Ne 17 "AGND"
1435Po -491 1003
1436$EndPAD
1437$PAD
1438Sh "11" R 102 271 0 0 2700
1439Dr 0 0 0
1440At SMD N 00888000
1441Ne 5 "/RF/SLP_TR"
1442Po -295 1003
1443$EndPAD
1444$PAD
1445Sh "12" R 102 271 0 0 2700
1446Dr 0 0 0
1447At SMD N 00888000
1448Ne 17 "AGND"
1449Po -98 1003
1450$EndPAD
1451$PAD
1452Sh "13" R 102 271 0 0 2700
1453Dr 0 0 0
1454At SMD N 00888000
1455Ne 22 "N-000025"
1456Po 98 1003
1457$EndPAD
1458$PAD
1459Sh "14" R 102 271 0 0 2700
1460Dr 0 0 0
1461At SMD N 00888000
1462Ne 22 "N-000025"
1463Po 295 1003
1464$EndPAD
1465$PAD
1466Sh "15" R 103 271 0 0 2700
1467Dr 0 0 0
1468At SMD N 00888000
1469Ne 28 "VDD"
1470Po 491 1003
1471$EndPAD
1472$PAD
1473Sh "16" R 103 271 0 0 2700
1474Dr 0 0 0
1475At SMD N 00888000
1476Ne 17 "AGND"
1477Po 688 1003
1478$EndPAD
1479$PAD
1480Sh "17" R 271 103 0 0 2700
1481Dr 0 0 0
1482At SMD N 00888000
1483Ne 1 "/RF/CLKM"
1484Po 1003 688
1485$EndPAD
1486$PAD
1487Sh "18" R 271 103 0 0 2700
1488Dr 0 0 0
1489At SMD N 00888000
1490Ne 17 "AGND"
1491Po 1003 491
1492$EndPAD
1493$PAD
1494Sh "19" R 271 102 0 0 2700
1495Dr 0 0 0
1496At SMD N 00888000
1497Ne 14 "/USB/SCLK"
1498Po 1003 295
1499$EndPAD
1500$PAD
1501Sh "20" R 271 102 0 0 2700
1502Dr 0 0 0
1503At SMD N 00888000
1504Ne 12 "/USB/MISO"
1505Po 1003 98
1506$EndPAD
1507$PAD
1508Sh "21" R 271 102 0 0 2700
1509Dr 0 0 0
1510At SMD N 00888000
1511Ne 17 "AGND"
1512Po 1003 -98
1513$EndPAD
1514$PAD
1515Sh "22" R 271 102 0 0 2700
1516Dr 0 0 0
1517At SMD N 00888000
1518Ne 13 "/USB/MOSI"
1519Po 1003 -295
1520$EndPAD
1521$PAD
1522Sh "23" R 271 103 0 0 2700
1523Dr 0 0 0
1524At SMD N 00888000
1525Ne 6 "/RF/nSS"
1526Po 1003 -491
1527$EndPAD
1528$PAD
1529Sh "24" R 271 103 0 0 2700
1530Dr 0 0 0
1531At SMD N 00888000
1532Ne 11 "/USB/IRQ_RF"
1533Po 1003 -688
1534$EndPAD
1535$PAD
1536Sh "25" R 103 271 0 0 2700
1537Dr 0 0 0
1538At SMD N 00888000
1539Ne 27 "N-000032"
1540Po 688 -1003
1541$EndPAD
1542$PAD
1543Sh "26" R 103 271 0 0 2700
1544Dr 0 0 0
1545At SMD N 00888000
1546Ne 24 "N-000027"
1547Po 491 -1003
1548$EndPAD
1549$PAD
1550Sh "27" R 102 271 0 0 2700
1551Dr 0 0 0
1552At SMD N 00888000
1553Ne 17 "AGND"
1554Po 295 -1003
1555$EndPAD
1556$PAD
1557Sh "28" R 102 271 0 0 2700
1558Dr 0 0 0
1559At SMD N 00888000
1560Ne 28 "VDD"
1561Po 98 -1003
1562$EndPAD
1563$PAD
1564Sh "29" R 102 271 0 0 2700
1565Dr 0 0 0
1566At SMD N 00888000
1567Ne 26 "N-000030"
1568Po -98 -1003
1569$EndPAD
1570$PAD
1571Sh "30" R 102 271 0 0 2700
1572Dr 0 0 0
1573At SMD N 00888000
1574Ne 17 "AGND"
1575Po -295 -1003
1576$EndPAD
1577$PAD
1578Sh "31" R 103 271 0 0 2700
1579Dr 0 0 0
1580At SMD N 00888000
1581Ne 17 "AGND"
1582Po -491 -1003
1583$EndPAD
1584$PAD
1585Sh "32" R 103 271 0 0 2700
1586Dr 0 0 0
1587At SMD N 00888000
1588Ne 17 "AGND"
1589Po -688 -1003
1590$EndPAD
1591$PAD
1592Sh "33" R 1338 1338 0 0 2700
1593Dr 0 0 0
1594At SMD N 00808000
1595Ne 17 "AGND"
1596Po 0 0
1597$EndPAD
1598$PAD
1599Sh "" R 276 276 0 0 2700
1600Dr 0 0 0
1601At SMD N 00080000
1602Ne 0 ""
1603Po -236 236
1604$EndPAD
1605$PAD
1606Sh "" R 276 276 0 0 2700
1607Dr 0 0 0
1608At SMD N 00080000
1609Ne 0 ""
1610Po -236 -236
1611$EndPAD
1612$PAD
1613Sh "" R 276 276 0 0 2700
1614Dr 0 0 0
1615At SMD N 00080000
1616Ne 0 ""
1617Po 236 236
1618$EndPAD
1619$PAD
1620Sh "" R 276 276 0 0 2700
1621Dr 0 0 0
1622At SMD N 00080000
1623Ne 0 ""
1624Po 236 -236
1625$EndPAD
1626$EndMODULE QFN32-VHHD-6
1627$MODULE 0805-6
1628Po 48500 41750 900 15 4D3C71BF 4CF5C2B2 ~~
1629Li 0805-6
1630Sc 4CF5C2B2
1631AR /4C609C08/4CF4B034
1632Op 0 0 0
1633At SMD
1634T0 700 -300 200 200 900 40 N V 25 N"B1"
1635T1 -150 1850 200 200 1800 40 N I 25 N"2450FB15L0001"
1636DS -443 522 -443 -522 50 21
1637DS -443 -522 443 -522 50 21
1638DS 443 -522 443 522 50 21
1639DS 443 522 -443 522 50 21
1640$PAD
1641Sh "1" R 137 315 0 0 900
1642Dr 0 0 0
1643At SMD N 00888000
1644Ne 2 "/RF/FEED"
1645Po 255 -314
1646$EndPAD
1647$PAD
1648Sh "2" R 136 315 0 0 900
1649Dr 0 0 0
1650At SMD N 00888000
1651Ne 20 "N-000021"
1652Po 0 -314
1653$EndPAD
1654$PAD
1655Sh "3" R 137 315 0 0 900
1656Dr 0 0 0
1657At SMD N 00888000
1658Ne 25 "N-000028"
1659Po -255 -314
1660$EndPAD
1661$PAD
1662Sh "4" R 137 315 0 0 900
1663Dr 0 0 0
1664At SMD N 00888000
1665Ne 21 "N-000023"
1666Po -255 314
1667$EndPAD
1668$PAD
1669Sh "5" R 136 315 0 0 900
1670Dr 0 0 0
1671At SMD N 00888000
1672Ne 17 "AGND"
1673Po 0 314
1674$EndPAD
1675$PAD
1676Sh "6" R 137 315 0 0 900
1677Dr 0 0 0
1678At SMD N 00888000
1679Ne 17 "AGND"
1680Po 255 314
1681$EndPAD
1682$EndMODULE 0805-6
1683$DRAWSEGMENT
1684Po 0 47650 41300 47650 41850 50
1685De 25 0 900 0 0
1686$EndDRAWSEGMENT
1687$DRAWSEGMENT
1688Po 0 47400 41600 47900 41600 50
1689De 25 0 900 0 0
1690$EndDRAWSEGMENT
1691$TEXTPCB
1692Te "by Werner Almesberger"
1693Po 49600 40450 300 300 60 0
1694De 21 1 0 Normal
1695$EndTEXTPCB
1696$TEXTPCB
1697Te "CC-BY-SA"
1698Po 50150 39850 400 400 70 0
1699De 21 1 0 Normal
1700$EndTEXTPCB
1701$TEXTPCB
1702Te "qi-hw.com"
1703Po 49650 38650 400 400 70 0
1704De 21 1 0 Normal
1705$EndTEXTPCB
1706$TEXTPCB
1707Te "ATUSB 802.15.4"
1708Po 49600 37950 400 400 70 0
1709De 21 1 0 Normal
1710$EndTEXTPCB
1711$DRAWSEGMENT
1712Po 0 46150 51800 46150 50250 50
1713De 25 0 900 0 0
1714$EndDRAWSEGMENT
1715$DRAWSEGMENT
1716Po 0 46350 50300 46350 51800 50
1717De 28 0 900 0 0
1718$EndDRAWSEGMENT
1719$DRAWSEGMENT
1720Po 0 52750 51800 52750 50300 50
1721De 28 0 900 0 0
1722$EndDRAWSEGMENT
1723$TEXTPCB
1724Te "20110123"
1725Po 51450 43150 300 300 75 0
1726De 15 1 0 Normal
1727$EndTEXTPCB
1728$TEXTPCB
1729Te "37.0 mm"
1730Po 45500 45250 600 800 120 900
1731De 25 1 0 Normal
1732$EndTEXTPCB
1733$DRAWSEGMENT
1734Po 0 46150 37300 46150 50250 50
1735De 25 0 900 0 0
1736$EndDRAWSEGMENT
1737$DRAWSEGMENT
1738Po 0 46250 37250 46050 37250 50
1739De 25 0 900 0 0
1740$EndDRAWSEGMENT
1741$DRAWSEGMENT
1742Po 0 46250 51800 46050 51800 50
1743De 25 0 900 0 0
1744$EndDRAWSEGMENT
1745$TEXTPCB
1746Te "16.3 mm"
1747Po 49550 52850 600 800 120 0
1748De 25 1 0 Normal
1749$EndTEXTPCB
1750$DRAWSEGMENT
1751Po 0 46400 52000 52700 52000 50
1752De 25 0 900 0 0
1753$EndDRAWSEGMENT
1754$DRAWSEGMENT
1755Po 0 52750 51900 52750 52100 50
1756De 25 0 900 0 0
1757$EndDRAWSEGMENT
1758$DRAWSEGMENT
1759Po 0 46350 51900 46350 52100 50
1760De 25 0 900 0 0
1761$EndDRAWSEGMENT
1762$DRAWSEGMENT
1763Po 0 52750 51800 46350 51800 50
1764De 28 0 900 0 0
1765$EndDRAWSEGMENT
1766$DRAWSEGMENT
1767Po 0 46350 37250 46350 50300 50
1768De 28 0 900 0 0
1769$EndDRAWSEGMENT
1770$DRAWSEGMENT
1771Po 0 52750 37250 52750 50300 50
1772De 28 0 900 0 0
1773$EndDRAWSEGMENT
1774$DRAWSEGMENT
1775Po 0 46350 37250 52750 37250 50
1776De 28 0 900 0 0
1777$EndDRAWSEGMENT
1778$TRACK
1779Po 0 47812 45253 47812 45388 80 -1
1780De 15 0 1 0 800
1781Po 0 47200 46000 46950 46000 80 -1
1782De 15 0 1 0 400
1783Po 0 47812 45388 47200 46000 80 -1
1784De 15 0 1 0 0
1785Po 0 47589 40911 47589 40811 190 -1
1786De 15 0 2 0 800
1787Po 0 47589 40811 47600 40800 190 -1
1788De 15 0 2 0 0
1789Po 0 47600 40800 47589 40911 190 -1
1790De 15 0 2 0 400
1791Po 0 48186 41495 48186 41386 190 -1
1792De 15 0 2 0 800
1793Po 0 47600 40800 48050 41250 580 -1
1794De 15 0 2 0 0
1795Po 0 47600 40200 47600 39996 190 -1
1796De 15 0 2 0 400
1797Po 0 47600 40200 47600 40800 580 -1
1798De 15 0 2 0 0
1799Po 0 48186 41386 48050 41250 190 -1
1800De 15 0 2 0 0
1801Po 0 48402 43247 48402 43002 80 -1
1802De 15 0 3 0 800
1803Po 0 48300 42900 48300 42796 80 -1
1804De 15 0 3 0 400
1805Po 0 48402 43002 48300 42900 80 -1
1806De 15 0 3 0 0
1807Po 0 48598 43247 48598 43002 80 -1
1808De 15 0 4 0 800
1809Po 0 48700 42900 48700 42796 80 -1
1810De 15 0 4 0 400
1811Po 0 48598 43002 48700 42900 80 -1
1812De 15 0 4 0 0
1813Po 0 46900 46700 46900 46850 80 -1
1814De 0 0 5 0 0
1815Po 0 46900 46700 46900 45150 80 -1
1816De 0 0 5 0 0
1817Po 0 46900 45150 47200 44850 80 -1
1818De 0 0 5 0 0
1819Po 0 47200 44850 47200 43700 80 -1
1820De 0 0 5 0 0
1821Po 0 47200 43700 46900 43400 80 -1
1822De 0 0 5 0 0
1823Po 0 47497 43955 47255 43955 80 -1
1824De 15 0 5 0 800
1825Po 3 46900 43400 46900 43400 300 -1
1826De 15 1 5 0 0
1827Po 0 47150 43650 46900 43400 80 -1
1828De 15 0 5 0 0
1829Po 0 47150 43850 47150 43650 80 -1
1830De 15 0 5 0 0
1831Po 0 47255 43955 47150 43850 80 -1
1832De 15 0 5 0 0
1833Po 0 47154 47104 47000 46950 80 -1
1834De 15 0 5 0 0
1835Po 3 47000 46950 47000 46950 300 -1
1836De 15 1 5 0 0
1837Po 0 47154 47104 47756 47104 80 -1
1838De 15 0 5 0 400
1839Po 0 46900 46850 47000 46950 80 -1
1840De 0 0 5 0 0
1841Po 0 48991 45253 48991 45909 80 -1
1842De 15 0 6 0 800
1843Po 0 48896 46004 48896 46356 80 -1
1844De 15 0 6 0 400
1845Po 0 48991 45909 48896 46004 80 -1
1846De 15 0 6 0 0
1847Po 3 51650 47300 51650 47300 300 -1
1848De 15 1 7 0 0
1849Po 0 49644 47693 50107 47693 80 -1
1850De 15 0 7 0 800
1851Po 0 51650 47300 52100 46850 80 -1
1852De 15 0 7 0 400
1853Po 0 50500 47300 51650 47300 80 -1
1854De 15 0 7 0 0
1855Po 0 50107 47693 50500 47300 80 -1
1856De 15 0 7 0 0
1857Po 0 50400 47100 51200 47100 80 -1
1858De 15 0 8 0 0
1859Po 0 50004 47496 50400 47100 80 -1
1860De 15 0 8 0 0
1861Po 0 49644 47496 50004 47496 80 -1
1862De 15 0 8 0 800
1863Po 0 52100 46200 52100 45850 80 -1
1864De 15 0 8 0 400
1865Po 0 51200 47100 52100 46200 80 -1
1866De 15 0 8 0 0
1867Po 0 48504 48244 48504 48808 80 -1
1868De 15 0 9 0 800
1869Po 0 48504 48808 48546 48850 80 -1
1870De 15 0 9 0 400
1871Po 0 49157 49638 49157 49461 80 -1
1872De 15 0 9 0 800
1873Po 0 49157 49461 48546 48850 80 -1
1874De 15 0 9 0 400
1875Po 0 49943 49638 49943 49543 80 -1
1876De 15 0 10 0 800
1877Po 0 49304 48904 49304 48850 80 -1
1878De 15 0 10 0 400
1879Po 0 49943 49543 49304 48904 80 -1
1880De 15 0 10 0 0
1881Po 0 49304 48850 48950 48850 80 -1
1882De 15 0 10 0 800
1883Po 0 48700 48600 48950 48850 80 -1
1884De 15 0 10 0 0
1885Po 0 48700 48600 48700 48244 80 -1
1886De 15 0 10 0 400
1887Po 0 48110 48244 48110 48390 80 -1
1888De 15 0 11 0 800
1889Po 0 49350 46400 49850 46900 80 -1
1890De 0 0 11 0 0
1891Po 0 49850 46900 49850 47950 80 -1
1892De 0 0 11 0 0
1893Po 0 49850 47950 49550 48250 80 -1
1894De 0 0 11 0 0
1895Po 0 49550 48250 47550 48250 80 -1
1896De 0 0 11 0 0
1897Po 0 47550 48250 47500 48300 80 -1
1898De 0 0 11 0 0
1899Po 0 49188 45638 49188 45253 80 -1
1900De 15 0 11 0 400
1901Po 3 47500 48300 47500 48300 300 -1
1902De 15 1 11 0 0
1903Po 3 49350 45800 49350 45800 300 -1
1904De 15 1 11 0 0
1905Po 0 49188 45638 49350 45800 80 -1
1906De 15 0 11 0 0
1907Po 0 49350 45800 49350 46400 80 -1
1908De 0 0 11 0 0
1909Po 0 47700 48500 47500 48300 80 -1
1910De 15 0 11 0 0
1911Po 0 48000 48500 47700 48500 80 -1
1912De 15 0 11 0 0
1913Po 0 48110 48390 48000 48500 80 -1
1914De 15 0 11 0 0
1915Po 0 48402 45253 48402 45852 80 -1
1916De 15 0 12 0 800
1917Po 0 48504 45954 48504 46356 80 -1
1918De 15 0 12 0 400
1919Po 0 48402 45852 48504 45954 80 -1
1920De 15 0 12 0 0
1921Po 0 48700 46356 48700 45950 80 -1
1922De 15 0 13 0 800
1923Po 0 48795 45855 48795 45253 80 -1
1924De 15 0 13 0 400
1925Po 0 48700 45950 48795 45855 80 -1
1926De 15 0 13 0 0
1927Po 0 47756 46710 47610 46710 80 -1
1928De 15 0 14 0 800
1929Po 0 48205 45845 48205 45253 80 -1
1930De 15 0 14 0 400
1931Po 0 47850 46200 48205 45845 80 -1
1932De 15 0 14 0 0
1933Po 0 47700 46200 47850 46200 80 -1
1934De 15 0 14 0 0
1935Po 0 47600 46300 47700 46200 80 -1
1936De 15 0 14 0 0
1937Po 0 47600 46700 47600 46300 80 -1
1938De 15 0 14 0 0
1939Po 0 47610 46710 47600 46700 80 -1
1940De 15 0 14 0 0
1941Po 0 51296 47750 51296 47646 100 -1
1942De 15 0 15 0 800
1943Po 0 50210 47890 50600 47500 100 -1
1944De 15 0 15 0 0
1945Po 0 50600 47500 51150 47500 100 -1
1946De 15 0 15 0 0
1947Po 0 50210 47890 49950 47890 100 -1
1948De 15 0 15 0 0
1949Po 0 51296 47646 51150 47500 100 -1
1950De 15 0 15 0 0
1951Po 0 51296 48250 51550 48250 100 -1
1952De 15 0 15 0 800
1953Po 0 51296 47750 51550 47750 100 -1
1954De 15 0 15 0 800
1955Po 0 49290 48244 49290 48340 100 -1
1956De 15 0 15 0 800
1957Po 0 49290 48340 49350 48400 100 -1
1958De 15 0 15 0 0
1959Po 0 49350 48400 49750 48400 100 -1
1960De 15 0 15 0 0
1961Po 0 49750 48400 49950 48200 100 -1
1962De 15 0 15 0 0
1963Po 0 49950 48200 49950 47890 100 -1
1964De 15 0 15 0 0
1965Po 0 50927 49638 50927 49473 100 -1
1966De 15 0 15 0 800
1967Po 0 51550 49050 51550 48250 100 -1
1968De 15 0 15 0 0
1969Po 0 51550 48250 51550 47750 100 -1
1970De 15 0 15 0 0
1971Po 0 51400 49200 51550 49050 100 -1
1972De 15 0 15 0 0
1973Po 0 51200 49200 51400 49200 100 -1
1974De 15 0 15 0 0
1975Po 0 50927 49473 51200 49200 100 -1
1976De 15 0 15 0 0
1977Po 0 51550 47750 52000 47750 100 -1
1978De 15 0 15 0 0
1979Po 0 52000 47750 52100 47850 100 -1
1980De 15 0 15 0 400
1981Po 0 49644 47890 49950 47890 100 -1
1982De 15 0 15 0 800
1983Po 0 47756 46907 47507 46907 80 -1
1984De 15 0 16 0 800
1985Po 3 47250 46550 47250 46550 300 -1
1986De 15 1 16 0 0
1987Po 0 47250 46550 47100 46400 80 -1
1988De 0 0 16 0 0
1989Po 0 47812 43212 47812 43247 80 -1
1990De 15 0 16 0 400
1991Po 0 47100 46400 47100 45250 80 -1
1992De 0 0 16 0 0
1993Po 0 47100 45250 47400 44950 80 -1
1994De 0 0 16 0 0
1995Po 0 47400 44950 47400 43450 80 -1
1996De 0 0 16 0 0
1997Po 0 47400 43450 46900 42950 80 -1
1998De 0 0 16 0 0
1999Po 3 46900 42950 46900 42950 300 -1
2000De 15 1 16 0 0
2001Po 0 47050 43100 46900 42950 80 -1
2002De 15 0 16 0 0
2003Po 0 47700 43100 47050 43100 80 -1
2004De 15 0 16 0 0
2005Po 0 47812 43212 47700 43100 80 -1
2006De 15 0 16 0 0
2007Po 0 47250 46650 47250 46550 80 -1
2008De 15 0 16 0 0
2009Po 0 47507 46907 47250 46650 80 -1
2010De 15 0 16 0 0
2011Po 0 47600 41600 47600 41478 100 -1
2012De 15 0 17 0 0
2013Po 0 47600 41478 47311 41189 100 -1
2014De 15 0 17 0 400
2015Po 0 47354 42050 46750 42050 100 -1
2016De 15 0 17 0 800
2017Po 0 46750 42050 46700 42000 100 -1
2018De 15 0 17 0 0
2019Po 0 48814 41750 49100 41750 100 -1
2020De 15 0 17 0 800
2021Po 3 49250 41600 49250 41600 300 -1
2022De 15 1 17 0 0
2023Po 0 49100 41750 49250 41600 100 -1
2024De 15 0 17 0 0
2025Po 0 48814 41495 49145 41495 100 -1
2026De 15 0 17 0 800
2027Po 0 49145 41495 49250 41600 100 -1
2028De 15 0 17 0 0
2029Po 0 49503 43955 48795 43955 100 -1
2030De 15 0 17 0 800
2031Po 0 48795 43955 48500 44250 100 -1
2032De 15 0 17 0 400
2033Po 0 49503 43759 48991 43759 100 -1
2034De 15 0 17 0 800
2035Po 0 48991 43759 48500 44250 100 -1
2036De 15 0 17 0 400
2037Po 0 49503 43562 49188 43562 100 -1
2038De 15 0 17 0 800
2039Po 0 49188 43562 48500 44250 100 -1
2040De 15 0 17 0 400
2041Po 0 49503 44545 48795 44545 100 -1
2042De 15 0 17 0 800
2043Po 0 48795 44545 48500 44250 100 -1
2044De 15 0 17 0 400
2045Po 0 48598 45253 48598 44348 100 -1
2046De 15 0 17 0 800
2047Po 0 48598 44348 48500 44250 100 -1
2048De 15 0 17 0 400
2049Po 0 48009 45253 48009 44741 100 -1
2050De 15 0 17 0 800
2051Po 0 48009 44741 48500 44250 100 -1
2052De 15 0 17 0 400
2053Po 0 47497 44938 47812 44938 100 -1
2054De 15 0 17 0 800
2055Po 0 47812 44938 48500 44250 100 -1
2056De 15 0 17 0 400
2057Po 0 47497 43562 47812 43562 100 -1
2058De 15 0 17 0 800
2059Po 0 47812 43562 48500 44250 100 -1
2060De 15 0 17 0 400
2061Po 0 47497 43759 48009 43759 100 -1
2062De 15 0 17 0 800
2063Po 0 48009 43759 48500 44250 100 -1
2064De 15 0 17 0 400
2065Po 0 47497 44152 48402 44152 100 -1
2066De 15 0 17 0 800
2067Po 0 48402 44152 48500 44250 100 -1
2068De 15 0 17 0 400
2069Po 0 49188 43247 49188 43562 100 -1
2070De 15 0 17 0 800
2071Po 0 49188 43562 48500 44250 100 -1
2072De 15 0 17 0 400
2073Po 0 48991 43247 48991 43759 100 -1
2074De 15 0 17 0 800
2075Po 0 48991 43759 48500 44250 100 -1
2076De 15 0 17 0 400
2077Po 0 48795 43247 48795 43955 100 -1
2078De 15 0 17 0 800
2079Po 0 48795 43955 48500 44250 100 -1
2080De 15 0 17 0 400
2081Po 0 48205 43247 48205 43955 100 -1
2082De 15 0 17 0 800
2083Po 0 48205 43955 48500 44250 100 -1
2084De 15 0 17 0 400
2085Po 0 48009 43247 48009 43759 100 -1
2086De 15 0 17 0 800
2087Po 0 48009 43759 48500 44250 100 -1
2088De 15 0 17 0 400
2089Po 0 48009 45253 48009 45591 100 -1
2090De 15 0 17 0 800
2091Po 0 47050 48350 47445 48745 100 -1
2092De 15 0 17 0 0
2093Po 0 47445 48745 47445 48850 100 -1
2094De 15 0 17 0 400
2095Po 0 47050 47850 47800 47100 100 -1
2096De 0 0 17 0 0
2097Po 0 47800 47100 47800 45950 100 -1
2098De 0 0 17 0 0
2099Po 3 47050 48250 47050 48250 300 -1
2100De 15 1 17 0 0
2101Po 0 47050 48250 47050 47850 100 -1
2102De 0 0 17 0 0
2103Po 0 47800 45900 47800 45950 100 -1
2104De 0 0 17 0 0
2105Po 0 47750 45850 47800 45900 100 -1
2106De 0 0 17 0 0
2107Po 3 47750 45850 47750 45850 300 -1
2108De 15 1 17 0 0
2109Po 0 47050 48250 47050 48350 100 -1
2110De 15 0 17 0 0
2111Po 0 48009 45591 47750 45850 100 -1
2112De 15 0 17 0 0
2113Po 0 48009 43247 48009 43050 100 -1
2114De 15 0 17 0 800
2115Po 0 48991 43247 48991 43050 100 -1
2116De 15 0 17 0 800
2117Po 0 49503 43759 49800 43759 100 -1
2118De 15 0 17 0 800
2119Po 0 48795 43247 48795 43105 100 -1
2120De 15 0 17 0 800
2121Po 0 48795 43105 48850 43050 100 -1
2122De 15 0 17 0 0
2123Po 0 48850 43050 48991 43050 100 -1
2124De 15 0 17 0 0
2125Po 0 48991 43050 49000 43050 100 -1
2126De 15 0 17 0 0
2127Po 3 47600 41600 47600 41600 300 -1
2128De 15 1 17 0 0
2129Po 0 47600 41600 47100 41600 100 -1
2130De 15 0 17 0 0
2131Po 0 47100 41600 46700 41500 100 -1
2132De 15 0 17 0 0
2133Po 3 47000 40150 47000 40150 300 -1
2134De 15 1 17 0 0
2135Po 0 47050 40800 47000 40450 100 -1
2136De 0 0 17 0 0
2137Po 0 47000 40450 47000 40150 100 -1
2138De 0 0 17 0 0
2139Po 3 47050 40800 47050 40800 300 -1
2140De 15 1 17 0 0
2141Po 0 46700 40450 47000 40450 100 -1
2142De 0 0 17 0 0
2143Po 0 49750 42550 50250 42550 100 -1
2144De 15 0 17 0 0
2145Po 0 52400 42400 52250 42550 100 -1
2146De 0 0 17 0 0
2147Po 3 52250 42550 52250 42550 300 -1
2148De 15 1 17 0 0
2149Po 0 52250 42550 51750 42550 100 -1
2150De 15 0 17 0 0
2151Po 3 51750 42550 51750 42550 300 -1
2152De 15 1 17 0 0
2153Po 0 51750 42550 51250 42550 100 -1
2154De 0 0 17 0 0
2155Po 3 51250 42550 51250 42550 300 -1
2156De 15 1 17 0 0
2157Po 0 51250 42550 50750 42550 100 -1
2158De 15 0 17 0 0
2159Po 3 50750 42550 50750 42550 300 -1
2160De 15 1 17 0 0
2161Po 0 50750 42550 50250 42550 100 -1
2162De 0 0 17 0 0
2163Po 3 50250 42550 50250 42550 300 -1
2164De 15 1 17 0 0
2165Po 3 52400 41600 52400 41600 300 -1
2166De 15 1 17 0 0
2167Po 0 52400 42100 52400 41600 100 -1
2168De 15 0 17 0 0
2169Po 3 52400 42100 52400 42100 300 -1
2170De 15 1 17 0 0
2171Po 0 52400 42100 52400 42400 100 -1
2172De 0 0 17 0 0
2173Po 3 49750 42550 49750 42550 300 -1
2174De 15 1 17 0 0
2175Po 0 46700 41500 46700 42000 100 -1
2176De 0 0 17 0 0
2177Po 3 46700 41500 46700 41500 300 -1
2178De 15 1 17 0 0
2179Po 3 46700 42000 46700 42000 300 -1
2180De 15 1 17 0 0
2181Po 3 46700 40450 46700 40450 300 -1
2182De 15 1 17 0 0
2183Po 0 46700 39900 46750 39411 100 -1
2184De 0 0 17 0 400
2185Po 3 46700 39900 46700 39900 300 -1
2186De 15 1 17 0 0
2187Po 0 46700 39900 46700 40450 100 -1
2188De 15 0 17 0 0
2189Po 0 46700 41000 46700 41500 100 -1
2190De 15 0 17 0 0
2191Po 3 46700 41000 46700 41000 300 -1
2192De 15 1 17 0 0
2193Po 0 46700 40450 46700 41000 100 -1
2194De 0 0 17 0 0
2195Po 0 46750 42050 46700 42000 100 -1
2196De 15 0 17 0 0
2197Po 0 48205 43247 48205 43105 100 -1
2198De 15 0 17 0 800
2199Po 0 48150 43050 48009 43050 100 -1
2200De 15 0 17 0 0
2201Po 0 48009 43050 48008 43050 100 -1
2202De 15 0 17 0 0
2203Po 0 48205 43105 48150 43050 100 -1
2204De 15 0 17 0 0
2205Po 0 47497 44152 47202 44152 100 -1
2206De 15 0 17 0 800
2207Po 0 46954 43904 46900 43904 100 -1
2208De 15 0 17 0 400
2209Po 0 47202 44152 46954 43904 100 -1
2210De 15 0 17 0 0
2211Po 0 47200 45050 47200 45350 100 -1
2212De 15 0 17 0 0
2213Po 0 47312 44938 47200 45050 100 -1
2214De 15 0 17 0 0
2215Po 0 47497 44938 47312 44938 100 -1
2216De 15 0 17 0 800
2217Po 0 47054 45496 46900 45496 100 -1
2218De 15 0 17 0 400
2219Po 0 47200 45350 47054 45496 100 -1
2220De 15 0 17 0 0
2221Po 0 50550 43704 50996 43704 100 -1
2222De 15 0 17 0 800
2223Po 0 50250 43500 51000 43500 100 -1
2224De 15 0 17 0 0
2225Po 0 51000 43500 51100 43600 100 -1
2226De 15 0 17 0 0
2227Po 3 51100 43600 51100 43600 300 -1
2228De 15 1 17 0 0
2229Po 0 50050 43300 49800 43550 100 -1
2230De 15 0 17 0 0
2231Po 3 50050 43300 50050 43300 300 -1
2232De 15 1 17 0 0
2233Po 0 50050 43300 50250 43500 100 -1
2234De 15 0 17 0 0
2235Po 0 50996 43704 51100 43600 100 -1
2236De 15 0 17 0 0
2237Po 0 50050 43704 50550 43704 100 -1
2238De 15 0 17 0 C00
2239Po 0 50050 43704 49800 43704 100 -1
2240De 15 0 17 0 800
2241Po 0 49503 43955 49745 43955 100 -1
2242De 15 0 17 0 800
2243Po 0 49745 43955 49800 43900 100 -1
2244De 15 0 17 0 0
2245Po 0 49800 43900 49800 43759 100 -1
2246De 15 0 17 0 0
2247Po 0 49800 43759 49800 43758 100 -1
2248De 15 0 17 0 0
2249Po 0 49800 43758 49800 43704 100 -1
2250De 15 0 17 0 0
2251Po 0 49800 43704 49800 43550 100 -1
2252De 15 0 17 0 0
2253Po 0 49788 43562 49800 43550 100 -1
2254De 15 0 17 0 0
2255Po 0 49503 43562 49788 43562 100 -1
2256De 15 0 17 0 800
2257Po 0 50550 44600 50054 44600 100 -1
2258De 15 0 17 0 0
2259Po 3 50550 44600 50550 44600 300 -1
2260De 15 1 17 0 0
2261Po 0 50054 44600 50050 44604 100 -1
2262De 15 0 17 0 400
2263Po 0 49503 44545 49991 44545 100 -1
2264De 15 0 17 0 800
2265Po 0 49991 44545 50050 44604 100 -1
2266De 15 0 17 0 400
2267Po 0 50504 46650 50504 46114 100 -1
2268De 15 0 17 0 800
2269Po 0 50504 46114 50586 46032 100 -1
2270De 15 0 17 0 400
2271Po 0 50904 47750 50904 48250 100 -1
2272De 15 0 17 0 C00
2273Po 0 50904 48250 50650 48250 100 -1
2274De 15 0 17 0 800
2275Po 0 50650 48250 50450 48050 100 -1
2276De 15 0 17 0 0
2277Po 3 50450 48050 50450 48050 300 -1
2278De 15 1 17 0 0
2279Po 0 50450 48050 50800 48400 100 -1
2280De 0 0 17 0 0
2281Po 0 50904 48850 50300 48850 100 -1
2282De 15 0 17 0 800
2283Po 0 49696 48850 50300 48850 100 -1
2284De 15 0 17 0 800
2285Po 0 50350 48850 50800 48400 100 -1
2286De 0 0 17 0 0
2287Po 3 50300 48850 50300 48850 300 -1
2288De 15 1 17 0 0
2289Po 0 50300 48850 50350 48850 100 -1
2290De 0 0 17 0 0
2291Po 0 48154 48850 47445 48850 100 -1
2292De 15 0 17 0 C00
2293Po 0 47307 50700 47307 49493 100 -1
2294De 15 0 17 0 800
2295Po 0 47445 49355 47445 48850 100 -1
2296De 15 0 17 0 400
2297Po 0 47307 49493 47445 49355 100 -1
2298De 15 0 17 0 0
2299Po 0 48173 49638 48173 48869 100 -1
2300De 15 0 17 0 800
2301Po 0 48173 48869 48154 48850 100 -1
2302De 15 0 17 0 400
2303Po 0 48307 48244 48307 48493 100 -1
2304De 15 0 17 0 800
2305Po 0 48154 48646 48154 48850 100 -1
2306De 15 0 17 0 400
2307Po 0 48307 48493 48154 48646 100 -1
2308De 15 0 17 0 0
2309Po 0 48008 43050 48008 42758 100 -1
2310De 15 0 17 0 0
2311Po 3 47850 42600 47850 42600 300 -1
2312De 15 1 17 0 0
2313Po 0 49200 42600 47850 42600 100 -1
2314De 0 0 17 0 0
2315Po 0 48008 42758 47850 42600 100 -1
2316De 15 0 17 0 0
2317Po 0 52400 41600 51350 41550 100 -1
2318De 0 0 17 0 0
2319Po 3 50300 41550 50300 41550 300 -1
2320De 15 1 17 0 0
2321Po 0 51350 41550 50300 41550 100 -1
2322De 15 0 17 0 0
2323Po 3 51350 41550 51350 41550 300 -1
2324De 15 1 17 0 0
2325Po 0 52400 40600 51350 40550 100 -1
2326De 15 0 17 0 0
2327Po 3 49450 40450 49450 40450 300 -1
2328De 15 1 17 0 0
2329Po 0 50350 40550 49450 40450 100 -1
2330De 15 0 17 0 0
2331Po 3 50350 40550 50350 40550 300 -1
2332De 15 1 17 0 0
2333Po 0 51350 40550 50350 40550 100 -1
2334De 0 0 17 0 0
2335Po 3 51350 40550 51350 40550 300 -1
2336De 15 1 17 0 0
2337Po 0 48200 40100 48200 39750 100 -1
2338De 15 0 17 0 0
2339Po 3 48250 40600 48250 40600 300 -1
2340De 15 1 17 0 0
2341Po 0 48250 40600 48200 40300 100 -1
2342De 0 0 17 0 0
2343Po 0 48200 40300 48200 40100 100 -1
2344De 0 0 17 0 0
2345Po 3 48200 40100 48200 40100 300 -1
2346De 15 1 17 0 0
2347Po 0 49150 41050 49000 41100 100 -1
2348De 0 0 17 0 0
2349Po 3 49150 41050 49150 41050 300 -1
2350De 15 1 17 0 0
2351Po 0 49250 41600 49150 41050 100 -1
2352De 15 0 17 0 0
2353Po 3 48600 41050 48600 41050 300 -1
2354De 15 1 17 0 0
2355Po 0 49000 41100 48600 41050 100 -1
2356De 0 0 17 0 0
2357Po 0 48600 41050 48250 40600 100 -1
2358De 15 0 17 0 0
2359Po 0 48200 39750 48050 39600 100 -1
2360De 15 0 17 0 0
2361Po 0 52400 39600 52400 40100 100 -1
2362De 15 0 17 0 0
2363Po 3 48550 39600 48550 39600 300 -1
2364De 15 1 17 0 0
2365Po 0 48550 39600 48800 39600 100 -1
2366De 15 0 17 0 0
2367Po 0 48050 39600 48550 39600 100 -1
2368De 15 0 17 0 0
2369Po 3 52400 40100 52400 40100 300 -1
2370De 15 1 17 0 0
2371Po 0 52400 40100 52400 40600 100 -1
2372De 0 0 17 0 0
2373Po 3 52400 40600 52400 40600 300 -1
2374De 15 1 17 0 0
2375Po 0 52400 40600 52400 41100 100 -1
2376De 15 0 17 0 0
2377Po 3 52400 41100 52400 41100 300 -1
2378De 15 1 17 0 0
2379Po 0 52400 41100 52400 41600 100 -1
2380De 0 0 17 0 0
2381Po 0 48800 39600 49050 39600 100 -1
2382De 15 0 17 0 0
2383Po 3 49050 39600 49050 39600 300 -1
2384De 15 1 17 0 0
2385Po 0 49050 39600 49550 39600 100 -1
2386De 0 0 17 0 0
2387Po 3 49550 39600 49550 39600 300 -1
2388De 15 1 17 0 0
2389Po 0 49550 39600 50000 39600 100 -1
2390De 15 0 17 0 0
2391Po 3 50000 39600 50000 39600 300 -1
2392De 15 1 17 0 0
2393Po 0 50000 39600 50450 39600 100 -1
2394De 0 0 17 0 0
2395Po 3 50450 39600 50450 39600 300 -1
2396De 15 1 17 0 0
2397Po 0 50450 39600 50900 39600 100 -1
2398De 15 0 17 0 0
2399Po 3 50900 39600 50900 39600 300 -1
2400De 15 1 17 0 0
2401Po 0 50900 39600 51400 39600 100 -1
2402De 0 0 17 0 0
2403Po 3 51400 39600 51400 39600 300 -1
2404De 15 1 17 0 0
2405Po 0 51400 39600 51900 39600 100 -1
2406De 15 0 17 0 0
2407Po 3 51900 39600 51900 39600 300 -1
2408De 15 1 17 0 0
2409Po 0 51900 39600 52400 39600 100 -1
2410De 0 0 17 0 0
2411Po 3 52400 39600 52400 39600 300 -1
2412De 15 1 17 0 0
2413Po 3 49250 42100 49250 42100 300 -1
2414De 15 1 17 0 0
2415Po 0 49250 42100 49200 42600 100 -1
2416De 0 0 17 0 0
2417Po 0 49250 41600 49250 42100 100 -1
2418De 15 0 17 0 0
2419Po 0 46750 39411 47011 39411 100 -1
2420De 0 0 17 0 800
2421Po 0 47011 39411 47200 39600 100 -1
2422De 0 0 17 0 0
2423Po 3 47200 39600 47200 39600 300 -1
2424De 15 1 17 0 0
2425Po 0 48050 39600 47200 39600 100 -1
2426De 0 0 17 0 0
2427Po 3 48050 39600 48050 39600 300 -1
2428De 15 1 17 0 0
2429Po 0 47756 47693 48307 47693 100 -1
2430De 15 0 17 0 800
2431Po 0 48307 47693 48700 47300 100 -1
2432De 15 0 17 0 400
2433Po 0 51793 50700 51050 50700 100 -1
2434De 0 0 17 0 800
2435Po 0 48100 50700 47307 50700 100 -1
2436De 0 0 17 0 400
2437Po 0 48500 51100 48100 50700 100 -1
2438De 0 0 17 0 0
2439Po 0 50650 51100 48500 51100 100 -1
2440De 0 0 17 0 0
2441Po 0 51050 50700 50650 51100 100 -1
2442De 0 0 17 0 0
2443Po 0 48992 43050 49188 43050 100 -1
2444De 15 0 17 0 0
2445Po 0 48307 48244 48307 47693 100 -1
2446De 15 0 17 0 800
2447Po 0 48307 47693 48700 47300 100 -1
2448De 15 0 17 0 400
2449Po 0 50550 44600 50550 45350 100 -1
2450De 0 0 17 0 0
2451Po 3 49950 45950 49950 45950 300 -1
2452De 15 1 17 0 0
2453Po 0 50032 46032 49950 45950 100 -1
2454De 15 0 17 0 0
2455Po 0 50032 46032 50586 46032 100 -1
2456De 15 0 17 0 400
2457Po 0 50550 45350 49950 45950 100 -1
2458De 0 0 17 0 0
2459Po 0 51793 50700 51793 49393 100 -1
2460De 0 0 17 0 800
2461Po 0 51793 49393 50800 48400 100 -1
2462De 0 0 17 0 0
2463Po 0 49188 42762 49188 43050 100 -1
2464De 15 0 17 0 0
2465Po 0 49188 42762 49200 42600 100 -1
2466De 15 0 17 0 0
2467Po 3 49200 42600 49200 42600 300 -1
2468De 15 1 17 0 0
2469Po 0 49188 43050 49188 43058 100 -1
2470De 15 0 17 0 0
2471Po 0 49188 43247 49188 43058 100 -1
2472De 15 0 17 0 800
2473Po 0 50550 44600 51200 44600 100 -1
2474De 0 0 17 0 0
2475Po 3 51200 44600 51200 44600 300 -1
2476De 15 1 17 0 0
2477Po 0 51200 44600 51214 44614 100 -1
2478De 15 0 17 0 0
2479Po 0 51214 44614 51214 45168 100 -1
2480De 15 0 17 0 400
2481Po 0 51793 50700 51793 49157 100 -1
2482De 15 0 17 0 800
2483Po 0 51793 49157 52100 48850 100 -1
2484De 15 0 17 0 400
2485Po 0 47756 47890 47490 47890 80 -1
2486De 15 0 18 0 800
2487Po 0 47350 47750 47196 47750 80 -1
2488De 15 0 18 0 400
2489Po 0 47490 47890 47350 47750 80 -1
2490De 15 0 18 0 0
2491Po 0 46804 47750 46804 47846 80 -1
2492De 15 0 19 0 800
2493Po 0 46700 48695 46855 48850 80 -1
2494De 15 0 19 0 400
2495Po 0 46700 47950 46700 48695 80 -1
2496De 15 0 19 0 0
2497Po 0 46804 47846 46700 47950 80 -1
2498De 15 0 19 0 0
2499Po 0 48186 41750 48000 41750 80 -1
2500De 15 0 20 0 800
2501Po 0 48000 41750 47746 42004 80 -1
2502De 15 0 20 0 0
2503Po 0 47746 42004 47746 42050 80 -1
2504De 15 0 20 0 400
2505Po 0 48700 42404 48700 42119 80 -1
2506De 15 0 21 0 800
2507Po 0 48700 42119 48814 42005 80 -1
2508De 15 0 21 0 400
2509Po 0 47150 44350 46954 44350 80 -1
2510De 15 0 22 0 0
2511Po 0 46954 44350 46900 44296 80 -1
2512De 15 0 22 0 400
2513Po 0 47497 44545 47245 44545 80 -1
2514De 15 0 22 0 800
2515Po 0 47150 44450 47150 44350 80 -1
2516De 15 0 22 0 0
2517Po 0 47150 44350 47150 44348 80 -1
2518De 15 0 22 0 0
2519Po 0 47245 44545 47150 44450 80 -1
2520De 15 0 22 0 0
2521Po 0 47497 44348 47150 44348 80 -1
2522De 15 0 22 0 800
2523Po 0 47576 39411 47576 39580 80 -1
2524De 15 0 23 0 800
2525Po 0 47576 39580 47600 39604 80 -1
2526De 15 0 23 0 400
2527Po 0 49503 44741 49795 44741 80 -1
2528De 15 0 24 0 800
2529Po 0 49795 44741 50050 44996 80 -1
2530De 15 0 24 0 400
2531Po 0 50586 45168 50222 45168 80 -1
2532De 15 0 24 0 800
2533Po 0 50222 45168 50050 44996 80 -1
2534De 15 0 24 0 400
2535Po 0 48300 42404 48300 42119 80 -1
2536De 15 0 25 0 800
2537Po 0 48300 42119 48186 42005 80 -1
2538De 15 0 25 0 400
2539Po 0 49503 44152 49994 44152 80 -1
2540De 15 0 26 0 800
2541Po 0 49994 44152 50050 44096 80 -1
2542De 15 0 26 0 400
2543Po 0 51214 46032 51214 46332 80 -1
2544De 15 0 27 0 800
2545Po 0 51214 46332 50896 46650 80 -1
2546De 15 0 27 0 400
2547Po 0 49503 44938 49588 44938 80 -1
2548De 15 0 27 0 800
2549Po 0 51214 45914 51214 46032 80 -1
2550De 15 0 27 0 400
2551Po 0 50900 45600 51214 45914 80 -1
2552De 15 0 27 0 0
2553Po 0 50250 45600 50900 45600 80 -1
2554De 15 0 27 0 0
2555Po 0 49588 44938 50250 45600 80 -1
2556De 15 0 27 0 0
2557Po 0 47497 44741 47191 44741 100 -1
2558De 15 0 28 0 800
2559Po 0 47150 44700 46900 44700 100 -1
2560De 15 0 28 0 0
2561Po 0 47191 44741 47150 44700 100 -1
2562De 15 0 28 0 0
2563Po 0 46900 44700 46900 45104 100 -1
2564De 15 0 28 0 400
2565Po 0 50550 44096 51054 44096 100 -1
2566De 15 0 28 0 800
2567Po 0 52100 47400 51800 47700 100 -1
2568De 0 0 28 0 0
2569Po 0 51800 47700 51250 47700 100 -1
2570De 0 0 28 0 0
2571Po 0 50050 48000 50050 48450 100 -1
2572De 0 0 28 0 0
2573Po 3 51100 44050 51100 44050 300 -1
2574De 15 1 28 0 0
2575Po 0 51850 44050 51100 44050 100 -1
2576De 0 0 28 0 0
2577Po 0 52100 44300 51850 44050 100 -1
2578De 0 0 28 0 0
2579Po 0 52100 46850 52100 44300 100 -1
2580De 0 0 28 0 0
2581Po 0 50350 47700 51250 47700 100 -1
2582De 0 0 28 0 0
2583Po 0 50050 48000 50350 47700 100 -1
2584De 0 0 28 0 0
2585Po 0 52100 46850 52100 47400 100 -1
2586De 0 0 28 0 0
2587Po 0 51054 44096 51100 44050 100 -1
2588De 15 0 28 0 0
2589Po 0 49503 44348 50298 44348 100 -1
2590De 15 0 28 0 800
2591Po 0 50298 44348 50550 44096 100 -1
2592De 15 0 28 0 400
2593Po 0 51296 48850 51296 48746 100 -1
2594De 15 0 28 0 800
2595Po 0 51100 48550 50400 48550 100 -1
2596De 15 0 28 0 0
2597Po 0 50400 48550 50300 48450 100 -1
2598De 15 0 28 0 0
2599Po 0 51296 48746 51100 48550 100 -1
2600De 15 0 28 0 0
2601Po 0 49093 48600 49950 48600 100 -1
2602De 15 0 28 0 0
2603Po 0 50100 48450 50300 48450 100 -1
2604De 15 0 28 0 0
2605Po 0 49950 48600 50100 48450 100 -1
2606De 15 0 28 0 0
2607Po 0 46700 48350 46700 44900 100 -1
2608De 0 0 28 0 0
2609Po 0 49150 48450 48900 48700 100 -1
2610De 0 0 28 0 0
2611Po 0 48900 48700 47050 48700 100 -1
2612De 0 0 28 0 0
2613Po 0 47050 48700 46700 48350 100 -1
2614De 0 0 28 0 0
2615Po 0 46900 44700 46700 44900 100 -1
2616De 0 0 28 0 0
2617Po 3 46900 44700 46900 44700 300 -1
2618De 15 1 28 0 0
2619Po 0 49150 48450 49650 48450 100 -1
2620De 0 0 28 0 0
2621Po 0 49650 48450 50050 48450 100 -1
2622De 0 0 28 0 0
2623Po 3 50300 48450 50300 48450 300 -1
2624De 15 1 28 0 0
2625Po 0 50050 48450 50300 48450 100 -1
2626De 0 0 28 0 0
2627Po 0 49093 48244 49093 48600 100 -1
2628De 15 0 28 0 800
2629Po 0 48896 48244 48896 48546 100 -1
2630De 15 0 28 0 800
2631Po 0 48950 48600 49093 48600 100 -1
2632De 15 0 28 0 0
2633Po 0 48896 48546 48950 48600 100 -1
2634De 15 0 28 0 0
2635$EndTRACK
2636$ZONE
2637$EndZONE
2638$CZONE_OUTLINE
2639ZInfo 4CF82A24 17 "AGND"
2640ZLayer 0
2641ZAux 8 E
2642ZClearance 100 T
2643ZMinThickness 100
2644ZOptions 1 16 S 200 200
2645ZCorner 49050 43500 0
2646ZCorner 49750 42800 0
2647ZCorner 52650 42800 0
2648ZCorner 52650 39300 0
2649ZCorner 46450 39300 0
2650ZCorner 46450 42300 0
2651ZCorner 47150 42300 0
2652ZCorner 48350 43500 1
2653$POLYSCORNERS
265449029 43450 0 0
265549729 42750 0 0
265652600 42750 0 0
265752600 39350 0 0
265847127 39350 0 0
265947115 39362 0 0
266046800 39362 0 0
266146800 39361 0 0
266246700 39361 0 0
266346700 39362 0 0
266446700 39460 0 0
266546700 39461 0 0
266646700 39697 0 0
266746638 39759 0 0
266846524 39758 0 0
266946500 39748 0 0
267046500 42250 0 0
267146862 42250 0 1
267246862 39759 0 0
267346800 39697 0 0
267446800 39460 0 0
267547115 39460 0 0
267647176 39521 0 0
267747176 39460 0 0
267847177 39522 0 0
267947176 39521 0 0
268047176 39559 0 0
268147138 39650 0 0
268247068 39720 0 0
268346976 39758 0 0
268446862 39759 0 1
268546862 42250 0 0
268647170 42250 0 0
268748370 43450 1 0
2688$endPOLYSCORNERS
2689$FILLSEGMENTS
269047127 39350 52600 39350
269146700 39430 52600 39430
269246700 39510 46800 39510
269347165 39510 47176 39510
269447177 39510 52600 39510
269546700 39590 46800 39590
269647163 39590 52600 39590
269746700 39670 46800 39670
269847118 39670 52600 39670
269946500 39750 46504 39750
270046647 39750 46853 39750
270146995 39750 52600 39750
270246500 39830 52600 39830
270346500 39910 52600 39910
270446500 39990 52600 39990
270546500 40070 52600 40070
270646500 40150 52600 40150
270746500 40230 52600 40230
270846500 40310 52600 40310
270946500 40390 52600 40390
271046500 40470 52600 40470
271146500 40550 52600 40550
271246500 40630 52600 40630
271346500 40710 52600 40710
271446500 40790 52600 40790
271546500 40870 52600 40870
271646500 40950 52600 40950
271746500 41030 52600 41030
271846500 41110 52600 41110
271946500 41190 52600 41190
272046500 41270 52600 41270
272146500 41350 52600 41350
272246500 41430 52600 41430
272346500 41510 52600 41510
272446500 41590 52600 41590
272546500 41670 52600 41670
272646500 41750 52600 41750
272746500 41830 52600 41830
272846500 41910 52600 41910
272946500 41990 52600 41990
273046500 42070 52600 42070
273146500 42150 52600 42150
273246500 42230 52600 42230
273347230 42310 52600 42310
273447310 42390 52600 42390
273547390 42470 52600 42470
273647470 42550 52600 42550
273747550 42630 52600 42630
273847630 42710 52600 42710
273947710 42790 49689 42790
274047790 42870 49609 42870
274147870 42950 49529 42950
274247950 43030 49449 43030
274348030 43110 49369 43110
274448110 43190 49289 43190
274548190 43270 49209 43270
274648270 43350 49129 43350
274748350 43430 49049 43430
2748$endFILLSEGMENTS
2749$endCZONE_OUTLINE
2750$CZONE_OUTLINE
2751ZInfo 4CF82AAB 17 "AGND"
2752ZLayer 0
2753ZAux 5 E
2754ZClearance 100 T
2755ZMinThickness 100
2756ZOptions 1 16 S 200 200
2757ZCorner 52650 44250 0
2758ZCorner 52650 43000 0
2759ZCorner 49800 43000 0
2760ZCorner 49250 43550 0
2761ZCorner 49250 44250 1
2762$POLYSCORNERS
276352600 44200 0 0
276452600 43050 0 0
276549820 43050 0 0
276649300 43570 0 0
276749300 44200 0 0
276850838 44200 0 0
276950801 44109 0 0
277050801 43990 0 0
277150847 43880 0 0
277250931 43796 0 0
277351041 43751 0 0
277451160 43751 0 0
277551270 43797 0 0
277651323 43850 0 0
277751850 43850 0 0
277851927 43865 0 0
277951991 43909 0 0
278052241 44158 0 0
278152269 44200 1 0
2782$endPOLYSCORNERS
2783$FILLSEGMENTS
278449820 43050 52600 43050
278549740 43130 52600 43130
278649660 43210 52600 43210
278749580 43290 52600 43290
278849500 43370 52600 43370
278949420 43450 52600 43450
279049340 43530 52600 43530
279149300 43610 52600 43610
279249300 43690 52600 43690
279349300 43770 50995 43770
279451206 43770 52600 43770
279549300 43850 50877 43850
279651850 43850 52600 43850
279749300 43930 50827 43930
279852013 43930 52600 43930
279949300 44010 50801 44010
280052093 44010 52600 44010
280149300 44090 50801 44090
280252173 44090 52600 44090
280349300 44170 50825 44170
280452249 44170 52600 44170
2805$endFILLSEGMENTS
2806$endCZONE_OUTLINE
2807$CZONE_OUTLINE
2808ZInfo 4CF82B26 17 "AGND"
2809ZLayer 0
2810ZAux 10 E
2811ZClearance 100 T
2812ZMinThickness 100
2813ZOptions 1 16 S 200 200
2814ZCorner 51150 47000 0
2815ZCorner 51700 46450 0
2816ZCorner 51700 45350 0
2817ZCorner 52650 45350 0
2818ZCorner 52650 44400 0
2819ZCorner 49250 44400 0
2820ZCorner 49250 45000 0
2821ZCorner 49650 45400 0
2822ZCorner 49650 46300 0
2823ZCorner 50350 47000 1
2824$POLYSCORNERS
282551129 46950 0 0
282651650 46429 0 0
282751650 45300 0 0
282851900 45300 0 0
282951900 44450 0 0
283049300 44450 0 0
283149300 44979 0 0
283249700 45379 0 0
283349700 46279 0 0
283450370 46950 1 0
2835$endPOLYSCORNERS
2836$FILLSEGMENTS
283749300 44450 51900 44450
283849300 44530 51900 44530
283949300 44610 51900 44610
284049300 44690 51900 44690
284149300 44770 51900 44770
284249300 44850 51900 44850
284349300 44930 51900 44930
284449331 45010 51900 45010
284549411 45090 51900 45090
284649491 45170 51900 45170
284749571 45250 51900 45250
284849651 45330 51650 45330
284949700 45410 51650 45410
285049700 45490 51650 45490
285149700 45570 51650 45570
285249700 45650 51650 45650
285349700 45730 51650 45730
285449700 45810 51650 45810
285549700 45890 51650 45890
285649700 45970 51650 45970
285749700 46050 51650 46050
285849700 46130 51650 46130
285949700 46210 51650 46210
286049711 46290 51650 46290
286149791 46370 51650 46370
286249871 46450 51629 46450
286349951 46530 51549 46530
286450031 46610 51469 46610
286550111 46690 51389 46690
286650191 46770 51309 46770
286750271 46850 51229 46850
286850351 46930 51149 46930
2869$endFILLSEGMENTS
2870$endCZONE_OUTLINE
2871$CZONE_OUTLINE
2872ZInfo 4CF82B8A 17 "AGND"
2873ZLayer 0
2874ZAux 11 E
2875ZClearance 100 T
2876ZMinThickness 100
2877ZOptions 1 16 S 200 200
2878ZCorner 52650 51700 0
2879ZCorner 52650 47200 0
2880ZCorner 50250 47200 0
2881ZCorner 49400 46350 0
2882ZCorner 49400 45450 0
2883ZCorner 49050 45100 0
2884ZCorner 49050 43700 0
2885ZCorner 48350 43700 0
2886ZCorner 47100 42450 0
2887ZCorner 46450 42450 0
2888ZCorner 46450 51700 1
2889$POLYSCORNERS
289052600 51650 0 0
289152600 47250 0 0
289252300 47250 0 0
289352300 47400 0 0
289452285 47477 0 0
289552241 47542 0 0
289651941 47841 0 0
289751877 47885 0 0
289851800 47900 0 0
289950432 47900 0 0
290050250 48082 0 0
290150250 48151 0 0
290250360 48151 0 0
290350470 48197 0 0
290450554 48281 0 0
290550599 48391 0 0
290650599 48510 0 0
290750553 48620 0 0
290850469 48704 0 0
290950359 48749 0 0
291050240 48749 0 0
291150130 48703 0 0
291250077 48650 0 0
291349232 48650 0 0
291449041 48841 0 0
291548977 48885 0 0
291648900 48900 0 0
291747050 48900 0 0
291846973 48885 0 0
291946908 48841 0 0
292046559 48491 0 0
292146515 48427 0 0
292246500 48350 0 0
292346500 51650 0 0
292446735 51650 0 0
292546664 51536 0 0
292646664 50750 0 1
292746664 50650 0 0
292846664 49864 0 0
292946807 49637 0 0
293047157 49484 0 0
293147257 49531 0 0
293247257 50650 0 0
293346664 50650 0 1
293446664 50750 0 0
293547257 50750 0 0
293647357 50750 0 1
293747357 50650 0 0
293847357 49531 0 0
293947457 49484 0 0
294047807 49637 0 0
294147950 49864 0 0
294247950 50650 0 0
294347357 50650 0 1
294447357 50750 0 0
294547950 50750 0 0
294647950 51536 0 0
294747878 51650 0 0
294848591 51650 0 1
294948591 51066 0 0
295048457 51010 0 0
295148354 50907 0 0
295248299 50772 0 0
295348299 50626 0 0
295448355 50492 0 0
295548458 50389 0 0
295648593 50334 0 0
295748739 50334 0 0
295848873 50390 0 0
295948976 50493 0 0
296049031 50628 0 0
296149031 50774 0 0
296248975 50908 0 0
296348872 51011 0 0
296448737 51066 0 0
296548591 51066 0 1
296648591 51650 0 0
296750361 51650 0 1
296850361 51066 0 0
296950227 51010 0 0
297050124 50907 0 0
297150069 50772 0 0
297250069 50626 0 0
297350125 50492 0 0
297450228 50389 0 0
297550363 50334 0 0
297650509 50334 0 0
297750643 50390 0 0
297850746 50493 0 0
297950801 50628 0 0
298050801 50774 0 0
298150745 50908 0 0
298250642 51011 0 0
298350507 51066 0 0
298450361 51066 0 1
298550361 51650 0 0
298651221 51650 0 0
298751150 51536 0 0
298851150 50750 0 1
298951150 50650 0 0
299051150 49864 0 0
299151293 49637 0 0
299251643 49484 0 0
299351743 49531 0 0
299451743 50650 0 0
299551150 50650 0 1
299651150 50750 0 0
299751743 50750 0 0
299851843 50750 0 1
299951843 50650 0 0
300051843 49531 0 0
300151943 49484 0 0
300252293 49637 0 0
300352436 49864 0 0
300452436 50650 0 0
300551843 50650 0 1
300651843 50750 0 0
300752436 50750 0 0
300852436 51536 0 0
300952364 51650 1 0
301047277 48500 0 0
301147246 48469 0 0
301247201 48359 0 0
301347201 48240 0 0
301447247 48130 0 0
301547331 48046 0 0
301647441 48001 0 0
301747560 48001 0 0
301847670 48047 0 0
301947682 48059 0 0
302049471 48060 0 0
302149660 47871 0 0
302249660 46978 0 0
302349216 46534 0 0
302449174 46473 0 0
302549160 46400 0 0
302649160 46033 0 0
302749096 45969 0 0
302849051 45859 0 0
302949051 45740 0 0
303049097 45630 0 0
303149181 45546 0 0
303249291 45501 0 0
303349350 45501 0 0
303449350 45470 0 0
303549000 45120 0 0
303649000 43750 0 0
303748329 43750 0 0
303847079 42500 0 0
303946500 42500 0 0
304046500 44900 0 0
304146515 44823 0 0
304246559 44759 0 0
304346601 44716 0 0
304446601 44640 0 0
304546647 44530 0 0
304646731 44446 0 0
304746841 44401 0 0
304846960 44401 0 0
304947010 44421 0 0
305047010 43778 0 0
305146930 43699 0 0
305246840 43699 0 0
305346730 43653 0 0
305446646 43569 0 0
305546601 43459 0 0
305646601 43340 0 0
305746647 43230 0 0
305846701 43174 0 0
305946646 43119 0 0
306046601 43009 0 0
306146601 42890 0 0
306246647 42780 0 0
306346731 42696 0 0
306446841 42651 0 0
306546960 42651 0 0
306647070 42697 0 0
306747154 42781 0 0
306847199 42891 0 0
306947199 42981 0 0
307047534 43316 0 0
307147576 43377 0 0
307247590 43450 0 0
307347590 44950 0 0
307447576 45023 0 0
307547534 45085 0 0
307647290 45328 0 0
307747290 46251 0 0
307847310 46251 0 0
307947420 46297 0 0
308047504 46381 0 0
308147549 46491 0 0
308247549 46610 0 0
308347503 46720 0 0
308447419 46804 0 0
308547309 46849 0 0
308647281 46849 0 0
308747299 46891 0 0
308847299 47010 0 0
308947253 47120 0 0
309047169 47204 0 0
309147059 47249 0 0
309246940 47249 0 0
309346900 47232 0 0
309446900 48267 0 0
309547132 48500 1 0
3096$endPOLYSCORNERS
3097$FILLSEGMENTS
309852300 47250 52600 47250
309952300 47330 52600 47330
310052298 47410 52600 47410
310152276 47490 52600 47490
310252212 47570 52600 47570
310352132 47650 52600 47650
310452052 47730 52600 47730
310551972 47810 52600 47810
310651851 47890 52600 47890
310750362 47970 52600 47970
310850282 48050 52600 48050
310950250 48130 52600 48130
311050483 48210 52600 48210
311150558 48290 52600 48290
311246500 48370 46503 48370
311350591 48370 52600 48370
311446500 48450 46530 48450
311550599 48450 52600 48450
311646500 48530 46597 48530
311750590 48530 52600 48530
311846500 48610 46677 48610
311950557 48610 52600 48610
312046500 48690 46757 48690
312149192 48690 50117 48690
312250483 48690 52600 48690
312346500 48770 46837 48770
312449112 48770 52600 48770
312546500 48850 46921 48850
312649027 48850 52600 48850
312746500 48930 52600 48930
312846500 49010 52600 49010
312946500 49090 52600 49090
313046500 49170 52600 49170
313146500 49250 52600 49250
313246500 49330 52600 49330
313346500 49410 52600 49410
313446500 49490 47144 49490
313547170 49490 47445 49490
313647471 49490 51630 49490
313751656 49490 51931 49490
313851957 49490 52600 49490
313946500 49570 46961 49570
314047257 49570 47357 49570
314147654 49570 51447 49570
314251743 49570 51843 49570
314352140 49570 52600 49570
314446500 49650 46799 49650
314547257 49650 47357 49650
314647816 49650 51285 49650
314751743 49650 51843 49650
314852302 49650 52600 49650
314946500 49730 46749 49730
315047257 49730 47357 49730
315147866 49730 51235 49730
315251743 49730 51843 49730
315352352 49730 52600 49730
315446500 49810 46699 49810
315547257 49810 47357 49810
315647916 49810 51185 49810
315751743 49810 51843 49810
315852402 49810 52600 49810
315946500 49890 46664 49890
316047257 49890 47357 49890
316147950 49890 51150 49890
316251743 49890 51843 49890
316352436 49890 52600 49890
316446500 49970 46664 49970
316547257 49970 47357 49970
316647950 49970 51150 49970
316751743 49970 51843 49970
316852436 49970 52600 49970
316946500 50050 46664 50050
317047257 50050 47357 50050
317147950 50050 51150 50050
317251743 50050 51843 50050
317352436 50050 52600 50050
317446500 50130 46664 50130
317547257 50130 47357 50130
317647950 50130 51150 50130
317751743 50130 51843 50130
317852436 50130 52600 50130
317946500 50210 46664 50210
318047257 50210 47357 50210
318147950 50210 51150 50210
318251743 50210 51843 50210
318352436 50210 52600 50210
318446500 50290 46664 50290
318547257 50290 47357 50290
318647950 50290 51150 50290
318751743 50290 51843 50290
318852436 50290 52600 50290
318946500 50370 46664 50370
319047257 50370 47357 50370
319147950 50370 48505 50370
319248826 50370 50275 50370
319350596 50370 51150 50370
319451743 50370 51843 50370
319552436 50370 52600 50370
319646500 50450 46664 50450
319747257 50450 47357 50450
319847950 50450 48397 50450
319948933 50450 50167 50450
320050703 50450 51150 50450
320151743 50450 51843 50450
320252436 50450 52600 50450
320346500 50530 46664 50530
320447257 50530 47357 50530
320547950 50530 48340 50530
320648992 50530 50110 50530
320750762 50530 51150 50530
320851743 50530 51843 50530
320952436 50530 52600 50530
321046500 50610 46664 50610
321147257 50610 47357 50610
321247950 50610 48306 50610
321349024 50610 50076 50610
321450794 50610 51150 50610
321551743 50610 51843 50610
321652436 50610 52600 50610
321746500 50690 48299 50690
321849031 50690 50069 50690
321950801 50690 52600 50690
322046500 50770 46664 50770
322147950 50770 48299 50770
322249031 50770 50069 50770
322350801 50770 51150 50770
322452436 50770 52600 50770
322546500 50850 46664 50850
322647950 50850 48330 50850
322748999 50850 50100 50850
322850769 50850 51150 50850
322952436 50850 52600 50850
323046500 50930 46664 50930
323147950 50930 48377 50930
323248953 50930 50147 50930
323350723 50930 51150 50930
323452436 50930 52600 50930
323546500 51010 46664 51010
323647950 51010 48457 51010
323748873 51010 50227 51010
323850643 51010 51150 51010
323952436 51010 52600 51010
324046500 51090 46664 51090
324147950 51090 51150 51090
324252436 51090 52600 51090
324346500 51170 46664 51170
324447950 51170 51150 51170
324552436 51170 52600 51170
324646500 51250 46664 51250
324747950 51250 51150 51250
324852436 51250 52600 51250
324946500 51330 46664 51330
325047950 51330 51150 51330
325152436 51330 52600 51330
325246500 51410 46664 51410
325347950 51410 51150 51410
325452436 51410 52600 51410
325546500 51490 46664 51490
325647950 51490 51150 51490
325752436 51490 52600 51490
325846500 51570 46685 51570
325947928 51570 51171 51570
326052414 51570 52600 51570
326146500 42500 47079 42500
326246500 42580 47159 42580
326346500 42660 46819 42660
326446982 42660 47239 42660
326546500 42740 46687 42740
326647113 42740 47319 42740
326746500 42820 46631 42820
326847170 42820 47399 42820
326946500 42900 46601 42900
327047199 42900 47479 42900
327146500 42980 46601 42980
327247199 42980 47559 42980
327346500 43060 46621 43060
327447278 43060 47639 43060
327546500 43140 46667 43140
327647358 43140 47719 43140
327746500 43220 46657 43220
327847438 43220 47799 43220
327946500 43300 46618 43300
328047518 43300 47879 43300
328146500 43380 46601 43380
328247577 43380 47959 43380
328346500 43460 46601 43460
328447590 43460 48039 43460
328546500 43540 46634 43540
328647590 43540 48119 43540
328746500 43620 46697 43620
328847590 43620 48199 43620
328946500 43700 46931 43700
329047590 43700 48279 43700
329146500 43780 47010 43780
329247590 43780 49000 43780
329346500 43860 47010 43860
329447590 43860 49000 43860
329546500 43940 47010 43940
329647590 43940 49000 43940
329746500 44020 47010 44020
329847590 44020 49000 44020
329946500 44100 47010 44100
330047590 44100 49000 44100
330146500 44180 47010 44180
330247590 44180 49000 44180
330346500 44260 47010 44260
330447590 44260 49000 44260
330546500 44340 47010 44340
330647590 44340 49000 44340
330746500 44420 46795 44420
330847008 44420 47010 44420
330947590 44420 49000 44420
331046500 44500 46677 44500
331147590 44500 49000 44500
331246500 44580 46627 44580
331347590 44580 49000 44580
331446500 44660 46601 44660
331547590 44660 49000 44660
331646500 44740 46578 44740
331747590 44740 49000 44740
331846500 44820 46518 44820
331947590 44820 49000 44820
332047590 44900 49000 44900
332147584 44980 49000 44980
332247550 45060 49000 45060
332347478 45140 49020 45140
332447398 45220 49100 45220
332547318 45300 49180 45300
332647290 45380 49260 45380
332747290 45460 49340 45460
332847290 45540 49196 45540
332947290 45620 49107 45620
333047290 45700 49068 45700
333147290 45780 49051 45780
333247290 45860 49051 45860
333347290 45940 49084 45940
333447290 46020 49147 46020
333547290 46100 49160 46100
333647290 46180 49160 46180
333747332 46260 49160 46260
333847463 46340 49160 46340
333947520 46420 49163 46420
334047549 46500 49192 46500
334147549 46580 49262 46580
334247528 46660 49342 46660
334347483 46740 49422 46740
334447379 46820 49502 46820
334547299 46900 49582 46900
334647299 46980 49660 46980
334747278 47060 49660 47060
334847233 47140 49660 47140
334947129 47220 49660 47220
335046900 47300 49660 47300
335146900 47380 49660 47380
335246900 47460 49660 47460
335346900 47540 49660 47540
335446900 47620 49660 47620
335546900 47700 49660 47700
335646900 47780 49660 47780
335746900 47860 49660 47860
335846900 47940 49591 47940
335946900 48020 47395 48020
336047606 48020 49511 48020
336146900 48100 47277 48100
336246900 48180 47227 48180
336346900 48260 47201 48260
336446973 48340 47201 48340
336547053 48420 47225 48420
3366$endFILLSEGMENTS
3367$endCZONE_OUTLINE
3368$CZONE_OUTLINE
3369ZInfo 4CF83175 17 "AGND"
3370ZLayer 15
3371ZAux 8 E
3372ZClearance 100 T
3373ZMinThickness 100
3374ZOptions 1 16 S 200 200
3375ZCorner 49500 43050 0
3376ZCorner 49750 42800 0
3377ZCorner 52650 42800 0
3378ZCorner 52650 39300 0
3379ZCorner 46450 39300 0
3380ZCorner 46450 42300 0
3381ZCorner 47150 42300 0
3382ZCorner 47900 43050 1
3383$POLYSCORNERS
338449479 43000 0 0
338549729 42750 0 0
338650095 42750 0 0
338750095 42729 0 0
338852600 42729 0 0
338952600 39350 0 0
339047823 39350 0 0
339147823 39400 0 0
339247844 39421 0 0
339347867 39476 0 0
339447867 39731 0 0
339547845 39786 0 0
339647831 39799 0 0
339747844 39813 0 0
339847862 39856 0 0
339947911 39889 0 0
340048007 40032 0 0
340148040 40200 0 0
340248040 40618 0 0
340348361 40939 0 0
340448456 41081 0 0
340548488 41243 0 0
340648516 41216 0 0
340748607 41178 0 0
340848702 41177 0 0
340948764 41239 0 0
341048764 41445 0 0
341148764 41461 0 0
341248764 41494 0 0
341348764 41545 0 0
341448864 41545 0 0
341548864 41494 0 0
341648896 41460 0 0
341748864 41461 0 0
341848864 41239 0 0
341948922 41180 0 0
342048924 41177 0 0
342148925 41177 0 0
342249021 41178 0 0
342349112 41216 0 0
342449182 41286 0 0
342549220 41378 0 0
342649221 41399 0 0
342749159 41461 0 0
342849088 41460 0 0
342949112 41471 0 0
343049182 41541 0 0
343149189 41559 0 0
343249221 41591 0 0
343349220 41612 0 0
343449215 41622 0 0
343549220 41633 0 0
343649221 41654 0 0
343749189 41685 0 0
343849182 41704 0 0
343949112 41774 0 0
344049088 41783 0 0
344149159 41784 0 0
344249221 41846 0 0
344349220 41867 0 0
344449182 41959 0 0
344549120 42021 0 0
344649120 42102 0 0
344749098 42157 0 0
344849056 42199 0 0
344949001 42222 0 0
345048944 42222 0 0
345148967 42276 0 0
345248967 42531 0 0
345348945 42586 0 0
345448930 42600 0 0
345548944 42613 0 0
345648967 42668 0 0
345748967 42862 0 0
345848989 42863 0 0
345948967 42863 0 0
346048967 42892 0 0
346148987 42901 0 0
346248991 42905 0 0
346348993 42904 0 1
346448993 42863 0 0
346549078 42862 0 0
346649077 42863 0 0
346748993 42863 0 1
346848993 42904 0 0
346948996 42901 0 0
347049069 42870 0 0
347149077 42863 0 0
347249102 42863 0 0
347349101 42862 0 0
347449186 42863 0 0
347549102 42863 0 0
347649109 42870 0 0
347749183 42901 0 0
347849190 42907 0 1
347949190 42863 0 0
348049275 42862 0 0
348149274 42863 0 0
348249190 42863 0 1
348349190 42907 0 0
348449213 42931 0 0
348549213 42924 0 0
348649274 42863 0 0
348749289 42863 0 0
348849380 42901 0 0
348949450 42971 0 0
349049461 43000 1 0
349147984 42930 0 0
349248013 42901 0 0
349348033 42892 0 0
349448033 42863 0 0
349548011 42863 0 0
349648033 42862 0 0
349748033 42669 0 0
349848055 42614 0 0
349948068 42599 0 0
350048056 42587 0 0
350148033 42532 0 0
350248033 42277 0 0
350348055 42222 0 0
350448000 42222 0 0
350547985 42216 0 0
350647971 42252 0 0
350747929 42294 0 0
350847874 42317 0 0
350947655 42317 0 0
351047593 42379 0 0
351147501 42417 0 0
351247465 42418 0 0
351347403 42356 0 0
351447403 42100 0 0
351547404 42100 0 0
351647404 42000 0 0
351747403 42000 0 0
351847403 41744 0 0
351947465 41682 0 0
352047501 41683 0 0
352147593 41721 0 0
352247655 41783 0 0
352347698 41783 0 0
352447848 41633 0 0
352547739 41561 0 0
352647289 41111 0 0
352747261 41070 0 0
352847129 40938 0 0
352947129 40850 0 0
353047155 40826 0 0
353147164 40822 0 0
353247160 40800 0 0
353347160 40200 0 0
353447177 40113 0 1
353547177 39522 0 0
353647176 39521 0 0
353747176 39460 0 0
353847177 39522 0 1
353947177 40113 0 0
354047193 40032 0 0
354147289 39889 0 0
354247338 39855 0 0
354347355 39814 0 0
354447368 39800 0 0
354547356 39787 0 0
354647333 39732 0 0
354747333 39548 0 0
354847329 39539 0 0
354947329 39350 0 0
355047127 39350 0 0
355147115 39362 0 0
355247067 39362 0 0
355347054 39397 0 0
355447012 39439 0 0
355546961 39460 0 0
355647115 39460 0 0
355747176 39521 0 0
355847176 39559 0 0
355947138 39650 0 0
356047068 39720 0 0
356146976 39758 0 0
356246862 39759 0 0
356346800 39697 0 0
356446800 39462 0 0
356546700 39462 0 0
356646700 39697 0 0
356746638 39759 0 0
356846524 39758 0 0
356946500 39748 0 0
357046500 42250 0 0
357147006 42249 0 1
357247006 42162 0 0
357347007 42119 0 0
357447007 42161 0 0
357547006 42162 0 1
357647006 42249 0 0
357747020 42249 0 0
357847007 42218 0 0
357947007 42161 0 0
358047068 42100 0 1
358147068 42000 0 0
358247007 41939 0 0
358347007 41981 0 0
358447006 41938 0 0
358547007 41939 0 0
358647007 41882 0 0
358747017 41858 0 1
358847017 41386 0 0
358946986 41356 0 0
359046986 41355 0 0
359146947 41316 0 0
359246909 41224 0 0
359346909 41125 0 0
359446948 41033 0 0
359546972 41007 0 0
359647060 41007 0 0
359747241 41188 0 0
359847073 41356 0 0
359946986 41355 0 0
360047017 41386 0 1
360147017 41858 0 0
360247045 41791 0 0
360347115 41721 0 0
360447207 41683 0 0
360547243 41682 0 0
360647276 41715 0 1
360747276 41591 0 0
360847184 41553 0 0
360947144 41513 0 0
361047144 41514 0 0
361147114 41483 0 0
361247144 41513 0 0
361347144 41427 0 0
361447312 41259 0 0
361547493 41440 0 0
361647493 41528 0 0
361747467 41552 0 0
361847375 41591 0 0
361947276 41591 0 1
362047276 41715 0 0
362147305 41744 0 0
362247305 42000 0 0
362347068 42000 0 1
362447068 42100 0 0
362547305 42100 0 0
362647305 42356 0 0
362747290 42370 0 0
362847819 42899 0 0
362947908 42863 0 0
363047923 42863 0 0
363147922 42862 0 0
363248007 42863 0 0
363347923 42863 0 0
363447984 42924 1 0
3635$endPOLYSCORNERS
3636$FILLSEGMENTS
363747823 39350 52600 39350
363847848 39430 52600 39430
363947867 39510 52600 39510
364047867 39590 52600 39590
364147867 39670 52600 39670
364247859 39750 52600 39750
364347852 39830 52600 39830
364447926 39910 52600 39910
364547979 39990 52600 39990
364648015 40070 52600 40070
364748031 40150 52600 40150
364848040 40230 52600 40230
364948040 40310 52600 40310
365048040 40390 52600 40390
365148040 40470 52600 40470
365248040 40550 52600 40550
365348052 40630 52600 40630
365448132 40710 52600 40710
365548212 40790 52600 40790
365648292 40870 52600 40870
365748369 40950 52600 40950
365848422 41030 52600 41030
365948462 41110 52600 41110
366048478 41190 48579 41190
366148715 41190 48913 41190
366249050 41190 52600 41190
366348764 41270 48864 41270
366449166 41270 52600 41270
366548764 41350 48864 41350
366649209 41350 52600 41350
366748764 41430 48864 41430
366849190 41430 52600 41430
366948764 41510 48864 41510
367049151 41510 52600 41510
367149220 41590 52600 41590
367249204 41670 52600 41670
367349136 41750 52600 41750
367449205 41830 52600 41830
367549202 41910 52600 41910
367649151 41990 52600 41990
367749120 42070 52600 42070
367849100 42150 52600 42150
367948948 42230 52600 42230
368048967 42310 52600 42310
368148967 42390 52600 42390
368248967 42470 52600 42470
368348959 42550 52600 42550
368448952 42630 52600 42630
368548967 42710 52600 42710
368648967 42790 49689 42790
368748967 42870 49069 42870
368849109 42870 49267 42870
368949306 42870 49609 42870
369049429 42950 49529 42950
369147127 39350 47329 39350
369247021 39430 47329 39430
369346700 39510 46800 39510
369447165 39510 47176 39510
369547177 39510 47329 39510
369646700 39590 46800 39590
369747163 39590 47333 39590
369846700 39670 46800 39670
369947118 39670 47333 39670
370046500 39750 46504 39750
370146647 39750 46853 39750
370246995 39750 47340 39750
370346500 39830 47349 39830
370446500 39910 47275 39910
370546500 39990 47222 39990
370646500 40070 47186 40070
370746500 40150 47170 40150
370846500 40230 47160 40230
370946500 40310 47160 40310
371046500 40390 47160 40390
371146500 40470 47160 40470
371246500 40550 47160 40550
371346500 40630 47160 40630
371446500 40710 47160 40710
371546500 40790 47160 40790
371646500 40870 47129 40870
371746500 40950 47141 40950
371846500 41030 46951 41030
371947083 41030 47221 41030
372046500 41110 46916 41110
372147163 41110 47288 41110
372246500 41190 46909 41190
372347239 41190 47368 41190
372446500 41270 46928 41270
372547159 41270 47301 41270
372647323 41270 47448 41270
372746500 41350 46981 41350
372847079 41350 47221 41350
372947403 41350 47528 41350
373046500 41430 47144 41430
373147483 41430 47608 41430
373246500 41510 47140 41510
373347141 41510 47144 41510
373447493 41510 47688 41510
373546500 41590 47273 41590
373647377 41590 47782 41590
373746500 41670 47811 41670
373846500 41750 47086 41750
373947305 41750 47403 41750
374047622 41750 47731 41750
374146500 41830 47029 41830
374247305 41830 47403 41830
374346500 41910 47007 41910
374447305 41910 47403 41910
374546500 41990 47058 41990
374647305 41990 47403 41990
374746500 42070 47404 42070
374846500 42150 47007 42150
374947007 42150 47018 42150
375047305 42150 47403 42150
375146500 42230 47012 42230
375247305 42230 47403 42230
375347979 42230 48052 42230
375447305 42310 47403 42310
375547890 42310 48033 42310
375647310 42390 47437 42390
375747566 42390 48033 42390
375847390 42470 48033 42470
375947470 42550 48040 42550
376047550 42630 48049 42630
376147630 42710 48033 42710
376247710 42790 48033 42790
376347790 42870 47891 42870
376447930 42870 48033 42870
3765$endFILLSEGMENTS
3766$endCZONE_OUTLINE
3767$CZONE_OUTLINE
3768ZInfo 4CF83195 17 "AGND"
3769ZLayer 15
3770ZAux 5 E
3771ZClearance 100 T
3772ZMinThickness 100
3773ZOptions 1 16 S 200 200
3774ZCorner 52650 44250 0
3775ZCorner 52650 43000 0
3776ZCorner 49800 43000 0
3777ZCorner 49650 43150 0
3778ZCorner 49650 44250 1
3779$POLYSCORNERS
378052600 44200 0 0
378152600 43498 0 0
378250892 43498 0 0
378350917 43557 0 0
378450918 43593 0 0
378550856 43655 0 0
378650600 43655 0 0
378750600 43654 0 0
378850500 43654 0 0
378950500 43655 0 0
379050100 43655 0 0
379150100 43498 0 0
379250095 43498 0 0
379350095 43050 0 0
379449820 43050 0 0
379549700 43170 0 0
379649700 43267 0 0
379749779 43300 0 0
379849849 43370 0 0
379949882 43357 0 0
380049939 43357 0 0
380149938 43356 0 0
380249981 43357 0 0
380349939 43357 0 0
380450000 43418 0 0
380550000 43654 0 0
380650000 43655 0 0
380750000 43753 0 0
380850000 43754 0 0
380950100 43754 0 0
381050100 43753 0 0
381150500 43753 0 0
381250500 43754 0 0
381350600 43754 0 0
381450600 43753 0 0
381550856 43753 0 0
381650914 43811 0 0
381750931 43796 0 0
381851041 43751 0 0
381951160 43751 0 0
382051270 43797 0 0
382151354 43881 0 0
382251399 43991 0 0
382351399 44110 0 0
382451361 44200 1 0
3825$endPOLYSCORNERS
3826$FILLSEGMENTS
382749820 43050 50095 43050
382849740 43130 50095 43130
382949700 43210 50095 43210
383049756 43290 50095 43290
383149952 43370 50095 43370
383250000 43450 50095 43450
383350000 43530 50100 43530
383450906 43530 52600 43530
383550000 43610 50100 43610
383650901 43610 52600 43610
383750000 43690 52600 43690
383850873 43770 50995 43770
383951206 43770 52600 43770
384051323 43850 52600 43850
384151375 43930 52600 43930
384251399 44010 52600 44010
384351399 44090 52600 44090
384451373 44170 52600 44170
3845$endFILLSEGMENTS
3846$endCZONE_OUTLINE
3847$CZONE_OUTLINE
3848ZInfo 4CF831BB 17 "AGND"
3849ZLayer 15
3850ZAux 12 E
3851ZClearance 100 T
3852ZMinThickness 100
3853ZOptions 1 16 S 200 200
3854ZCorner 51200 47050 0
3855ZCorner 51750 46500 0
3856ZCorner 51750 45350 0
3857ZCorner 52650 45350 0
3858ZCorner 52650 44400 0
3859ZCorner 49500 44400 0
3860ZCorner 49500 45250 0
3861ZCorner 49650 45400 0
3862ZCorner 49650 46350 0
3863ZCorner 49950 46350 0
3864ZCorner 50050 46450 0
3865ZCorner 50050 47050 1
3866$POLYSCORNERS
386750231 47000 0 0
386850258 46972 0 0
386950195 46909 0 0
387050157 46818 0 0
387150157 46761 0 1
387250157 46581 0 0
387350156 46538 0 0
387450157 46539 0 0
387550157 46581 0 1
387650157 46761 0 0
387750156 46762 0 0
387850157 46719 0 0
387950157 46761 0 0
388050218 46700 0 0
388150454 46700 0 0
388250455 46700 0 0
388350553 46700 0 0
388450554 46700 0 0
388550554 46600 0 0
388650553 46600 0 0
388750455 46600 0 0
388850454 46600 0 0
388950218 46600 0 0
389050157 46539 0 0
389150157 46482 0 0
389250161 46470 0 0
389350139 46448 0 0
389450101 46356 0 0
389550100 46144 0 0
389650162 46082 0 0
389750536 46082 0 0
389850636 46082 0 0
389950636 45982 0 0
390050536 45982 0 0
390150162 45982 0 0
390250100 45920 0 0
390350100 45718 0 0
390449550 45168 0 0
390549550 45229 0 0
390649700 45379 0 0
390749700 46300 0 0
390849970 46300 0 0
390950100 46429 0 0
391050100 47000 0 0
391150156 47000 0 1
391250156 46762 0 1
391350156 47000 1 0
391451121 46910 0 0
391551700 46331 0 0
391651700 46055 0 0
391751651 45937 0 0
391851651 45762 0 0
391951700 45645 0 0
392051700 45300 0 0
392152600 45300 0 0
392252600 44450 0 0
392350478 44449 0 0
392450439 44489 0 0
392550384 44526 0 0
392650356 44555 0 0
392750100 44555 0 0
392850100 44554 0 0
392950000 44554 0 0
393050000 44555 0 0
393150000 44653 0 0
393250000 44654 0 0
393350100 44654 0 0
393450100 44653 0 0
393550356 44653 0 0
393650418 44715 0 0
393750417 44744 0 0
393850775 44744 0 0
393950837 44682 0 0
394050928 44644 0 0
394151027 44644 0 0
394251102 44643 0 0
394351164 44705 0 0
394451164 45118 0 0
394551164 45218 0 0
394651264 45218 0 1
394751264 45118 0 0
394851264 44705 0 0
394951326 44643 0 0
395051401 44644 0 0
395151500 44644 0 0
395251591 44682 0 0
395351661 44752 0 0
395451699 44844 0 0
395551700 45056 0 0
395651638 45118 0 0
395751264 45118 0 1
395851264 45218 0 0
395951638 45218 0 0
396051700 45280 0 0
396151699 45492 0 0
396251661 45584 0 0
396351591 45654 0 0
396451567 45663 0 0
396551576 45672 0 0
396651599 45727 0 0
396751599 46336 0 0
396851577 46391 0 0
396951535 46433 0 0
397051480 46456 0 0
397151355 46456 0 0
397251348 46467 0 0
397351143 46671 0 0
397451143 46797 0 0
397551121 46852 0 0
397651079 46894 0 0
397751040 46909 1 0
3978$endPOLYSCORNERS
3979$FILLSEGMENTS
398049550 45168 49550 45168
398149569 45248 49630 45248
398249649 45328 49710 45328
398349700 45408 49790 45408
398449700 45488 49870 45488
398549700 45568 49950 45568
398649700 45648 50030 45648
398749700 45728 50100 45728
398849700 45808 50100 45808
398949700 45888 50100 45888
399049700 45968 50148 45968
399149700 46048 50636 46048
399249700 46128 50116 46128
399349700 46208 50100 46208
399449700 46288 50100 46288
399550039 46368 50105 46368
399650100 46448 50139 46448
399750100 46528 50157 46528
399850100 46608 50554 46608
399950100 46688 50554 46688
400050100 46768 50157 46768
400150100 46848 50169 46848
400250100 46928 50214 46928
400350478 44449 50478 44449
400450381 44529 52600 44529
400550000 44609 52600 44609
400650392 44689 50830 44689
400751148 44689 51280 44689
400851598 44689 52600 44689
400951164 44769 51264 44769
401051669 44769 52600 44769
401151164 44849 51264 44849
401251700 44849 52600 44849
401351164 44929 51264 44929
401451700 44929 52600 44929
401551164 45009 51264 45009
401651700 45009 52600 45009
401751164 45089 51264 45089
401851667 45089 52600 45089
401951164 45169 52600 45169
402051669 45249 52600 45249
402151699 45329 51700 45329
402251699 45409 51700 45409
402351699 45489 51700 45489
402451667 45569 51700 45569
402551596 45649 51699 45649
402651599 45729 51665 45729
402751599 45809 51651 45809
402851599 45889 51651 45889
402951599 45969 51664 45969
403051599 46049 51697 46049
403151599 46129 51700 46129
403251599 46209 51700 46209
403351599 46289 51700 46289
403451585 46369 51662 46369
403551496 46449 51582 46449
403651285 46529 51502 46529
403751205 46609 51422 46609
403851143 46689 51342 46689
403951143 46769 51262 46769
404051122 46849 51182 46849
4041$endFILLSEGMENTS
4042$endCZONE_OUTLINE
4043$EndBOARD
atusb-sil/atusb.cmp
1Cmp-Mod V01 Genere par PcbNew le Sun Jan 23 01:25:02 2011
2
3BeginCmp
4TimeStamp = /4C609C08/4C63FE17;
5Reference = ANT1;
6ValeurCmp = 50R;
7IdModule = MEANDER-110;
8EndCmp
9
10BeginCmp
11TimeStamp = /4C609C08/4CF4B034;
12Reference = B1;
13ValeurCmp = 2450FB15L0001;
14IdModule = 0805-6;
15EndCmp
16
17BeginCmp
18TimeStamp = /4C609BEF/4C6401AA;
19Reference = C1;
20ValeurCmp = 1uF;
21IdModule = 0402;
22EndCmp
23
24BeginCmp
25TimeStamp = /4C609BEF/4C6401B3;
26Reference = C2;
27ValeurCmp = 100nF;
28IdModule = 0402;
29EndCmp
30
31BeginCmp
32TimeStamp = /4C609C08/4C641710;
33Reference = C3;
34ValeurCmp = 22pF/RF;
35IdModule = 0402;
36EndCmp
37
38BeginCmp
39TimeStamp = /4C609C08/4C641506;
40Reference = C8;
41ValeurCmp = 22pF/RF;
42IdModule = 0402;
43EndCmp
44
45BeginCmp
46TimeStamp = /4C609C08/4C641509;
47Reference = C9;
48ValeurCmp = 22pF/RF;
49IdModule = 0402;
50EndCmp
51
52BeginCmp
53TimeStamp = /4C609C08/4C640A76;
54Reference = C10;
55ValeurCmp = 1uF;
56IdModule = 0402;
57EndCmp
58
59BeginCmp
60TimeStamp = /4C609C08/4C641004;
61Reference = C11;
62ValeurCmp = 1uF;
63IdModule = 0402;
64EndCmp
65
66BeginCmp
67TimeStamp = /4C609C08/4C640A84;
68Reference = C12;
69ValeurCmp = 1uF;
70IdModule = 0402;
71EndCmp
72
73BeginCmp
74TimeStamp = /4C609C08/4C640A7E;
75Reference = C13;
76ValeurCmp = 1uF;
77IdModule = 0402;
78EndCmp
79
80BeginCmp
81TimeStamp = /4C609C08/4C640A73;
82Reference = C14;
83ValeurCmp = 12pF;
84IdModule = 0402;
85EndCmp
86
87BeginCmp
88TimeStamp = /4C609C08/4C640A7B;
89Reference = C15;
90ValeurCmp = 12pF;
91IdModule = 0402;
92EndCmp
93
94BeginCmp
95TimeStamp = /4C609C08/4D3B018B;
96Reference = C16;
97ValeurCmp = NC;
98IdModule = 0402;
99EndCmp
100
101BeginCmp
102TimeStamp = /4C609BEF/4CF4AD1B;
103Reference = CON1;
104ValeurCmp = USB_A_PLUG_;
105IdModule = USB-A-PLUG-SMT;
106EndCmp
107
108BeginCmp
109TimeStamp = /4C609BEF/4C6402EE;
110Reference = D1;
111ValeurCmp = LTST-C190KRKT;
112IdModule = 0603;
113EndCmp
114
115BeginCmp
116TimeStamp = /4C609BEF/4C6401FE;
117Reference = P11;
118ValeurCmp = CONN_1;
119IdModule = PAD_60x60;
120EndCmp
121
122BeginCmp
123TimeStamp = /4C609BEF/4C640200;
124Reference = P12;
125ValeurCmp = CONN_1;
126IdModule = PAD_60x60;
127EndCmp
128
129BeginCmp
130TimeStamp = /4C609BEF/4C640202;
131Reference = P13;
132ValeurCmp = CONN_1;
133IdModule = PAD_60x60;
134EndCmp
135
136BeginCmp
137TimeStamp = /4C609BEF/4C640203;
138Reference = P14;
139ValeurCmp = CONN_1;
140IdModule = PAD_60x60;
141EndCmp
142
143BeginCmp
144TimeStamp = /4C609C08/4C640CD5;
145Reference = P16;
146ValeurCmp = TST;
147IdModule = PAD_60x60;
148EndCmp
149
150BeginCmp
151TimeStamp = /4C609BEF/4C6402F2;
152Reference = R1;
153ValeurCmp = 68;
154IdModule = 0402;
155EndCmp
156
157BeginCmp
158TimeStamp = /4C609C08/4CF4B07E;
159Reference = R3;
160ValeurCmp = 0R;
161IdModule = 0402;
162EndCmp
163
164BeginCmp
165TimeStamp = /4C609BEF/4C609C36;
166Reference = U1;
167ValeurCmp = C8051F326;
168IdModule = QFN28-SiLabs;
169EndCmp
170
171BeginCmp
172TimeStamp = /4C609C08/4D229690;
173Reference = U2;
174ValeurCmp = AT86RF231;
175IdModule = QFN32-VHHD-6;
176EndCmp
177
178BeginCmp
179TimeStamp = /4C609BEF/4C6402FB;
180Reference = VR1;
181ValeurCmp = 5V6;
182IdModule = 0402;
183EndCmp
184
185BeginCmp
186TimeStamp = /4C609BEF/4C640343;
187Reference = VR2;
188ValeurCmp = 5V6;
189IdModule = 0402;
190EndCmp
191
192BeginCmp
193TimeStamp = /4C609BEF/4C64034D;
194Reference = VR3;
195ValeurCmp = 5V6;
196IdModule = 0402;
197EndCmp
198
199BeginCmp
200TimeStamp = /4C609C08/4C63FA9F;
201Reference = X1;
202ValeurCmp = 16MHz;
203IdModule = xtal4-3.2mmx2.5mm;
204EndCmp
205
206EndListe
atusb-sil/atusb.pro
1update=Sun Jan 23 11:40:02 2011
2last_client=pcbnew
3[eeschema]
4version=1
5LibDir=
6NetFmt=1
7HPGLSpd=20
8HPGLDm=15
9HPGLNum=1
10offX_A4=0
11offY_A4=0
12offX_A3=0
13offY_A3=0
14offX_A2=0
15offY_A2=0
16offX_A1=0
17offY_A1=0
18offX_A0=0
19offY_A0=0
20offX_A=0
21offY_A=0
22offX_B=0
23offY_B=0
24offX_C=0
25offY_C=0
26offX_D=0
27offY_D=0
28offX_E=0
29offY_E=0
30RptD_X=0
31RptD_Y=100
32RptLab=1
33SimCmd=
34UseNetN=0
35LabSize=60
36PrintMonochrome=1
37ShowSheetReferenceAndTitleBlock=1
38[eeschema/libraries]
39LibName1=power
40LibName2=device
41LibName3=conn
42LibName4=../components/at86rf231
43LibName5=../components/c8051f326
44LibName6=../components/usb_a_plug
45LibName7=../components/xtal-4
46LibName8=../components/antenna
47LibName9=../components/balun-smt6
48[cvpcb]
49version=1
50NetIExt=net
51[cvpcb/libraries]
52EquName1=devcms
53[pcbnew]
54version=1
55PadDrlX=320
56PadDimH=600
57PadDimV=600
58BoardThickness=630
59SgPcb45=1
60TxtPcbV=800
61TxtPcbH=600
62TxtModV=600
63TxtModH=600
64TxtModW=120
65VEgarde=20
66DrawLar=50
67EdgeLar=50
68TxtLar=120
69MSegLar=150
70LastNetListRead=atusb.net
71[pcbnew/libraries]
72LibDir=
73LibName1=../ants/meander
74LibName2=../modules/usb_a_plug_smt
75LibName3=../../kicad-libs/modules/pads
76LibName4=../modules/qfn
77LibName5=../../kicad-libs/modules/stdpass
78LibName6=../modules/xtal-4
79LibName7=../modules/0805-6
atusb-sil/atusb.sch
1EESchema Schematic File Version 2 date Sun Jan 23 01:33:33 2011
2LIBS:power
3LIBS:device
4LIBS:conn
5LIBS:at86rf231
6LIBS:c8051f326
7LIBS:usb_a_plug
8LIBS:xtal-4
9LIBS:antenna
10LIBS:balun-smt6
11LIBS:atusb-cache
12EELAYER 24 0
13EELAYER END
14$Descr A4 11700 8267
15Sheet 1 3
16Title "IEEE 802.15.4 USB Transceiver (AT86RF231)"
17Date "23 jan 2011"
18Rev "20110123"
19Comp "Werner Almesberger"
20Comment1 ""
21Comment2 ""
22Comment3 ""
23Comment4 ""
24$EndDescr
25$Sheet
26S 2300 3400 2050 2050
27U 4C609BEF
28F0 "USB" 60
29F1 "usb.sch" 60
30F2 "nRST_RF" O R 4350 4700 60
31F3 "SLP_TR" O R 4350 4850 60
32F4 "IRQ_RF" I R 4350 4500 60
33F5 "nSS" O R 4350 4300 60
34F6 "SCLK" O R 4350 4150 60
35F7 "MOSI" O R 4350 3850 60
36F8 "MISO" I R 4350 4000 60
37$EndSheet
38Wire Wire Line
39    7350 4850 4350 4850
40Wire Wire Line
41    7350 4500 4350 4500
42Wire Wire Line
43    7350 4150 4350 4150
44Wire Wire Line
45    7350 3850 4350 3850
46Wire Wire Line
47    7350 4000 4350 4000
48Wire Wire Line
49    7350 4300 4350 4300
50Wire Wire Line
51    7350 4700 4350 4700
52Wire Wire Line
53    10000 6100 10000 6300
54$Comp
55L PWR_FLAG #FLG01
56U 1 1 4C641B9C
57P 10000 6100
58F 0 "#FLG01" H 10000 6370 30 0001 C CNN
59F 1 "PWR_FLAG" H 10000 6330 30 0000 C CNN
60    1 10000 6100
61    1 0 0 -1
62$EndComp
63$Comp
64L GND #PWR02
65U 1 1 4C641B91
66P 10000 6300
67F 0 "#PWR02" H 10000 6300 30 0001 C CNN
68F 1 "GND" H 10000 6230 30 0001 C CNN
69    1 10000 6300
70    1 0 0 -1
71$EndComp
72Text Notes 900 1250 0 200 ~ 40
73IEEE 802.15.4 USB TXRX
74$Sheet
75S 7350 3450 1800 1950
76U 4C609C08
77F0 "RF" 60
78F1 "atrf.sch" 60
79F2 "SLP_TR" I L 7350 4850 60
80F3 "nRST_RF" I L 7350 4700 60
81F4 "SCLK" I L 7350 4150 60
82F5 "MISO" O L 7350 4000 60
83F6 "MOSI" I L 7350 3850 60
84F7 "nSS" I L 7350 4300 60
85F8 "IRQ_RF" O L 7350 4500 60
86$EndSheet
87$EndSCHEMATC
atusb-sil/fw/Makefile
1#
2# fw/Makefile - ATUSB firmware build
3#
4# Written 2008-2010 by Werner Almesberger
5# Copyright 2008-2010 Werner Almesberger
6#
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2 of the License, or
10# (at your option) any later version.
11#
12
13
14DIRS=common boot atusb
15
16
17.PHONY: all depend install uninstall clean spotless
18
19all:
20        for d in $(DIRS); do $(MAKE) -C $$d all || exit 1; done
21
22depend:
23        for d in $(DIRS); do $(MAKE) -C $$d depend || exit 1; done
24
25# Top-level Makefile recurses for "install" and "uninstall", which have no use
26# here. Just ignore them.
27
28install:
29
30uninstall:
31
32clean:
33        for d in $(DIRS); do $(MAKE) -C $$d clean || exit 1; done
34
35spotless:
36        for d in $(DIRS); do $(MAKE) -C $$d spotless || exit 1; done
atusb-sil/fw/atusb/Makefile
1#
2# atusb/Makefile - Makefile for USB to SPI translator (for AT86RF230)
3#
4# Written 2010 by Werner Almesberger
5# Copyright 2010 Werner Almesberger
6#
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2 of the License, or
10# (at your option) any later version.
11#
12
13
14MAIN = atusb
15OBJS = $(MAIN) usb descr version ep0
16
17F32XBASE = ../../../../f32xbase
18
19include $(F32XBASE)/fw/common/Makefile.system
20include $(F32XBASE)/fw/common/Makefile.common
21include ../common/Makefile.common
22
23CFLAGS += -I../common -I../include -D$(BOARD)
24LDFLAGS += --code-size $(PAYLOAD_SIZE) --code-loc $(PAYLOAD_START)
25
26USB_ID = $(shell \
27  ( echo '\#include "config.h"'; echo USB_VENDOR:USB_PRODUCT; ) | \
28  cpp -I../common -I../include -D$(BOARD) | sed '/^ *$$/d;/^\#/d' )
29
30.PHONY: dfu
31
32dfu:
33        dfu-util -d $(USB_ID) -D $(MAIN).bin
atusb-sil/fw/atusb/atusb.c
1/*
2 * atusb/atusb.c - ATUSB initialization and main loop
3 *
4 * Written 2008-2010 by Werner Almesberger
5 * Copyright 2008-2010 Werner Almesberger
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13
14#include "regs.h"
15#include "io.h"
16#include "usb.h"
17#include "atusb/ep0.h"
18#include "version.h"
19
20
21static int in_test_mode = 0;
22
23
24static void set_test_mode(int on)
25{
26    in_test_mode = on;
27    if (on) {
28        TST_MODE |= 1 << TST_BIT;
29        TST = 1;
30        LED_MODE |= 1 << LED_BIT;
31    } else {
32        TST = 0;
33        TST_MODE &= ~(1 << TST_BIT);
34        LED_MODE &= ~(1 << LED_BIT);
35        LED = 0;
36    }
37}
38
39
40void reset_rf(void)
41{
42    int i;
43
44    set_test_mode(0);
45
46    nRST_RF = 0;
47    /*
48     * 11.4.12: min 625 ns.
49     * The pulse we generate is slightly longer than 4 us.
50     */
51    for (i = 0; i != 10; i++);
52    nRST_RF = 1;
53}
54
55
56void test_mode(void)
57{
58    set_test_mode(1);
59}
60
61
62/*
63 * The following macros set all unused pins on a given port to zero. This is
64 * more elaborate than just setting the ports directly, but it has the
65 * advantage of hiding the pin to port relation.
66 */
67
68#define PORT_NUM_P0 0
69#define PORT_NUM_P2 2
70#define PORT_NUM_P3 3
71
72#define __PORT_NUM(mode) PORT_NUM_##mode
73#define PORT_NUM(mode) __PORT_NUM(mode)
74
75#define USED(port, net) (PORT_NUM(net##_PORT) == port ? 1 << net##_BIT : 0)
76
77#define ZERO_UNUSED(port) \
78    P##port &= \
79        USED(port, LED) | \
80        USED(port, ID) | \
81        USED(port, MOSI) | \
82        USED(port, MISO) | \
83        USED(port, SCLK) | \
84        USED(port, nSS) | \
85        USED(port, nRST_RF) | \
86        USED(port, IRQ_RF) | \
87        USED(port, SLP_TR) | \
88        USED(port, TST)
89
90
91static void init_io(void)
92{
93    /*
94     * Signal Mode Value
95     *
96     * MOSI push-pull 0
97     * MISO open drain 1 (input)
98     * SCLK push-pull 0
99     * nSS push-pull 1
100     * nRST_RF push-pull 1
101     * IRQ_RF open drain 1 (input)
102     * SLP_TR push-pull 0
103     * TST open drain 0
104     *
105     * LED push-pull 0 (set up by boot loader)
106     *
107     * all unused open drain 0
108     */
109
110    MOSI = 0;
111    MOSI_MODE |= 1 << MOSI_BIT;
112
113    SCLK = 0;
114    SCLK_MODE |= 1 << SCLK_BIT;
115
116    nSS_MODE |= 1 << nSS_BIT;
117
118    nRST_RF_MODE |= 1 << nRST_RF_BIT;
119
120    SLP_TR = 0;
121    SLP_TR_MODE |= 1 << SLP_TR_BIT;
122
123    IRQ_RF = 1;
124    LED = 0;
125    TST = 0;
126
127    ZERO_UNUSED(0);
128    ZERO_UNUSED(2);
129    ZERO_UNUSED(3);
130
131#if 0
132    /*
133     * We can *almost* disable the pull-ups. The only obstacle is that
134     * MISO is not driven when not in use. So we either need an external
135     * pull-up/down or keep all the pull-ups on.
136     */
137
138    /*
139     * Disable pull-ups
140     */
141    GPIOCN |= WEAKPUD;
142#endif
143
144    /*
145     * The manual says the reset is optional, but reality disagrees with
146     * this optimistic assessment quite violently.
147     */
148
149    reset_rf();
150}
151
152
153void main(void)
154{
155    int i;
156
157    init_io();
158
159    /*
160     * Make sure the host has enough time (2.5 us) to detect that we reset
161     * our USB stack.
162     */
163    for (i = 0; i != 10; i++);
164
165    usb_init();
166    ep0_init();
167
168    while (1) {
169        if (in_test_mode) {
170            i++;
171            LED = !(i >> 11);
172        }
173        usb_poll();
174    }
175}
atusb-sil/fw/atusb/descr.c
1/*
2 * atspi/descr.c - USB descriptors
3 *
4 * Written 2008-2010 by Werner Almesberger
5 * Copyright 2008-2010 Werner Almesberger
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13
14#include "usb.h"
15
16#include "config.h"
17
18
19/*
20 * Device descriptor
21 */
22
23const uint8_t device_descriptor[18] = {
24    18, /* bLength */
25    USB_DT_DEVICE, /* bDescriptorType */
26    LE(0x200), /* bcdUSB */
27    USB_CLASS_VENDOR_SPEC, /* bDeviceClass */
28    0x00, /* bDeviceSubClass */
29    0x00, /* bDeviceProtocol */
30    EP0_SIZE, /* bMaxPacketSize */
31    LE(USB_VENDOR), /* idVendor */
32    LE(USB_PRODUCT), /* idProduct */
33    LE(0x0001), /* bcdDevice */
34    0, /* iManufacturer */
35    0, /* iProduct */
36    0, /* iSerialNumber */
37    1 /* bNumConfigurations */
38};
39
40
41/*
42 * Our configuration
43 *
44 * We're always bus-powered.
45 */
46
47const uint8_t config_descriptor[] = {
48    9, /* bLength */
49    USB_DT_CONFIG, /* bDescriptorType */
50#if 0
51    LE(9+9+7+7), /* wTotalLength */
52#else
53    LE(9+9), /* wTotalLength */
54#endif
55    1, /* bNumInterfaces */
56    1, /* bConfigurationValue (> 0 !) */
57    0, /* iConfiguration */
58    USB_ATTR_BUS_POWERED, /* bmAttributes */
59    50/2, /* bMaxPower (50 mA) */
60
61    /* Interface #0 */
62
63    9, /* bLength */
64    USB_DT_INTERFACE, /* bDescriptorType */
65    0, /* bInterfaceNumber */
66    0, /* bAlternateSetting */
67#if 0
68    2, /* bNumEndpoints */
69#else
70    0,
71#endif
72    USB_CLASS_VENDOR_SPEC, /* bInterfaceClass */
73    0, /* bInterfaceSubClass */
74    0, /* bInterfaceProtocol */
75    0, /* iInterface */
76
77#if 0
78    /* EP OUT */
79
80    7, /* bLength */
81    USB_DT_ENDPOINT, /* bDescriptorType */
82    0x01, /* bEndPointAddress */
83    0x02, /* bmAttributes (bulk) */
84    LE(EP1_SIZE), /* wMaxPacketSize */
85    0, /* bInterval */
86
87    /* EP IN */
88
89    7, /* bLength */
90    USB_DT_ENDPOINT, /* bDescriptorType */
91    0x81, /* bEndPointAddress */
92    0x02, /* bmAttributes (bulk) */
93    LE(EP1_SIZE), /* wMaxPacketSize */
94    0, /* bInterval */
95#endif
96};
atusb-sil/fw/atusb/ep0.c
1/*
2 * atspi/ep0.c - EP0 extension protocol
3 *
4 * Written 2008-2010 by Werner Almesberger
5 * Copyright 2008-2010 Werner Almesberger
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13
14#include <stdint.h>
15
16#ifndef NULL
17#define NULL 0
18#endif
19
20#include "regs.h"
21//#include "uart.h"
22#include "usb.h"
23#include "atusb/ep0.h"
24#include "at86rf230.h"
25#include "version.h"
26
27
28extern void reset_rf(void);
29extern void test_mode(void);
30
31
32#define debug(...)
33#define error(...)
34
35
36/*
37 * SDCC 2.8.0 had a number of code generation bugs that appeared in the big
38 * switch statement of my_setup. SDCC_FORCE_UPDATE forced the value of the
39 * "size" variable to be written to memory. This work-around doesn't seem
40 * to be necessary with 2.9.0, but we keep it around, just in case.
41 *
42 * Unfortunately, the setup->bRequest garbling bug is still with us. Without
43 * the evaluation forced with SDCC_FORCE_EVAL, sdcc gets confused about the
44 * value of setup->bRequest and then rejects all SETUP requests.
45 */
46
47#define SDCC_FORCE_EVAL(type, value) \
48    do { \
49    static volatile type foo; \
50    foo = value; \
51    } while (0)
52
53#define SDCC_FORCE_UPDATE(type, var) \
54    do { \
55    volatile type foo; \
56    foo = var; \
57    var = foo; \
58    } while (0)
59
60
61static const uint8_t id[] = { EP0ATUSB_MAJOR, EP0ATUSB_MINOR, HW_TYPE };
62static __xdata uint8_t buf[MAX_PSDU+3]; /* command, PHDR, and LQI */
63static uint8_t size;
64
65
66static void spi_send(uint8_t v)
67{
68    uint8_t mask;
69
70    for (mask = 0x80; mask; mask >>= 1) {
71        MOSI = !!(v & mask);
72        SCLK = 1;
73        SCLK = 0;
74    }
75}
76
77
78static uint8_t spi_recv(void)
79{
80    uint8_t res = 0;
81    uint8_t i;
82
83    for (i = 0; i != 8; i++) {
84        res = (res << 1) | MISO;
85        SCLK = 1;
86        SCLK = 0;
87    }
88    return res;
89}
90
91
92static void do_buf_write(void *user)
93{
94    uint8_t i;
95
96    user; /* suppress warning */
97    nSS = 0;
98    for (i = 0; i != size; i++)
99        spi_send(buf[i]);
100    nSS = 1;
101}
102
103
104#define BUILD_OFFSET 7 /* '#' plus "65535" plus ' ' */
105
106
107static __bit my_setup(struct setup_request *setup) __reentrant
108{
109    unsigned tmp;
110    uint8_t i;
111
112    switch (setup->bmRequestType | setup->bRequest << 8) {
113    case ATUSB_FROM_DEV(ATUSB_ID):
114        debug("ATUSB_ID\n");
115        if (setup->wLength > 3)
116            return 0;
117        usb_send(&ep0, id, setup->wLength, NULL, NULL);
118        return 1;
119    case ATUSB_FROM_DEV(ATUSB_BUILD):
120        debug("ATUSB_BUILD\n");
121        tmp = build_number;
122        for (i = BUILD_OFFSET-2; tmp; i--) {
123            buf[i] = (tmp % 10)+'0';
124            tmp /= 10;
125        }
126        buf[i] = '#';
127        buf[BUILD_OFFSET-1] = ' ';
128        for (size = 0; build_date[size]; size++)
129            buf[BUILD_OFFSET+size] = build_date[size];
130        size += BUILD_OFFSET-i;
131        SDCC_FORCE_EVAL(uint8_t, setup->bRequest);
132        if (size > setup->wLength)
133            return 0;
134        usb_send(&ep0, buf+i, size, NULL, NULL);
135        return 1;
136
137    case ATUSB_TO_DEV(ATUSB_RESET):
138        debug("ATUSB_RESET\n");
139        RSTSRC = SWRSF;
140        while (1);
141
142    case ATUSB_TO_DEV(ATUSB_RF_RESET):
143        debug("ATUSB_RF_RESET\n");
144        reset_rf();
145        return 1;
146
147    case ATUSB_FROM_DEV(ATUSB_POLL_INT):
148        debug("ATUSB_POLL_INT\n");
149        if (setup->wLength < 1)
150            return 0;
151        *buf = IRQ_RF;
152        usb_send(&ep0, buf, 1, NULL, NULL);
153        return 1;
154
155    case ATUSB_TO_DEV(ATUSB_TEST):
156        debug("ATUSB_TEST\n");
157        test_mode();
158        return 1;
159
160    case ATUSB_TO_DEV(ATUSB_REG_WRITE):
161        debug("ATUSB_REG_WRITE\n");
162        nSS = 0;
163        spi_send(AT86RF230_REG_WRITE | setup->wIndex);
164        spi_send(setup->wValue);
165        nSS = 1;
166        return 1;
167    case ATUSB_FROM_DEV(ATUSB_REG_READ):
168        debug("ATUSB_REG_READ\n");
169        nSS = 0;
170        spi_send(AT86RF230_REG_READ | setup->wIndex);
171        *buf = spi_recv();
172        nSS = 1;
173        usb_send(&ep0, buf, 1, NULL, NULL);
174        return 1;
175
176    case ATUSB_TO_DEV(ATUSB_BUF_WRITE):
177        debug("ATUSB_BUF_WRITE\n");
178        if (setup->wLength < 1)
179            return 0;
180        if (setup->wLength > MAX_PSDU)
181            return 0;
182        buf[0] = AT86RF230_BUF_WRITE;
183        buf[1] = setup->wLength;
184        size = setup->wLength+2;
185        usb_recv(&ep0, buf+2, setup->wLength, do_buf_write, NULL);
186        return 1;
187    case ATUSB_FROM_DEV(ATUSB_BUF_READ):
188        debug("ATUSB_BUF_READ\n");
189        if (setup->wLength < 2) /* PHR+LQI */
190            return 0;
191        if (setup->wLength > MAX_PSDU+2) /* PHR+PSDU+LQI */
192            return 0;
193        nSS = 0;
194        spi_send(AT86RF230_BUF_READ);
195        size = spi_recv();
196        if (size >= setup->wLength)
197            size = setup->wLength-1;
198        for (i = 0; i != size+1; i++)
199            buf[i] = spi_recv();
200        nSS = 1;
201        usb_send(&ep0, buf, size+1, NULL, NULL);
202        return 1;
203
204    case ATUSB_TO_DEV(ATUSB_SRAM_WRITE):
205        debug("ATUSB_SRAM_WRITE\n");
206        if (setup->wIndex > SRAM_SIZE)
207            return 0;
208        if (setup->wIndex+setup->wLength > SRAM_SIZE)
209            return 0;
210        buf[0] = AT86RF230_SRAM_WRITE;
211        buf[1] = setup->wIndex;
212        size = setup->wLength+2;
213        usb_recv(&ep0, buf+2, setup->wLength, do_buf_write, NULL);
214        return 1;
215    case ATUSB_TO_DEV(ATUSB_SRAM_READ):
216        debug("ATUSB_SRAM_READ\n");
217        if (setup->wIndex > SRAM_SIZE)
218            return 0;
219        if (setup->wIndex+setup->wLength > SRAM_SIZE)
220            return 0;
221        nSS = 0;
222        spi_send(AT86RF230_SRAM_READ);
223        spi_send(setup->wIndex);
224        for (i = 0; i != size; i++)
225            buf[i] = spi_recv();
226        nSS = 1;
227        usb_send(&ep0, buf, size, NULL, NULL);
228        return 1;
229
230    default:
231        error("Unrecognized SETUP: 0x%02x 0x%02x ...\n",
232            setup->bmRequestType, setup->bRequest);
233        return 0;
234    }
235}
236
237
238void ep0_init(void)
239{
240    user_setup = my_setup;
241}
atusb-sil/fw/boot/Makefile
1#
2# boot/Makefile - Makefile for DFU-capable boot loader for ATRF
3
4# Written 2008, 2010 by Werner Almesberger
5# Copyright 2008, 2010 Werner Almesberger
6#
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2 of the License, or
10# (at your option) any later version.
11#
12
13MAIN=boot
14OBJS=$(MAIN) usb dfu version
15
16F32XBASE = ../../../../f32xbase
17
18include $(F32XBASE)/fw/common/Makefile.system
19include $(F32XBASE)/fw/common/Makefile.common
20include ../common/Makefile.common
21
22CFLAGS += -I../common -I../include -D$(BOARD)
23LDFLAGS += --code-size $(PAYLOAD_START)
atusb-sil/fw/common/Makefile
1#
2# common/Makefile - Makefile for shared items
3#
4# Written 2008, 2010 by Werner Almesberger
5# Copyright 2008, 2010 Werner Almesberger
6#
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2 of the License, or
10# (at your option) any later version.
11#
12
13include Makefile.common
14
15
16GEN_quiet = @echo " GENERATE " $@ &&
17
18ifeq ($(V),1)
19    GEN =
20else
21    GEN = $(GEN_quiet)
22endif
23
24
25.PHONY: all depend clean spotless
26
27all: io-parts.h
28
29io-parts.h: io.h Makefile
30        $(GEN) $(CPP) -D$(BOARD) -dD $< | \
31          sed '1,/IO_H/d' | \
32          awk \
33          'BEGIN { print "/* MACHINE-GENERATED. DO NOT EDIT ! */"; \
34            print "#ifndef IO_PARTS_H"; \
35            print "#define IO_PARTS_H"; } \
36           /#define/ && $$3 != "" { \
37            split($$3, a, "_"); \
38            print $$1, $$2 "_PORT", a[1]; \
39            print $$1, $$2 "_MODE", a[1] "MDOUT"; \
40            print $$1, $$2 "_BIT", a[2]; } \
41           END { print "#endif" }' >$@ || \
42                { rm -f $@; exit 1; }
43
44
45#
46# When we do a global "make depend", we'll come here first. So we create
47# io-parts.h so that "make depend" in the other directories can pick it up.
48#
49
50depend: io-parts.h
51
52clean:
53        rm -f io-parts.h
54
55spotless: clean
atusb-sil/fw/common/Makefile.common
1#
2# common/Makefile.common - Makefile settings shared within project
3#
4# Written 2010 by Werner Almesberger
5# Copyright 2010 Werner Almesberger
6#
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2 of the License, or
10# (at your option) any later version.
11#
12
13#BOARD=BOARD_100813
14BOARD=BOARD_101216
atusb-sil/fw/common/config.h
1/*
2 * common/config.h - Configuration data for boot loader and application
3 *
4 * Written 2010 by Werner Almesberger
5 * Copyright 2010 Werner Almesberger
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13#ifndef CONFIG_H
14#define CONFIG_H
15
16#include "io.h"
17#include "io-parts.h"
18#include "atusb/usb-ids.h"
19
20
21/* ----- Boot loader configuration ----------------------------------------- */
22
23/*
24 * Make LED output push-pull so that we can output a high voltage.
25 * This turns on the LED, to indicate that we're in the boot loader.
26 */
27
28#define PLATFORM_ENTER \
29    LED_MODE |= 1 << LED_BIT;
30
31
32/*
33 * Turn off the LED when we exit the boot loader.
34 */
35
36#define PLATFORM_EXIT \
37    LED = 0
38
39
40/* ----- Application configuration ----------------------------------------- */
41
42#if defined(BOARD_100813)
43#define HW_TYPE HW_TYPE_100813
44#elif defined(BOARD_101216)
45#define HW_TYPE HW_TYPE_101216
46#else
47#error must define BOARD_100813 or BOARD_101216
48#endif
49
50#endif /* !CONFIG_H */
atusb-sil/fw/common/io.h
1/*
2 * common/io.h - I/O pin assignment
3 *
4 * Written 2010 by Werner Almesberger
5 * Copyright 2010 Werner Almesberger
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13
14#ifndef IO_H
15#define IO_H
16
17/* Diagnostic LED */
18
19#define LED P0_1
20
21/* ID pin */
22
23/*
24 * 100813 open
25 * 101216 GND
26 */
27
28#define ID P0_2
29
30#if defined(BOARD_100813)
31
32/* SPI */
33
34#define MOSI P2_2
35#define MISO P2_5
36#define SCLK P2_4
37#define nSS P2_3
38
39/* Miscellaneous RF signals */
40
41#define nRST_RF P2_0
42#define IRQ_RF P0_0
43#define SLP_TR P2_1
44#define TST P0_7
45
46#elif defined(BOARD_101216)
47
48/* SPI */
49
50#define MOSI P2_1
51#define MISO P2_0
52#define SCLK P0_7
53#define nSS P2_4
54
55/* Miscellaneous RF signals */
56
57#define nRST_RF P0_6
58#define IRQ_RF P0_0
59#define SLP_TR P0_5
60#define TST P0_4
61
62#else
63#error must define BOARD_1008xx or BOARD1012xx
64#endif /* !BOARD_101216 */
65
66#endif /* !IO_H */
atusb-sil/fw/common/regs.h
1#include "regs-f326.h"
atusb-sil/fw/include/at86rf230.h
1/*
2 * include/at86rf230.h - AT86RF230/AT86RF231 protocol and register definitions
3 *
4 * Written 2008-2011 by Werner Almesberger
5 * Copyright 2008-2011 Werner Almesberger
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13
14#ifndef AT86RF230_H
15#define AT86RF230_H
16
17enum {
18    AT86RF230_REG_WRITE = 0xc0, /* 11... */
19    AT86RF230_REG_READ = 0x80, /* 10... */
20    AT86RF230_BUF_WRITE = 0x60, /* 011... */
21    AT86RF230_BUF_READ = 0x20, /* 001... */
22    AT86RF230_SRAM_WRITE = 0x40, /* 010... */
23    AT86RF230_SRAM_READ = 0x00 /* 000... */
24};
25
26#define MAX_PSDU 127 /* octets, see AT86RF230 manual section 8.1 */
27#define SRAM_SIZE 128
28
29
30/* --- Registers ----------------------------------------------------------- */
31
32enum {
33    REG_TRX_STATUS = 0x01,
34    REG_TRX_STATE = 0x02,
35    REG_TRX_CTRL_0 = 0x03,
36
37    REG_TRX_CTRL_1 = 0x04, /* 231 only */
38
39    REG_PHY_TX_PWR = 0x05,
40    REG_PHY_RSSI = 0x06,
41    REG_PHY_ED_LEVEL = 0x07,
42    REG_PHY_CC_CCA = 0x08,
43    REG_CCA_THRES = 0x09,
44
45    REG_RX_CTRL = 0x0a, /* 231 only */
46    REG_SFD_VALUE = 0x0b, /* 231 only */
47    REG_TRX_CTRL_2 = 0x0c, /* 231 only */
48    REG_ANT_DIV = 0x0d, /* 231 only */
49
50    REG_IRQ_MASK = 0x0e,
51    REG_IRQ_STATUS = 0x0f,
52    REG_VREG_CTRL = 0x10,
53    REG_BATMON = 0x11,
54    REG_XOSC_CTRL = 0x12,
55
56    REG_RX_SYN = 0x15, /* 231 only */
57    REG_XAH_CTRL_1 = 0x17, /* 231 only */
58    REG_FTN_CTRL = 0x18, /* 231 only */
59
60    REG_PLL_CF = 0x1a,
61    REL_PLL_DCU = 0x1b,
62    REG_PART_NUM = 0x1c,
63    REG_VERSION_NUM = 0x1d,
64    REG_MAN_ID_0 = 0x1e,
65    REG_MAN_ID_1 = 0x1f,
66    REG_SHORT_ADDR_0 = 0x20,
67    REG_SHORT_ADDR_1 = 0x21,
68    REG_PAN_ID_0 = 0x22,
69    REG_PAN_ID_1 = 0x23,
70    REG_IEEE_ADDR_0 = 0x24,
71    REG_IEEE_ADDR_1 = 0x25,
72    REG_IEEE_ADDR_2 = 0x26,
73    REG_IEEE_ADDR_3 = 0x27,
74    REG_IEEE_ADDR_4 = 0x28,
75    REG_IEEE_ADDR_5 = 0x29,
76    REG_IEEE_ADDR_6 = 0x2a,
77    REG_IEEE_ADDR_7 = 0x2b,
78
79    REG_XAH_CTRL_0 = 0x2c, /* XAH_CTRL in 230 */
80    REG_CSMA_SEED_0 = 0x2d,
81    REG_CSMA_SEED_1 = 0x2e,
82    REG_CSMA_BE = 0x2f, /* 231 only */
83
84    REG_CONT_TX_0 = 0x36,
85    REG_CONT_TX_1 = 0x3d, /* 230 only */
86};
87
88/* --- TRX_STATUS --- ------------------------------------------------------ */
89
90#define CCA_DONE (1 << 7)
91#define CCA_STATUS (1 << 6)
92
93#define TRX_STATUS_SHIFT 0
94#define TRX_STATUS_MASK 0x1f
95
96enum {
97    TRX_STATUS_P_ON = 0x00, /* reset default */
98    TRX_STATUS_BUSY_RX = 0x01,
99    TRX_STATUS_BUSY_TX = 0x02,
100    TRX_STATUS_RX_ON = 0x06,
101    TRX_STATUS_TRX_OFF = 0x08,
102    TRX_STATUS_PLL_ON = 0x09,
103    TRX_STATUS_SLEEP = 0x0f,
104    TRX_STATUS_BUSY_RX_AACK = 0x11,
105    TRX_STATUS_BUSY_TX_ARET = 0x12,
106    TRX_STATUS_RX_AACK_ON = 0x16,
107    TRX_STATUS_TX_ARET_ON = 0x19,
108    TRX_STATUS_RX_ON_NOCLK = 0x1c,
109    TRX_STATUS_RX_AACK_ON_NOCLK = 0x1d,
110    TRX_STATUS_BUSY_RX_AACK_NOCLK = 0x1e,
111    TRX_STATUS_TRANSITION = 0x1f /* ..._IN_PROGRESS */
112};
113
114/* --- TRX_STATE ----------------------------------------------------------- */
115
116#define TRAC_STATUS_SHIFT 5
117#define TRAC_STATUS_MASK 7
118
119enum {
120    TRAC_STATUS_SUCCESS = 0, /* reset default */
121    TRAC_STATUS_SUCCESS_DATA_PENDING = 1,
122    TRAC_STATUS_SUCCESS_WAIT_FOR_ACK = 2, /* 231 only */
123    TRAC_STATUS_CHANNEL_ACCESS_FAILURE = 3,
124    TRAC_STATUS_NO_ACK = 5,
125    TRAC_STATUS_INVALID = 7
126};
127
128#define TRX_CMD_SHIFT 0
129#define TRX_CMD_MASK 0x1f
130
131enum {
132    TRX_CMD_NOP = 0x00, /* reset default */
133    TRX_CMD_TX_START = 0x02,
134    TRX_CMD_FORCE_TRX_OFF = 0x03,
135    TRX_CMD_FORCE_PLL_ON = 0x04, /* 231 only */
136    TRX_CMD_RX_ON = 0x06,
137    TRX_CMD_TRX_OFF = 0x08,
138    TRX_CMD_PLL_ON = 0x09,
139    TRX_CMD_RX_AACK_ON = 0x16,
140    TRX_CMD_TX_ARET_ON = 0x19,
141};
142
143/* --- TRX_CTRL_0 ---------------------------------------------------------- */
144
145#define PAD_IO_SHIFT 6
146#define PAD_IO_MASK 3
147
148enum {
149    PAD_IO_2mA, /* reset default */
150    PAD_IO_4mA,
151    PAD_IO_6mA,
152    PAD_IO_8mA
153};
154
155#define PAD_IO_CLKM_SHIFT 4
156#define PAD_IO_CLKM_MASK 3
157
158enum {
159    PAD_IO_CLKM_2mA,
160    PAD_IO_CLKM_4mA, /* reset default */
161    PAD_IO_CLKM_5mA,
162    PAD_IO_CLKM_8mA,
163};
164
165#define CLKM_SHA_SEL (1 << 3)
166
167#define CLKM_CTRL_SHIFT 0
168#define CLKM_CTRL_MASK 7
169
170enum {
171    CLKM_CTRL_OFF = 0,
172    CLKM_CTRL_1MHz = 1, /* reset default */
173    CLKM_CTRL_2MHz = 2,
174    CLKM_CTRL_4MHz = 3,
175    CLKM_CTRL_8MHz = 4,
176    CLKM_CTRL_16MHz = 5
177};
178
179/* --- TRX_CTRL_1 (231 only) ----------------------------------------------- */
180
181#define PA_EXT_EN (1 << 7)
182#define IRQ_2_EXT_EN (1 << 6)
183#define TX_AUTO_CRC_ON (1 << 5) /* 231 location */
184#define RX_BL_CTRL (1 << 4)
185
186#define SPI_CMD_MODE_SHIFT 2
187#define SPI_CMD_MODE_MASK 3
188
189enum {
190    SPI_CMD_MODE_EMPTY = 0, /* reset default */
191    SPI_CMD_MODE_TRX_STATUS = 1,
192    SPI_CMD_MODE_PHY_RSSI = 2,
193    SPI_CMD_MODE_IRQ_STATUS = 3,
194};
195
196#define IRQ_MASK_MODE (1 << 1)
197#define IRQ_POLARITY (1 << 0)
198
199/* --- PHY_TX_PWR ---------------------------------------------------------- */
200
201#define TX_AUTO_CRC_ON_230 (1 << 7) /* 230 location */
202
203#define PA_BUF_LT_SHIFT 6
204#define PA_BUF_LT_MASK 3
205
206#define PA_LT_SHIFT 4
207#define PA_LT_MASK 3
208
209#define TX_PWR_SHIFT 0
210#define TX_PWR_MASK 0x0f
211
212/* --- PHY_RSSI ------------------------------------------------------------ */
213
214#define RX_CRC_VALID (1 << 7)
215
216#define RND_VALUE_SHIFT 5 /* 231 only */
217#define RND_VALUE_MASK 3
218
219#define RSSI_SHIFT 0
220#define RSSI_MASK 0x1f
221
222/* --- PHY_CC_CCA ---------------------------------------------------------- */
223
224#define CCA_REQUEST (1 << 7)
225
226#define CCA_MODE_SHIFT 5
227#define CCA_MODE_MASK 3
228
229enum {
230    CCA_MODE_CARRIER_OR_ENERGY = 0, /* 231 only */
231    CCA_MODE_ENERGY = 1, /* reset default */
232    CCA_MODE_CARRIER = 2,
233    CCA_MODE_CARRIER_AND_ENERGY = 3
234};
235
236#define CHANNEL_SHIFT 0
237#define CHANNEL_MASK 0x1f
238
239/* --- CCA_THRES ----------------------------------------------------------- */
240
241#define CCA_ED_THRES_SHIFT 0
242#define CCA_ED_THRES_MASK 0x0f
243
244/* --- RX_CTRL (231 only) -------------------------------------------------- */
245
246#define PDT_THRES_SHIFT 0
247#define PDT_THRES_MASK 0x0f
248
249enum {
250    PDT_THRES_DEFAULT = 0x07, /* reset default */
251    PDT_THRES_DIVERSITY = 0x03,
252};
253
254/* --- TRX_CTRL_2 (231 only) ----------------------------------------------- */
255
256#define RX_SAFE_MODE (1 << 7)
257
258#define OQPSK_DATA_RATE_SHIFT 0
259#define OQPSK_DATA_RATE_MASK 3
260
261enum {
262    OQPSK_DATA_RATE_250 = 0, /* reset default */
263    OQPSK_DATA_RATE_500 = 1,
264    OQPSK_DATA_RATE_1000 = 2,
265    OQPSK_DATA_RATE_2000 = 3
266};
267
268/* --- ANT_DIV (231 only) -------------------------------------------------- */
269
270#define ANT_SEL (1 << 7)
271#define ANT_DIV_EN (1 << 3)
272#define ANT_EXT_SW_EN (1 << 2)
273
274#define ANT_CTRL_SHIFT 0
275#define ANT_CTRL_MASK 3
276
277enum {
278    ANT_CTRL_ANT_0 = 1,
279    ANT_CTRL_ANT_1 = 2,
280    ANT_CTRL_NODIV = 3, /* reset default */
281};
282
283/* --- IRQ_MASK/IRQ_STATUS ------------------------------------------------- */
284
285enum {
286    IRQ_PLL_LOCK = 1 << 0,
287    IRQ_PLL_UNLOCK = 1 << 1,
288    IRQ_RX_START = 1 << 2,
289    IRQ_TRX_END = 1 << 3,
290    IRQ_CCA_ED_DONE = 1 << 4, /* 231 only */
291    IRQ_AMI = 1 << 5, /* 231 only */
292    IRQ_TRX_UR = 1 << 6,
293    IRQ_BAT_LOW = 1 << 7
294};
295
296/* --- VREG_CTRL ----------------------------------------------------------- */
297
298#define AVREG_EXT (1 << 7)
299#define AVDD_OK (1 << 6)
300#define DVREG_EXT (1 << 3)
301#define DVDD_OK (1 << 2)
302
303/* --- BATMON -------------------------------------------------------------- */
304
305#define BATMON_OK (1 << 5)
306#define BATMON_HR (1 << 4)
307
308#define BATMON_VTH_SHIFT 0
309#define BATMON_VTH_MASK 0x0f
310
311/* --- XOSC_CTRL ----------------------------------------------------------- */
312
313#define XTAL_MODE_SHIFT 4
314#define XTAL_MODE_MASK 0x0f
315
316enum {
317    XTAL_MODE_OFF = 0x0, /* 230 only */
318    XTAL_MODE_EXT = 0x4,
319    XTAL_MODE_INT = 0xf /* reset default */
320};
321
322#define XTAL_TRIM_SHIFT 4
323#define XTAL_TRIM_MASK 0x0f
324
325/* --- RX_SYN (231 only) --------------------------------------------------- */
326
327#define RX_PDT_DIS (1 << 7)
328
329#define RX_PDT_LEVEL_SHIFT 0
330#define RX_PDT_LEVEL_MASK 0xf
331
332/* --- XAH_CTRL_1 (231 only) ----------------------------------------------- */
333
334#define AACK_FLTR_RES_FT (1 << 5)
335#define AACK_UPLD_RES_FT (1 << 4)
336#define AACK_ACK_TIME (1 << 2)
337#define AACK_PROM_MODE (1 << 1)
338
339/* --- FTN_CTRL (231 only) ------------------------------------------------- */
340
341#define FTN_START (1 << 7)
342
343/* --- PLL_CF -------------------------------------------------------------- */
344
345#define PLL_CF_START (1 << 7)
346
347/* --- PLL_DCU ------------------------------------------------------------- */
348
349#define PLL_DCU_START (1 << 7)
350
351/* --- XAH_CTRL_0 (XAH_CTRL in 230) ---------------------------------------- */
352
353#define MAX_FRAME_RETRIES_SHIFT 4
354#define MAX_FRAME_RETRIES_MASK 0x0f
355
356#define MAX_CSMA_RETRIES_SHIFT 1
357#define MAX_CSMA_RETRIES_MASK 0x07
358
359#define SLOTTED_OPERATION (1 << 0) /* 231 only */
360
361/* --- CSMA_SEED_1 --------------------------------------------------------- */
362
363#define MIN_BE_SHIFT_230 6 /* 230 location */
364#define MIN_BE_MASK_230 3
365
366#define AACK_FVN_MODE_SHIFT 6 /* 231 only */
367#define AACK_FVN_MODE_MASK 3
368
369enum {
370    AACK_FVN_MODE_0 = 0,
371    AACK_FVN_MODE_01 = 1, /* reset default */
372    AACK_FVN_MODE_012 = 2,
373    AACK_FVN_MODE_ANY = 3
374};
375
376#define AACK_SET_PD (1 << 5)
377#define AACK_DIS_ACK (1 << 4) /* 231 only */
378#define I_AM_COORD (1 << 3)
379
380#define CSMA_SEED_1_SHIFT 0
381#define CSMA_SEED_1_MASK 7
382
383/* --- CSMA_BE ------------------------------------------------------------- */
384
385#define MAX_BE_SHIFT 4
386#define MAX_BE_MASK 0x0f
387
388#define MIN_BE_SHIFT 0 /* 231 location */
389#define MIN_BE_MASK 0x0f
390
391/* --- REG_CONT_TX_0 ------------------------------------------------------- */
392
393#define CONT_TX_MAGIC 0x0f
394
395/* --- REG_CONT_TX_1 (230 only) -------------------------------------------- */
396
397#define CONT_TX_MOD 0x00 /* modulated */
398#define CONT_TX_M2M 0x10 /* f_CH-2 MHz */
399#define CONT_TX_M500K 0x80 /* f_CH-0.5 MHz */
400#define CONT_TX_P500K 0xc0 /* f_CH+0.5 MHz */
401
402#endif /* !AT86RF230_H */
atusb-sil/fw/include/atusb/ep0.h
1/*
2 * include/atusb/ep0.h - EP0 extension protocol
3 *
4 * Written 2008-2011 by Werner Almesberger
5 * Copyright 2008-2011 Werner Almesberger
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13
14#ifndef EP0_H
15#define EP0_H
16
17/*
18 * Direction bRequest wValue wIndex wLength
19 *
20 * ->host ATUSB_ID - - 3
21 * ->host ATUSB_BUILD - - #bytes
22 * host-> ATUSB_RESET - - 0
23 *
24 * host-> ATUSB_RF_RESET - - 0
25 * ->host ATUSB_POLL_INT - - 1
26 * host-> ATUSB_TEST - - 0
27 *
28 * host-> ATUSB_REG_WRITE value addr 0
29 * ->host ATUSB_REG_READ - addr 1
30 * host-> ATUSB_BUF_WRITE - - #bytes
31 * ->host ATUSB_BUF_READ - - #bytes
32 * host-> ATUSB_SRAM_WRITE - addr #bytes
33 * ->host ATUSB_SRAM_READ - addr #bytes
34 */
35
36/*
37 * EP0 protocol:
38 *
39 * 0.0 initial release
40 * 0.1 addition of ATUSB_TEST
41 */
42
43#define EP0ATUSB_MAJOR 0 /* EP0 protocol, major revision */
44#define EP0ATUSB_MINOR 1 /* EP0 protocol, minor revision */
45
46#define HW_TYPE_100813 0 /* 2010-08-13 */
47#define HW_TYPE_101216 1 /* 2010-12-16 */
48#define HW_TYPE_110131 2 /* 2011-01-31, ATmega32U2-based */
49
50
51/*
52 * bmRequestType:
53 *
54 * D7 D6..5 D4...0
55 * | | |
56 * direction (0 = host->dev)
57 * type (2 = vendor)
58 * recipient (0 = device)
59 */
60
61
62#define ATUSB_TO_DEV(req) (0x40 | (req) << 8)
63#define ATUSB_FROM_DEV(req) (0xc0 | (req) << 8)
64
65
66enum atspi_requests {
67    ATUSB_ID = 0x00,
68    ATUSB_BUILD,
69    ATUSB_RESET,
70    ATUSB_RF_RESET = 0x10,
71    ATUSB_POLL_INT,
72    ATUSB_TEST,
73    ATUSB_REG_WRITE = 0x20,
74    ATUSB_REG_READ,
75    ATUSB_BUF_WRITE,
76    ATUSB_BUF_READ,
77    ATUSB_SRAM_WRITE,
78    ATUSB_SRAM_READ,
79};
80
81
82void ep0_init(void);
83
84#endif /* !EP0_H */
atusb-sil/fw/include/atusb/usb-ids.h
1/*
2 * include/atusb/usb-ids.h - USB vendor and product IDs
3 *
4 * Written 2009, 2010 by Werner Almesberger
5 * Copyright 2009, 2010 Werner Almesberger
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13
14#ifndef USB_IDS_H
15#define USB_IDS_H
16
17/*
18 * Platform-specific settings
19 *
20 * USB_VENDOR = Qi Hardware
21 * USB_PRODUCT = 802.15.4, device 0
22 * -- - -
23 */
24
25#define USB_VENDOR 0x20b7 /* Qi Hardware */
26#define USB_PRODUCT 0x1540 /* ben-wpan, AT86RF230-based */
27
28#endif /* !USB_IDS_H */
atusb-sil/usb.sch
1EESchema Schematic File Version 2 date Sun Jan 23 01:33:33 2011
2LIBS:power
3LIBS:device
4LIBS:conn
5LIBS:at86rf231
6LIBS:c8051f326
7LIBS:usb_a_plug
8LIBS:xtal-4
9LIBS:antenna
10LIBS:balun-smt6
11LIBS:atusb-cache
12EELAYER 24 0
13EELAYER END
14$Descr A4 11700 8267
15Sheet 2 3
16Title "IEEE 802.15.4 USB Transceiver (AT86RF230)"
17Date "23 jan 2011"
18Rev "20110123"
19Comp "Werner Almesberger"
20Comment1 ""
21Comment2 ""
22Comment3 ""
23Comment4 ""
24$EndDescr
25NoConn ~ 7200 1800
26Text Notes 2600 5000 0 60 ~ 0
27USB 2.0 limits the capacitative load\non full-speed drivers to 50 pF.
28Wire Notes Line
29    6950 900 6900 900
30Wire Notes Line
31    6900 900 6900 1450
32Wire Wire Line
33    6900 1600 6900 1800
34Wire Wire Line
35    8600 3200 9800 3200
36Wire Wire Line
37    9800 1600 7650 1600
38Wire Wire Line
39    8600 3050 9800 3050
40Wire Wire Line
41    9800 1450 7500 1450
42Wire Wire Line
43    7500 1450 7500 1800
44Wire Wire Line
45    9800 1300 7350 1300
46Wire Wire Line
47    7350 1300 7350 1800
48Wire Wire Line
49    5600 1150 5600 2750
50Wire Wire Line
51    5600 1150 6050 1150
52Wire Wire Line
53    6050 900 5850 900
54Wire Wire Line
55    6750 1800 6750 900
56Wire Wire Line
57    5800 2900 5600 2900
58Wire Wire Line
59    6400 6150 6400 5500
60Wire Wire Line
61    6400 5500 6600 5500
62Wire Wire Line
63    6600 5500 6600 6150
64Wire Wire Line
65    6900 6150 6900 4600
66Wire Wire Line
67    6750 4800 5600 4800
68Connection ~ 5600 3650
69Wire Wire Line
70    5600 4800 5600 3650
71Wire Wire Line
72    3700 4550 3700 4750
73Wire Wire Line
74    3100 4550 3100 4750
75Connection ~ 3400 3050
76Wire Wire Line
77    3400 4050 3400 3050
78Wire Wire Line
79    5150 4900 5150 5100
80Wire Wire Line
81    5150 3350 5800 3350
82Wire Wire Line
83    1200 2900 1000 2900
84Wire Wire Line
85    1200 3350 1000 3350
86Connection ~ 1000 3350
87Wire Wire Line
88    1000 2900 1000 3550
89Wire Wire Line
90    2550 3550 2550 3350
91Wire Wire Line
92    2350 3050 4000 3050
93Wire Wire Line
94    5800 3500 5150 3500
95Connection ~ 5150 3500
96Wire Wire Line
97    4750 4900 4750 5100
98Wire Wire Line
99    3100 4050 3100 3200
100Connection ~ 3100 3200
101Wire Wire Line
102    2350 2900 3700 2900
103Wire Wire Line
104    3400 4550 3400 4750
105Wire Wire Line
106    3700 3650 5800 3650
107Connection ~ 3700 3650
108Connection ~ 4750 3650
109Wire Wire Line
110    6750 6150 6750 4600
111Connection ~ 6750 4800
112Wire Wire Line
113    7050 4600 7050 6150
114Wire Wire Line
115    8100 4600 8100 4800
116Wire Wire Line
117    5800 3200 4150 3200
118Wire Wire Line
119    4150 3200 4000 3050
120Wire Wire Line
121    2350 3200 4000 3200
122Wire Wire Line
123    4000 3200 4150 3050
124Wire Wire Line
125    4150 3050 5800 3050
126Wire Wire Line
127    5600 2750 5800 2750
128Wire Wire Line
129    4750 4500 4750 3650
130Wire Wire Line
131    5150 2700 5150 4500
132Connection ~ 5150 3350
133Wire Wire Line
134    3700 2900 3700 4050
135Wire Wire Line
136    6750 900 6550 900
137Wire Wire Line
138    5250 900 5450 900
139Wire Wire Line
140    2550 3350 2350 3350
141Wire Wire Line
142    7650 1600 7650 1800
143Wire Wire Line
144    8600 3350 9800 3350
145Wire Notes Line
146    6850 900 8300 900
147Text Notes 6850 850 0 60 ~ 0
148ID: open 1008xx, GND: 1012xx
149$Comp
150L GND #PWR03
151U 1 1 4CF859A9
152P 6900 1600
153F 0 "#PWR03" H 6900 1600 30 0001 C CNN
154F 1 "GND" H 6900 1530 30 0001 C CNN
155    1 6900 1600
156    -1 0 0 1
157$EndComp
158NoConn ~ 7050 1800
159NoConn ~ 8600 3500
160$Comp
161L C8051F326 U1
162U 1 1 4C609C36
163P 7200 3200
164F 0 "U1" H 6200 4400 60 0000 C CNN
165F 1 "C8051F326" H 7200 3200 60 0000 C CNN
166F 2 "QFN28-SiLabs" H 7200 3200 60 0001 C CNN
167    1 7200 3200
168    1 0 0 -1
169$EndComp
170NoConn ~ 7200 4600
171NoConn ~ 7350 4600
172$Comp
173L USB_A_PLUG~ CON1
174U 1 1 4CF4AD1B
175P 1750 3150
176F 0 "CON1" H 1950 3600 60 0000 C CNN
177F 1 "USB_A_PLUG " H 1750 2750 60 0000 C CNN
178    1 1750 3150
179    -1 0 0 -1
180$EndComp
181Text Notes 5750 6700 0 60 ~ 0
182Space P11 through P14 at 100 mil interval close to board edge\nto allow use with a 0.1" header soldered to the board.
183Text Label 2550 3200 0 60 ~ 0
184D+
185Text Label 2550 3050 0 60 ~ 0
186D-
187Text Notes 1100 1200 0 200 ~ 40
188USB
189$Comp
190L VDD #PWR04
191U 1 1 4C64122B
192P 5150 2700
193F 0 "#PWR04" H 5150 2800 30 0001 C CNN
194F 1 "VDD" H 5150 2810 30 0000 C CNN
195    1 5150 2700
196    1 0 0 -1
197$EndComp
198$Comp
199L GND #PWR05
200U 1 1 4C6408C7
201P 5150 5100
202F 0 "#PWR05" H 5150 5100 30 0001 C CNN
203F 1 "GND" H 5150 5030 30 0001 C CNN
204    1 5150 5100
205    1 0 0 -1
206$EndComp
207$Comp
208L GND #PWR06
209U 1 1 4C6408C5
210P 4750 5100
211F 0 "#PWR06" H 4750 5100 30 0001 C CNN
212F 1 "GND" H 4750 5030 30 0001 C CNN
213    1 4750 5100
214    1 0 0 -1
215$EndComp
216$Comp
217L GND #PWR07
218U 1 1 4C6408BA
219P 5600 2900
220F 0 "#PWR07" H 5600 2900 30 0001 C CNN
221F 1 "GND" H 5600 2830 30 0001 C CNN
222    1 5600 2900
223    0 1 1 0
224$EndComp
225$Comp
226L GND #PWR08
227U 1 1 4C6408AD
228P 5250 900
229F 0 "#PWR08" H 5250 900 30 0001 C CNN
230F 1 "GND" H 5250 830 30 0001 C CNN
231    1 5250 900
232    0 1 -1 0
233$EndComp
234$Comp
235L GND #PWR09
236U 1 1 4C6408A8
237P 8100 4800
238F 0 "#PWR09" H 8100 4800 30 0001 C CNN
239F 1 "GND" H 8100 4730 30 0001 C CNN
240    1 8100 4800
241    1 0 0 -1
242$EndComp
243$Comp
244L GND #PWR010
245U 1 1 4C6408A3
246P 6400 6150
247F 0 "#PWR010" H 6400 6150 30 0001 C CNN
248F 1 "GND" H 6400 6080 30 0001 C CNN
249    1 6400 6150
250    1 0 0 -1
251$EndComp
252$Comp
253L GND #PWR011
254U 1 1 4C64089F
255P 2550 3550
256F 0 "#PWR011" H 2550 3550 30 0001 C CNN
257F 1 "GND" H 2550 3480 30 0001 C CNN
258    1 2550 3550
259    1 0 0 -1
260$EndComp
261$Comp
262L GND #PWR012
263U 1 1 4C640899
264P 1000 3550
265F 0 "#PWR012" H 1000 3550 30 0001 C CNN
266F 1 "GND" H 1000 3480 30 0001 C CNN
267    1 1000 3550
268    1 0 0 -1
269$EndComp
270$Comp
271L GND #PWR013
272U 1 1 4C640896
273P 3700 4750
274F 0 "#PWR013" H 3700 4750 30 0001 C CNN
275F 1 "GND" H 3700 4680 30 0001 C CNN
276    1 3700 4750
277    1 0 0 -1
278$EndComp
279$Comp
280L GND #PWR014
281U 1 1 4C64088F
282P 3400 4750
283F 0 "#PWR014" H 3400 4750 30 0001 C CNN
284F 1 "GND" H 3400 4680 30 0001 C CNN
285    1 3400 4750
286    1 0 0 -1
287$EndComp
288$Comp
289L GND #PWR015
290U 1 1 4C64088A
291P 3100 4750
292F 0 "#PWR015" H 3100 4750 30 0001 C CNN
293F 1 "GND" H 3100 4680 30 0001 C CNN
294    1 3100 4750
295    1 0 0 -1
296$EndComp
297Text Label 6600 5950 1 60 ~ 0
298GND
299Text Label 7050 5950 1 60 ~ 0
300C2D
301Text Label 6750 5950 1 60 ~ 0
302VBUS
303Text Label 6900 5950 1 60 ~ 0
304C2CK
305Text HLabel 9800 1450 2 60 Output ~ 0
306nRST_RF
307Text HLabel 9800 1300 2 60 Output ~ 0
308SLP_TR
309$Comp
310L VR VR3
311U 1 1 4C64034D
312P 3700 4300
313F 0 "VR3" V 3780 4300 50 0000 C CNN
314F 1 "5V6" V 3700 4300 50 0000 C CNN
315F 2 "0402" H 3700 4300 60 0001 C CNN
316F 4 "33pF" V 3600 4400 50 0000 C CNN "Field4"
317    1 3700 4300
318    -1 0 0 -1
319$EndComp
320$Comp
321L VR VR2
322U 1 1 4C640343
323P 3400 4300
324F 0 "VR2" V 3480 4300 50 0000 C CNN
325F 1 "5V6" V 3400 4300 50 0000 C CNN
326F 2 "0402" H 3400 4300 60 0001 C CNN
327F 4 "33pF" V 3300 4400 50 0000 C CNN "Field4"
328    1 3400 4300
329    -1 0 0 -1
330$EndComp
331$Comp
332L VR VR1
333U 1 1 4C6402FB
334P 3100 4300
335F 0 "VR1" V 3180 4300 50 0000 C CNN
336F 1 "5V6" V 3100 4300 50 0000 C CNN
337F 2 "0402" H 3100 4300 60 0001 C CNN
338F 4 "33pF" V 3000 4400 50 0000 C CNN "Field4"
339    1 3100 4300
340    -1 0 0 -1
341$EndComp
342$Comp
343L R R1
344U 1 1 4C6402F2
345P 6300 900
346F 0 "R1" V 6380 900 50 0000 C CNN
347F 1 "68" V 6300 900 50 0000 C CNN
348F 2 "0402" H 6300 900 60 0001 C CNN
349    1 6300 900
350    0 -1 -1 0
351$EndComp
352$Comp
353L LED D1
354U 1 1 4C6402EE
355P 5650 900
356F 0 "D1" H 5650 1000 50 0000 C CNN
357F 1 "LTST-C190KRKT" H 5650 800 50 0000 C CNN
358F 2 "0603" H 5650 900 60 0001 C CNN
359    1 5650 900
360    -1 0 0 -1
361$EndComp
362Text HLabel 6050 1150 2 60 Input ~ 0
363IRQ_RF
364Text HLabel 9800 3350 2 60 Output ~ 0
365nSS
366Text HLabel 9800 1600 2 60 Output ~ 0
367SCLK
368Text HLabel 9800 3200 2 60 Output ~ 0
369MOSI
370Text HLabel 9800 3050 2 60 Input ~ 0
371MISO
372$Comp
373L CONN_1 P14
374U 1 1 4C640203
375P 6600 6300
376F 0 "P14" H 6680 6300 40 0000 L CNN
377F 1 "CONN_1" H 6600 6355 30 0001 C CNN
378F 2 "PAD_60x60" H 6600 6300 60 0001 C CNN
379    1 6600 6300
380    0 1 1 0
381$EndComp
382$Comp
383L CONN_1 P13
384U 1 1 4C640202
385P 7050 6300
386F 0 "P13" H 7130 6300 40 0000 L CNN
387F 1 "CONN_1" H 7050 6355 30 0001 C CNN
388F 2 "PAD_60x60" H 7050 6300 60 0001 C CNN
389    1 7050 6300
390    0 1 1 0
391$EndComp
392$Comp
393L CONN_1 P12
394U 1 1 4C640200
395P 6900 6300
396F 0 "P12" H 6980 6300 40 0000 L CNN
397F 1 "CONN_1" H 6900 6355 30 0001 C CNN
398F 2 "PAD_60x60" H 6900 6300 60 0001 C CNN
399    1 6900 6300
400    0 1 1 0
401$EndComp
402$Comp
403L CONN_1 P11
404U 1 1 4C6401FE
405P 6750 6300
406F 0 "P11" H 6830 6300 40 0000 L CNN
407F 1 "CONN_1" H 6750 6355 30 0001 C CNN
408F 2 "PAD_60x60" H 6750 6300 60 0001 C CNN
409    1 6750 6300
410    0 1 1 0
411$EndComp
412$Comp
413L C C2
414U 1 1 4C6401B3
415P 5150 4700
416F 0 "C2" H 5200 4800 50 0000 L CNN
417F 1 "100nF" H 5200 4600 50 0000 L CNN
418F 2 "0402" H 5150 4700 60 0001 C CNN
419    1 5150 4700
420    1 0 0 -1
421$EndComp
422$Comp
423L C C1
424U 1 1 4C6401AA
425P 4750 4700
426F 0 "C1" H 4800 4800 50 0000 L CNN
427F 1 "1uF" H 4800 4600 50 0000 L CNN
428F 2 "0402" H 4750 4700 60 0001 C CNN
429    1 4750 4700
430    1 0 0 -1
431$EndComp
432$EndSCHEMATC
atusb/fw/Makefile
1#
2# fw/Makefile - ATUSB firmware build
3#
4# Written 2008-2010 by Werner Almesberger
5# Copyright 2008-2010 Werner Almesberger
6#
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2 of the License, or
10# (at your option) any later version.
11#
12
13
14DIRS=common boot atusb
15
16
17.PHONY: all depend install uninstall clean spotless
18
19all:
20        for d in $(DIRS); do $(MAKE) -C $$d all || exit 1; done
21
22depend:
23        for d in $(DIRS); do $(MAKE) -C $$d depend || exit 1; done
24
25# Top-level Makefile recurses for "install" and "uninstall", which have no use
26# here. Just ignore them.
27
28install:
29
30uninstall:
31
32clean:
33        for d in $(DIRS); do $(MAKE) -C $$d clean || exit 1; done
34
35spotless:
36        for d in $(DIRS); do $(MAKE) -C $$d spotless || exit 1; done
atusb/fw/atusb/Makefile
1#
2# atusb/Makefile - Makefile for USB to SPI translator (for AT86RF230)
3#
4# Written 2010 by Werner Almesberger
5# Copyright 2010 Werner Almesberger
6#
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2 of the License, or
10# (at your option) any later version.
11#
12
13
14MAIN = atusb
15OBJS = $(MAIN) usb descr version ep0
16
17F32XBASE = ../../../../f32xbase
18
19include $(F32XBASE)/fw/common/Makefile.system
20include $(F32XBASE)/fw/common/Makefile.common
21include ../common/Makefile.common
22
23CFLAGS += -I../common -I../include -D$(BOARD)
24LDFLAGS += --code-size $(PAYLOAD_SIZE) --code-loc $(PAYLOAD_START)
25
26USB_ID = $(shell \
27  ( echo '\#include "config.h"'; echo USB_VENDOR:USB_PRODUCT; ) | \
28  cpp -I../common -I../include -D$(BOARD) | sed '/^ *$$/d;/^\#/d' )
29
30.PHONY: dfu
31
32dfu:
33        dfu-util -d $(USB_ID) -D $(MAIN).bin
atusb/fw/atusb/atusb.c
1/*
2 * atusb/atusb.c - ATUSB initialization and main loop
3 *
4 * Written 2008-2010 by Werner Almesberger
5 * Copyright 2008-2010 Werner Almesberger
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13
14#include "regs.h"
15#include "io.h"
16#include "usb.h"
17#include "atusb/ep0.h"
18#include "version.h"
19
20
21static int in_test_mode = 0;
22
23
24static void set_test_mode(int on)
25{
26    in_test_mode = on;
27    if (on) {
28        TST_MODE |= 1 << TST_BIT;
29        TST = 1;
30        LED_MODE |= 1 << LED_BIT;
31    } else {
32        TST = 0;
33        TST_MODE &= ~(1 << TST_BIT);
34        LED_MODE &= ~(1 << LED_BIT);
35        LED = 0;
36    }
37}
38
39
40void reset_rf(void)
41{
42    int i;
43
44    set_test_mode(0);
45
46    nRST_RF = 0;
47    /*
48     * 11.4.12: min 625 ns.
49     * The pulse we generate is slightly longer than 4 us.
50     */
51    for (i = 0; i != 10; i++);
52    nRST_RF = 1;
53}
54
55
56void test_mode(void)
57{
58    set_test_mode(1);
59}
60
61
62/*
63 * The following macros set all unused pins on a given port to zero. This is
64 * more elaborate than just setting the ports directly, but it has the
65 * advantage of hiding the pin to port relation.
66 */
67
68#define PORT_NUM_P0 0
69#define PORT_NUM_P2 2
70#define PORT_NUM_P3 3
71
72#define __PORT_NUM(mode) PORT_NUM_##mode
73#define PORT_NUM(mode) __PORT_NUM(mode)
74
75#define USED(port, net) (PORT_NUM(net##_PORT) == port ? 1 << net##_BIT : 0)
76
77#define ZERO_UNUSED(port) \
78    P##port &= \
79        USED(port, LED) | \
80        USED(port, ID) | \
81        USED(port, MOSI) | \
82        USED(port, MISO) | \
83        USED(port, SCLK) | \
84        USED(port, nSS) | \
85        USED(port, nRST_RF) | \
86        USED(port, IRQ_RF) | \
87        USED(port, SLP_TR) | \
88        USED(port, TST)
89
90
91static void init_io(void)
92{
93    /*
94     * Signal Mode Value
95     *
96     * MOSI push-pull 0
97     * MISO open drain 1 (input)
98     * SCLK push-pull 0
99     * nSS push-pull 1
100     * nRST_RF push-pull 1
101     * IRQ_RF open drain 1 (input)
102     * SLP_TR push-pull 0
103     * TST open drain 0
104     *
105     * LED push-pull 0 (set up by boot loader)
106     *
107     * all unused open drain 0
108     */
109
110    MOSI = 0;
111    MOSI_MODE |= 1 << MOSI_BIT;
112
113    SCLK = 0;
114    SCLK_MODE |= 1 << SCLK_BIT;
115
116    nSS_MODE |= 1 << nSS_BIT;
117
118    nRST_RF_MODE |= 1 << nRST_RF_BIT;
119
120    SLP_TR = 0;
121    SLP_TR_MODE |= 1 << SLP_TR_BIT;
122
123    IRQ_RF = 1;
124    LED = 0;
125    TST = 0;
126
127    ZERO_UNUSED(0);
128    ZERO_UNUSED(2);
129    ZERO_UNUSED(3);
130
131#if 0
132    /*
133     * We can *almost* disable the pull-ups. The only obstacle is that
134     * MISO is not driven when not in use. So we either need an external
135     * pull-up/down or keep all the pull-ups on.
136     */
137
138    /*
139     * Disable pull-ups
140     */
141    GPIOCN |= WEAKPUD;
142#endif
143
144    /*
145     * The manual says the reset is optional, but reality disagrees with
146     * this optimistic assessment quite violently.
147     */
148
149    reset_rf();
150}
151
152
153void main(void)
154{
155    int i;
156
157    init_io();
158
159    /*
160     * Make sure the host has enough time (2.5 us) to detect that we reset
161     * our USB stack.
162     */
163    for (i = 0; i != 10; i++);
164
165    usb_init();
166    ep0_init();
167
168    while (1) {
169        if (in_test_mode) {
170            i++;
171            LED = !(i >> 11);
172        }
173        usb_poll();
174    }
175}
atusb/fw/atusb/descr.c
1/*
2 * atspi/descr.c - USB descriptors
3 *
4 * Written 2008-2010 by Werner Almesberger
5 * Copyright 2008-2010 Werner Almesberger
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13
14#include "usb.h"
15
16#include "config.h"
17
18
19/*
20 * Device descriptor
21 */
22
23const uint8_t device_descriptor[18] = {
24    18, /* bLength */
25    USB_DT_DEVICE, /* bDescriptorType */
26    LE(0x200), /* bcdUSB */
27    USB_CLASS_VENDOR_SPEC, /* bDeviceClass */
28    0x00, /* bDeviceSubClass */
29    0x00, /* bDeviceProtocol */
30    EP0_SIZE, /* bMaxPacketSize */
31    LE(USB_VENDOR), /* idVendor */
32    LE(USB_PRODUCT), /* idProduct */
33    LE(0x0001), /* bcdDevice */
34    0, /* iManufacturer */
35    0, /* iProduct */
36    0, /* iSerialNumber */
37    1 /* bNumConfigurations */
38};
39
40
41/*
42 * Our configuration
43 *
44 * We're always bus-powered.
45 */
46
47const uint8_t config_descriptor[] = {
48    9, /* bLength */
49    USB_DT_CONFIG, /* bDescriptorType */
50#if 0
51    LE(9+9+7+7), /* wTotalLength */
52#else
53    LE(9+9), /* wTotalLength */
54#endif
55    1, /* bNumInterfaces */
56    1, /* bConfigurationValue (> 0 !) */
57    0, /* iConfiguration */
58    USB_ATTR_BUS_POWERED, /* bmAttributes */
59    50/2, /* bMaxPower (50 mA) */
60
61    /* Interface #0 */
62
63    9, /* bLength */
64    USB_DT_INTERFACE, /* bDescriptorType */
65    0, /* bInterfaceNumber */
66    0, /* bAlternateSetting */
67#if 0
68    2, /* bNumEndpoints */
69#else
70    0,
71#endif
72    USB_CLASS_VENDOR_SPEC, /* bInterfaceClass */
73    0, /* bInterfaceSubClass */
74    0, /* bInterfaceProtocol */
75    0, /* iInterface */
76
77#if 0
78    /* EP OUT */
79
80    7, /* bLength */
81    USB_DT_ENDPOINT, /* bDescriptorType */
82    0x01, /* bEndPointAddress */
83    0x02, /* bmAttributes (bulk) */
84    LE(EP1_SIZE), /* wMaxPacketSize */
85    0, /* bInterval */
86
87    /* EP IN */
88
89    7, /* bLength */
90    USB_DT_ENDPOINT, /* bDescriptorType */
91    0x81, /* bEndPointAddress */
92    0x02, /* bmAttributes (bulk) */
93    LE(EP1_SIZE), /* wMaxPacketSize */
94    0, /* bInterval */
95#endif
96};
atusb/fw/atusb/ep0.c
1/*
2 * atspi/ep0.c - EP0 extension protocol
3 *
4 * Written 2008-2010 by Werner Almesberger
5 * Copyright 2008-2010 Werner Almesberger
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13
14#include <stdint.h>
15
16#ifndef NULL
17#define NULL 0
18#endif
19
20#include "regs.h"
21//#include "uart.h"
22#include "usb.h"
23#include "atusb/ep0.h"
24#include "at86rf230.h"
25#include "version.h"
26
27
28extern void reset_rf(void);
29extern void test_mode(void);
30
31
32#define debug(...)
33#define error(...)
34
35
36/*
37 * SDCC 2.8.0 had a number of code generation bugs that appeared in the big
38 * switch statement of my_setup. SDCC_FORCE_UPDATE forced the value of the
39 * "size" variable to be written to memory. This work-around doesn't seem
40 * to be necessary with 2.9.0, but we keep it around, just in case.
41 *
42 * Unfortunately, the setup->bRequest garbling bug is still with us. Without
43 * the evaluation forced with SDCC_FORCE_EVAL, sdcc gets confused about the
44 * value of setup->bRequest and then rejects all SETUP requests.
45 */
46
47#define SDCC_FORCE_EVAL(type, value) \
48    do { \
49    static volatile type foo; \
50    foo = value; \
51    } while (0)
52
53#define SDCC_FORCE_UPDATE(type, var) \
54    do { \
55    volatile type foo; \
56    foo = var; \
57    var = foo; \
58    } while (0)
59
60
61static const uint8_t id[] = { EP0ATUSB_MAJOR, EP0ATUSB_MINOR, HW_TYPE };
62static __xdata uint8_t buf[MAX_PSDU+3]; /* command, PHDR, and LQI */
63static uint8_t size;
64
65
66static void spi_send(uint8_t v)
67{
68    uint8_t mask;
69
70    for (mask = 0x80; mask; mask >>= 1) {
71        MOSI = !!(v & mask);
72        SCLK = 1;
73        SCLK = 0;
74    }
75}
76
77
78static uint8_t spi_recv(void)
79{
80    uint8_t res = 0;
81    uint8_t i;
82
83    for (i = 0; i != 8; i++) {
84        res = (res << 1) | MISO;
85        SCLK = 1;
86        SCLK = 0;
87    }
88    return res;
89}
90
91
92static void do_buf_write(void *user)
93{
94    uint8_t i;
95
96    user; /* suppress warning */
97    nSS = 0;
98    for (i = 0; i != size; i++)
99        spi_send(buf[i]);
100    nSS = 1;
101}
102
103
104#define BUILD_OFFSET 7 /* '#' plus "65535" plus ' ' */
105
106
107static __bit my_setup(struct setup_request *setup) __reentrant
108{
109    unsigned tmp;
110    uint8_t i;
111
112    switch (setup->bmRequestType | setup->bRequest << 8) {
113    case ATUSB_FROM_DEV(ATUSB_ID):
114        debug("ATUSB_ID\n");
115        if (setup->wLength > 3)
116            return 0;
117        usb_send(&ep0, id, setup->wLength, NULL, NULL);
118        return 1;
119    case ATUSB_FROM_DEV(ATUSB_BUILD):
120        debug("ATUSB_BUILD\n");
121        tmp = build_number;
122        for (i = BUILD_OFFSET-2; tmp; i--) {
123            buf[i] = (tmp % 10)+'0';
124            tmp /= 10;
125        }
126        buf[i] = '#';
127        buf[BUILD_OFFSET-1] = ' ';
128        for (size = 0; build_date[size]; size++)
129            buf[BUILD_OFFSET+size] = build_date[size];
130        size += BUILD_OFFSET-i;
131        SDCC_FORCE_EVAL(uint8_t, setup->bRequest);
132        if (size > setup->wLength)
133            return 0;
134        usb_send(&ep0, buf+i, size, NULL, NULL);
135        return 1;
136
137    case ATUSB_TO_DEV(ATUSB_RESET):
138        debug("ATUSB_RESET\n");
139        RSTSRC = SWRSF;
140        while (1);
141
142    case ATUSB_TO_DEV(ATUSB_RF_RESET):
143        debug("ATUSB_RF_RESET\n");
144        reset_rf();
145        return 1;
146
147    case ATUSB_FROM_DEV(ATUSB_POLL_INT):
148        debug("ATUSB_POLL_INT\n");
149        if (setup->wLength < 1)
150            return 0;
151        *buf = IRQ_RF;
152        usb_send(&ep0, buf, 1, NULL, NULL);
153        return 1;
154
155    case ATUSB_TO_DEV(ATUSB_TEST):
156        debug("ATUSB_TEST\n");
157        test_mode();
158        return 1;
159
160    case ATUSB_TO_DEV(ATUSB_REG_WRITE):
161        debug("ATUSB_REG_WRITE\n");
162        nSS = 0;
163        spi_send(AT86RF230_REG_WRITE | setup->wIndex);
164        spi_send(setup->wValue);
165        nSS = 1;
166        return 1;
167    case ATUSB_FROM_DEV(ATUSB_REG_READ):
168        debug("ATUSB_REG_READ\n");
169        nSS = 0;
170        spi_send(AT86RF230_REG_READ | setup->wIndex);
171        *buf = spi_recv();
172        nSS = 1;
173        usb_send(&ep0, buf, 1, NULL, NULL);
174        return 1;
175
176    case ATUSB_TO_DEV(ATUSB_BUF_WRITE):
177        debug("ATUSB_BUF_WRITE\n");
178        if (setup->wLength < 1)
179            return 0;
180        if (setup->wLength > MAX_PSDU)
181            return 0;
182        buf[0] = AT86RF230_BUF_WRITE;
183        buf[1] = setup->wLength;
184        size = setup->wLength+2;
185        usb_recv(&ep0, buf+2, setup->wLength, do_buf_write, NULL);
186        return 1;
187    case ATUSB_FROM_DEV(ATUSB_BUF_READ):
188        debug("ATUSB_BUF_READ\n");
189        if (setup->wLength < 2) /* PHR+LQI */
190            return 0;
191        if (setup->wLength > MAX_PSDU+2) /* PHR+PSDU+LQI */
192            return 0;
193        nSS = 0;
194        spi_send(AT86RF230_BUF_READ);
195        size = spi_recv();
196        if (size >= setup->wLength)
197            size = setup->wLength-1;
198        for (i = 0; i != size+1; i++)
199            buf[i] = spi_recv();
200        nSS = 1;
201        usb_send(&ep0, buf, size+1, NULL, NULL);
202        return 1;
203
204    case ATUSB_TO_DEV(ATUSB_SRAM_WRITE):
205        debug("ATUSB_SRAM_WRITE\n");
206        if (setup->wIndex > SRAM_SIZE)
207            return 0;
208        if (setup->wIndex+setup->wLength > SRAM_SIZE)
209            return 0;
210        buf[0] = AT86RF230_SRAM_WRITE;
211        buf[1] = setup->wIndex;
212        size = setup->wLength+2;
213        usb_recv(&ep0, buf+2, setup->wLength, do_buf_write, NULL);
214        return 1;
215    case ATUSB_TO_DEV(ATUSB_SRAM_READ):
216        debug("ATUSB_SRAM_READ\n");
217        if (setup->wIndex > SRAM_SIZE)
218            return 0;
219        if (setup->wIndex+setup->wLength > SRAM_SIZE)
220            return 0;
221        nSS = 0;
222        spi_send(AT86RF230_SRAM_READ);
223        spi_send(setup->wIndex);
224        for (i = 0; i != size; i++)
225            buf[i] = spi_recv();
226        nSS = 1;
227        usb_send(&ep0, buf, size, NULL, NULL);
228        return 1;
229
230    default:
231        error("Unrecognized SETUP: 0x%02x 0x%02x ...\n",
232            setup->bmRequestType, setup->bRequest);
233        return 0;
234    }
235}
236
237
238void ep0_init(void)
239{
240    user_setup = my_setup;
241}
atusb/fw/boot/Makefile
1#
2# boot/Makefile - Makefile for DFU-capable boot loader for ATRF
3
4# Written 2008, 2010 by Werner Almesberger
5# Copyright 2008, 2010 Werner Almesberger
6#
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2 of the License, or
10# (at your option) any later version.
11#
12
13MAIN=boot
14OBJS=$(MAIN) usb dfu version
15
16F32XBASE = ../../../../f32xbase
17
18include $(F32XBASE)/fw/common/Makefile.system
19include $(F32XBASE)/fw/common/Makefile.common
20include ../common/Makefile.common
21
22CFLAGS += -I../common -I../include -D$(BOARD)
23LDFLAGS += --code-size $(PAYLOAD_START)
atusb/fw/common/Makefile
1#
2# common/Makefile - Makefile for shared items
3#
4# Written 2008, 2010 by Werner Almesberger
5# Copyright 2008, 2010 Werner Almesberger
6#
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2 of the License, or
10# (at your option) any later version.
11#
12
13include Makefile.common
14
15
16GEN_quiet = @echo " GENERATE " $@ &&
17
18ifeq ($(V),1)
19    GEN =
20else
21    GEN = $(GEN_quiet)
22endif
23
24
25.PHONY: all depend clean spotless
26
27all: io-parts.h
28
29io-parts.h: io.h Makefile
30        $(GEN) $(CPP) -D$(BOARD) -dD $< | \
31          sed '1,/IO_H/d' | \
32          awk \
33          'BEGIN { print "/* MACHINE-GENERATED. DO NOT EDIT ! */"; \
34            print "#ifndef IO_PARTS_H"; \
35            print "#define IO_PARTS_H"; } \
36           /#define/ && $$3 != "" { \
37            split($$3, a, "_"); \
38            print $$1, $$2 "_PORT", a[1]; \
39            print $$1, $$2 "_MODE", a[1] "MDOUT"; \
40            print $$1, $$2 "_BIT", a[2]; } \
41           END { print "#endif" }' >$@ || \
42                { rm -f $@; exit 1; }
43
44
45#
46# When we do a global "make depend", we'll come here first. So we create
47# io-parts.h so that "make depend" in the other directories can pick it up.
48#
49
50depend: io-parts.h
51
52clean:
53        rm -f io-parts.h
54
55spotless: clean
atusb/fw/common/Makefile.common
1#
2# common/Makefile.common - Makefile settings shared within project
3#
4# Written 2010 by Werner Almesberger
5# Copyright 2010 Werner Almesberger
6#
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2 of the License, or
10# (at your option) any later version.
11#
12
13#BOARD=BOARD_100813
14BOARD=BOARD_101216
atusb/fw/common/config.h
1/*
2 * common/config.h - Configuration data for boot loader and application
3 *
4 * Written 2010 by Werner Almesberger
5 * Copyright 2010 Werner Almesberger
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13#ifndef CONFIG_H
14#define CONFIG_H
15
16#include "io.h"
17#include "io-parts.h"
18#include "atusb/usb-ids.h"
19
20
21/* ----- Boot loader configuration ----------------------------------------- */
22
23/*
24 * Make LED output push-pull so that we can output a high voltage.
25 * This turns on the LED, to indicate that we're in the boot loader.
26 */
27
28#define PLATFORM_ENTER \
29    LED_MODE |= 1 << LED_BIT;
30
31
32/*
33 * Turn off the LED when we exit the boot loader.
34 */
35
36#define PLATFORM_EXIT \
37    LED = 0
38
39
40/* ----- Application configuration ----------------------------------------- */
41
42#if defined(BOARD_100813)
43#define HW_TYPE HW_TYPE_100813
44#elif defined(BOARD_101216)
45#define HW_TYPE HW_TYPE_101216
46#else
47#error must define BOARD_100813 or BOARD_101216
48#endif
49
50#endif /* !CONFIG_H */
atusb/fw/common/io.h
1/*
2 * common/io.h - I/O pin assignment
3 *
4 * Written 2010 by Werner Almesberger
5 * Copyright 2010 Werner Almesberger
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13
14#ifndef IO_H
15#define IO_H
16
17/* Diagnostic LED */
18
19#define LED P0_1
20
21/* ID pin */
22
23/*
24 * 100813 open
25 * 101216 GND
26 */
27
28#define ID P0_2
29
30#if defined(BOARD_100813)
31
32/* SPI */
33
34#define MOSI P2_2
35#define MISO P2_5
36#define SCLK P2_4
37#define nSS P2_3
38
39/* Miscellaneous RF signals */
40
41#define nRST_RF P2_0
42#define IRQ_RF P0_0
43#define SLP_TR P2_1
44#define TST P0_7
45
46#elif defined(BOARD_101216)
47
48/* SPI */
49
50#define MOSI P2_1
51#define MISO P2_0
52#define SCLK P0_7
53#define nSS P2_4
54
55