290 changed files with 175650 additions and 1 deletions
-
96README.md
-
96README.md~
-
BINhardware/bom_list.xls
-
4599hardware/gerber/unisolder52_back.gbl
-
22hardware/gerber/unisolder52_back.gbo
-
1901hardware/gerber/unisolder52_back.gbs
-
34hardware/gerber/unisolder52_back.gko
-
6346hardware/gerber/unisolder52_back.gtl
-
5375hardware/gerber/unisolder52_back.gto
-
579hardware/gerber/unisolder52_back.gts
-
345hardware/gerber/unisolder52_back.txt
-
4407hardware/gerber/unisolder52_front.gbl
-
205hardware/gerber/unisolder52_front.gbo
-
135hardware/gerber/unisolder52_front.gbs
-
2353hardware/gerber/unisolder52_front.gd1
-
1398hardware/gerber/unisolder52_front.gg1
-
29hardware/gerber/unisolder52_front.gko
-
11560hardware/gerber/unisolder52_front.gtl
-
8504hardware/gerber/unisolder52_front.gto
-
795hardware/gerber/unisolder52_front.gts
-
369hardware/gerber/unisolder52_front.txt
-
9357hardware/gerber/unisolder52_full.gbl
-
218hardware/gerber/unisolder52_full.gbo
-
91hardware/gerber/unisolder52_full.gbp
-
2032hardware/gerber/unisolder52_full.gbs
-
776hardware/gerber/unisolder52_full.gko
-
19374hardware/gerber/unisolder52_full.gtl
-
14390hardware/gerber/unisolder52_full.gto
-
1214hardware/gerber/unisolder52_full.gtp
-
1855hardware/gerber/unisolder52_full.gts
-
751hardware/gerber/unisolder52_full.txt
-
397hardware/gerber/unisolder52_oled.gbl
-
22hardware/gerber/unisolder52_oled.gbs
-
23hardware/gerber/unisolder52_oled.gko
-
1657hardware/gerber/unisolder52_oled.gtl
-
527hardware/gerber/unisolder52_oled.gto
-
623hardware/gerber/unisolder52_oled.gts
-
63hardware/gerber/unisolder52_oled.txt
-
4232hardware/gerber/unisolder_sensor.gbl
-
59hardware/gerber/unisolder_sensor.gbo
-
58hardware/gerber/unisolder_sensor.gbs
-
81hardware/gerber/unisolder_sensor.gko
-
1470hardware/gerber/unisolder_sensor.gtl
-
590hardware/gerber/unisolder_sensor.gto
-
108hardware/gerber/unisolder_sensor.gts
-
79hardware/gerber/unisolder_sensor.txt
-
BINhardware/schematics/OLED.pdf
-
BINhardware/schematics/back.pdf
-
BINhardware/schematics/front.pdf
-
BINhardware/schematics/sensor.pdf
-
BINpics/iron_tips.jpg
-
BINpics/unisolder52.jpg
-
BINpics/unisolder52_cal_con.jpg
-
BINsoftware/PC/LibUsbDotNet.dll
-
69software/PC/RLE.vb
-
BINsoftware/PC/SSComm/LibUsbDotNet.dll
-
36software/PC/SSComm/Properties/AssemblyInfo.cs
-
66software/PC/SSComm/SSComm.csproj
-
6software/PC/SSComm/SSComm.csproj.user
-
20software/PC/SSComm/SSComm.sln
-
BINsoftware/PC/SSComm/bin/Debug/LibUsbDotNet.dll
-
BINsoftware/PC/SSComm/bin/Debug/SSComm.dll
-
BINsoftware/PC/SSComm/bin/Debug/SSComm.pdb
-
BINsoftware/PC/SSComm/bin/Release/LibUsbDotNet.dll
-
BINsoftware/PC/SSComm/bin/Release/SSComm.dll
-
BINsoftware/PC/SSComm/bin/Release/SSComm.pdb
-
23software/PC/SSComm/common.cs
-
BINsoftware/PC/SSComm/obj/Debug/DesignTimeResolveAssemblyReferences.cache
-
BINsoftware/PC/SSComm/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
-
11software/PC/SSComm/obj/Debug/SSComm.csproj.FileListAbsolute.txt
-
BINsoftware/PC/SSComm/obj/Debug/SSComm.dll
-
BINsoftware/PC/SSComm/obj/Debug/SSComm.pdb
-
BINsoftware/PC/SSComm/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
-
6software/PC/SSComm/obj/Release/SSComm.csproj.FileListAbsolute.txt
-
BINsoftware/PC/SSComm/obj/Release/SSComm.csprojResolveAssemblyReference.cache
-
BINsoftware/PC/SSComm/obj/Release/SSComm.dll
-
BINsoftware/PC/SSComm/obj/Release/SSComm.pdb
-
315software/PC/SSComm/usb_generic.cs
-
393software/PC/SSComm/usb_hid.cs
-
429software/PC/SSComm/usb_hid/devman.cs
-
109software/PC/SSComm/usb_hid/devmandeclarations.cs
-
25software/PC/SSComm/usb_hid/fileIOdeclarations.cs
-
592software/PC/SSComm/usb_hid/hid.cs
-
128software/PC/SSComm/usb_hid/hiddeclarations.cs
-
36software/PC/SSControl/Properties/AssemblyInfo.cs
-
37software/PC/SSControl/SSChart.Designer.cs
-
681software/PC/SSControl/SSChart.cs
-
63software/PC/SSControl/SSControls.csproj
-
6software/PC/SSControl/SSControls.csproj.user
-
BINsoftware/PC/SSControl/bin/Debug/SSControls.dll
-
BINsoftware/PC/SSControl/bin/Debug/SSControls.pdb
-
BINsoftware/PC/SSControl/bin/Release/SSControls.dll
-
BINsoftware/PC/SSControl/bin/Release/SSControls.pdb
-
BINsoftware/PC/SSControl/obj/Debug/DesignTimeResolveAssemblyReferences.cache
-
BINsoftware/PC/SSControl/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
-
15software/PC/SSControl/obj/Debug/SSControls.csproj.FileListAbsolute.txt
-
BINsoftware/PC/SSControl/obj/Debug/SSControls.csprojResolveAssemblyReference.cache
-
BINsoftware/PC/SSControl/obj/Debug/SSControls.dll
-
BINsoftware/PC/SSControl/obj/Debug/SSControls.pdb
-
BINsoftware/PC/SSControl/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
@ -1,2 +1,96 @@ |
|||
# unisolder |
|||
universal soldering controller - a copy of http://dangerousprototypes.com/forum/viewtopic.php?t=7218 |
|||
|
|||
The intention was to build the most universal soldering controller I can think of. It can drive any low voltage (upto 24V) iron with thermocouple or resistive sensor, in series with the heater, or separate. |
|||
|
|||
Here is a short list of features: |
|||
- power: 9-28V, AC or DC |
|||
- 2 separate heater control channels |
|||
- 2 independent sensor inputs |
|||
- current source on any sensor input 3uA - 12mA, wuth 2 bands (x1, x16) and 256 steps per band |
|||
- flexible differential amplifier input selection |
|||
- amplifier gain from 0 to 750 in 256 steps |
|||
- negative offset selection in 1024 steps |
|||
- resistive instrument identification (upto 625 different instruments can be identified by 2 resistors on the connector) |
|||
- polynomial floating point voltage/resistance to temperature calculation |
|||
- wave shaping to filter out the inductive peaks from series sensor signal |
|||
- PID control with power limit |
|||
- isolated USB port for firmware updates and live data |
|||
- 128x64 OLED display with rich user interface. |
|||
|
|||
Tested so far with: |
|||
- HAKKO T12/T15 (series TC) |
|||
- HAKKO FX8801 (PTC) |
|||
- PACE TD100 (series TC) |
|||
- JBC C245 (series or separate TC) |
|||
- JBC C210 (series TC) |
|||
- JBC Microtweezers (2 separate heaters, each with series TC) |
|||
- WELLER WSP80 (PTC) (This iron was sent to me by a reader of the thread for a previous version of the controller. Thanks, Jaroslaw) |
|||
- ERSA RT80 (series PTC/heater resistance) |
|||
- various chinese cheap irons with separate TC |
|||
|
|||
##Update (4 April 2017): |
|||
The PC Software is now entirely in C#, the front end is rewritten. Now you can program only the bootloader, and then use the software for firmware updates using the USB connection. The PC software also does not crash anymore when device is unplugged and plugged in the USB or turned on/off, and automatically switches to bootloader and back when uploading new firmware. Also, a legend with checkboxes is added for every data that is displayed on the graph, so you can switch it on or off. There is still pretty much work to be done on it, but at least it is much more functional now. |
|||
Added to the firmware are Pace TD100 Black and Weller WMRT profiles, some work is done on several other places. Now the firmware handles better some irons, where there was initial overshoot when heating for the first time or changing the target temperature. |
|||
|
|||
Some movies: |
|||
JBC C245: https://www.youtube.com/watch?v=oTdQB4ywDOA |
|||
JBC C210: https://www.youtube.com/watch?v=iyz-EDf-JaY |
|||
T12, JBC C210, JBC Microtweezers: https://www.youtube.com/watch?v=-f0KSU0PJzc&t=70s |
|||
Chinese T12: https://www.youtube.com/watch?v=u588sh-4thg |
|||
Weller WSP80: https://www.youtube.com/watch?v=gd_8w7l8_Bo |
|||
Weller WMRT: https://www.youtube.com/watch?v=eHNJuQEw6XU |
|||
|
|||
The content of this is originaly copied thanks to sparkybg |
|||
|
|||
http://dangerousprototypes.com/forum/viewtopic.php?t=7218 |
|||
|
|||
##Connections to different tips/irons: |
|||
|
|||
1. HAKKO T12: |
|||
- Outer shell, and heater negative (middle) terminal connected together to Vout1- and EARTH |
|||
- heater positive (bottom terminal) connected to Vout1+ and SENSEA |
|||
- 1k resistor between ID and Vout1- |
|||
- 5.6k resistor between ID and Vout2- |
|||
|
|||
2. HAKKO FX8801, HAKKO 907 (original, with PTC sensor): |
|||
- Outer shell, PTC negative and heater negative connected to EARTH, Vout1- and SENSEB |
|||
- Heater positive connected to Vout1+ |
|||
- PTC positive connected to SENSEA |
|||
- 1k between ID and Vout1- |
|||
- 820ohm between ID and Vout2- |
|||
|
|||
3. JBC C245: |
|||
- Outer shell (green wire) connected to EARTH and SENSEB |
|||
- Heater positive(red wire) connected to Vout1- and SENSEA |
|||
- Heater negative(blue wire) connected to Vout1+ |
|||
- 150ohm between ID and Vout1- |
|||
- 5.6k between ID and Vout2- |
|||
|
|||
4. JBC C210: |
|||
- Outer shell (green wire) connected to EARTH and SENSEB |
|||
- Heater negative (middle terminal, blue wire) connected to Vout1- |
|||
- Heater positive (smaller terminal, red wire) connected to Vout1+ and SENSEA |
|||
- 3.0k between ID and Vout1- |
|||
- 5.6k between ID and Vout2- |
|||
|
|||
5. JBC Microtweezers: |
|||
- Outer shell of both tips (green wire) connected to EARTH |
|||
- Heater 1 negative (blue wire) connected to Vout1- |
|||
- Heater 1 positive (red wire) connected to Vout1+ and SENSEA |
|||
- Heater 2 negative (brown wire) connected to Vout2- |
|||
- Heater 2 positive (yellow wire) connected to Vout2+ and SENSEB |
|||
- 1.0k between ID and Vout1- |
|||
|
|||
6. WELLER WSP80: |
|||
- Outer shell, PTC negative and heater negative (white, black and brown wires) connected to EARTH, Vout1- and SENSEB |
|||
- Heater positive (blue wire) connected to Vout1+ |
|||
- PTC positive (red wire) connected to SENSEA |
|||
- 120ohm between ID and Vout1- |
|||
- 5.6k between ID and Vout2- |
|||
|
|||
7. ERSA RT80: |
|||
- Outer shell and Heater/PTC negative (pink and white wires) connected to EARTH, Vout1- and SENSEB |
|||
- Heater/PTC positive (black wire) connected to Vout1+ and SENSEA |
|||
- 300ohm between ID and Vout1- |
|||
- 110ohm between ID and Vout2- |
|||
|
@ -0,0 +1,96 @@ |
|||
# unisolder |
|||
|
|||
The intention was to build the most universal soldering controller I can think of. It can drive any low voltage (upto 24V) iron with thermocouple or resistive sensor, in series with the heater, or separate. |
|||
|
|||
Here is a short list of features: |
|||
- power: 9-28V, AC or DC |
|||
- 2 separate heater control channels |
|||
- 2 independent sensor inputs |
|||
- current source on any sensor input 3uA - 12mA, wuth 2 bands (x1, x16) and 256 steps per band |
|||
- flexible differential amplifier input selection |
|||
- amplifier gain from 0 to 750 in 256 steps |
|||
- negative offset selection in 1024 steps |
|||
- resistive instrument identification (upto 625 different instruments can be identified by 2 resistors on the connector) |
|||
- polynomial floating point voltage/resistance to temperature calculation |
|||
- wave shaping to filter out the inductive peaks from series sensor signal |
|||
- PID control with power limit |
|||
- isolated USB port for firmware updates and live data |
|||
- 128x64 OLED display with rich user interface. |
|||
|
|||
Tested so far with: |
|||
- HAKKO T12/T15 (series TC) |
|||
- HAKKO FX8801 (PTC) |
|||
- PACE TD100 (series TC) |
|||
- JBC C245 (series or separate TC) |
|||
- JBC C210 (series TC) |
|||
- JBC Microtweezers (2 separate heaters, each with series TC) |
|||
- WELLER WSP80 (PTC) (This iron was sent to me by a reader of the thread for a previous version of the controller. Thanks, Jaroslaw) |
|||
- ERSA RT80 (series PTC/heater resistance) |
|||
- various chinese cheap irons with separate TC |
|||
|
|||
##Update (4 April 2017): |
|||
The PC Software is now entirely in C#, the front end is rewritten. Now you can program only the bootloader, and then use the software for firmware updates using the USB connection. The PC software also does not crash anymore when device is unplugged and plugged in the USB or turned on/off, and automatically switches to bootloader and back when uploading new firmware. Also, a legend with checkboxes is added for every data that is displayed on the graph, so you can switch it on or off. There is still pretty much work to be done on it, but at least it is much more functional now. |
|||
Added to the firmware are Pace TD100 Black and Weller WMRT profiles, some work is done on several other places. Now the firmware handles better some irons, where there was initial overshoot when heating for the first time or changing the target temperature. |
|||
|
|||
Some movies: |
|||
JBC C245: https://www.youtube.com/watch?v=oTdQB4ywDOA |
|||
JBC C210: https://www.youtube.com/watch?v=iyz-EDf-JaY |
|||
T12, JBC C210, JBC Microtweezers: https://www.youtube.com/watch?v=-f0KSU0PJzc&t=70s |
|||
Chinese T12: https://www.youtube.com/watch?v=u588sh-4thg |
|||
Weller WSP80: https://www.youtube.com/watch?v=gd_8w7l8_Bo |
|||
Weller WMRT: https://www.youtube.com/watch?v=eHNJuQEw6XU |
|||
|
|||
The content of this is originaly copied |
|||
|
|||
http://dangerousprototypes.com/forum/viewtopic.php?t=7218 |
|||
|
|||
##Connections to different tips/irons: |
|||
|
|||
1. HAKKO T12: |
|||
- Outer shell, and heater negative (middle) terminal connected together to Vout1- and EARTH |
|||
- heater positive (bottom terminal) connected to Vout1+ and SENSEA |
|||
- 1k resistor between ID and Vout1- |
|||
- 5.6k resistor between ID and Vout2- |
|||
|
|||
2. HAKKO FX8801, HAKKO 907 (original, with PTC sensor): |
|||
- Outer shell, PTC negative and heater negative connected to EARTH, Vout1- and SENSEB |
|||
- Heater positive connected to Vout1+ |
|||
- PTC positive connected to SENSEA |
|||
- 1k between ID and Vout1- |
|||
- 820ohm between ID and Vout2- |
|||
|
|||
3. JBC C245: |
|||
- Outer shell (green wire) connected to EARTH and SENSEB |
|||
- Heater positive(red wire) connected to Vout1- and SENSEA |
|||
- Heater negative(blue wire) connected to Vout1+ |
|||
- 150ohm between ID and Vout1- |
|||
- 5.6k between ID and Vout2- |
|||
|
|||
4. JBC C210: |
|||
- Outer shell (green wire) connected to EARTH and SENSEB |
|||
- Heater negative (middle terminal, blue wire) connected to Vout1- |
|||
- Heater positive (smaller terminal, red wire) connected to Vout1+ and SENSEA |
|||
- 3.0k between ID and Vout1- |
|||
- 5.6k between ID and Vout2- |
|||
|
|||
5. JBC Microtweezers: |
|||
- Outer shell of both tips (green wire) connected to EARTH |
|||
- Heater 1 negative (blue wire) connected to Vout1- |
|||
- Heater 1 positive (red wire) connected to Vout1+ and SENSEA |
|||
- Heater 2 negative (brown wire) connected to Vout2- |
|||
- Heater 2 positive (yellow wire) connected to Vout2+ and SENSEB |
|||
- 1.0k between ID and Vout1- |
|||
|
|||
6. WELLER WSP80: |
|||
- Outer shell, PTC negative and heater negative (white, black and brown wires) connected to EARTH, Vout1- and SENSEB |
|||
- Heater positive (blue wire) connected to Vout1+ |
|||
- PTC positive (red wire) connected to SENSEA |
|||
- 120ohm between ID and Vout1- |
|||
- 5.6k between ID and Vout2- |
|||
|
|||
7. ERSA RT80: |
|||
- Outer shell and Heater/PTC negative (pink and white wires) connected to EARTH, Vout1- and SENSEB |
|||
- Heater/PTC positive (black wire) connected to Vout1+ and SENSEA |
|||
- 300ohm between ID and Vout1- |
|||
- 110ohm between ID and Vout2- |
|||
|
4599
hardware/gerber/unisolder52_back.gbl
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,22 @@ |
|||
%FSTAX23Y23*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD75C,0.010000*% |
|||
%LNunisolder52_back-1*% |
|||
%LPD*% |
|||
G54D75* |
|||
X0447Y02815D02* |
|||
X05D01* |
|||
X0447Y0342D02* |
|||
X05D01* |
|||
X0447Y0327D02* |
|||
Y0342D01* |
|||
Y02815D02* |
|||
Y0317D01* |
|||
X05Y02815D02* |
|||
Y0317D01* |
|||
Y0327D02* |
|||
Y0342D01* |
|||
M02* |
1901
hardware/gerber/unisolder52_back.gbs
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,34 @@ |
|||
%FSTAX23Y23*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD74C,0.007870*% |
|||
%LNunisolder52_back-1*% |
|||
%LPD*% |
|||
G54D74* |
|||
X03937Y02795D02* |
|||
X04035Y02696D01* |
|||
X03937Y04783D02* |
|||
X04035Y04881D01* |
|||
X03937Y02795D02* |
|||
Y04783D01* |
|||
X0683Y02696D02* |
|||
X06929Y02795D01* |
|||
X04035Y02696D02* |
|||
X0683D01* |
|||
X06929Y02795D02* |
|||
Y06003D01* |
|||
X0683Y06102D02* |
|||
X06929Y06003D01* |
|||
X05413Y06102D02* |
|||
X0683D01* |
|||
X05314Y06003D02* |
|||
X05413Y06102D01* |
|||
X05314Y0494D02* |
|||
Y06003D01* |
|||
X05255Y04881D02* |
|||
X05314Y0494D01* |
|||
X04035Y04881D02* |
|||
X05255D01* |
|||
M02* |
6346
hardware/gerber/unisolder52_back.gtl
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
5375
hardware/gerber/unisolder52_back.gto
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,579 @@ |
|||
%FSTAX23Y23*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%AMD81* |
|||
4,1,8,0.029600,-0.027800,0.029600,0.027800,0.017900,0.039400,-0.017900,0.039400,-0.029600,0.027800,-0.029600,-0.027800,-0.017900,-0.039400,0.017900,-0.039400,0.029600,-0.027800,0.0* |
|||
1,1,0.023360,0.017900,-0.027800* |
|||
1,1,0.023360,0.017900,0.027800* |
|||
1,1,0.023360,-0.017900,0.027800* |
|||
1,1,0.023360,-0.017900,-0.027800* |
|||
% |
|||
%AMD82* |
|||
4,1,8,-0.041400,0.015000,-0.041400,-0.015000,-0.033700,-0.022700,0.033700,-0.022700,0.041400,-0.015000,0.041400,0.015000,0.033700,0.022700,-0.033700,0.022700,-0.041400,0.015000,0.0* |
|||
1,1,0.015480,-0.033700,0.015000* |
|||
1,1,0.015480,-0.033700,-0.015000* |
|||
1,1,0.015480,0.033700,-0.015000* |
|||
1,1,0.015480,0.033700,0.015000* |
|||
% |
|||
%AMD83* |
|||
4,1,8,-0.149700,0.102900,-0.149700,-0.102900,-0.140300,-0.112300,0.140300,-0.112300,0.149700,-0.102900,0.149700,0.102900,0.140300,0.112300,-0.140300,0.112300,-0.149700,0.102900,0.0* |
|||
1,1,0.018820,-0.140300,0.102900* |
|||
1,1,0.018820,-0.140300,-0.102900* |
|||
1,1,0.018820,0.140300,-0.102900* |
|||
1,1,0.018820,0.140300,0.102900* |
|||
% |
|||
%AMD84* |
|||
4,1,8,-0.018700,-0.069000,0.018700,-0.069000,0.041400,-0.046300,0.041400,0.046300,0.018700,0.069000,-0.018700,0.069000,-0.041400,0.046300,-0.041400,-0.046300,-0.018700,-0.069000,0.0* |
|||
1,1,0.045400,-0.018700,-0.046300* |
|||
1,1,0.045400,0.018700,-0.046300* |
|||
1,1,0.045400,0.018700,0.046300* |
|||
1,1,0.045400,-0.018700,0.046300* |
|||
% |
|||
%AMD85* |
|||
4,1,8,-0.006900,-0.044400,0.006900,-0.044400,0.017800,-0.033500,0.017800,0.033500,0.006900,0.044400,-0.006900,0.044400,-0.017800,0.033500,-0.017800,-0.033500,-0.006900,-0.044400,0.0* |
|||
1,1,0.021780,-0.006900,-0.033500* |
|||
1,1,0.021780,0.006900,-0.033500* |
|||
1,1,0.021780,0.006900,0.033500* |
|||
1,1,0.021780,-0.006900,0.033500* |
|||
% |
|||
%AMD86* |
|||
4,1,8,-0.006900,-0.030600,0.006900,-0.030600,0.017800,-0.019700,0.017800,0.019700,0.006900,0.030600,-0.006900,0.030600,-0.017800,0.019700,-0.017800,-0.019700,-0.006900,-0.030600,0.0* |
|||
1,1,0.021780,-0.006900,-0.019700* |
|||
1,1,0.021780,0.006900,-0.019700* |
|||
1,1,0.021780,0.006900,0.019700* |
|||
1,1,0.021780,-0.006900,0.019700* |
|||
% |
|||
%AMD87* |
|||
4,1,8,-0.029600,0.008300,-0.029600,-0.008300,-0.022000,-0.015800,0.022000,-0.015800,0.029600,-0.008300,0.029600,0.008300,0.022000,0.015800,-0.022000,0.015800,-0.029600,0.008300,0.0* |
|||
1,1,0.015080,-0.022000,0.008300* |
|||
1,1,0.015080,-0.022000,-0.008300* |
|||
1,1,0.015080,0.022000,-0.008300* |
|||
1,1,0.015080,0.022000,0.008300* |
|||
% |
|||
%AMD88* |
|||
4,1,8,0.013800,0.049000,-0.013800,0.049000,-0.023700,0.039100,-0.023700,-0.039100,-0.013800,-0.049000,0.013800,-0.049000,0.023700,-0.039100,0.023700,0.039100,0.013800,0.049000,0.0* |
|||
1,1,0.019820,0.013800,0.039100* |
|||
1,1,0.019820,-0.013800,0.039100* |
|||
1,1,0.019820,-0.013800,-0.039100* |
|||
1,1,0.019820,0.013800,-0.039100* |
|||
% |
|||
%AMD89* |
|||
4,1,8,0.104700,0.151600,-0.104700,0.151600,-0.114200,0.142100,-0.114200,-0.142100,-0.104700,-0.151600,0.104700,-0.151600,0.114200,-0.142100,0.114200,0.142100,0.104700,0.151600,0.0* |
|||
1,1,0.019020,0.104700,0.142100* |
|||
1,1,0.019020,-0.104700,0.142100* |
|||
1,1,0.019020,-0.104700,-0.142100* |
|||
1,1,0.019020,0.104700,-0.142100* |
|||
% |
|||
%AMD90* |
|||
4,1,8,-0.041400,0.008300,-0.041400,-0.008300,-0.033900,-0.015800,0.033900,-0.015800,0.041400,-0.008300,0.041400,0.008300,0.033900,0.015800,-0.033900,0.015800,-0.041400,0.008300,0.0* |
|||
1,1,0.015080,-0.033900,0.008300* |
|||
1,1,0.015080,-0.033900,-0.008300* |
|||
1,1,0.015080,0.033900,-0.008300* |
|||
1,1,0.015080,0.033900,0.008300* |
|||
% |
|||
%AMD93* |
|||
4,1,8,0.026100,0.028600,-0.026100,0.028600,-0.037500,0.017200,-0.037500,-0.017200,-0.026100,-0.028600,0.026100,-0.028600,0.037500,-0.017200,0.037500,0.017200,0.026100,0.028600,0.0* |
|||
1,1,0.022760,0.026100,0.017200* |
|||
1,1,0.022760,-0.026100,0.017200* |
|||
1,1,0.022760,-0.026100,-0.017200* |
|||
1,1,0.022760,0.026100,-0.017200* |
|||
% |
|||
%AMD94* |
|||
4,1,8,-0.142000,-0.088100,0.142000,-0.088100,0.154400,-0.075600,0.154400,0.075600,0.142000,0.088100,-0.142000,0.088100,-0.154400,0.075600,-0.154400,-0.075600,-0.142000,-0.088100,0.0* |
|||
1,1,0.024820,-0.142000,-0.075600* |
|||
1,1,0.024820,0.142000,-0.075600* |
|||
1,1,0.024820,0.142000,0.075600* |
|||
1,1,0.024820,-0.142000,0.075600* |
|||
% |
|||
%AMD95* |
|||
4,1,8,-0.029400,-0.088100,0.029400,-0.088100,0.036700,-0.080800,0.036700,0.080800,0.029400,0.088100,-0.029400,0.088100,-0.036700,0.080800,-0.036700,-0.080800,-0.029400,-0.088100,0.0* |
|||
1,1,0.014540,-0.029400,-0.080800* |
|||
1,1,0.014540,0.029400,-0.080800* |
|||
1,1,0.014540,0.029400,0.080800* |
|||
1,1,0.014540,-0.029400,0.080800* |
|||
% |
|||
%AMD96* |
|||
4,1,8,0.052000,0.064000,-0.052000,0.064000,-0.068000,0.048000,-0.068000,-0.048000,-0.052000,-0.064000,0.052000,-0.064000,0.068000,-0.048000,0.068000,0.048000,0.052000,0.064000,0.0* |
|||
1,1,0.032000,0.052000,0.048000* |
|||
1,1,0.032000,-0.052000,0.048000* |
|||
1,1,0.032000,-0.052000,-0.048000* |
|||
1,1,0.032000,0.052000,-0.048000* |
|||
% |
|||
%AMD97* |
|||
4,1,8,0.071500,-0.103500,0.071500,0.103500,0.060700,0.114200,-0.060700,0.114200,-0.071500,0.103500,-0.071500,-0.103500,-0.060700,-0.114200,0.060700,-0.114200,0.071500,-0.103500,0.0* |
|||
1,1,0.021500,0.060700,-0.103500* |
|||
1,1,0.021500,0.060700,0.103500* |
|||
1,1,0.021500,-0.060700,0.103500* |
|||
1,1,0.021500,-0.060700,-0.103500* |
|||
% |
|||
%AMD98* |
|||
4,1,8,0.040200,0.039400,-0.040200,0.039400,-0.051200,0.028300,-0.051200,-0.028300,-0.040200,-0.039400,0.040200,-0.039400,0.051200,-0.028300,0.051200,0.028300,0.040200,0.039400,0.0* |
|||
1,1,0.022180,0.040200,0.028300* |
|||
1,1,0.022180,-0.040200,0.028300* |
|||
1,1,0.022180,-0.040200,-0.028300* |
|||
1,1,0.022180,0.040200,-0.028300* |
|||
% |
|||
%AMD99* |
|||
4,1,8,0.020800,0.033100,-0.020800,0.033100,-0.033500,0.020400,-0.033500,-0.020400,-0.020800,-0.033100,0.020800,-0.033100,0.033500,-0.020400,0.033500,0.020400,0.020800,0.033100,0.0* |
|||
1,1,0.025480,0.020800,0.020400* |
|||
1,1,0.025480,-0.020800,0.020400* |
|||
1,1,0.025480,-0.020800,-0.020400* |
|||
1,1,0.025480,0.020800,-0.020400* |
|||
% |
|||
%AMD100* |
|||
4,1,8,-0.021800,-0.029600,0.021800,-0.029600,0.033500,-0.017900,0.033500,0.017900,0.021800,0.029600,-0.021800,0.029600,-0.033500,0.017900,-0.033500,-0.017900,-0.021800,-0.029600,0.0* |
|||
1,1,0.023360,-0.021800,-0.017900* |
|||
1,1,0.023360,0.021800,-0.017900* |
|||
1,1,0.023360,0.021800,0.017900* |
|||
1,1,0.023360,-0.021800,0.017900* |
|||
% |
|||
%AMD101* |
|||
4,1,8,0.029600,-0.021800,0.029600,0.021800,0.017900,0.033500,-0.017900,0.033500,-0.029600,0.021800,-0.029600,-0.021800,-0.017900,-0.033500,0.017900,-0.033500,0.029600,-0.021800,0.0* |
|||
1,1,0.023360,0.017900,-0.021800* |
|||
1,1,0.023360,0.017900,0.021800* |
|||
1,1,0.023360,-0.017900,0.021800* |
|||
1,1,0.023360,-0.017900,-0.021800* |
|||
% |
|||
%AMD102* |
|||
4,1,8,0.008300,0.029600,-0.008300,0.029600,-0.015800,0.022000,-0.015800,-0.022000,-0.008300,-0.029600,0.008300,-0.029600,0.015800,-0.022000,0.015800,0.022000,0.008300,0.029600,0.0* |
|||
1,1,0.015080,0.008300,0.022000* |
|||
1,1,0.015080,-0.008300,0.022000* |
|||
1,1,0.015080,-0.008300,-0.022000* |
|||
1,1,0.015080,0.008300,-0.022000* |
|||
% |
|||
%AMD103* |
|||
4,1,8,0.028600,-0.026100,0.028600,0.026100,0.017200,0.037500,-0.017200,0.037500,-0.028600,0.026100,-0.028600,-0.026100,-0.017200,-0.037500,0.017200,-0.037500,0.028600,-0.026100,0.0* |
|||
1,1,0.022760,0.017200,-0.026100* |
|||
1,1,0.022760,0.017200,0.026100* |
|||
1,1,0.022760,-0.017200,0.026100* |
|||
1,1,0.022760,-0.017200,-0.026100* |
|||
% |
|||
%AMD104* |
|||
4,1,8,-0.039400,0.040200,-0.039400,-0.040200,-0.028300,-0.051200,0.028300,-0.051200,0.039400,-0.040200,0.039400,0.040200,0.028300,0.051200,-0.028300,0.051200,-0.039400,0.040200,0.0* |
|||
1,1,0.022180,-0.028300,0.040200* |
|||
1,1,0.022180,-0.028300,-0.040200* |
|||
1,1,0.022180,0.028300,-0.040200* |
|||
1,1,0.022180,0.028300,0.040200* |
|||
% |
|||
%AMD105* |
|||
4,1,8,0.027800,0.029600,-0.027800,0.029600,-0.039400,0.017900,-0.039400,-0.017900,-0.027800,-0.029600,0.027800,-0.029600,0.039400,-0.017900,0.039400,0.017900,0.027800,0.029600,0.0* |
|||
1,1,0.023360,0.027800,0.017900* |
|||
1,1,0.023360,-0.027800,0.017900* |
|||
1,1,0.023360,-0.027800,-0.017900* |
|||
1,1,0.023360,0.027800,-0.017900* |
|||
% |
|||
%AMD106* |
|||
4,1,8,0.049300,-0.036200,0.049300,0.036200,0.036200,0.049300,-0.036200,0.049300,-0.049300,0.036200,-0.049300,-0.036200,-0.036200,-0.049300,0.036200,-0.049300,0.049300,-0.036200,0.0* |
|||
1,1,0.026120,0.036200,-0.036200* |
|||
1,1,0.026120,0.036200,0.036200* |
|||
1,1,0.026120,-0.036200,0.036200* |
|||
1,1,0.026120,-0.036200,-0.036200* |
|||
% |
|||
%AMD110* |
|||
4,1,8,0.072900,-0.055100,0.072900,0.055100,0.055100,0.072900,-0.055100,0.072900,-0.072900,0.055100,-0.072900,-0.055100,-0.055100,-0.072900,0.055100,-0.072900,0.072900,-0.055100,0.0* |
|||
1,1,0.035560,0.055100,-0.055100* |
|||
1,1,0.035560,0.055100,0.055100* |
|||
1,1,0.035560,-0.055100,0.055100* |
|||
1,1,0.035560,-0.055100,-0.055100* |
|||
% |
|||
%AMD111* |
|||
4,1,8,-0.033500,0.020700,-0.033500,-0.020700,-0.020700,-0.033500,0.020700,-0.033500,0.033500,-0.020700,0.033500,0.020700,0.020700,0.033500,-0.020700,0.033500,-0.033500,0.020700,0.0* |
|||
1,1,0.025720,-0.020700,0.020700* |
|||
1,1,0.025720,-0.020700,-0.020700* |
|||
1,1,0.025720,0.020700,-0.020700* |
|||
1,1,0.025720,0.020700,0.020700* |
|||
% |
|||
%AMD113* |
|||
4,1,8,0.025500,0.040400,-0.025500,0.040400,-0.040400,0.025500,-0.040400,-0.025500,-0.025500,-0.040400,0.025500,-0.040400,0.040400,-0.025500,0.040400,0.025500,0.025500,0.040400,0.0* |
|||
1,1,0.029860,0.025500,0.025500* |
|||
1,1,0.029860,-0.025500,0.025500* |
|||
1,1,0.029860,-0.025500,-0.025500* |
|||
1,1,0.029860,0.025500,-0.025500* |
|||
% |
|||
%AMD116* |
|||
4,1,8,0.059100,-0.038600,0.059100,0.038600,0.038600,0.059100,-0.038600,0.059100,-0.059100,0.038600,-0.059100,-0.038600,-0.038600,-0.059100,0.038600,-0.059100,0.059100,-0.038600,0.0* |
|||
1,1,0.041080,0.038600,-0.038600* |
|||
1,1,0.041080,0.038600,0.038600* |
|||
1,1,0.041080,-0.038600,0.038600* |
|||
1,1,0.041080,-0.038600,-0.038600* |
|||
% |
|||
%AMD117* |
|||
4,1,8,-0.017500,-0.039000,0.017500,-0.039000,0.039000,-0.017500,0.039000,0.017500,0.017500,0.039000,-0.017500,0.039000,-0.039000,0.017500,-0.039000,-0.017500,-0.017500,-0.039000,0.0* |
|||
1,1,0.043000,-0.017500,-0.017500* |
|||
1,1,0.043000,0.017500,-0.017500* |
|||
1,1,0.043000,0.017500,0.017500* |
|||
1,1,0.043000,-0.017500,0.017500* |
|||
% |
|||
%AMD121* |
|||
4,1,8,0.046600,0.010500,0.010500,0.046600,-0.010500,0.046600,-0.046600,0.010500,-0.046600,-0.010500,-0.010500,-0.046600,0.010500,-0.046600,0.046600,-0.010500,0.046600,0.010500,0.0* |
|||
1,1,0.029860,0.036100,0.000000* |
|||
1,1,0.029860,0.000000,0.036100* |
|||
1,1,0.029860,-0.036100,0.000000* |
|||
1,1,0.029860,0.000000,-0.036100* |
|||
% |
|||
%ADD80R,0.066000X0.028000*% |
|||
G04~CAMADD=81~8~0.0~0.0~788.7~591.8~116.8~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~270.0~592.0~788.0* |
|||
%ADD81D81*% |
|||
G04~CAMADD=82~8~0.0~0.0~454.0~828.0~77.4~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~90.0~828.0~454.0* |
|||
%ADD82D82*% |
|||
G04~CAMADD=83~8~0.0~0.0~2245.3~2993.4~94.1~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~90.0~2994.0~2246.0* |
|||
%ADD83D83*% |
|||
G04~CAMADD=84~8~0.0~0.0~828.0~1379.2~227.0~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~180.0~829.0~1380.0* |
|||
%ADD84D84*% |
|||
G04~CAMADD=85~8~0.0~0.0~355.6~888.7~108.9~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~180.0~356.0~889.0* |
|||
%ADD85D85*% |
|||
G04~CAMADD=86~8~0.0~0.0~355.6~611.5~108.9~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~180.0~356.0~612.0* |
|||
%ADD86D86*% |
|||
G04~CAMADD=87~8~0.0~0.0~316.2~591.8~75.4~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~90.0~592.0~316.0* |
|||
%ADD87D87*% |
|||
G04~CAMADD=88~8~0.0~0.0~473.7~980.0~99.1~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~473.7~980.0* |
|||
%ADD88D88*% |
|||
G04~CAMADD=89~8~0.0~0.0~2284.7~3032.8~95.1~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~2284.7~3032.8* |
|||
%ADD89D89*% |
|||
G04~CAMADD=90~8~0.0~0.0~316.2~828.0~75.4~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~90.0~828.0~316.0* |
|||
%ADD90D90*% |
|||
%ADD91O,0.082800X0.031620*% |
|||
%ADD92O,0.031620X0.094610*% |
|||
G04~CAMADD=93~8~0.0~0.0~749.3~572.1~113.8~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~749.3~572.1* |
|||
%ADD93D93*% |
|||
G04~CAMADD=94~8~0.0~0.0~3087.9~1761.1~124.1~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~180.0~3088.0~1761.0* |
|||
%ADD94D94*% |
|||
G04~CAMADD=95~8~0.0~0.0~733.5~1761.1~72.7~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~180.0~734.0~1762.0* |
|||
%ADD95D95*% |
|||
G04~CAMADD=96~8~0.0~0.0~1359.5~1280.0~160.0~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~1359.5~1280.0* |
|||
%ADD96D96*% |
|||
G04~CAMADD=97~8~0.0~0.0~2284.7~1430.0~107.5~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~270.0~1430.0~2284.0* |
|||
%ADD97D97*% |
|||
G04~CAMADD=98~8~0.0~0.0~1024.9~788.7~110.9~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~1024.9~788.7* |
|||
%ADD98D98*% |
|||
G04~CAMADD=99~8~0.0~0.0~670.6~662.7~127.4~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~670.6~662.7* |
|||
%ADD99D99*% |
|||
G04~CAMADD=100~8~0.0~0.0~670.6~591.8~116.8~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~180.0~671.0~592.0* |
|||
%ADD100D100*% |
|||
G04~CAMADD=101~8~0.0~0.0~670.6~591.8~116.8~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~270.0~592.0~670.0* |
|||
%ADD101D101*% |
|||
G04~CAMADD=102~8~0.0~0.0~316.2~591.8~75.4~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~316.2~591.8* |
|||
%ADD102D102*% |
|||
G04~CAMADD=103~8~0.0~0.0~749.3~572.1~113.8~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~270.0~572.0~750.0* |
|||
%ADD103D103*% |
|||
G04~CAMADD=104~8~0.0~0.0~1024.9~788.7~110.9~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~90.0~788.0~1024.0* |
|||
%ADD104D104*% |
|||
G04~CAMADD=105~8~0.0~0.0~788.7~591.8~116.8~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~788.7~591.8* |
|||
%ADD105D105*% |
|||
G04~CAMADD=106~8~0.0~0.0~985.5~985.5~130.6~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~270.0~986.0~986.0* |
|||
%ADD106D106*% |
|||
%ADD107O,0.126110X0.086740*% |
|||
%ADD108C,0.078000*% |
|||
%ADD109O,0.086740X0.126110*% |
|||
G04~CAMADD=110~8~0.0~0.0~1457.9~1457.9~177.8~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~270.0~1458.0~1458.0* |
|||
%ADD110D110*% |
|||
G04~CAMADD=111~8~0.0~0.0~670.6~670.6~128.6~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~90.0~670.0~670.0* |
|||
%ADD111D111*% |
|||
%ADD112C,0.067060*% |
|||
G04~CAMADD=113~8~0.0~0.0~808.3~808.3~149.3~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~808.3~808.3* |
|||
%ADD113D113*% |
|||
%ADD114C,0.080830*% |
|||
%ADD115C,0.118240*% |
|||
G04~CAMADD=116~8~0.0~0.0~1182.4~1182.4~205.4~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~270.0~1182.0~1182.0* |
|||
%ADD116D116*% |
|||
G04~CAMADD=117~8~0.0~0.0~780.0~780.0~215.0~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~180.0~780.0~780.0* |
|||
%ADD117D117*% |
|||
%ADD118R,0.067060X0.067060*% |
|||
%ADD119C,0.067060*% |
|||
%ADD120C,0.322000*% |
|||
G04~CAMADD=121~8~0.0~0.0~808.3~808.3~149.3~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~315.0~1018.0~1017.0* |
|||
%ADD121D121*% |
|||
%LNunisolder52_back-1*% |
|||
%LPD*% |
|||
G54D80* |
|||
X04169Y04274D03* |
|||
G54D81* |
|||
X05446Y04649D03* |
|||
X05332D03* |
|||
X06603Y04611D03* |
|||
X06489D03* |
|||
X06263Y04096D03* |
|||
X06149D03* |
|||
G54D82* |
|||
X06289Y03602D03* |
|||
Y03423D03* |
|||
X06486Y043D03* |
|||
Y04479D03* |
|||
Y04D03* |
|||
Y0418D03* |
|||
X06289Y03888D03* |
|||
Y03709D03* |
|||
G54D83* |
|||
X06535Y03512D03* |
|||
X06732Y04389D03* |
|||
Y0409D03* |
|||
X06535Y03799D03* |
|||
G54D84* |
|||
X04872Y03794D03* |
|||
G54D85* |
|||
X04872Y0389D03* |
|||
G54D86* |
|||
X04931Y03904D03* |
|||
X04813D03* |
|||
G54D87* |
|||
X05978Y04377D03* |
|||
X05895Y0434D03* |
|||
Y04415D03* |
|||
X05911Y04067D03* |
|||
Y04142D03* |
|||
X05828Y04105D03* |
|||
X05978Y04705D03* |
|||
X05895Y04668D03* |
|||
Y04743D03* |
|||
X05345Y04583D03* |
|||
Y04508D03* |
|||
X05427Y04546D03* |
|||
G54D88* |
|||
X05046Y04277D03* |
|||
X05136D03* |
|||
X05227D03* |
|||
G54D89* |
|||
X05136Y04038D03* |
|||
G54D90* |
|||
X06009Y03952D03* |
|||
G54D91* |
|||
X06009Y03902D03* |
|||
Y03852D03* |
|||
Y03802D03* |
|||
X06194Y03952D03* |
|||
Y03902D03* |
|||
Y03852D03* |
|||
Y03802D03* |
|||
X04397Y0418D03* |
|||
Y0413D03* |
|||
Y0408D03* |
|||
Y0403D03* |
|||
X04582Y0418D03* |
|||
Y0413D03* |
|||
Y0408D03* |
|||
Y0403D03* |
|||
G54D92* |
|||
X05534Y03318D03* |
|||
X05484D03* |
|||
X05434D03* |
|||
X05384D03* |
|||
X05334D03* |
|||
X05284D03* |
|||
X05234D03* |
|||
X05534Y03129D03* |
|||
X05484D03* |
|||
X05434D03* |
|||
X05384D03* |
|||
X05334D03* |
|||
X05284D03* |
|||
X05234D03* |
|||
G54D93* |
|||
X06074Y04154D03* |
|||
Y04014D03* |
|||
X05989Y04154D03* |
|||
Y04014D03* |
|||
X05903Y03871D03* |
|||
Y0401D03* |
|||
G54D94* |
|||
X06048Y03432D03* |
|||
Y03674D03* |
|||
G54D95* |
|||
X05842Y03432D03* |
|||
Y03674D03* |
|||
G54D96* |
|||
X04536Y03688D03* |
|||
Y03456D03* |
|||
G54D97* |
|||
X04829Y04553D03* |
|||
X04435D03* |
|||
G54D98* |
|||
X06423Y03188D03* |
|||
X06584D03* |
|||
X05415Y04183D03* |
|||
X05576D03* |
|||
Y04307D03* |
|||
X05415D03* |
|||
X0518Y04482D03* |
|||
X05018D03* |
|||
G54D99* |
|||
X04169Y0424D03* |
|||
Y04308D03* |
|||
G54D100* |
|||
X05603Y03185D03* |
|||
Y03259D03* |
|||
X04409Y03966D03* |
|||
Y03891D03* |
|||
X05818Y04729D03* |
|||
Y04654D03* |
|||
X0531Y04251D03* |
|||
Y04177D03* |
|||
X06259Y04641D03* |
|||
Y04716D03* |
|||
X06182Y04572D03* |
|||
Y04647D03* |
|||
X05456Y0449D03* |
|||
Y04415D03* |
|||
X06259Y04313D03* |
|||
Y04388D03* |
|||
X06182Y04245D03* |
|||
Y04319D03* |
|||
X05818Y04402D03* |
|||
Y04327D03* |
|||
X05152Y03113D03* |
|||
Y03187D03* |
|||
X04247Y04311D03* |
|||
Y04236D03* |
|||
X04325Y04311D03* |
|||
Y04236D03* |
|||
X05169Y03332D03* |
|||
Y03257D03* |
|||
X04806Y04141D03* |
|||
Y04066D03* |
|||
X04883Y04141D03* |
|||
Y04066D03* |
|||
X05969Y03023D03* |
|||
Y03098D03* |
|||
X04728Y03818D03* |
|||
Y03893D03* |
|||
G54D101* |
|||
X0575Y04003D03* |
|||
X05825D03* |
|||
X0575Y03926D03* |
|||
X05825D03* |
|||
X06051Y04807D03* |
|||
X05976D03* |
|||
X06031Y04479D03* |
|||
X05956D03* |
|||
X05812Y04476D03* |
|||
X05886D03* |
|||
X05831Y04803D03* |
|||
X05906D03* |
|||
X0589Y04604D03* |
|||
X05965D03* |
|||
X0589Y04276D03* |
|||
X05965D03* |
|||
X06187Y04012D03* |
|||
X06262D03* |
|||
X06528Y04694D03* |
|||
X06603D03* |
|||
X04497Y04245D03* |
|||
X04571D03* |
|||
X05368Y04404D03* |
|||
X05293D03* |
|||
X06623Y03282D03* |
|||
X06548D03* |
|||
G54D102* |
|||
X06118Y04647D03* |
|||
X06043D03* |
|||
X0608Y04564D03* |
|||
X047Y03348D03* |
|||
X04625D03* |
|||
X04662Y03265D03* |
|||
X0608Y04237D03* |
|||
X06043Y04319D03* |
|||
X06118D03* |
|||
G54D103* |
|||
X06187Y04397D03* |
|||
X06047D03* |
|||
X06187Y04725D03* |
|||
X06047D03* |
|||
X05064Y04374D03* |
|||
X05204D03* |
|||
X05444Y04737D03* |
|||
X05304D03* |
|||
X05304Y04822D03* |
|||
X05443D03* |
|||
X06121Y04801D03* |
|||
X0626D03* |
|||
X06128Y04475D03* |
|||
X06268D03* |
|||
G54D104* |
|||
X0469Y04211D03* |
|||
Y04049D03* |
|||
X06062Y03191D03* |
|||
Y0303D03* |
|||
G54D105* |
|||
X04645Y03893D03* |
|||
Y03779D03* |
|||
X04407Y03339D03* |
|||
Y03225D03* |
|||
G54D106* |
|||
X04992Y0479D03* |
|||
Y04613D03* |
|||
G54D107* |
|||
X04056Y03612D03* |
|||
X04273D03* |
|||
Y03447D03* |
|||
X04056D03* |
|||
X06486Y05954D03* |
|||
X06269D03* |
|||
X05767D03* |
|||
X05984D03* |
|||
G54D108* |
|||
X0461Y0287D03* |
|||
X0466Y0297D03* |
|||
X0471Y0287D03* |
|||
X0476Y0297D03* |
|||
X0481Y0287D03* |
|||
X0486Y0297D03* |
|||
X0586Y02851D03* |
|||
X0596D03* |
|||
G54D109* |
|||
X06421Y02814D03* |
|||
Y03031D03* |
|||
X06255D03* |
|||
Y02814D03* |
|||
G54D110* |
|||
X06771Y05391D03* |
|||
Y05657D03* |
|||
Y04805D03* |
|||
Y05071D03* |
|||
G54D111* |
|||
X05178Y04614D03* |
|||
G54D112* |
|||
X05178Y04692D03* |
|||
G54D113* |
|||
X05406Y0392D03* |
|||
X0499Y03498D03* |
|||
X05186Y03582D03* |
|||
G54D114* |
|||
X05603Y0392D03* |
|||
X04793Y03498D03* |
|||
X05382Y03582D03* |
|||
X04227Y03874D03* |
|||
G54D115* |
|||
X05499Y05825D03* |
|||
X06208Y05752D03* |
|||
X06444Y05751D03* |
|||
X05736Y05009D03* |
|||
X05972D03* |
|||
G54D116* |
|||
X05499Y05083D03* |
|||
X06208Y0501D03* |
|||
X06444Y0501D03* |
|||
X05736Y0575D03* |
|||
X05972D03* |
|||
G54D117* |
|||
X0606Y02851D03* |
|||
G54D118* |
|||
X05192Y02847D03* |
|||
G54D119* |
|||
X05192Y02947D03* |
|||
X05292Y02847D03* |
|||
Y02947D03* |
|||
X05392Y02847D03* |
|||
Y02947D03* |
|||
X05492Y02847D03* |
|||
Y02947D03* |
|||
X05592Y02847D03* |
|||
Y02947D03* |
|||
G54D120* |
|||
X04114Y02874D03* |
|||
X06751D03* |
|||
Y05925D03* |
|||
X04114Y04704D03* |
|||
G54D121* |
|||
X04088Y04013D03* |
|||
M02* |
@ -0,0 +1,345 @@ |
|||
%FSTAX23Y23*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD9500C,0.028000*% |
|||
%ADD9501C,0.035430*% |
|||
%ADD9502C,0.043310*% |
|||
%ADD9503C,0.047240*% |
|||
%ADD9504C,0.055120*% |
|||
%ADD9505C,0.066930*% |
|||
%ADD9506C,0.068900*% |
|||
%ADD9507C,0.098430*% |
|||
%ADD9508C,0.125200*% |
|||
%ADD9509C,0.145670*% |
|||
%LNunisolder52_back-1*% |
|||
%LPD*% |
|||
G54D9500* |
|||
X04902Y0275D03* |
|||
X04907Y02878D03* |
|||
X05045Y02884D03* |
|||
X05068Y02992D03* |
|||
X04953Y02985D03* |
|||
X05179Y03025D03* |
|||
X05258Y03008D03* |
|||
X05243Y02905D03* |
|||
X05343Y02896D03* |
|||
X05351Y03053D03* |
|||
X05412Y03044D03* |
|||
X05472Y03053D03* |
|||
X05589Y03115D03* |
|||
X05551Y02896D03* |
|||
X05442Y02804D03* |
|||
X05232Y02757D03* |
|||
X05765Y02806D03* |
|||
X05767Y02898D03* |
|||
X06003Y02919D03* |
|||
X06073Y02757D03* |
|||
X05885Y0308D03* |
|||
X0453Y02906D03* |
|||
X04524Y02749D03* |
|||
X04303D03* |
|||
X04384Y0299D03* |
|||
X04186Y03181D03* |
|||
X04015Y03129D03* |
|||
X0404Y03314D03* |
|||
X04305Y03364D03* |
|||
X04515Y03337D03* |
|||
X04678Y0317D03* |
|||
X04572Y03785D03* |
|||
X0442Y0379D03* |
|||
X04317Y03767D03* |
|||
X0433Y03937D03* |
|||
X04321Y04078D03* |
|||
X04327Y04148D03* |
|||
X04223Y04134D03* |
|||
X04178Y04023D03* |
|||
X03986Y03982D03* |
|||
Y04188D03* |
|||
X04015Y0435D03* |
|||
X03996Y04507D03* |
|||
X04133Y04429D03* |
|||
X04232Y04527D03* |
|||
X04324Y04449D03* |
|||
X0433Y04625D03* |
|||
X0454Y04629D03* |
|||
X04625Y04527D03* |
|||
X04529Y04421D03* |
|||
X04566Y04316D03* |
|||
X04487D03* |
|||
X0449Y04161D03* |
|||
Y04094D03* |
|||
X04491Y04026D03* |
|||
X04477Y03964D03* |
|||
X04543D03* |
|||
X04608D03* |
|||
X04645Y04311D03* |
|||
X04392Y04229D03* |
|||
X04173Y03699D03* |
|||
X03985Y03776D03* |
|||
X04716Y03756D03* |
|||
X04796Y03822D03* |
|||
X04802Y03967D03* |
|||
X04841Y04004D03* |
|||
X04882Y03966D03* |
|||
X04921Y04005D03* |
|||
X04763Y04007D03* |
|||
X04844Y04206D03* |
|||
X04926Y04261D03* |
|||
X049Y04361D03* |
|||
X04932Y0453D03* |
|||
X05114Y04581D03* |
|||
X05269Y04603D03* |
|||
X05267Y04503D03* |
|||
X0533Y04342D03* |
|||
X05487Y0425D03* |
|||
X05661Y04177D03* |
|||
X05806Y04152D03* |
|||
X05837Y0422D03* |
|||
X05754Y04355D03* |
|||
X0575Y04478D03* |
|||
X05658Y04435D03* |
|||
X05679Y04586D03* |
|||
X05788Y04593D03* |
|||
X05838Y04541D03* |
|||
X05487Y04565D03* |
|||
X05598Y04023D03* |
|||
X05578Y03788D03* |
|||
X05623D03* |
|||
X05592Y03641D03* |
|||
X05485Y03592D03* |
|||
X0551Y03534D03* |
|||
X05401Y03433D03* |
|||
X05285Y0349D03* |
|||
X05257Y03589D03* |
|||
X05167Y03502D03* |
|||
X05063Y0353D03* |
|||
X05098Y03382D03* |
|||
X05207Y03404D03* |
|||
X0524Y03237D03* |
|||
X05311Y03243D03* |
|||
X05397Y03202D03* |
|||
X0508Y03127D03* |
|||
X0499Y03347D03* |
|||
X0488Y03444D03* |
|||
X04787Y03342D03* |
|||
X04806Y03231D03* |
|||
X04742Y03593D03* |
|||
X04819Y0369D03* |
|||
X04921Y03692D03* |
|||
X05773Y03723D03* |
|||
X05774Y03578D03* |
|||
X05875Y03553D03* |
|||
X05935D03* |
|||
X05994D03* |
|||
X06053D03* |
|||
X06112D03* |
|||
X06102Y03799D03* |
|||
X06084Y0395D03* |
|||
X06072Y04089D03* |
|||
X05989Y04087D03* |
|||
X05922Y03937D03* |
|||
X05828Y0386D03* |
|||
X0575Y03865D03* |
|||
X0574Y03423D03* |
|||
X05619Y03412D03* |
|||
X05846Y03307D03* |
|||
X05905D03* |
|||
X05964D03* |
|||
X06023D03* |
|||
X06082D03* |
|||
X06141D03* |
|||
X062D03* |
|||
X06189Y0325D03* |
|||
X0613Y03251D03* |
|||
X06157Y032D03* |
|||
X05964Y03208D03* |
|||
X05905D03* |
|||
X05846D03* |
|||
X05816Y03257D03* |
|||
X05875D03* |
|||
X05935D03* |
|||
X05994D03* |
|||
X0611Y04402D03* |
|||
X06195Y04476D03* |
|||
X04724Y04429D03* |
|||
Y04625D03* |
|||
X06263Y04576D03* |
|||
Y0425D03* |
|||
X06262Y04168D03* |
|||
X06306Y03951D03* |
|||
X06417Y03937D03* |
|||
X06476D03* |
|||
X06535D03* |
|||
X06594D03* |
|||
X06653D03* |
|||
Y03661D03* |
|||
X06594D03* |
|||
X06535D03* |
|||
X06476D03* |
|||
X06417D03* |
|||
X06344Y03808D03* |
|||
X06269Y03799D03* |
|||
X06289Y03543D03* |
|||
X06259Y03307D03* |
|||
X06486Y04124D03* |
|||
X06614Y04251D03* |
|||
X06673D03* |
|||
X06732D03* |
|||
X06791D03* |
|||
X0685D03* |
|||
Y04527D03* |
|||
X06791D03* |
|||
X06732D03* |
|||
X06673D03* |
|||
X06614D03* |
|||
X06692Y04606D03* |
|||
X06771D03* |
|||
Y04685D03* |
|||
X06692D03* |
|||
X06855Y04684D03* |
|||
X0685Y04606D03* |
|||
X06486Y04429D03* |
|||
X0625Y04872D03* |
|||
X06299Y05354D03* |
|||
X06456D03* |
|||
Y05511D03* |
|||
X06377Y05433D03* |
|||
X06535D03* |
|||
X06614Y05511D03* |
|||
Y05669D03* |
|||
X06535Y0559D03* |
|||
X06299Y05511D03* |
|||
X06377Y06043D03* |
|||
X06564D03* |
|||
X0683Y05246D03* |
|||
X06141Y05354D03* |
|||
X05984D03* |
|||
X05826D03* |
|||
Y05511D03* |
|||
X05905Y05433D03* |
|||
X05984Y05511D03* |
|||
X06062Y05433D03* |
|||
X0622D03* |
|||
X06141Y05511D03* |
|||
X05748Y05433D03* |
|||
Y0559D03* |
|||
X0559D03* |
|||
X05641Y05657D03* |
|||
X0559Y05748D03* |
|||
Y05905D03* |
|||
X05665Y0598D03* |
|||
X0559Y06055D03* |
|||
X05511Y05984D03* |
|||
X05433Y06055D03* |
|||
X05362Y05984D03* |
|||
X05433Y05905D03* |
|||
X05362Y05826D03* |
|||
X05433Y05748D03* |
|||
X05362Y05669D03* |
|||
X05433Y0559D03* |
|||
X05362Y05511D03* |
|||
X05433Y05433D03* |
|||
X05362Y05354D03* |
|||
X05433Y05275D03* |
|||
X05362Y05196D03* |
|||
X05366Y05044D03* |
|||
X05349Y04896D03* |
|||
X0548Y04898D03* |
|||
X05659Y04881D03* |
|||
X05679Y04744D03* |
|||
X05377Y04736D03* |
|||
X05218Y04837D03* |
|||
X04899Y04821D03* |
|||
X04822Y04724D03* |
|||
X04992Y04701D03* |
|||
X04724Y04822D03* |
|||
X05856Y04881D03* |
|||
Y05039D03* |
|||
X06063Y04872D03* |
|||
X06114Y0473D03* |
|||
X05669Y05354D03* |
|||
X05511D03* |
|||
Y05511D03* |
|||
Y05669D03* |
|||
X05669Y05511D03* |
|||
X0559Y05433D03* |
|||
X05848Y0587D03* |
|||
X05905Y06055D03* |
|||
X05748D03* |
|||
X04527Y04822D03* |
|||
X0433D03* |
|||
X04429Y04724D03* |
|||
X04625D03* |
|||
G54D9501* |
|||
X05192Y02847D03* |
|||
Y02947D03* |
|||
X05292D03* |
|||
Y02847D03* |
|||
X05392D03* |
|||
Y02947D03* |
|||
X05492D03* |
|||
Y02847D03* |
|||
X05592D03* |
|||
Y02947D03* |
|||
X05178Y04614D03* |
|||
Y04692D03* |
|||
G54D9502* |
|||
X04227Y03874D03* |
|||
X04088Y04013D03* |
|||
X04793Y03498D03* |
|||
X0499D03* |
|||
X05186Y03582D03* |
|||
X05382D03* |
|||
X05406Y0392D03* |
|||
X05603D03* |
|||
G54D9503* |
|||
X0471Y0287D03* |
|||
X0481D03* |
|||
X0476Y0297D03* |
|||
X0486D03* |
|||
X0586Y02851D03* |
|||
X0596D03* |
|||
X0606D03* |
|||
X0461Y0287D03* |
|||
X0466Y0297D03* |
|||
G54D9504* |
|||
X06255Y02814D03* |
|||
X06421D03* |
|||
Y03031D03* |
|||
X06255D03* |
|||
X04273Y03447D03* |
|||
Y03612D03* |
|||
X04056D03* |
|||
Y03447D03* |
|||
X06269Y05954D03* |
|||
X06486D03* |
|||
X05984D03* |
|||
X05767D03* |
|||
G54D9505* |
|||
X06444Y0501D03* |
|||
Y05751D03* |
|||
X06208Y05752D03* |
|||
X05972Y0575D03* |
|||
X05736D03* |
|||
X05499Y05825D03* |
|||
Y05083D03* |
|||
X05736Y05009D03* |
|||
X05972D03* |
|||
X06208Y0501D03* |
|||
G54D9506* |
|||
X06771Y05071D03* |
|||
Y05391D03* |
|||
G54D9507* |
|||
X06771Y04805D03* |
|||
Y05657D03* |
|||
G54D9508* |
|||
X04535Y0322D03* |
|||
X04935D03* |
|||
G54D9509* |
|||
X06751Y02874D03* |
|||
X04114D03* |
|||
X06751Y05925D03* |
|||
X04114Y04704D03* |
|||
M02* |
4407
hardware/gerber/unisolder52_front.gbl
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,205 @@ |
|||
%FSTAX23Y23*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD37C,0.012000*% |
|||
%ADD45C,0.010000*% |
|||
%ADD72C,0.008000*% |
|||
%ADD73C,0.007870*% |
|||
%LNunisolder52_front-1*% |
|||
%LPD*% |
|||
G54D37* |
|||
X00161Y-01555D02* |
|||
X00236D01* |
|||
Y-0148* |
|||
X-00236Y-01555D02* |
|||
Y-0148D01* |
|||
Y-01555D02* |
|||
X-00161D01* |
|||
X-01574Y-01299D02* |
|||
Y-01224D01* |
|||
Y-01299D02* |
|||
X-01499D01* |
|||
X01499D02* |
|||
X01574D01* |
|||
Y-01224* |
|||
Y00925D02* |
|||
Y01D01* |
|||
X01499D02* |
|||
X01574D01* |
|||
X-01574Y00925D02* |
|||
Y01D01* |
|||
X-01499* |
|||
X00236Y-01452D02* |
|||
Y-01377D01* |
|||
X00314Y-01299* |
|||
X00389* |
|||
X-00236Y-01452D02* |
|||
Y-01377D01* |
|||
X-00314Y-01299D02* |
|||
X-00236Y-01377D01* |
|||
X-00389Y-01299D02* |
|||
X-00314D01* |
|||
G54D45* |
|||
X01115Y-00375D02* |
|||
Y00017D01* |
|||
X01525* |
|||
Y-00375D02* |
|||
Y00017D01* |
|||
X01115Y-00375D02* |
|||
X01525D01* |
|||
G54D72* |
|||
X-00847Y-00304D02* |
|||
D01* |
|||
X-00853Y-00304* |
|||
X-00859Y-00304* |
|||
X-00866Y-00305* |
|||
X-00872Y-00307* |
|||
X-00877Y-00309* |
|||
X-00883Y-00311* |
|||
X-00889Y-00314* |
|||
X-00894Y-00317* |
|||
X-00899Y-00321* |
|||
X-00904Y-00324* |
|||
X-00909Y-00328* |
|||
X-00913Y-00333* |
|||
X-00917Y-00338* |
|||
X-00921Y-00343* |
|||
X-00924Y-00348* |
|||
X-00927Y-00353* |
|||
X-0093Y-00359* |
|||
X-00932Y-00365* |
|||
X-00933Y-00371* |
|||
X-00935Y-00377* |
|||
X-00936Y-00383* |
|||
X-00936Y-00389* |
|||
Y-00396* |
|||
X-00936Y-00402* |
|||
X-00935Y-00408* |
|||
X-00933Y-00414* |
|||
X-00932Y-0042* |
|||
X-0093Y-00426* |
|||
X-00927Y-00432* |
|||
X-00924Y-00437* |
|||
X-00921Y-00442* |
|||
X-00917Y-00447* |
|||
X-00913Y-00452* |
|||
X-00909Y-00457* |
|||
X-00904Y-00461* |
|||
X-00899Y-00465* |
|||
X-00894Y-00468* |
|||
X-00889Y-00471* |
|||
X-00883Y-00474* |
|||
X-00877Y-00476* |
|||
X-00872Y-00478* |
|||
X-00866Y-0048* |
|||
X-00859Y-00481* |
|||
X-00853Y-00481* |
|||
X-00847Y-00482* |
|||
X-00597D02* |
|||
D01* |
|||
X-00591Y-00481* |
|||
X-00585Y-00481* |
|||
X-00579Y-0048* |
|||
X-00573Y-00478* |
|||
X-00567Y-00476* |
|||
X-00561Y-00474* |
|||
X-00555Y-00471* |
|||
X-0055Y-00468* |
|||
X-00545Y-00465* |
|||
X-0054Y-00461* |
|||
X-00535Y-00457* |
|||
X-00531Y-00452* |
|||
X-00527Y-00447* |
|||
X-00523Y-00442* |
|||
X-0052Y-00437* |
|||
X-00517Y-00432* |
|||
X-00515Y-00426* |
|||
X-00512Y-0042* |
|||
X-00511Y-00414* |
|||
X-00509Y-00408* |
|||
X-00509Y-00402* |
|||
X-00508Y-00396* |
|||
Y-00389* |
|||
X-00509Y-00383* |
|||
X-00509Y-00377* |
|||
X-00511Y-00371* |
|||
X-00512Y-00365* |
|||
X-00515Y-00359* |
|||
X-00517Y-00353* |
|||
X-0052Y-00348* |
|||
X-00523Y-00343* |
|||
X-00527Y-00338* |
|||
X-00531Y-00333* |
|||
X-00535Y-00328* |
|||
X-0054Y-00324* |
|||
X-00545Y-00321* |
|||
X-0055Y-00317* |
|||
X-00555Y-00314* |
|||
X-00561Y-00311* |
|||
X-00567Y-00309* |
|||
X-00573Y-00307* |
|||
X-00579Y-00305* |
|||
X-00585Y-00304* |
|||
X-00591Y-00304* |
|||
X-00597Y-00304* |
|||
X-00847D02* |
|||
X-00597D01* |
|||
X-00847Y-00482D02* |
|||
X-00597D01* |
|||
X00434Y00597D02* |
|||
X00441Y00603D01* |
|||
X00454* |
|||
X00461Y00597* |
|||
Y0057* |
|||
X00454Y00564* |
|||
X00441* |
|||
X00434Y0057* |
|||
X00421Y00564D02* |
|||
Y00603D01* |
|||
X00394Y00564* |
|||
Y00603* |
|||
X00381D02* |
|||
X00354D01* |
|||
X00367* |
|||
Y00564* |
|||
X00341D02* |
|||
Y00603D01* |
|||
X00321* |
|||
X00314Y00597* |
|||
Y00583* |
|||
X00321Y00577* |
|||
X00341* |
|||
X00327D02* |
|||
X00314Y00564D01* |
|||
G54D73* |
|||
X-0155Y-00366D02* |
|||
X-0145D01* |
|||
X-0155Y-00866D02* |
|||
Y-00366D01* |
|||
X-0145Y-00866D02* |
|||
Y-00366D01* |
|||
X-0155Y-00866D02* |
|||
X-0145D01* |
|||
X01106Y00624D02* |
|||
Y00977D01* |
|||
X00306Y00624D02* |
|||
Y00977D01* |
|||
Y00624D02* |
|||
X01106D01* |
|||
X00626Y00927D02* |
|||
X00786D01* |
|||
X00904Y00977D02* |
|||
X01106D01* |
|||
X00306D02* |
|||
X00456D01* |
|||
X00786D02* |
|||
X00904D01* |
|||
X00786Y00927D02* |
|||
Y00977D01* |
|||
X00626Y00927D02* |
|||
Y00977D01* |
|||
X00456D02* |
|||
X00626D01* |
|||
M02* |
@ -0,0 +1,135 @@ |
|||
%FSTAX23Y23*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%AMD112* |
|||
4,1,8,-0.010300,0.045400,-0.045400,0.010300,-0.045400,-0.010300,-0.010300,-0.045400,0.010300,-0.045400,0.045400,-0.010300,0.045400,0.010300,0.010300,0.045400,-0.010300,0.045400,0.0* |
|||
1,1,0.029260,0.000000,0.035100* |
|||
1,1,0.029260,-0.035100,0.000000* |
|||
1,1,0.029260,0.000000,-0.035100* |
|||
1,1,0.029260,0.035100,0.000000* |
|||
% |
|||
%AMD119* |
|||
4,1,8,0.021000,0.054000,-0.021000,0.054000,-0.034000,0.041000,-0.034000,-0.041000,-0.021000,-0.054000,0.021000,-0.054000,0.034000,-0.041000,0.034000,0.041000,0.021000,0.054000,0.0* |
|||
1,1,0.026000,0.021000,0.041000* |
|||
1,1,0.026000,-0.021000,0.041000* |
|||
1,1,0.026000,-0.021000,-0.041000* |
|||
1,1,0.026000,0.021000,-0.041000* |
|||
% |
|||
%ADD104O,0.051310X0.059180*% |
|||
%ADD105O,0.114330X0.206850*% |
|||
%ADD106C,0.086740*% |
|||
%ADD107C,0.067060*% |
|||
%ADD108O,0.086740X0.126110*% |
|||
%ADD109R,0.067060X0.067060*% |
|||
%ADD110C,0.063120*% |
|||
%ADD111R,0.067060X0.067060*% |
|||
G04~CAMADD=112~8~0.0~0.0~788.7~788.7~146.3~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~45.0~992.0~991.0* |
|||
%ADD112D112*% |
|||
%ADD113C,0.078870*% |
|||
%ADD114C,0.263900*% |
|||
%ADD115C,0.244220*% |
|||
%ADD116R,0.067300X0.065940*% |
|||
%ADD117R,0.063580X0.065940*% |
|||
%ADD118R,0.118000X0.066000*% |
|||
G04~CAMADD=119~8~0.0~0.0~680.0~1080.0~130.0~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~680.0~1080.0* |
|||
%ADD119D119*% |
|||
%LNunisolder52_front-1*% |
|||
%LPD*% |
|||
G54D104* |
|||
X-00031Y-01365D03* |
|||
X-00062Y-01451D03* |
|||
X00031Y-01365D03* |
|||
X00062Y-01451D03* |
|||
X0D03* |
|||
G54D105* |
|||
X00163Y-01408D03* |
|||
X-00163D03* |
|||
G54D106* |
|||
X00662Y-00737D03* |
|||
Y-0056D03* |
|||
X00407D03* |
|||
Y-00737D03* |
|||
X-00407D03* |
|||
Y-0056D03* |
|||
X-00662D03* |
|||
Y-00737D03* |
|||
X00127D03* |
|||
Y-0056D03* |
|||
X-00127D03* |
|||
Y-00737D03* |
|||
G54D107* |
|||
X00211Y00261D03* |
|||
Y00161D03* |
|||
Y00061D03* |
|||
Y-00039D03* |
|||
Y-00139D03* |
|||
X00411Y00261D03* |
|||
Y00161D03* |
|||
Y00061D03* |
|||
Y-00039D03* |
|||
Y-00139D03* |
|||
X-015Y-00716D03* |
|||
Y-00616D03* |
|||
Y-00516D03* |
|||
Y-00416D03* |
|||
X00506Y00751D03* |
|||
X00606Y00851D03* |
|||
Y00751D03* |
|||
X00706Y00851D03* |
|||
Y00751D03* |
|||
X00806Y00851D03* |
|||
Y00751D03* |
|||
X00906Y00851D03* |
|||
Y00751D03* |
|||
X-00411Y00261D03* |
|||
Y00161D03* |
|||
Y00061D03* |
|||
Y-00039D03* |
|||
Y-00139D03* |
|||
X-00211Y00261D03* |
|||
Y00161D03* |
|||
Y00061D03* |
|||
Y-00039D03* |
|||
Y-00139D03* |
|||
X001D03* |
|||
Y-00039D03* |
|||
Y00061D03* |
|||
Y00161D03* |
|||
Y00261D03* |
|||
X-001Y-00139D03* |
|||
Y-00039D03* |
|||
Y00061D03* |
|||
Y00161D03* |
|||
Y00261D03* |
|||
G54D108* |
|||
X014Y-00283D03* |
|||
Y-00066D03* |
|||
X01235D03* |
|||
Y-00283D03* |
|||
G54D109* |
|||
X-015Y-00816D03* |
|||
G54D110* |
|||
X-00626Y-00393D03* |
|||
X-00818D03* |
|||
G54D111* |
|||
X00506Y00851D03* |
|||
G54D112* |
|||
X-00725Y-00945D03* |
|||
G54D113* |
|||
X-00906Y-01126D03* |
|||
G54D114* |
|||
X-01245Y-00875D03* |
|||
X01245D03* |
|||
G54D115* |
|||
X0Y00875D03* |
|||
G54D116* |
|||
X00177Y0016D03* |
|||
G54D117* |
|||
X-00068Y0016D03* |
|||
G54D118* |
|||
X-00413Y00161D03* |
|||
G54D119* |
|||
X-00725Y-00241D03* |
|||
M02* |
2353
hardware/gerber/unisolder52_front.gd1
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1398
hardware/gerber/unisolder52_front.gg1
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,29 @@ |
|||
%FSTAX23Y23*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD73C,0.007870*% |
|||
%LNunisolder52_front-1*% |
|||
%LPD*% |
|||
G54D73* |
|||
X-01574Y-01299D02* |
|||
Y01D01* |
|||
X01574* |
|||
Y-01299D02* |
|||
Y01D01* |
|||
X00314Y-01299D02* |
|||
X01574D01* |
|||
X00236Y-01377D02* |
|||
X00314Y-01299D01* |
|||
X00236Y-01555D02* |
|||
Y-01377D01* |
|||
X-00236Y-01555D02* |
|||
X00236D01* |
|||
X-00236D02* |
|||
Y-01377D01* |
|||
X-00314Y-01299D02* |
|||
X-00236Y-01377D01* |
|||
X-01574Y-01299D02* |
|||
X-00314D01* |
|||
M02* |
11560
hardware/gerber/unisolder52_front.gtl
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
8504
hardware/gerber/unisolder52_front.gto
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,795 @@ |
|||
%FSTAX23Y23*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%AMD79* |
|||
4,1,8,0.043400,-0.020500,0.043400,0.020500,0.034200,0.029600,-0.034200,0.029600,-0.043400,0.020500,-0.043400,-0.020500,-0.034200,-0.029600,0.034200,-0.029600,0.043400,-0.020500,0.0* |
|||
1,1,0.018240,0.034200,-0.020500* |
|||
1,1,0.018240,0.034200,0.020500* |
|||
1,1,0.018240,-0.034200,0.020500* |
|||
1,1,0.018240,-0.034200,-0.020500* |
|||
% |
|||
%AMD80* |
|||
4,1,8,0.043400,-0.031500,0.043400,0.031500,0.031500,0.043400,-0.031500,0.043400,-0.043400,0.031500,-0.043400,-0.031500,-0.031500,-0.043400,0.031500,-0.043400,0.043400,-0.031500,0.0* |
|||
1,1,0.023740,0.031500,-0.031500* |
|||
1,1,0.023740,0.031500,0.031500* |
|||
1,1,0.023740,-0.031500,0.031500* |
|||
1,1,0.023740,-0.031500,-0.031500* |
|||
% |
|||
%AMD81* |
|||
4,1,4,-0.013600,0.028400,-0.028400,0.013600,0.013600,-0.028400,0.028400,-0.013600,-0.013600,0.028400,0.0* |
|||
1,1,0.020870,-0.021000,0.021000* |
|||
1,1,0.020870,0.021000,-0.021000* |
|||
% |
|||
%AMD82* |
|||
4,1,4,0.028400,0.013600,0.013600,0.028400,-0.028400,-0.013600,-0.013600,-0.028400,0.028400,0.013600,0.0* |
|||
1,1,0.020870,0.021000,0.021000* |
|||
1,1,0.020870,-0.021000,-0.021000* |
|||
% |
|||
%AMD83* |
|||
4,1,8,0.057100,-0.048400,0.057100,0.048400,0.042500,0.063100,-0.042500,0.063100,-0.057100,0.048400,-0.057100,-0.048400,-0.042500,-0.063100,0.042500,-0.063100,0.057100,-0.048400,0.0* |
|||
1,1,0.029260,0.042500,-0.048400* |
|||
1,1,0.029260,0.042500,0.048400* |
|||
1,1,0.029260,-0.042500,0.048400* |
|||
1,1,0.029260,-0.042500,-0.048400* |
|||
% |
|||
%AMD84* |
|||
4,1,8,0.010200,0.025700,-0.010200,0.025700,-0.016800,0.019100,-0.016800,-0.019100,-0.010200,-0.025700,0.010200,-0.025700,0.016800,-0.019100,0.016800,0.019100,0.010200,0.025700,0.0* |
|||
1,1,0.013120,0.010200,0.019100* |
|||
1,1,0.013120,-0.010200,0.019100* |
|||
1,1,0.013120,-0.010200,-0.019100* |
|||
1,1,0.013120,0.010200,-0.019100* |
|||
% |
|||
%AMD85* |
|||
4,1,8,0.029600,-0.008300,0.029600,0.008300,0.022000,0.015800,-0.022000,0.015800,-0.029600,0.008300,-0.029600,-0.008300,-0.022000,-0.015800,0.022000,-0.015800,0.029600,-0.008300,0.0* |
|||
1,1,0.015080,0.022000,-0.008300* |
|||
1,1,0.015080,0.022000,0.008300* |
|||
1,1,0.015080,-0.022000,0.008300* |
|||
1,1,0.015080,-0.022000,-0.008300* |
|||
% |
|||
%AMD88* |
|||
4,1,8,-0.008300,-0.041400,0.008300,-0.041400,0.015800,-0.033900,0.015800,0.033900,0.008300,0.041400,-0.008300,0.041400,-0.015800,0.033900,-0.015800,-0.033900,-0.008300,-0.041400,0.0* |
|||
1,1,0.015080,-0.008300,-0.033900* |
|||
1,1,0.015080,0.008300,-0.033900* |
|||
1,1,0.015080,0.008300,0.033900* |
|||
1,1,0.015080,-0.008300,0.033900* |
|||
% |
|||
%AMD90* |
|||
4,1,8,-0.028600,0.026100,-0.028600,-0.026100,-0.017200,-0.037500,0.017200,-0.037500,0.028600,-0.026100,0.028600,0.026100,0.017200,0.037500,-0.017200,0.037500,-0.028600,0.026100,0.0* |
|||
1,1,0.022760,-0.017200,0.026100* |
|||
1,1,0.022760,-0.017200,-0.026100* |
|||
1,1,0.022760,0.017200,-0.026100* |
|||
1,1,0.022760,0.017200,0.026100* |
|||
% |
|||
%AMD92* |
|||
4,1,8,-0.039400,0.056300,-0.039400,-0.056300,-0.024800,-0.070900,0.024800,-0.070900,0.039400,-0.056300,0.039400,0.056300,0.024800,0.070900,-0.024800,0.070900,-0.039400,0.056300,0.0* |
|||
1,1,0.029260,-0.024800,0.056300* |
|||
1,1,0.029260,-0.024800,-0.056300* |
|||
1,1,0.029260,0.024800,-0.056300* |
|||
1,1,0.029260,0.024800,0.056300* |
|||
% |
|||
%AMD93* |
|||
4,1,8,0.021800,0.029600,-0.021800,0.029600,-0.033500,0.017900,-0.033500,-0.017900,-0.021800,-0.029600,0.021800,-0.029600,0.033500,-0.017900,0.033500,0.017900,0.021800,0.029600,0.0* |
|||
1,1,0.023360,0.021800,0.017900* |
|||
1,1,0.023360,-0.021800,0.017900* |
|||
1,1,0.023360,-0.021800,-0.017900* |
|||
1,1,0.023360,0.021800,-0.017900* |
|||
% |
|||
%AMD94* |
|||
4,1,8,-0.033100,0.020800,-0.033100,-0.020800,-0.020400,-0.033500,0.020400,-0.033500,0.033100,-0.020800,0.033100,0.020800,0.020400,0.033500,-0.020400,0.033500,-0.033100,0.020800,0.0* |
|||
1,1,0.025480,-0.020400,0.020800* |
|||
1,1,0.025480,-0.020400,-0.020800* |
|||
1,1,0.025480,0.020400,-0.020800* |
|||
1,1,0.025480,0.020400,0.020800* |
|||
% |
|||
%AMD95* |
|||
4,1,8,-0.029600,0.021800,-0.029600,-0.021800,-0.017900,-0.033500,0.017900,-0.033500,0.029600,-0.021800,0.029600,0.021800,0.017900,0.033500,-0.017900,0.033500,-0.029600,0.021800,0.0* |
|||
1,1,0.023360,-0.017900,0.021800* |
|||
1,1,0.023360,-0.017900,-0.021800* |
|||
1,1,0.023360,0.017900,-0.021800* |
|||
1,1,0.023360,0.017900,0.021800* |
|||
% |
|||
%AMD96* |
|||
4,1,8,-0.021100,0.012600,-0.021100,-0.012600,-0.012000,-0.021700,0.012000,-0.021700,0.021100,-0.012600,0.021100,0.012600,0.012000,0.021700,-0.012000,0.021700,-0.021100,0.012600,0.0* |
|||
1,1,0.018280,-0.012000,0.012600* |
|||
1,1,0.018280,-0.012000,-0.012600* |
|||
1,1,0.018280,0.012000,-0.012600* |
|||
1,1,0.018280,0.012000,0.012600* |
|||
% |
|||
%AMD97* |
|||
4,1,8,-0.013000,0.016100,-0.013000,-0.016100,-0.008100,-0.021000,0.008100,-0.021000,0.013000,-0.016100,0.013000,0.016100,0.008100,0.021000,-0.008100,0.021000,-0.013000,0.016100,0.0* |
|||
1,1,0.009800,-0.008100,0.016100* |
|||
1,1,0.009800,-0.008100,-0.016100* |
|||
1,1,0.009800,0.008100,-0.016100* |
|||
1,1,0.009800,0.008100,0.016100* |
|||
% |
|||
%AMD98* |
|||
4,1,8,-0.012600,-0.021100,0.012600,-0.021100,0.021700,-0.012000,0.021700,0.012000,0.012600,0.021100,-0.012600,0.021100,-0.021700,0.012000,-0.021700,-0.012000,-0.012600,-0.021100,0.0* |
|||
1,1,0.018280,-0.012600,-0.012000* |
|||
1,1,0.018280,0.012600,-0.012000* |
|||
1,1,0.018280,0.012600,0.012000* |
|||
1,1,0.018280,-0.012600,0.012000* |
|||
% |
|||
%AMD99* |
|||
4,1,8,0.006000,-0.023800,0.023800,-0.006000,0.023800,0.006900,0.006900,0.023800,-0.006000,0.023800,-0.023800,0.006000,-0.023800,-0.006900,-0.006900,-0.023800,0.006000,-0.023800,0.0* |
|||
1,1,0.018280,-0.000400,-0.017400* |
|||
1,1,0.018280,0.017400,0.000400* |
|||
1,1,0.018280,0.000400,0.017400* |
|||
1,1,0.018280,-0.017400,-0.000400* |
|||
% |
|||
%AMD101* |
|||
4,1,8,-0.008300,-0.029600,0.008300,-0.029600,0.015800,-0.022000,0.015800,0.022000,0.008300,0.029600,-0.008300,0.029600,-0.015800,0.022000,-0.015800,-0.022000,-0.008300,-0.029600,0.0* |
|||
1,1,0.015080,-0.008300,-0.022000* |
|||
1,1,0.015080,0.008300,-0.022000* |
|||
1,1,0.015080,0.008300,0.022000* |
|||
1,1,0.015080,-0.008300,0.022000* |
|||
% |
|||
%AMD102* |
|||
4,1,8,0.041400,-0.008300,0.041400,0.008300,0.033900,0.015800,-0.033900,0.015800,-0.041400,0.008300,-0.041400,-0.008300,-0.033900,-0.015800,0.033900,-0.015800,0.041400,-0.008300,0.0* |
|||
1,1,0.015080,0.033900,-0.008300* |
|||
1,1,0.015080,0.033900,0.008300* |
|||
1,1,0.015080,-0.033900,0.008300* |
|||
1,1,0.015080,-0.033900,-0.008300* |
|||
% |
|||
%AMD103* |
|||
4,1,8,0.036300,0.005500,0.005500,0.036300,-0.011000,0.036300,-0.036300,0.011000,-0.036300,-0.005500,-0.005500,-0.036300,0.011000,-0.036300,0.036300,-0.011000,0.036300,0.005500,0.0* |
|||
1,1,0.023360,0.028100,-0.002800* |
|||
1,1,0.023360,-0.002800,0.028100* |
|||
1,1,0.023360,-0.028100,0.002800* |
|||
1,1,0.023360,0.002800,-0.028100* |
|||
% |
|||
%AMD112* |
|||
4,1,8,-0.010300,0.045400,-0.045400,0.010300,-0.045400,-0.010300,-0.010300,-0.045400,0.010300,-0.045400,0.045400,-0.010300,0.045400,0.010300,0.010300,0.045400,-0.010300,0.045400,0.0* |
|||
1,1,0.029260,0.000000,0.035100* |
|||
1,1,0.029260,-0.035100,0.000000* |
|||
1,1,0.029260,0.000000,-0.035100* |
|||
1,1,0.029260,0.035100,0.000000* |
|||
% |
|||
%ADD74R,0.028000X0.066000*% |
|||
%ADD75R,0.022000X0.042000*% |
|||
%ADD76R,0.104000X0.046000*% |
|||
%ADD77O,0.025780X0.078930*% |
|||
%ADD78O,0.078930X0.025780*% |
|||
G04~CAMADD=79~8~0.0~0.0~591.8~867.4~91.2~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~270.0~868.0~592.0* |
|||
%ADD79D79*% |
|||
G04~CAMADD=80~8~0.0~0.0~867.4~867.4~118.7~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~270.0~868.0~868.0* |
|||
%ADD80D80*% |
|||
G04~CAMADD=81~3~0.0~0.0~208.7~803.2~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~45.0~628.0~628.0* |
|||
%ADD81D81*% |
|||
G04~CAMADD=82~3~0.0~0.0~208.7~803.2~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~315.0~628.0~628.0* |
|||
%ADD82D82*% |
|||
G04~CAMADD=83~8~0.0~0.0~1261.1~1143.0~146.3~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~270.0~1144.0~1261.0* |
|||
%ADD83D83*% |
|||
G04~CAMADD=84~8~0.0~0.0~335.9~513.1~65.6~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~335.9~513.1* |
|||
%ADD84D84*% |
|||
G04~CAMADD=85~8~0.0~0.0~316.2~591.8~75.4~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~270.0~592.0~316.0* |
|||
%ADD85D85*% |
|||
%ADD86O,0.086740X0.031620*% |
|||
%ADD87O,0.094610X0.031620*% |
|||
G04~CAMADD=88~8~0.0~0.0~316.2~828.0~75.4~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~180.0~316.0~828.0* |
|||
%ADD88D88*% |
|||
%ADD89O,0.031620X0.082800*% |
|||
G04~CAMADD=90~8~0.0~0.0~749.3~572.1~113.8~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~90.0~572.0~750.0* |
|||
%ADD90D90*% |
|||
%ADD91O,0.026240X0.077170*% |
|||
G04~CAMADD=92~8~0.0~0.0~1418.6~788.7~146.3~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~90.0~788.0~1418.0* |
|||
%ADD92D92*% |
|||
G04~CAMADD=93~8~0.0~0.0~670.6~591.8~116.8~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~670.6~591.8* |
|||
%ADD93D93*% |
|||
G04~CAMADD=94~8~0.0~0.0~670.6~662.7~127.4~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~90.0~662.0~670.0* |
|||
%ADD94D94*% |
|||
G04~CAMADD=95~8~0.0~0.0~670.6~591.8~116.8~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~90.0~592.0~671.0* |
|||
%ADD95D95*% |
|||
G04~CAMADD=96~8~0.0~0.0~434.3~422.5~91.4~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~90.0~423.0~434.0* |
|||
%ADD96D96*% |
|||
G04~CAMADD=97~8~0.0~0.0~420.0~260.0~49.0~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~90.0~260.0~420.0* |
|||
%ADD97D97*% |
|||
G04~CAMADD=98~8~0.0~0.0~434.3~422.5~91.4~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~180.0~434.0~422.0* |
|||
%ADD98D98*% |
|||
G04~CAMADD=99~8~0.0~0.0~434.3~422.5~91.4~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~225.0~529.0~528.0* |
|||
%ADD99D99*% |
|||
%ADD100O,0.082800X0.031620*% |
|||
G04~CAMADD=101~8~0.0~0.0~316.2~591.8~75.4~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~180.0~316.0~592.0* |
|||
%ADD101D101*% |
|||
G04~CAMADD=102~8~0.0~0.0~316.2~828.0~75.4~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~270.0~828.0~316.0* |
|||
%ADD102D102*% |
|||
G04~CAMADD=103~8~0.0~0.0~670.6~591.8~116.8~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~315.0~796.0~796.0* |
|||
%ADD103D103*% |
|||
%ADD104O,0.051310X0.059180*% |
|||
%ADD105O,0.114330X0.206850*% |
|||
%ADD106C,0.086740*% |
|||
%ADD107C,0.067060*% |
|||
%ADD108O,0.086740X0.126110*% |
|||
%ADD109R,0.067060X0.067060*% |
|||
%ADD110C,0.063120*% |
|||
%ADD111R,0.067060X0.067060*% |
|||
G04~CAMADD=112~8~0.0~0.0~788.7~788.7~146.3~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~45.0~992.0~991.0* |
|||
%ADD112D112*% |
|||
%ADD113C,0.078870*% |
|||
%ADD114C,0.263900*% |
|||
%ADD115C,0.244220*% |
|||
%LNunisolder52_front-1*% |
|||
%LPD*% |
|||
G54D74* |
|||
X-00542Y00301D03* |
|||
Y-0001D03* |
|||
Y00068D03* |
|||
Y-00088D03* |
|||
X-00541Y-00165D03* |
|||
X-00542Y00145D03* |
|||
Y00223D03* |
|||
G54D75* |
|||
X-00763Y00182D03* |
|||
X-00763Y00129D03* |
|||
Y00077D03* |
|||
Y-00078D03* |
|||
Y-00026D03* |
|||
Y00025D03* |
|||
G54D76* |
|||
X-00884Y0061D03* |
|||
Y00516D03* |
|||
G54D77* |
|||
X01394Y00271D03* |
|||
X01368D03* |
|||
X01342D03* |
|||
X01317D03* |
|||
X01189Y00496D03* |
|||
X01163D03* |
|||
Y00271D03* |
|||
X01189D03* |
|||
X01215D03* |
|||
X0124D03* |
|||
X01266D03* |
|||
X01291D03* |
|||
X01215Y00496D03* |
|||
X0124D03* |
|||
X01266D03* |
|||
X01291D03* |
|||
X01317D03* |
|||
X01342D03* |
|||
X01368D03* |
|||
X01394D03* |
|||
G54D78* |
|||
X00605Y-00985D03* |
|||
Y-0096D03* |
|||
Y-00934D03* |
|||
Y-00909D03* |
|||
Y-00883D03* |
|||
Y-00857D03* |
|||
Y-00832D03* |
|||
X0038Y-00985D03* |
|||
Y-0096D03* |
|||
Y-00934D03* |
|||
Y-00909D03* |
|||
Y-00883D03* |
|||
Y-00857D03* |
|||
Y-00832D03* |
|||
G54D79* |
|||
X01059Y-00198D03* |
|||
Y-00107D03* |
|||
G54D80* |
|||
X00902Y-00153D03* |
|||
G54D81* |
|||
X-01252Y00074D03* |
|||
X-01266Y0006D03* |
|||
X-01279Y00047D03* |
|||
X-01293Y00033D03* |
|||
X-01307Y00019D03* |
|||
X-01321Y00005D03* |
|||
X-01335Y-00008D03* |
|||
X-01349Y-00022D03* |
|||
X-01363Y-00036D03* |
|||
X-01377Y-0005D03* |
|||
X-01391Y-00064D03* |
|||
X-01405Y-00078D03* |
|||
X-01419Y-00092D03* |
|||
X-01433Y-00106D03* |
|||
X-01446Y-00119D03* |
|||
X-0146Y-00133D03* |
|||
X-01151Y-00442D03* |
|||
X-01137Y-00428D03* |
|||
X-01124Y-00415D03* |
|||
X-0111Y-00401D03* |
|||
X-01096Y-00387D03* |
|||
X-01082Y-00373D03* |
|||
X-01068Y-00359D03* |
|||
X-01054Y-00345D03* |
|||
X-0104Y-00331D03* |
|||
X-01026Y-00317D03* |
|||
X-01012Y-00303D03* |
|||
X-00998Y-00289D03* |
|||
X-00984Y-00275D03* |
|||
X-0097Y-00261D03* |
|||
X-00957Y-00248D03* |
|||
X-00943Y-00234D03* |
|||
G54D82* |
|||
X-0146Y-00234D03* |
|||
X-01446Y-00248D03* |
|||
X-01433Y-00261D03* |
|||
X-01419Y-00275D03* |
|||
X-01405Y-00289D03* |
|||
X-01391Y-00303D03* |
|||
X-01377Y-00317D03* |
|||
X-01363Y-00331D03* |
|||
X-01349Y-00345D03* |
|||
X-01335Y-00359D03* |
|||
X-01321Y-00373D03* |
|||
X-01307Y-00387D03* |
|||
X-01293Y-00401D03* |
|||
X-01279Y-00415D03* |
|||
X-01266Y-00428D03* |
|||
X-01252Y-00442D03* |
|||
X-00943Y-00133D03* |
|||
X-00957Y-00119D03* |
|||
X-0097Y-00106D03* |
|||
X-00984Y-00092D03* |
|||
X-00998Y-00078D03* |
|||
X-01012Y-00064D03* |
|||
X-01026Y-0005D03* |
|||
X-0104Y-00036D03* |
|||
X-01054Y-00022D03* |
|||
X-01068Y-00008D03* |
|||
X-01082Y00005D03* |
|||
X-01096Y00019D03* |
|||
X-0111Y00033D03* |
|||
X-01124Y00047D03* |
|||
X-01137Y0006D03* |
|||
X-01151Y00074D03* |
|||
G54D83* |
|||
X-00883Y-00988D03* |
|||
Y-00704D03* |
|||
X01428Y-0042D03* |
|||
Y-00703D03* |
|||
G54D84* |
|||
X-00846Y00515D03* |
|||
X-00884D03* |
|||
X-00921D03* |
|||
Y0061D03* |
|||
X-00884D03* |
|||
X-00846D03* |
|||
G54D85* |
|||
X-00642Y-01095D03* |
|||
Y-0102D03* |
|||
X-00725Y-01058D03* |
|||
X00823Y-00919D03* |
|||
X0074Y-00956D03* |
|||
Y-00881D03* |
|||
X01061Y-00427D03* |
|||
X01144Y-00389D03* |
|||
Y-00464D03* |
|||
X00848Y-00428D03* |
|||
X00765Y-00465D03* |
|||
Y-0039D03* |
|||
X00848Y-00588D03* |
|||
X00765Y-00625D03* |
|||
Y-0055D03* |
|||
X-01381Y-01162D03* |
|||
X-01464Y-01199D03* |
|||
Y-01124D03* |
|||
X01056Y00813D03* |
|||
Y00739D03* |
|||
X01138Y00776D03* |
|||
X-0112Y-00648D03* |
|||
X-01037Y-00611D03* |
|||
Y-00686D03* |
|||
X01206Y-00563D03* |
|||
X01289Y-00526D03* |
|||
Y-00601D03* |
|||
X01206Y-00424D03* |
|||
X01289Y-00386D03* |
|||
Y-00461D03* |
|||
G54D86* |
|||
X00009Y-01237D03* |
|||
Y-01187D03* |
|||
Y-01137D03* |
|||
Y-01087D03* |
|||
Y-01037D03* |
|||
Y-00987D03* |
|||
Y-00937D03* |
|||
Y-00887D03* |
|||
X-00361Y-01237D03* |
|||
Y-01187D03* |
|||
Y-01137D03* |
|||
Y-01087D03* |
|||
Y-01037D03* |
|||
Y-00987D03* |
|||
Y-00937D03* |
|||
Y-00887D03* |
|||
G54D87* |
|||
X-00857Y00207D03* |
|||
Y00157D03* |
|||
Y00107D03* |
|||
Y00057D03* |
|||
Y00007D03* |
|||
Y-00043D03* |
|||
Y-00093D03* |
|||
Y-00143D03* |
|||
X-00668Y00207D03* |
|||
Y00157D03* |
|||
Y00107D03* |
|||
Y00057D03* |
|||
Y00007D03* |
|||
Y-00043D03* |
|||
Y-00093D03* |
|||
Y-00143D03* |
|||
G54D88* |
|||
X-006Y0055D03* |
|||
X00889Y-01071D03* |
|||
G54D89* |
|||
X-0055Y0055D03* |
|||
X-005D03* |
|||
X-0045D03* |
|||
X-006Y00736D03* |
|||
X-0055D03* |
|||
X-005D03* |
|||
X-0045D03* |
|||
X01042Y00457D03* |
|||
X00992D03* |
|||
X00942D03* |
|||
X00892D03* |
|||
X01042Y00272D03* |
|||
X00992D03* |
|||
X00942D03* |
|||
X00892D03* |
|||
X00939Y-01071D03* |
|||
X00989D03* |
|||
X01039D03* |
|||
X00889Y-00886D03* |
|||
X00939D03* |
|||
X00989D03* |
|||
X01039D03* |
|||
G54D90* |
|||
X-01335Y00892D03* |
|||
X-01475D03* |
|||
G54D91* |
|||
X-00383Y00611D03* |
|||
X-00357D03* |
|||
X-00332D03* |
|||
X-00306D03* |
|||
X-00383Y00777D03* |
|||
X-00357D03* |
|||
X-00332D03* |
|||
X-00306D03* |
|||
G54D92* |
|||
X0048Y-01208D03* |
|||
X0024D03* |
|||
G54D93* |
|||
X-0075Y00826D03* |
|||
Y00751D03* |
|||
X01335Y00687D03* |
|||
Y00761D03* |
|||
X-00238Y0056D03* |
|||
Y00634D03* |
|||
X01235Y00056D03* |
|||
Y0013D03* |
|||
X-01383Y0043D03* |
|||
Y00505D03* |
|||
X-01461Y00446D03* |
|||
Y00371D03* |
|||
X01107Y00273D03* |
|||
Y00348D03* |
|||
X00814Y-00273D03* |
|||
Y-00198D03* |
|||
X-01445Y00572D03* |
|||
Y00647D03* |
|||
X00689Y-01039D03* |
|||
Y-01114D03* |
|||
X-00995Y00163D03* |
|||
Y00088D03* |
|||
X-01367Y00734D03* |
|||
Y00659D03* |
|||
X-01422Y-00721D03* |
|||
Y-00646D03* |
|||
X00228Y-00641D03* |
|||
Y-00716D03* |
|||
X-00224Y-00661D03* |
|||
Y-00736D03* |
|||
X-00312Y-00681D03* |
|||
Y-00756D03* |
|||
X00948Y00116D03* |
|||
Y00191D03* |
|||
X00983Y00779D03* |
|||
Y00854D03* |
|||
X00375Y00816D03* |
|||
Y00891D03* |
|||
X0051Y-00097D03* |
|||
Y-00022D03* |
|||
X-0075Y006D03* |
|||
Y00675D03* |
|||
X-00673Y00693D03* |
|||
Y00767D03* |
|||
X-01048Y00719D03* |
|||
Y00644D03* |
|||
X-00673Y00549D03* |
|||
Y00623D03* |
|||
X00814Y-00129D03* |
|||
Y-00054D03* |
|||
X-00828Y00809D03* |
|||
Y00734D03* |
|||
X01312Y00056D03* |
|||
Y0013D03* |
|||
X00702Y0012D03* |
|||
Y00195D03* |
|||
X00824Y-01015D03* |
|||
Y-0109D03* |
|||
X00705Y00468D03* |
|||
Y00543D03* |
|||
X00601Y00462D03* |
|||
Y00537D03* |
|||
G54D94* |
|||
X-00508Y00301D03* |
|||
X-00575D03* |
|||
X-00508Y-0001D03* |
|||
X-00575D03* |
|||
X-00508Y00068D03* |
|||
X-00575D03* |
|||
X-00508Y-00088D03* |
|||
X-00575D03* |
|||
X-00507Y-00165D03* |
|||
X-00575D03* |
|||
X-00508Y00145D03* |
|||
X-00575D03* |
|||
X-00508Y00223D03* |
|||
X-00575D03* |
|||
G54D95* |
|||
X00357Y00743D03* |
|||
X00432D03* |
|||
X-01279Y-01102D03* |
|||
X-01354D03* |
|||
X00005Y0051D03* |
|||
X0008D03* |
|||
X01238Y00716D03* |
|||
X01163D03* |
|||
X-01307Y00305D03* |
|||
X-01382D03* |
|||
X00917Y-0036D03* |
|||
X00992D03* |
|||
X00917Y-00644D03* |
|||
X00992D03* |
|||
X00917Y-00439D03* |
|||
X00992D03* |
|||
X00917Y-00565D03* |
|||
X00992D03* |
|||
X-01063Y0053D03* |
|||
X-00988D03* |
|||
X-01062Y00452D03* |
|||
X-00987D03* |
|||
X-01305Y00808D03* |
|||
X-01379D03* |
|||
X-01311Y-0118D03* |
|||
X-01236D03* |
|||
X-0145Y0072D03* |
|||
X-01525D03* |
|||
X00924Y00543D03* |
|||
X00999D03* |
|||
X-01191Y00895D03* |
|||
X-01266D03* |
|||
X01131Y00887D03* |
|||
X01056D03* |
|||
X-01524Y00803D03* |
|||
X-0145D03* |
|||
X00787Y00187D03* |
|||
X00862D03* |
|||
Y00109D03* |
|||
X00787D03* |
|||
X00092Y-01043D03* |
|||
X00167D03* |
|||
X00092Y-00965D03* |
|||
X00167D03* |
|||
X00876Y-00786D03* |
|||
X00951D03* |
|||
X00752Y00937D03* |
|||
X00827D03* |
|||
X00606D03* |
|||
X00681D03* |
|||
G54D96* |
|||
X00413Y-00437D03* |
|||
X00361D03* |
|||
X01306Y00196D03* |
|||
X01359D03* |
|||
X-0098Y-00456D03* |
|||
X-00927D03* |
|||
X00642Y-00472D03* |
|||
X00694D03* |
|||
X-01219Y00458D03* |
|||
X-01271D03* |
|||
X-01196Y-006D03* |
|||
X-01144D03* |
|||
X-00935Y00668D03* |
|||
X-00883D03* |
|||
X-00593Y0081D03* |
|||
X-0054D03* |
|||
X-00797Y00484D03* |
|||
X-00745D03* |
|||
X01252Y00572D03* |
|||
X01305D03* |
|||
X00083Y-01214D03* |
|||
X00136D03* |
|||
X00135Y-01109D03* |
|||
X00082D03* |
|||
X-00297Y-00409D03* |
|||
X-00245D03* |
|||
G54D97* |
|||
X-0075Y00182D03* |
|||
X-00776D03* |
|||
X-00776Y00129D03* |
|||
X-0075D03* |
|||
Y00077D03* |
|||
X-00776D03* |
|||
Y-00078D03* |
|||
X-0075D03* |
|||
Y-00026D03* |
|||
X-00776D03* |
|||
Y00025D03* |
|||
X-0075D03* |
|||
G54D98* |
|||
X-01521Y-00198D03* |
|||
Y-00145D03* |
|||
X-01388Y-00499D03* |
|||
Y-00446D03* |
|||
X00677Y-00925D03* |
|||
Y-00978D03* |
|||
X-00103Y-00387D03* |
|||
Y-0044D03* |
|||
X0032Y-00794D03* |
|||
Y-00741D03* |
|||
X01062Y00147D03* |
|||
Y002D03* |
|||
X00636Y00206D03* |
|||
Y00153D03* |
|||
X-01061Y00146D03* |
|||
Y00093D03* |
|||
X-0141Y00038D03* |
|||
Y00091D03* |
|||
X00814Y-00758D03* |
|||
Y-0081D03* |
|||
X-01016Y-00733D03* |
|||
Y-00786D03* |
|||
X-00525Y-01001D03* |
|||
Y-01053D03* |
|||
X-00755Y-00411D03* |
|||
Y-00358D03* |
|||
X-00691D03* |
|||
Y-00411D03* |
|||
X00844Y00455D03* |
|||
Y00508D03* |
|||
X-00448Y-01D03* |
|||
Y-01053D03* |
|||
G54D99* |
|||
X-01482Y-00323D03* |
|||
X-01445Y-0036D03* |
|||
G54D100* |
|||
X-00029Y-00292D03* |
|||
Y-00342D03* |
|||
Y-00392D03* |
|||
Y-00442D03* |
|||
X00155Y-00292D03* |
|||
Y-00342D03* |
|||
Y-00392D03* |
|||
Y-00442D03* |
|||
X00603Y00407D03* |
|||
Y00357D03* |
|||
Y00307D03* |
|||
Y00257D03* |
|||
X00788Y00407D03* |
|||
Y00357D03* |
|||
Y00307D03* |
|||
G54D101* |
|||
X01104Y-00595D03* |
|||
X01141Y-00678D03* |
|||
X01066D03* |
|||
X00514Y-00282D03* |
|||
X00551Y-00365D03* |
|||
X00476D03* |
|||
X00376Y-00282D03* |
|||
X00413Y-00365D03* |
|||
X00338D03* |
|||
X-00373Y-00348D03* |
|||
X-00298D03* |
|||
X-00336Y-00265D03* |
|||
X00274Y00894D03* |
|||
X00311Y00811D03* |
|||
X00236D03* |
|||
X01225D03* |
|||
X01187Y00894D03* |
|||
X01262D03* |
|||
X00586Y-00248D03* |
|||
X00548Y-00165D03* |
|||
X00623D03* |
|||
X-00538Y-01228D03* |
|||
X-00575Y-01145D03* |
|||
X-00501D03* |
|||
G54D102* |
|||
X00788Y00257D03* |
|||
G54D103* |
|||
X-01186Y00592D03* |
|||
X-01239Y00539D03* |
|||
G54D104* |
|||
X-00031Y-01365D03* |
|||
X-00062Y-01451D03* |
|||
X00031Y-01365D03* |
|||
X00062Y-01451D03* |
|||
X0D03* |
|||
G54D105* |
|||
X00163Y-01408D03* |
|||
X-00163D03* |
|||
G54D106* |
|||
X00662Y-00737D03* |
|||
Y-0056D03* |
|||
X00407D03* |
|||
Y-00737D03* |
|||
X-00407D03* |
|||
Y-0056D03* |
|||
X-00662D03* |
|||
Y-00737D03* |
|||
X00127D03* |
|||
Y-0056D03* |
|||
X-00127D03* |
|||
Y-00737D03* |
|||
G54D107* |
|||
X00211Y00261D03* |
|||
Y00161D03* |
|||
Y00061D03* |
|||
Y-00039D03* |
|||
Y-00139D03* |
|||
X00411Y00261D03* |
|||
Y00161D03* |
|||
Y00061D03* |
|||
Y-00039D03* |
|||
Y-00139D03* |
|||
X-015Y-00716D03* |
|||
Y-00616D03* |
|||
Y-00516D03* |
|||
Y-00416D03* |
|||
X00506Y00751D03* |
|||
X00606Y00851D03* |
|||
Y00751D03* |
|||
X00706Y00851D03* |
|||
Y00751D03* |
|||
X00806Y00851D03* |
|||
Y00751D03* |
|||
X00906Y00851D03* |
|||
Y00751D03* |
|||
X-00411Y00261D03* |
|||
Y00161D03* |
|||
Y00061D03* |
|||
Y-00039D03* |
|||
Y-00139D03* |
|||
X-00211Y00261D03* |
|||
Y00161D03* |
|||
Y00061D03* |
|||
Y-00039D03* |
|||
Y-00139D03* |
|||
X001D03* |
|||
Y-00039D03* |
|||
Y00061D03* |
|||
Y00161D03* |
|||
Y00261D03* |
|||
X-001Y-00139D03* |
|||
Y-00039D03* |
|||
Y00061D03* |
|||
Y00161D03* |
|||
Y00261D03* |
|||
G54D108* |
|||
X014Y-00283D03* |
|||
Y-00066D03* |
|||
X01235D03* |
|||
Y-00283D03* |
|||
G54D109* |
|||
X-015Y-00816D03* |
|||
G54D110* |
|||
X-00626Y-00393D03* |
|||
X-00818D03* |
|||
G54D111* |
|||
X00506Y00851D03* |
|||
G54D112* |
|||
X-00725Y-00945D03* |
|||
G54D113* |
|||
X-00906Y-01126D03* |
|||
G54D114* |
|||
X-01245Y-00875D03* |
|||
X01245D03* |
|||
G54D115* |
|||
X0Y00875D03* |
|||
M02* |
@ -0,0 +1,369 @@ |
|||
%FSTAX23Y23*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD9500C,0.027990*% |
|||
%ADD9501C,0.031500*% |
|||
%ADD9502C,0.035430*% |
|||
%ADD9503C,0.039370*% |
|||
%ADD9504C,0.055120*% |
|||
%ADD9505C,0.090550*% |
|||
%ADD9506C,0.137800*% |
|||
%LNunisolder52_front-1*% |
|||
%LPD*% |
|||
G54D9500* |
|||
X-00062Y-01451D03* |
|||
X0D03* |
|||
X00062D03* |
|||
X00031Y-01365D03* |
|||
X-00031D03* |
|||
X-01525Y-0116D03* |
|||
X-01421Y-01079D03* |
|||
X-01409Y-00976D03* |
|||
X-01484Y-00988D03* |
|||
X-015Y-00901D03* |
|||
X-01358Y-00717D03* |
|||
X-01359Y-00609D03* |
|||
X-01275Y-0057D03* |
|||
X-01094Y-00602D03* |
|||
X-01079Y-00733D03* |
|||
X-01027Y-00866D03* |
|||
X-01119Y-01014D03* |
|||
X-01075Y-01063D03* |
|||
X-01029Y-01119D03* |
|||
X-0121Y-01112D03* |
|||
X-01166Y-01237D03* |
|||
X-01421Y-01248D03* |
|||
X-00933Y-0124D03* |
|||
X-00704Y-01244D03* |
|||
X-00669Y-01146D03* |
|||
X-00736Y-01102D03* |
|||
X-00728Y-00831D03* |
|||
X-00759Y-00731D03* |
|||
X-00884Y-00803D03* |
|||
X-00887Y-00879D03* |
|||
X-01008Y-00997D03* |
|||
X-0097Y-00661D03* |
|||
X-00925Y-00563D03* |
|||
X-00869Y-00589D03* |
|||
X-00583Y-00621D03* |
|||
X-00508Y-00696D03* |
|||
X-00604Y-00797D03* |
|||
X-00639Y-00909D03* |
|||
X-00499Y-00926D03* |
|||
X-00432Y-00824D03* |
|||
X-00206Y-00807D03* |
|||
X-00049Y-00757D03* |
|||
X00039D03* |
|||
X00063Y-00663D03* |
|||
X-00064Y-00664D03* |
|||
X00201Y-00789D03* |
|||
X00268Y-0081D03* |
|||
X00315Y-00846D03* |
|||
X00314Y-00926D03* |
|||
X00502Y-00918D03* |
|||
X00461Y-01002D03* |
|||
X00403Y-01053D03* |
|||
X00393Y-012D03* |
|||
X00243Y-01104D03* |
|||
X00129Y-01162D03* |
|||
X00075D03* |
|||
X-00068Y-01151D03* |
|||
X-00108Y-01259D03* |
|||
X00032Y-01284D03* |
|||
X00231Y-01308D03* |
|||
X00091Y-01507D03* |
|||
X-00092D03* |
|||
X-00254Y-01157D03* |
|||
X-00251Y-00976D03* |
|||
X-00455Y-01123D03* |
|||
X-00471Y-01249D03* |
|||
X00363Y-00674D03* |
|||
X00461Y-00677D03* |
|||
X00474Y-00784D03* |
|||
X006Y-00782D03* |
|||
X00618Y-00621D03* |
|||
X00815Y-00679D03* |
|||
X00996Y-00707D03* |
|||
X01056Y-00595D03* |
|||
X0119Y-00694D03* |
|||
X01332Y-00689D03* |
|||
X01525Y-00587D03* |
|||
X01501Y-00829D03* |
|||
X01429Y-00945D03* |
|||
X0141Y-01234D03* |
|||
X01181Y-0123D03* |
|||
X00981Y-01251D03* |
|||
X01003Y-01159D03* |
|||
X00967Y-01002D03* |
|||
X00888Y-01001D03* |
|||
X00927Y-00956D03* |
|||
X00753Y-01006D03* |
|||
X00756Y-01141D03* |
|||
X00778Y-01251D03* |
|||
X00562Y-01234D03* |
|||
X00622Y-01088D03* |
|||
X00624Y-01027D03* |
|||
X01112Y-01012D03* |
|||
X01066Y-00819D03* |
|||
X01082Y-00473D03* |
|||
X01063Y-0038D03* |
|||
X01045Y-00288D03* |
|||
X00984Y-00155D03* |
|||
X0089Y-0007D03* |
|||
X00877Y-00231D03* |
|||
X00732Y-00141D03* |
|||
X00638Y-00232D03* |
|||
X0063Y-0005D03* |
|||
X00614Y00056D03* |
|||
X00585Y00156D03* |
|||
X00588Y00215D03* |
|||
X00689Y0032D03* |
|||
X00901Y00338D03* |
|||
X00856Y00408D03* |
|||
X00792Y00454D03* |
|||
X00845Y00596D03* |
|||
X00744Y00603D03* |
|||
X00685D03* |
|||
X00623Y00599D03* |
|||
X00666Y00801D03* |
|||
X00746D03* |
|||
X00961Y00718D03* |
|||
X01071Y00617D03* |
|||
X0106Y00558D03* |
|||
X01094Y00411D03* |
|||
X01179Y00425D03* |
|||
X01262Y00407D03* |
|||
X01354Y00418D03* |
|||
Y00358D03* |
|||
X01216Y00337D03* |
|||
X01194Y00204D03* |
|||
X01258D03* |
|||
X01417Y00209D03* |
|||
X01424Y00048D03* |
|||
X01406Y-00176D03* |
|||
X01511Y-00167D03* |
|||
X01475Y-00321D03* |
|||
X01339Y-00423D03* |
|||
X01427Y-0053D03* |
|||
X01305Y-00122D03* |
|||
X01171Y-00126D03* |
|||
X01169Y00002D03* |
|||
X01045Y-00018D03* |
|||
X01017Y00101D03* |
|||
X01014Y00203D03* |
|||
X00969Y00392D03* |
|||
X01149Y00653D03* |
|||
X0125Y00621D03* |
|||
X01309D03* |
|||
X01417Y00636D03* |
|||
X0141Y00577D03* |
|||
X01457Y00508D03* |
|||
X0142Y00707D03* |
|||
X01447Y0088D03* |
|||
X01351Y00862D03* |
|||
X01271Y00834D03* |
|||
X01177Y00827D03* |
|||
X01116Y00822D03* |
|||
X00986Y00956D03* |
|||
X00776Y00038D03* |
|||
X0074Y-00329D03* |
|||
X00692Y-00419D03* |
|||
X00585Y-00487D03* |
|||
X00822Y-00541D03* |
|||
X00462Y-00492D03* |
|||
X00292Y-00499D03* |
|||
X0018D03* |
|||
X00059Y-00417D03* |
|||
X00032Y-00321D03* |
|||
X00081Y-00277D03* |
|||
X-00034Y-00245D03* |
|||
X-00091Y-00313D03* |
|||
X-00162Y-00298D03* |
|||
X-00244Y-00352D03* |
|||
X-00292Y-0027D03* |
|||
X-00389Y-00247D03* |
|||
X-00465Y-00294D03* |
|||
X-00442Y-00495D03* |
|||
X-00384Y-00449D03* |
|||
X-00243Y-00496D03* |
|||
X-00052Y-00495D03* |
|||
X-00047Y-00089D03* |
|||
X-00358Y-0009D03* |
|||
X-00763Y-0013D03* |
|||
X-00777Y-0031D03* |
|||
X-00762Y-00503D03* |
|||
X-00872Y-00462D03* |
|||
X-00566Y-00458D03* |
|||
X-00924Y-00183D03* |
|||
X-00937Y00201D03* |
|||
X-00899Y00384D03* |
|||
X-01002D03* |
|||
X-00924Y00462D03* |
|||
X-00865Y00461D03* |
|||
X-00803Y00533D03* |
|||
X-00745Y00539D03* |
|||
X-0077Y00381D03* |
|||
X-00821Y00666D03* |
|||
X-00924Y00726D03* |
|||
X-00981Y00744D03* |
|||
X-00968Y00828D03* |
|||
X-00977Y00595D03* |
|||
X-00609Y00623D03* |
|||
X-00515Y00651D03* |
|||
X-00427Y00618D03* |
|||
X-00406Y00508D03* |
|||
X-00326Y00522D03* |
|||
X-0027Y00501D03* |
|||
X-00186Y00508D03* |
|||
X-00128Y00576D03* |
|||
X-00055Y00495D03* |
|||
X00141Y00496D03* |
|||
X00194Y00529D03* |
|||
X00226Y00588D03* |
|||
X00279D03* |
|||
X00339Y00645D03* |
|||
X00405Y00665D03* |
|||
X00297Y00739D03* |
|||
X00197Y00681D03* |
|||
X00226Y00876D03* |
|||
X00155Y00958D03* |
|||
X-00161D03* |
|||
X-00256Y00873D03* |
|||
X-00417Y00827D03* |
|||
X-00475Y00802D03* |
|||
X-00645Y00827D03* |
|||
X-00319Y00692D03* |
|||
X00282Y00436D03* |
|||
X00405Y00369D03* |
|||
X00347Y00285D03* |
|||
X00355Y00191D03* |
|||
Y00091D03* |
|||
X00358Y-00002D03* |
|||
X00306Y-00132D03* |
|||
X00328Y-00227D03* |
|||
X00327Y-00292D03* |
|||
X00285Y-00353D03* |
|||
X00477Y-00243D03* |
|||
X005Y-00166D03* |
|||
X00539Y00282D03* |
|||
X00537Y00456D03* |
|||
X00536Y00517D03* |
|||
X00522Y00958D03* |
|||
X00439Y00886D03* |
|||
X-01058Y00914D03* |
|||
X-01083Y00826D03* |
|||
X-01176Y00791D03* |
|||
X-01303Y00744D03* |
|||
X-0141Y00917D03* |
|||
X-01187Y0096D03* |
|||
X-01134Y00625D03* |
|||
X-01171Y00517D03* |
|||
X-01116Y00448D03* |
|||
X-01177Y00333D03* |
|||
X-01274Y00406D03* |
|||
X-01397Y0037D03* |
|||
X-01445Y00312D03* |
|||
X-01403Y00192D03* |
|||
X-0117Y00113D03* |
|||
X-01054Y00201D03* |
|||
X-01108Y-00096D03* |
|||
X-01133Y-00164D03* |
|||
X-01036Y-0018D03* |
|||
X-01089Y-00277D03* |
|||
X-01205Y-00251D03* |
|||
X-01232Y-00329D03* |
|||
X-01279Y-00293D03* |
|||
X-01276Y-00202D03* |
|||
X-01349Y-00249D03* |
|||
X-01353Y-00125D03* |
|||
X-01288Y-00076D03* |
|||
X-01254Y-00026D03* |
|||
X-01194Y-00087D03* |
|||
X-01202Y-00394D03* |
|||
X-01407Y-00395D03* |
|||
X-01437Y-0054D03* |
|||
X-0131Y-00513D03* |
|||
X-01112Y-00523D03* |
|||
X-01469Y-00184D03* |
|||
X-01524Y-00088D03* |
|||
X-01455Y00511D03* |
|||
X-0153Y00657D03* |
|||
G54D9501* |
|||
X-00818Y-00393D03* |
|||
X-00626D03* |
|||
G54D9502* |
|||
X-015Y-00816D03* |
|||
Y-00716D03* |
|||
Y-00616D03* |
|||
X-00725Y-00945D03* |
|||
X-00906Y-01126D03* |
|||
X00606Y00751D03* |
|||
Y00851D03* |
|||
X00706D03* |
|||
Y00751D03* |
|||
X00806D03* |
|||
Y00851D03* |
|||
X00906D03* |
|||
Y00751D03* |
|||
X00506D03* |
|||
Y00851D03* |
|||
X00411Y00261D03* |
|||
Y00161D03* |
|||
Y00061D03* |
|||
Y-00039D03* |
|||
Y-00139D03* |
|||
X00211D03* |
|||
Y-00039D03* |
|||
Y00061D03* |
|||
Y00161D03* |
|||
Y00261D03* |
|||
X001D03* |
|||
Y00161D03* |
|||
Y00061D03* |
|||
Y-00039D03* |
|||
Y-00139D03* |
|||
X-001D03* |
|||
Y-00039D03* |
|||
Y00061D03* |
|||
Y00161D03* |
|||
Y00261D03* |
|||
X-00211D03* |
|||
Y00161D03* |
|||
Y00061D03* |
|||
Y-00039D03* |
|||
Y-00139D03* |
|||
X-00411D03* |
|||
Y-00039D03* |
|||
Y00061D03* |
|||
Y00161D03* |
|||
Y00261D03* |
|||
X-015Y-00416D03* |
|||
Y-00516D03* |
|||
G54D9503* |
|||
X-00662Y-00737D03* |
|||
X-00407D03* |
|||
X-00127D03* |
|||
X00127D03* |
|||
X00407D03* |
|||
X00662D03* |
|||
Y-0056D03* |
|||
X00407D03* |
|||
X00127D03* |
|||
X-00127D03* |
|||
X-00407D03* |
|||
X-00662D03* |
|||
G54D9504* |
|||
X01235Y-00283D03* |
|||
X014D03* |
|||
Y-00066D03* |
|||
X01235D03* |
|||
G54D9505* |
|||
X-00163Y-01408D03* |
|||
X00163D03* |
|||
G54D9506* |
|||
X-01245Y-00875D03* |
|||
X01245D03* |
|||
X0Y00875D03* |
|||
M02* |
9357
hardware/gerber/unisolder52_full.gbl
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,218 @@ |
|||
%FSTAX25Y25*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD58C,0.012000*% |
|||
%ADD65C,0.010000*% |
|||
%ADD117C,0.008000*% |
|||
%ADD118C,0.007870*% |
|||
%LNunisolder52_full-1*% |
|||
%LPD*% |
|||
G54D58* |
|||
X015187Y0458661D02* |
|||
Y0466161D01* |
|||
X0143996Y0450787D02* |
|||
X015187Y0458661D01* |
|||
X0136496Y0450787D02* |
|||
X0143996D01* |
|||
X015187Y0388169D02* |
|||
Y0395669D01* |
|||
X0143996Y0403543D02* |
|||
X015187Y0395669D01* |
|||
X0136496Y0403543D02* |
|||
X0143996D01* |
|||
X038189Y0577146D02* |
|||
Y0584646D01* |
|||
X037439D02* |
|||
X038189D01* |
|||
Y0269685D02* |
|||
Y0277185D01* |
|||
X037439Y0269685D02* |
|||
X038189D01* |
|||
X015187D02* |
|||
X015937D01* |
|||
X015187D02* |
|||
Y0277185D01* |
|||
Y0577146D02* |
|||
Y0584646D01* |
|||
X015937* |
|||
X0126279Y0443287D02* |
|||
Y0450787D01* |
|||
X013378* |
|||
X0126279Y0403543D02* |
|||
X013378D01* |
|||
X0126279D02* |
|||
Y0411043D01* |
|||
G54D65* |
|||
X0244213Y0315641D02* |
|||
X0283583D01* |
|||
Y0274598D02* |
|||
Y0315641D01* |
|||
X0244213Y0274598D02* |
|||
X0283583D01* |
|||
X0244213D02* |
|||
Y0315641D01* |
|||
X05Y0327095D02* |
|||
Y0342094D01* |
|||
Y0281594D02* |
|||
Y0317094D01* |
|||
X0447Y0281594D02* |
|||
Y0317094D01* |
|||
Y0327095D02* |
|||
Y0342094D01* |
|||
X05* |
|||
X0447Y0281594D02* |
|||
X05D01* |
|||
G54D117* |
|||
X025139Y0511921D02* |
|||
D01* |
|||
X0251368Y0512541* |
|||
X0251303Y0513159* |
|||
X0251195Y0513771* |
|||
X0251045Y0514374* |
|||
X0250853Y0514964* |
|||
X025062Y051554* |
|||
X0250348Y0516099* |
|||
X0250037Y0516637* |
|||
X024969Y0517152* |
|||
X0249307Y0517641* |
|||
X0248892Y0518103* |
|||
X0248445Y0518534* |
|||
X0247969Y0518934* |
|||
X0247466Y0519299* |
|||
X024694Y0519628* |
|||
X0246391Y051992* |
|||
X0245823Y0520172* |
|||
X024524Y0520385* |
|||
X0244643Y0520556* |
|||
X0244035Y0520685* |
|||
X024342Y0520772* |
|||
X02428Y0520815* |
|||
X0242179* |
|||
X0241559Y0520772* |
|||
X0240944Y0520685* |
|||
X0240336Y0520556* |
|||
X0239739Y0520385* |
|||
X0239156Y0520172* |
|||
X0238588Y051992* |
|||
X023804Y0519628* |
|||
X0237513Y0519299* |
|||
X023701Y0518934* |
|||
X0236534Y0518534* |
|||
X0236087Y0518103* |
|||
X0235672Y0517641* |
|||
X0235289Y0517152* |
|||
X0234942Y0516637* |
|||
X0234631Y0516099* |
|||
X0234359Y051554* |
|||
X0234126Y0514964* |
|||
X0233934Y0514374* |
|||
X0233784Y0513771* |
|||
X0233676Y0513159* |
|||
X0233611Y0512541* |
|||
X023359Y0511921* |
|||
Y0486921D02* |
|||
D01* |
|||
X0233611Y04863* |
|||
X0233676Y0485682* |
|||
X0233784Y048507* |
|||
X0233934Y0484467* |
|||
X0234126Y0483877* |
|||
X0234359Y0483301* |
|||
X0234631Y0482742* |
|||
X0234942Y0482204* |
|||
X0235289Y0481689* |
|||
X0235672Y04812* |
|||
X0236087Y0480738* |
|||
X0236534Y0480307* |
|||
X023701Y0479907* |
|||
X0237513Y0479542* |
|||
X023804Y0479213* |
|||
X0238588Y0478921* |
|||
X0239156Y0478669* |
|||
X0239739Y0478456* |
|||
X0240336Y0478285* |
|||
X0240944Y0478156* |
|||
X0241559Y0478069* |
|||
X0242179Y0478026* |
|||
X02428* |
|||
X024342Y0478069* |
|||
X0244035Y0478156* |
|||
X0244643Y0478285* |
|||
X024524Y0478456* |
|||
X0245823Y0478669* |
|||
X0246391Y0478921* |
|||
X024694Y0479213* |
|||
X0247466Y0479542* |
|||
X0247969Y0479907* |
|||
X0248445Y0480307* |
|||
X0248892Y0480738* |
|||
X0249307Y04812* |
|||
X024969Y0481689* |
|||
X0250037Y0482204* |
|||
X0250348Y0482742* |
|||
X025062Y0483301* |
|||
X0250853Y0483877* |
|||
X0251045Y0484467* |
|||
X0251195Y048507* |
|||
X0251303Y0485682* |
|||
X0251368Y04863* |
|||
X025139Y0486921* |
|||
Y0511921* |
|||
X023359Y0486921D02* |
|||
Y0511921D01* |
|||
X0341524Y0383731D02* |
|||
X034219Y0383065D01* |
|||
Y0381732* |
|||
X0341524Y0381065* |
|||
X0338858* |
|||
X0338191Y0381732* |
|||
Y0383065* |
|||
X0338858Y0383731* |
|||
X0338191Y0385064D02* |
|||
X034219D01* |
|||
X0338191Y038773* |
|||
X034219* |
|||
Y0389063D02* |
|||
Y0391729D01* |
|||
Y0390396* |
|||
X0338191* |
|||
Y0393061D02* |
|||
X034219D01* |
|||
Y0395061* |
|||
X0341524Y0395727* |
|||
X0340191* |
|||
X0339524Y0395061* |
|||
Y0393061* |
|||
Y0394394D02* |
|||
X0338191Y0395727D01* |
|||
G54D118* |
|||
X0245191Y0572165D02* |
|||
Y0582165D01* |
|||
X0195191D02* |
|||
X0245191D01* |
|||
X0195191Y0572165D02* |
|||
X0245191D01* |
|||
X0195191D02* |
|||
Y0582165D01* |
|||
X0344191Y0316565D02* |
|||
X0379491D01* |
|||
X0344191Y0396565D02* |
|||
X0379491D01* |
|||
X0344191Y0316565D02* |
|||
Y0396565D01* |
|||
X0374491Y0348565D02* |
|||
Y0364565D01* |
|||
X0379491Y0316565D02* |
|||
Y0336765D01* |
|||
Y038154D02* |
|||
Y0396565D01* |
|||
Y0336765D02* |
|||
Y0348565D01* |
|||
X0374491D02* |
|||
X0379491D01* |
|||
X0374491Y0364565D02* |
|||
X0379491D01* |
|||
Y038154* |
|||
M02* |
@ -0,0 +1,91 @@ |
|||
%FSTAX25Y25*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%AMD113* |
|||
4,1,8,0.050000,-0.021000,0.050000,0.021000,0.041000,0.030000,-0.041000,0.030000,-0.050000,0.021000,-0.050000,-0.021000,-0.041000,-0.030000,0.041000,-0.030000,0.050000,-0.021000,0.0* |
|||
1,1,0.018000,0.041000,-0.021000* |
|||
1,1,0.018000,0.041000,0.021000* |
|||
1,1,0.018000,-0.041000,0.021000* |
|||
1,1,0.018000,-0.041000,-0.021000* |
|||
% |
|||
G04~CAMADD=113~8~0.0~0.0~600.0~1000.0~90.0~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~270.0~1000.0~600.0* |
|||
%ADD113D113*% |
|||
%ADD117C,0.008000*% |
|||
%LNunisolder52_full-1*% |
|||
%LPD*% |
|||
G54D113* |
|||
X0257691Y0499665D03* |
|||
G54D117* |
|||
X015187Y0577067D02* |
|||
Y0584646D01* |
|||
X015935* |
|||
X0507407Y0488202D02* |
|||
X0525604D01* |
|||
X0531507Y0494105* |
|||
X0531496Y0494095D02* |
|||
Y0510991D01* |
|||
X0413386Y05D02* |
|||
X041811D01* |
|||
X0405512Y0507874D02* |
|||
X0413386Y05D01* |
|||
X0405512Y0507874D02* |
|||
Y0512303D01* |
|||
X0519685Y0507874D02* |
|||
Y0512598D01* |
|||
X0511811Y05D02* |
|||
X0519685Y0507874D01* |
|||
X0507382Y05D02* |
|||
X0511811D01* |
|||
X0507087Y0587402D02* |
|||
X0511811D01* |
|||
X0519685Y0579528* |
|||
Y0575098D02* |
|||
Y0579528D01* |
|||
X0413386Y0587402D02* |
|||
X0417815D01* |
|||
X0405512Y0579528D02* |
|||
X0413386Y0587402D01* |
|||
X0405512Y0574803D02* |
|||
Y0579528D01* |
|||
X0541338Y0610236D02* |
|||
X0555598D01* |
|||
X0531498Y0600396D02* |
|||
X0541338Y0610236D01* |
|||
X0531498Y0587436D02* |
|||
Y0600396D01* |
|||
X0692913Y0586134D02* |
|||
Y0600394D01* |
|||
X0683073Y0610234D02* |
|||
X0692913Y0600394D01* |
|||
X0670113Y0610234D02* |
|||
X0683073D01* |
|||
X0668811Y0269685D02* |
|||
X0683071D01* |
|||
X0692911Y0279525* |
|||
Y0292485* |
|||
X0403554Y0269674D02* |
|||
X0416514D01* |
|||
X0393714Y0279514D02* |
|||
X0403554Y0269674D01* |
|||
X0393714Y0279514D02* |
|||
Y0293774D01* |
|||
X038189Y0577165D02* |
|||
Y0584646D01* |
|||
X0374311D02* |
|||
X038189D01* |
|||
X037441Y0269685D02* |
|||
X038189D01* |
|||
Y0277264* |
|||
X015187Y0269685D02* |
|||
Y0277165D01* |
|||
Y0269685D02* |
|||
X0159449D01* |
|||
X0403519Y0488165D02* |
|||
X0417779D01* |
|||
X0393679Y0478325D02* |
|||
X0403519Y0488165D01* |
|||
X0393679Y0465365D02* |
|||
Y0478325D01* |
|||
M02* |
2032
hardware/gerber/unisolder52_full.gbs
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,776 @@ |
|||
%FSTAX25Y25*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD117C,0.008000*% |
|||
%ADD118C,0.007870*% |
|||
%LNunisolder52_full-1*% |
|||
%LPD*% |
|||
G54D117* |
|||
X0393701Y0279527D02* |
|||
Y0291339D01* |
|||
Y0314961D02* |
|||
Y0360236D01* |
|||
Y0383858D02* |
|||
Y0438976D01* |
|||
Y0462598D02* |
|||
Y0478346D01* |
|||
X038189Y0269685D02* |
|||
Y0291338D01* |
|||
Y0314961D02* |
|||
Y0360236D01* |
|||
Y0383858D02* |
|||
Y0438976D01* |
|||
Y0462598D02* |
|||
Y0511811D01* |
|||
Y0535433D02* |
|||
Y0551181D01* |
|||
Y0574803D02* |
|||
Y0584646D01* |
|||
X0405512Y0507874D02* |
|||
Y0511811D01* |
|||
Y0535433D02* |
|||
Y0551181D01* |
|||
Y0574803D02* |
|||
Y0579528D01* |
|||
X0531496Y0494095D02* |
|||
Y0519685D01* |
|||
Y0543307D02* |
|||
Y0549213D01* |
|||
Y0572835D02* |
|||
Y0600394D01* |
|||
X0519685Y0507874D02* |
|||
Y0519685D01* |
|||
Y0543307D02* |
|||
Y0549213D01* |
|||
Y0572835D02* |
|||
Y0579528D01* |
|||
G54D118* |
|||
X0399606Y0568898D02* |
|||
D01* |
|||
X0400017Y0568912* |
|||
X0400427Y0568955* |
|||
X0400833Y0569027* |
|||
X0401233Y0569126* |
|||
X0401625Y0569254* |
|||
X0402008Y0569408* |
|||
X0402378Y0569589* |
|||
X0402735Y0569795* |
|||
X0403077Y0570025* |
|||
X0403402Y0570279* |
|||
X0403708Y0570555* |
|||
X0403995Y0570852* |
|||
X0404259Y0571167* |
|||
X0404502Y0571501* |
|||
X040472Y0571851* |
|||
X0404914Y0572214* |
|||
X0405081Y0572591* |
|||
X0405222Y0572978* |
|||
X0405336Y0573375* |
|||
X0405422Y0573778* |
|||
X0405479Y0574186* |
|||
X0405508Y0574597* |
|||
X0405512Y0574803* |
|||
X0399606Y0529528D02* |
|||
D01* |
|||
X0400017Y0529542* |
|||
X0400427Y0529585* |
|||
X0400833Y0529657* |
|||
X0401233Y0529756* |
|||
X0401625Y0529884* |
|||
X0402008Y0530038* |
|||
X0402378Y0530219* |
|||
X0402735Y0530425* |
|||
X0403077Y0530655* |
|||
X0403402Y0530909* |
|||
X0403708Y0531185* |
|||
X0403995Y0531482* |
|||
X0404259Y0531797* |
|||
X0404502Y0532131* |
|||
X040472Y0532481* |
|||
X0404914Y0532844* |
|||
X0405081Y0533221* |
|||
X0405222Y0533608* |
|||
X0405336Y0534005* |
|||
X0405422Y0534408* |
|||
X0405479Y0534816* |
|||
X0405508Y0535227* |
|||
X0405512Y0535433* |
|||
Y0551181D02* |
|||
D01* |
|||
X0405497Y0551592* |
|||
X0405454Y0552002* |
|||
X0405382Y0552408* |
|||
X0405283Y0552808* |
|||
X0405155Y05532* |
|||
X0405001Y0553583* |
|||
X040482Y0553953* |
|||
X0404614Y055431* |
|||
X0404384Y0554652* |
|||
X040413Y0554977* |
|||
X0403854Y0555283* |
|||
X0403557Y055557* |
|||
X0403242Y0555834* |
|||
X0402908Y0556077* |
|||
X0402559Y0556295* |
|||
X0402195Y0556489* |
|||
X0401818Y0556656* |
|||
X0401431Y0556797* |
|||
X0401034Y0556911* |
|||
X0400631Y0556997* |
|||
X0400223Y0557054* |
|||
X0399812Y0557083* |
|||
X0399606Y0557087* |
|||
X0405512Y0511811D02* |
|||
D01* |
|||
X0405497Y0512222* |
|||
X0405454Y0512632* |
|||
X0405382Y0513038* |
|||
X0405283Y0513438* |
|||
X0405155Y051383* |
|||
X0405001Y0514213* |
|||
X040482Y0514583* |
|||
X0404614Y051494* |
|||
X0404384Y0515282* |
|||
X040413Y0515607* |
|||
X0403854Y0515913* |
|||
X0403557Y05162* |
|||
X0403242Y0516464* |
|||
X0402908Y0516707* |
|||
X0402559Y0516925* |
|||
X0402195Y0517119* |
|||
X0401818Y0517286* |
|||
X0401431Y0517427* |
|||
X0401034Y0517541* |
|||
X0400631Y0517627* |
|||
X0400223Y0517684* |
|||
X0399812Y0517713* |
|||
X0399606Y0517717* |
|||
X038189Y0535433D02* |
|||
D01* |
|||
X0381904Y0535021* |
|||
X0381947Y0534611* |
|||
X0382019Y0534205* |
|||
X0382118Y0533805* |
|||
X0382246Y0533413* |
|||
X03824Y053303* |
|||
X0382581Y053266* |
|||
X0382787Y0532303* |
|||
X0383017Y0531961* |
|||
X0383271Y0531636* |
|||
X0383547Y053133* |
|||
X0383844Y0531043* |
|||
X0384159Y0530779* |
|||
X0384493Y0530536* |
|||
X0384843Y0530318* |
|||
X0385206Y0530124* |
|||
X0385583Y0529957* |
|||
X038597Y0529816* |
|||
X0386367Y0529702* |
|||
X038677Y0529616* |
|||
X0387178Y0529559* |
|||
X0387589Y052953* |
|||
X0387795Y0529528* |
|||
Y0517717D02* |
|||
D01* |
|||
X0387383Y0517702* |
|||
X0386973Y0517659* |
|||
X0386567Y0517587* |
|||
X0386167Y0517488* |
|||
X0385775Y051736* |
|||
X0385392Y0517206* |
|||
X0385022Y0517025* |
|||
X0384665Y0516819* |
|||
X0384323Y0516589* |
|||
X0383998Y0516335* |
|||
X0383692Y0516059* |
|||
X0383405Y0515762* |
|||
X0383141Y0515447* |
|||
X0382898Y0515113* |
|||
X038268Y0514764* |
|||
X0382486Y05144* |
|||
X0382319Y0514023* |
|||
X0382178Y0513636* |
|||
X0382064Y0513239* |
|||
X0381978Y0512836* |
|||
X0381921Y0512428* |
|||
X0381892Y0512017* |
|||
X038189Y0511811* |
|||
X0387795Y0557087D02* |
|||
D01* |
|||
X0387383Y0557072* |
|||
X0386973Y0557029* |
|||
X0386567Y0556957* |
|||
X0386167Y0556858* |
|||
X0385775Y055673* |
|||
X0385392Y0556576* |
|||
X0385022Y0556395* |
|||
X0384665Y0556189* |
|||
X0384323Y0555959* |
|||
X0383998Y0555705* |
|||
X0383692Y0555429* |
|||
X0383405Y0555132* |
|||
X0383141Y0554817* |
|||
X0382898Y0554483* |
|||
X038268Y0554134* |
|||
X0382486Y055377* |
|||
X0382319Y0553393* |
|||
X0382178Y0553006* |
|||
X0382064Y0552609* |
|||
X0381978Y0552206* |
|||
X0381921Y0551798* |
|||
X0381892Y0551387* |
|||
X038189Y0551181* |
|||
Y0574803D02* |
|||
D01* |
|||
X0381904Y0574391* |
|||
X0381947Y0573981* |
|||
X0382019Y0573575* |
|||
X0382118Y0573175* |
|||
X0382246Y0572783* |
|||
X03824Y05724* |
|||
X0382581Y057203* |
|||
X0382787Y0571673* |
|||
X0383017Y0571331* |
|||
X0383271Y0571006* |
|||
X0383547Y05707* |
|||
X0383844Y0570413* |
|||
X0384159Y0570149* |
|||
X0384493Y0569906* |
|||
X0384843Y0569688* |
|||
X0385206Y0569494* |
|||
X0385583Y0569327* |
|||
X038597Y0569186* |
|||
X0386367Y0569072* |
|||
X038677Y0568986* |
|||
X0387178Y0568929* |
|||
X0387589Y05689* |
|||
X0387795Y0568898* |
|||
X0393701Y0360236D02* |
|||
D01* |
|||
X0393686Y0360647* |
|||
X0393643Y0361057* |
|||
X0393571Y0361463* |
|||
X0393472Y0361863* |
|||
X0393344Y0362255* |
|||
X039319Y0362638* |
|||
X0393009Y0363008* |
|||
X0392803Y0363365* |
|||
X0392573Y0363707* |
|||
X0392319Y0364032* |
|||
X0392043Y0364338* |
|||
X0391746Y0364625* |
|||
X0391431Y0364889* |
|||
X0391097Y0365132* |
|||
X0390748Y036535* |
|||
X0390384Y0365544* |
|||
X0390007Y0365711* |
|||
X038962Y0365852* |
|||
X0389223Y0365966* |
|||
X038882Y0366052* |
|||
X0388412Y0366109* |
|||
X0388001Y0366138* |
|||
X0387588* |
|||
X0387177Y0366109* |
|||
X0386769Y0366052* |
|||
X0386366Y0365966* |
|||
X0385969Y0365852* |
|||
X0385582Y0365711* |
|||
X0385205Y0365544* |
|||
X0384842Y036535* |
|||
X0384492Y0365132* |
|||
X0384158Y0364889* |
|||
X0383843Y0364625* |
|||
X0383546Y0364338* |
|||
X038327Y0364032* |
|||
X0383016Y0363707* |
|||
X0382786Y0363365* |
|||
X038258Y0363008* |
|||
X0382399Y0362638* |
|||
X0382245Y0362255* |
|||
X0382117Y0361863* |
|||
X0382018Y0361463* |
|||
X0381946Y0361057* |
|||
X0381903Y0360647* |
|||
X038189Y0360236* |
|||
Y0383858D02* |
|||
D01* |
|||
X0381904Y0383446* |
|||
X0381947Y0383036* |
|||
X0382019Y038263* |
|||
X0382118Y038223* |
|||
X0382246Y0381838* |
|||
X03824Y0381455* |
|||
X0382581Y0381085* |
|||
X0382787Y0380728* |
|||
X0383017Y0380386* |
|||
X0383271Y0380061* |
|||
X0383547Y0379755* |
|||
X0383844Y0379468* |
|||
X0384159Y0379204* |
|||
X0384493Y0378961* |
|||
X0384843Y0378743* |
|||
X0385206Y0378549* |
|||
X0385583Y0378382* |
|||
X038597Y0378241* |
|||
X0386367Y0378127* |
|||
X038677Y0378041* |
|||
X0387178Y0377984* |
|||
X0387589Y0377955* |
|||
X0388002* |
|||
X0388413Y0377984* |
|||
X0388821Y0378041* |
|||
X0389224Y0378127* |
|||
X0389621Y0378241* |
|||
X0390008Y0378382* |
|||
X0390385Y0378549* |
|||
X0390749Y0378743* |
|||
X0391098Y0378961* |
|||
X0391432Y0379204* |
|||
X0391747Y0379468* |
|||
X0392044Y0379755* |
|||
X039232Y0380061* |
|||
X0392574Y0380386* |
|||
X0392804Y0380728* |
|||
X039301Y0381085* |
|||
X0393191Y0381455* |
|||
X0393345Y0381838* |
|||
X0393473Y038223* |
|||
X0393572Y038263* |
|||
X0393644Y0383036* |
|||
X0393687Y0383446* |
|||
X0393701Y0383858* |
|||
Y0438976D02* |
|||
D01* |
|||
X0393686Y0439387* |
|||
X0393643Y0439797* |
|||
X0393571Y0440203* |
|||
X0393472Y0440603* |
|||
X0393344Y0440995* |
|||
X039319Y0441378* |
|||
X0393009Y0441748* |
|||
X0392803Y0442105* |
|||
X0392573Y0442447* |
|||
X0392319Y0442772* |
|||
X0392043Y0443078* |
|||
X0391746Y0443365* |
|||
X0391431Y0443629* |
|||
X0391097Y0443872* |
|||
X0390748Y044409* |
|||
X0390384Y0444284* |
|||
X0390007Y0444451* |
|||
X038962Y0444592* |
|||
X0389223Y0444706* |
|||
X038882Y0444792* |
|||
X0388412Y0444849* |
|||
X0388001Y0444878* |
|||
X0387588* |
|||
X0387177Y0444849* |
|||
X0386769Y0444792* |
|||
X0386366Y0444706* |
|||
X0385969Y0444592* |
|||
X0385582Y0444451* |
|||
X0385205Y0444284* |
|||
X0384842Y044409* |
|||
X0384492Y0443872* |
|||
X0384158Y0443629* |
|||
X0383843Y0443365* |
|||
X0383546Y0443078* |
|||
X038327Y0442772* |
|||
X0383016Y0442447* |
|||
X0382786Y0442105* |
|||
X038258Y0441748* |
|||
X0382399Y0441378* |
|||
X0382245Y0440995* |
|||
X0382117Y0440603* |
|||
X0382018Y0440203* |
|||
X0381946Y0439797* |
|||
X0381903Y0439387* |
|||
X038189Y0438976* |
|||
Y0462598D02* |
|||
D01* |
|||
X0381904Y0462186* |
|||
X0381947Y0461776* |
|||
X0382019Y046137* |
|||
X0382118Y046097* |
|||
X0382246Y0460578* |
|||
X03824Y0460195* |
|||
X0382581Y0459825* |
|||
X0382787Y0459468* |
|||
X0383017Y0459126* |
|||
X0383271Y0458801* |
|||
X0383547Y0458495* |
|||
X0383844Y0458208* |
|||
X0384159Y0457944* |
|||
X0384493Y0457701* |
|||
X0384843Y0457483* |
|||
X0385206Y0457289* |
|||
X0385583Y0457122* |
|||
X038597Y0456981* |
|||
X0386367Y0456867* |
|||
X038677Y0456781* |
|||
X0387178Y0456724* |
|||
X0387589Y0456695* |
|||
X0388002* |
|||
X0388413Y0456724* |
|||
X0388821Y0456781* |
|||
X0389224Y0456867* |
|||
X0389621Y0456981* |
|||
X0390008Y0457122* |
|||
X0390385Y0457289* |
|||
X0390749Y0457483* |
|||
X0391098Y0457701* |
|||
X0391432Y0457944* |
|||
X0391747Y0458208* |
|||
X0392044Y0458495* |
|||
X039232Y0458801* |
|||
X0392574Y0459126* |
|||
X0392804Y0459468* |
|||
X039301Y0459825* |
|||
X0393191Y0460195* |
|||
X0393345Y0460578* |
|||
X0393473Y046097* |
|||
X0393572Y046137* |
|||
X0393644Y0461776* |
|||
X0393687Y0462186* |
|||
X0393701Y0462598* |
|||
X038189Y0314961D02* |
|||
D01* |
|||
X0381904Y0314549* |
|||
X0381947Y0314139* |
|||
X0382019Y0313733* |
|||
X0382118Y0313333* |
|||
X0382246Y0312941* |
|||
X03824Y0312558* |
|||
X0382581Y0312188* |
|||
X0382787Y0311831* |
|||
X0383017Y0311489* |
|||
X0383271Y0311164* |
|||
X0383547Y0310858* |
|||
X0383844Y0310571* |
|||
X0384159Y0310307* |
|||
X0384493Y0310064* |
|||
X0384843Y0309846* |
|||
X0385206Y0309652* |
|||
X0385583Y0309485* |
|||
X038597Y0309344* |
|||
X0386367Y030923* |
|||
X038677Y0309144* |
|||
X0387178Y0309087* |
|||
X0387589Y0309058* |
|||
X0388002* |
|||
X0388413Y0309087* |
|||
X0388821Y0309144* |
|||
X0389224Y030923* |
|||
X0389621Y0309344* |
|||
X0390008Y0309485* |
|||
X0390385Y0309652* |
|||
X0390749Y0309846* |
|||
X0391098Y0310064* |
|||
X0391432Y0310307* |
|||
X0391747Y0310571* |
|||
X0392044Y0310858* |
|||
X039232Y0311164* |
|||
X0392574Y0311489* |
|||
X0392804Y0311831* |
|||
X039301Y0312188* |
|||
X0393191Y0312558* |
|||
X0393345Y0312941* |
|||
X0393473Y0313333* |
|||
X0393572Y0313733* |
|||
X0393644Y0314139* |
|||
X0393687Y0314549* |
|||
X0393701Y0314961* |
|||
Y0291339D02* |
|||
D01* |
|||
X0393686Y029175* |
|||
X0393643Y029216* |
|||
X0393571Y0292566* |
|||
X0393472Y0292966* |
|||
X0393344Y0293358* |
|||
X039319Y0293741* |
|||
X0393009Y0294111* |
|||
X0392803Y0294468* |
|||
X0392573Y029481* |
|||
X0392319Y0295135* |
|||
X0392043Y0295441* |
|||
X0391746Y0295728* |
|||
X0391431Y0295992* |
|||
X0391097Y0296235* |
|||
X0390748Y0296453* |
|||
X0390384Y0296647* |
|||
X0390007Y0296814* |
|||
X038962Y0296955* |
|||
X0389223Y0297069* |
|||
X038882Y0297155* |
|||
X0388412Y0297212* |
|||
X0388001Y0297241* |
|||
X0387588* |
|||
X0387177Y0297212* |
|||
X0386769Y0297155* |
|||
X0386366Y0297069* |
|||
X0385969Y0296955* |
|||
X0385582Y0296814* |
|||
X0385205Y0296647* |
|||
X0384842Y0296453* |
|||
X0384492Y0296235* |
|||
X0384158Y0295992* |
|||
X0383843Y0295728* |
|||
X0383546Y0295441* |
|||
X038327Y0295135* |
|||
X0383016Y029481* |
|||
X0382786Y0294468* |
|||
X038258Y0294111* |
|||
X0382399Y0293741* |
|||
X0382245Y0293358* |
|||
X0382117Y0292966* |
|||
X0382018Y0292566* |
|||
X0381946Y029216* |
|||
X0381903Y029175* |
|||
X0381889Y0291339* |
|||
X038189Y0291338* |
|||
X0531496Y0549213D02* |
|||
D01* |
|||
X0531481Y0549624* |
|||
X0531438Y0550034* |
|||
X0531366Y055044* |
|||
X0531267Y055084* |
|||
X0531139Y0551232* |
|||
X0530985Y0551615* |
|||
X0530804Y0551985* |
|||
X0530598Y0552342* |
|||
X0530368Y0552684* |
|||
X0530114Y0553009* |
|||
X0529838Y0553315* |
|||
X0529541Y0553602* |
|||
X0529226Y0553866* |
|||
X0528892Y0554109* |
|||
X0528543Y0554327* |
|||
X0528179Y0554521* |
|||
X0527802Y0554688* |
|||
X0527415Y0554829* |
|||
X0527018Y0554943* |
|||
X0526615Y0555029* |
|||
X0526207Y0555086* |
|||
X0525796Y0555115* |
|||
X0525383* |
|||
X0524972Y0555086* |
|||
X0524564Y0555029* |
|||
X0524161Y0554943* |
|||
X0523764Y0554829* |
|||
X0523377Y0554688* |
|||
X0523Y0554521* |
|||
X0522637Y0554327* |
|||
X0522287Y0554109* |
|||
X0521953Y0553866* |
|||
X0521638Y0553602* |
|||
X0521341Y0553315* |
|||
X0521065Y0553009* |
|||
X0520811Y0552684* |
|||
X0520581Y0552342* |
|||
X0520375Y0551985* |
|||
X0520194Y0551615* |
|||
X052004Y0551232* |
|||
X0519912Y055084* |
|||
X0519813Y055044* |
|||
X0519741Y0550034* |
|||
X0519698Y0549624* |
|||
X0519685Y0549213* |
|||
Y0543307D02* |
|||
D01* |
|||
X0519699Y0542895* |
|||
X0519742Y0542485* |
|||
X0519814Y0542079* |
|||
X0519913Y0541679* |
|||
X0520041Y0541287* |
|||
X0520195Y0540904* |
|||
X0520376Y0540534* |
|||
X0520582Y0540177* |
|||
X0520812Y0539835* |
|||
X0521066Y053951* |
|||
X0521342Y0539204* |
|||
X0521639Y0538917* |
|||
X0521954Y0538653* |
|||
X0522288Y053841* |
|||
X0522638Y0538192* |
|||
X0523001Y0537998* |
|||
X0523378Y0537831* |
|||
X0523765Y053769* |
|||
X0524162Y0537576* |
|||
X0524565Y053749* |
|||
X0524973Y0537433* |
|||
X0525384Y0537404* |
|||
X0525797* |
|||
X0526208Y0537433* |
|||
X0526616Y053749* |
|||
X0527019Y0537576* |
|||
X0527416Y053769* |
|||
X0527803Y0537831* |
|||
X052818Y0537998* |
|||
X0528544Y0538192* |
|||
X0528893Y053841* |
|||
X0529227Y0538653* |
|||
X0529542Y0538917* |
|||
X0529839Y0539204* |
|||
X0530115Y053951* |
|||
X0530369Y0539835* |
|||
X0530599Y0540177* |
|||
X0530805Y0540534* |
|||
X0530986Y0540904* |
|||
X053114Y0541287* |
|||
X0531268Y0541679* |
|||
X0531367Y0542079* |
|||
X0531439Y0542485* |
|||
X0531482Y0542895* |
|||
X0531496Y0543307* |
|||
X0519685Y0572835D02* |
|||
D01* |
|||
X0519699Y0572423* |
|||
X0519742Y0572013* |
|||
X0519814Y0571607* |
|||
X0519913Y0571207* |
|||
X0520041Y0570815* |
|||
X0520195Y0570432* |
|||
X0520376Y0570062* |
|||
X0520582Y0569705* |
|||
X0520812Y0569363* |
|||
X0521066Y0569038* |
|||
X0521342Y0568732* |
|||
X0521639Y0568445* |
|||
X0521954Y0568181* |
|||
X0522288Y0567938* |
|||
X0522638Y056772* |
|||
X0523001Y0567526* |
|||
X0523378Y0567359* |
|||
X0523765Y0567218* |
|||
X0524162Y0567104* |
|||
X0524565Y0567018* |
|||
X0524973Y0566961* |
|||
X0525384Y0566932* |
|||
X0525797* |
|||
X0526208Y0566961* |
|||
X0526616Y0567018* |
|||
X0527019Y0567104* |
|||
X0527416Y0567218* |
|||
X0527803Y0567359* |
|||
X052818Y0567526* |
|||
X0528544Y056772* |
|||
X0528893Y0567938* |
|||
X0529227Y0568181* |
|||
X0529542Y0568445* |
|||
X0529839Y0568732* |
|||
X0530115Y0569038* |
|||
X0530369Y0569363* |
|||
X0530599Y0569705* |
|||
X0530805Y0570062* |
|||
X0530986Y0570432* |
|||
X053114Y0570815* |
|||
X0531268Y0571207* |
|||
X0531367Y0571607* |
|||
X0531439Y0572013* |
|||
X0531482Y0572423* |
|||
X0531496Y0572835* |
|||
Y0519685D02* |
|||
D01* |
|||
X0531481Y0520096* |
|||
X0531438Y0520506* |
|||
X0531366Y0520912* |
|||
X0531267Y0521312* |
|||
X0531139Y0521704* |
|||
X0530985Y0522087* |
|||
X0530804Y0522457* |
|||
X0530598Y0522814* |
|||
X0530368Y0523156* |
|||
X0530114Y0523481* |
|||
X0529838Y0523787* |
|||
X0529541Y0524074* |
|||
X0529226Y0524338* |
|||
X0528892Y0524581* |
|||
X0528543Y0524799* |
|||
X0528179Y0524993* |
|||
X0527802Y052516* |
|||
X0527415Y0525301* |
|||
X0527018Y0525415* |
|||
X0526615Y0525501* |
|||
X0526207Y0525558* |
|||
X0525796Y0525587* |
|||
X0525383* |
|||
X0524972Y0525558* |
|||
X0524564Y0525501* |
|||
X0524161Y0525415* |
|||
X0523764Y0525301* |
|||
X0523377Y052516* |
|||
X0523Y0524993* |
|||
X0522637Y0524799* |
|||
X0522287Y0524581* |
|||
X0521953Y0524338* |
|||
X0521638Y0524074* |
|||
X0521341Y0523787* |
|||
X0521065Y0523481* |
|||
X0520811Y0523156* |
|||
X0520581Y0522814* |
|||
X0520375Y0522457* |
|||
X0520194Y0522087* |
|||
X052004Y0521704* |
|||
X0519912Y0521312* |
|||
X0519813Y0520912* |
|||
X0519741Y0520506* |
|||
X0519698Y0520096* |
|||
X0519685Y0519685* |
|||
X0511811Y05D02* |
|||
X0519685Y0507874D01* |
|||
X015187Y0458661D02* |
|||
Y0584646D01* |
|||
X0143996Y0450787D02* |
|||
X015187Y0458661D01* |
|||
X0126279Y0450787D02* |
|||
X0143996D01* |
|||
X0126279Y0403543D02* |
|||
Y0450787D01* |
|||
Y0403543D02* |
|||
X0143996D01* |
|||
X015187Y0395669* |
|||
Y0269685D02* |
|||
Y0395669D01* |
|||
Y0269685D02* |
|||
X038189D01* |
|||
X015187Y0584646D02* |
|||
X038189D01* |
|||
X0405512Y0579528D02* |
|||
X0413386Y0587402D01* |
|||
X0511811* |
|||
X0519685Y0579528* |
|||
X0413386Y05D02* |
|||
X0511811D01* |
|||
X0405512Y0507874D02* |
|||
X0413386Y05D01* |
|||
X0393701Y0279527D02* |
|||
X0403543Y0269685D01* |
|||
X0393701Y0478346D02* |
|||
X0403543Y0488189D01* |
|||
X0683071Y0269685D02* |
|||
X0692913Y0279527D01* |
|||
X0403543Y0269685D02* |
|||
X0683071D01* |
|||
X0692913Y0279527D02* |
|||
Y0600394D01* |
|||
X0683071Y0610236D02* |
|||
X0692913Y0600394D01* |
|||
X0541338Y0610236D02* |
|||
X0683071D01* |
|||
X0531496Y0600394D02* |
|||
X0541338Y0610236D01* |
|||
X0525591Y0488189D02* |
|||
X0531496Y0494095D01* |
|||
X0403543Y0488189D02* |
|||
X0525591D01* |
|||
X0387795Y0517717D02* |
|||
X0399606D01* |
|||
X0387795Y0529528D02* |
|||
X0399606D01* |
|||
X0387795Y0557087D02* |
|||
X0399606D01* |
|||
X0387795Y0568898D02* |
|||
X0399606D01* |
|||
M02* |
19374
hardware/gerber/unisolder52_full.gtl
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
14390
hardware/gerber/unisolder52_full.gto
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1214
hardware/gerber/unisolder52_full.gtp
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
1855
hardware/gerber/unisolder52_full.gts
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,751 @@ |
|||
%FSTAX25Y25*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD9500C,0.027990*% |
|||
%ADD9501C,0.031500*% |
|||
%ADD9502C,0.035430*% |
|||
%ADD9503C,0.039370*% |
|||
%ADD9504C,0.043310*% |
|||
%ADD9505C,0.047240*% |
|||
%ADD9506C,0.055120*% |
|||
%ADD9507C,0.066930*% |
|||
%ADD9508C,0.068900*% |
|||
%ADD9509C,0.090550*% |
|||
%ADD9510C,0.098430*% |
|||
%ADD9511C,0.125200*% |
|||
%ADD9512C,0.137800*% |
|||
%ADD9513C,0.145670*% |
|||
%LNunisolder52_full-1*% |
|||
%LPD*% |
|||
G54D9500* |
|||
X0136614Y0420866D03* |
|||
Y0427165D03* |
|||
Y0433465D03* |
|||
X0145276Y0430315D03* |
|||
Y0424016D03* |
|||
X0490256Y0275098D03* |
|||
X0490748Y0287894D03* |
|||
X0504528Y0288484D03* |
|||
X050689Y0299213D03* |
|||
X0495374Y0298524D03* |
|||
X0517913Y0302559D03* |
|||
X0525886Y0300886D03* |
|||
X0524311Y0290551D03* |
|||
X053435Y0289665D03* |
|||
X0535138Y0305315D03* |
|||
X054124Y0304429D03* |
|||
X0547244Y0305315D03* |
|||
X0558957Y0311516D03* |
|||
X0555118Y0289665D03* |
|||
X0544291Y0280413D03* |
|||
X0523228Y0275787D03* |
|||
X0576575Y028061D03* |
|||
X0576772Y0289862D03* |
|||
X0600394Y0291929D03* |
|||
X0607382Y0275787D03* |
|||
X0588583Y0308071D03* |
|||
X0453051Y029065D03* |
|||
X0452461Y0274902D03* |
|||
X0430315D03* |
|||
X04384Y0299095D03* |
|||
X0365256Y03D03* |
|||
X0364567Y0309449D03* |
|||
X0347091Y0312265D03* |
|||
X0343891Y0302165D03* |
|||
Y0296265D03* |
|||
X0345391Y0285465D03* |
|||
X0339491Y0286165D03* |
|||
X0332591Y0281465D03* |
|||
X0323591Y0291765D03* |
|||
X0317591D03* |
|||
X0322491Y0300965D03* |
|||
X0324291Y0309265D03* |
|||
X0315491Y0305565D03* |
|||
X0352559Y0285138D03* |
|||
X0369882Y0282382D03* |
|||
X0368012Y0292028D03* |
|||
X0302691Y0285465D03* |
|||
X0302191Y0301365D03* |
|||
Y0307765D03* |
|||
X0282087Y0310236D03* |
|||
X0269191Y0310065D03* |
|||
X0269591Y0296665D03* |
|||
X0264191Y0286565D03* |
|||
X0265091Y0276065D03* |
|||
X0249691Y0279665D03* |
|||
X0239401Y0293265D03* |
|||
X0228791Y0284465D03* |
|||
X0223091Y0274665D03* |
|||
X0198891Y0277065D03* |
|||
X0187205Y0284252D03* |
|||
X0158366Y0286122D03* |
|||
X015876Y0309055D03* |
|||
X0212303Y0308071D03* |
|||
X0212795Y0293898D03* |
|||
X0286591Y0284765D03* |
|||
X0150984Y0404035D03* |
|||
X0153391Y0423965D03* |
|||
X0155807Y0437992D03* |
|||
X0131004Y0436417D03* |
|||
Y0418012D03* |
|||
X0165591Y0419665D03* |
|||
Y0414265D03* |
|||
X0171391Y0402865D03* |
|||
X0176476Y0386811D03* |
|||
X0181591Y0381065D03* |
|||
X0189991Y0376965D03* |
|||
X0203391Y0379765D03* |
|||
X0214091Y0381065D03* |
|||
X021437Y0390846D03* |
|||
X0197191Y0395665D03* |
|||
X0189191Y0395765D03* |
|||
X0200791Y0400365D03* |
|||
X0202891Y0407065D03* |
|||
X0206004Y0423228D03* |
|||
Y0432087D03* |
|||
X0215391Y0433565D03* |
|||
X0215491Y0420865D03* |
|||
X0240091Y0421265D03* |
|||
X0249691Y0423965D03* |
|||
X0254091Y0419065D03* |
|||
X0257283Y043061D03* |
|||
X0250491Y0436265D03* |
|||
X0251969Y0443405D03* |
|||
X0246555Y0451575D03* |
|||
X0254791Y0456365D03* |
|||
X0257091Y0466065D03* |
|||
X0272791Y0462965D03* |
|||
X0272891Y0431865D03* |
|||
X0268591Y0396565D03* |
|||
X0259055Y0394291D03* |
|||
X0252591Y0394465D03* |
|||
X0246491Y0398665D03* |
|||
X023189Y0397933D03* |
|||
Y0409154D03* |
|||
X0232291Y0432365D03* |
|||
X0232191Y0451465D03* |
|||
X0236891Y0465565D03* |
|||
X0201083Y0447835D03* |
|||
X0184191Y0452265D03* |
|||
X0166091Y0452565D03* |
|||
X0166634Y0434055D03* |
|||
X0161713Y0387795D03* |
|||
X0158366Y0370866D03* |
|||
X0172933Y0364961D03* |
|||
X0179091Y0364765D03* |
|||
X0181102Y0351772D03* |
|||
X0167618Y0351476D03* |
|||
X0156595Y0349311D03* |
|||
Y0329035D03* |
|||
X0165847Y0326772D03* |
|||
X0181557Y0330465D03* |
|||
X0181678Y0338365D03* |
|||
X0186127Y0334442D03* |
|||
X0180591Y0315965D03* |
|||
X0199803Y0320472D03* |
|||
X0211024Y0327559D03* |
|||
X0222244Y0321555D03* |
|||
X0234485Y0318894D03* |
|||
X0243699Y0320861D03* |
|||
X0252953Y0322638D03* |
|||
X026624Y032874D03* |
|||
X0274705Y0338091D03* |
|||
X0258661Y033937D03* |
|||
X0267618Y0353937D03* |
|||
X0258591Y0363365D03* |
|||
X0257491Y0379465D03* |
|||
X0265191Y0377165D03* |
|||
X0276772Y0364075D03* |
|||
X0287402Y0365748D03* |
|||
X0297391Y0368665D03* |
|||
X0303291Y0368365D03* |
|||
X0309991Y0373265D03* |
|||
X0310291Y0392465D03* |
|||
X0300891Y0391665D03* |
|||
X0290891D03* |
|||
X0281591Y0391365D03* |
|||
X028563Y0349508D03* |
|||
X0291891Y0325465D03* |
|||
X0302091Y0325765D03* |
|||
X0279921Y0322638D03* |
|||
X0248819Y035315D03* |
|||
X0239862Y0357874D03* |
|||
X0233071Y0368602D03* |
|||
X0232579Y0380906D03* |
|||
X0219691Y0365365D03* |
|||
X0203591Y0367165D03* |
|||
X0213878Y0345571D03* |
|||
X0227648Y0344935D03* |
|||
X0315591Y0337065D03* |
|||
X0322591Y0341565D03* |
|||
X0327191Y0347965D03* |
|||
X0341437Y0342618D03* |
|||
X0342091Y0352765D03* |
|||
Y0358665D03* |
|||
X0341691Y0364865D03* |
|||
X0333491Y0373565D03* |
|||
X0327391Y0373465D03* |
|||
X0318691Y0386665D03* |
|||
X0325391Y0398965D03* |
|||
X0340591Y0399209D03* |
|||
Y0404565D03* |
|||
X0334691Y0407765D03* |
|||
X0331391Y0413065D03* |
|||
X0331371Y0432677D03* |
|||
X0332677Y0445768D03* |
|||
X0331891Y0454165D03* |
|||
X0333991Y0459765D03* |
|||
X0332591Y0467765D03* |
|||
X0351083Y0459154D03* |
|||
X0369091Y0452765D03* |
|||
X0377591Y0443265D03* |
|||
X0399606Y0450787D03* |
|||
X0401575Y0435039D03* |
|||
X03986Y0418894D03* |
|||
Y0398294D03* |
|||
X0398524Y0377657D03* |
|||
X0377658Y0374902D03* |
|||
X0370472Y0383169D03* |
|||
X0369391Y0404565D03* |
|||
X0377591Y0411665D03* |
|||
X0349891Y0407465D03* |
|||
X0355691Y0397465D03* |
|||
X0346291Y0393265D03* |
|||
X0348291Y0386665D03* |
|||
X0361891Y0360565D03* |
|||
Y0352565D03* |
|||
X0353642Y0331004D03* |
|||
X0343491Y0320065D03* |
|||
X0337598Y0321161D03* |
|||
X0322891Y0317765D03* |
|||
X0320991Y0330265D03* |
|||
X0313791Y0358265D03* |
|||
X0364075Y0315551D03* |
|||
X0377461Y0328543D03* |
|||
X0404Y0331494D03* |
|||
X0401575Y0312992D03* |
|||
X0418602Y031811D03* |
|||
X0430512Y0336417D03* |
|||
X04515Y0333794D03* |
|||
X0467815Y0317027D03* |
|||
X0457283Y0378543D03* |
|||
X0442Y0379095D03* |
|||
X0431791Y0376772D03* |
|||
X0433071Y0393701D03* |
|||
X0432185Y0407874D03* |
|||
X04327Y0414854D03* |
|||
X0422342Y0413484D03* |
|||
X04178Y0402394D03* |
|||
X0449122Y040268D03* |
|||
X0449022Y040948D03* |
|||
Y041618D03* |
|||
X044872Y0431693D03* |
|||
X0456693D03* |
|||
X0464567Y0431102D03* |
|||
X0452953Y0442126D03* |
|||
X0462598Y0452756D03* |
|||
X0454035Y0462992D03* |
|||
X0433071Y0462598D03* |
|||
X043248Y044498D03* |
|||
X0423228Y0452756D03* |
|||
X0413386Y0442913D03* |
|||
X0439272Y0422933D03* |
|||
X0447703Y0396465D03* |
|||
X0454303D03* |
|||
X0460803D03* |
|||
X0417323Y036998D03* |
|||
X0339391Y0439965D03* |
|||
X0472441Y0442913D03* |
|||
Y0462598D03* |
|||
X0493209Y0453051D03* |
|||
X0490059Y0436122D03* |
|||
X0492618Y0426181D03* |
|||
X0484449Y0420669D03* |
|||
X0484154Y0400492D03* |
|||
X0480217Y0396752D03* |
|||
X0476378Y0400787D03* |
|||
X0492126Y0400591D03* |
|||
X0488287Y0396654D03* |
|||
X0479626Y0382283D03* |
|||
X0471654Y0375689D03* |
|||
X0481988Y0369094D03* |
|||
X0492126Y0369291D03* |
|||
X0474213Y035935D03* |
|||
X0488091Y0344488D03* |
|||
X04787Y0334295D03* |
|||
X04806Y0323195D03* |
|||
X0499016Y0334744D03* |
|||
X0509842Y0338287D03* |
|||
X0520768Y0340453D03* |
|||
X0516732Y0350295D03* |
|||
X0506398Y0353051D03* |
|||
X0525787Y0358957D03* |
|||
X0528543Y0349016D03* |
|||
X0540158Y0343307D03* |
|||
X0551083Y0353445D03* |
|||
X054855Y0359269D03* |
|||
X0559252Y0364173D03* |
|||
X0557874Y0378838D03* |
|||
X0562303D03* |
|||
X0575098Y0386516D03* |
|||
X0582874Y0386024D03* |
|||
X0592224Y0393701D03* |
|||
X0608464Y0395079D03* |
|||
X0607283Y0408957D03* |
|||
X0598917Y040876D03* |
|||
X058061Y0415256D03* |
|||
X058376Y0422047D03* |
|||
X0575422Y0435553D03* |
|||
X0575Y0447835D03* |
|||
X0565846Y0443504D03* |
|||
X0567913Y0458661D03* |
|||
X0578839Y045935D03* |
|||
X0583858Y0454134D03* |
|||
X054872Y0456594D03* |
|||
X0526968Y0460335D03* |
|||
X0526772Y0450394D03* |
|||
X0533071Y0434252D03* |
|||
X054872Y0425098D03* |
|||
X0566142Y0417717D03* |
|||
X0559842Y0402362D03* |
|||
X0577362Y0372342D03* |
|||
X0577461Y0357874D03* |
|||
X0587598Y0355315D03* |
|||
X0593504D03* |
|||
X0599409D03* |
|||
X0605315D03* |
|||
X061122D03* |
|||
X0610236Y0379921D03* |
|||
X0608268Y0330709D03* |
|||
X0614173D03* |
|||
X0620079D03* |
|||
X0618996Y0325098D03* |
|||
X0613091Y0325197D03* |
|||
X0615748Y0320079D03* |
|||
X0596457Y0320866D03* |
|||
X0590551D03* |
|||
X0584646D03* |
|||
X0581693Y0325787D03* |
|||
X0587598D03* |
|||
X0593504D03* |
|||
X0599409D03* |
|||
X0602362Y0330709D03* |
|||
X0596457D03* |
|||
X0590551D03* |
|||
X0584646D03* |
|||
X0574016Y0342323D03* |
|||
X0561909Y034124D03* |
|||
X0539764Y0320276D03* |
|||
X0531102Y0324311D03* |
|||
X0524016Y0323721D03* |
|||
X0508071Y0312795D03* |
|||
X0511417Y0458169D03* |
|||
X0611024Y0440256D03* |
|||
X0619587Y0447638D03* |
|||
X0626378Y0457678D03* |
|||
Y0425D03* |
|||
X0626279Y0416831D03* |
|||
X063061Y0395177D03* |
|||
X0641732Y0393701D03* |
|||
X0647638D03* |
|||
X0653543D03* |
|||
X0659449D03* |
|||
X0665354D03* |
|||
Y0366142D03* |
|||
X0659449D03* |
|||
X0653543D03* |
|||
X0647638D03* |
|||
X0641732D03* |
|||
X0634449Y0380807D03* |
|||
X0626968Y0379921D03* |
|||
X0628937Y0354331D03* |
|||
X0625984Y0330709D03* |
|||
X0648622Y0412401D03* |
|||
X0661417Y0425197D03* |
|||
X0667323D03* |
|||
X0673228D03* |
|||
X0679134D03* |
|||
X0685039D03* |
|||
Y0452756D03* |
|||
X0679134D03* |
|||
X0673228D03* |
|||
X0667323D03* |
|||
X0661417D03* |
|||
X0669291Y046063D03* |
|||
X0677165D03* |
|||
Y0468504D03* |
|||
X0669291D03* |
|||
X0685532Y0468405D03* |
|||
X0685039Y046063D03* |
|||
X0648622Y0442913D03* |
|||
X0625Y0487205D03* |
|||
X0629921Y0535433D03* |
|||
X0645669D03* |
|||
Y0551181D03* |
|||
X0637795Y0543307D03* |
|||
X0653543D03* |
|||
X0661417Y0551181D03* |
|||
Y0566929D03* |
|||
X0653543Y0559055D03* |
|||
X0629921Y0551181D03* |
|||
X0637795Y0604331D03* |
|||
X0656496D03* |
|||
X0683071Y0524606D03* |
|||
X0614173Y0535433D03* |
|||
X0598425D03* |
|||
X0582677D03* |
|||
Y0551181D03* |
|||
X0590551Y0543307D03* |
|||
X0598425Y0551181D03* |
|||
X0606299Y0543307D03* |
|||
X0622047D03* |
|||
X0614173Y0551181D03* |
|||
X0574803Y0543307D03* |
|||
Y0559055D03* |
|||
X0559055D03* |
|||
X0564173Y0565748D03* |
|||
X0559055Y0574803D03* |
|||
Y0590551D03* |
|||
X0566535Y0598032D03* |
|||
X0559055Y0605512D03* |
|||
X0551181Y0598425D03* |
|||
X0543307Y0605512D03* |
|||
X053622Y0598425D03* |
|||
X0543307Y0590551D03* |
|||
X053622Y0582677D03* |
|||
X0543307Y0574803D03* |
|||
X053622Y0566929D03* |
|||
X0543307Y0559055D03* |
|||
X053622Y0551181D03* |
|||
X0543307Y0543307D03* |
|||
X053622Y0535433D03* |
|||
X0543307Y0527559D03* |
|||
X053622Y0519685D03* |
|||
X0536614Y0504429D03* |
|||
X0534941Y0489665D03* |
|||
X0548032Y0489862D03* |
|||
X0565945Y0488189D03* |
|||
X0567913Y0474409D03* |
|||
X0537795Y0473622D03* |
|||
X052185Y048376D03* |
|||
X0509142Y0504463D03* |
|||
X0507087Y051122D03* |
|||
X0506988Y0518504D03* |
|||
X0515158Y0532382D03* |
|||
X0495866Y0538878D03* |
|||
X0496555Y0549311D03* |
|||
X0480709Y0548327D03* |
|||
X0480807Y0535138D03* |
|||
X0470768Y0529232D03* |
|||
X0479134Y0504528D03* |
|||
X048879Y0504572D03* |
|||
X0489961Y0482185D03* |
|||
X0482283Y0472441D03* |
|||
X0499213Y0470177D03* |
|||
X0472441Y0482283D03* |
|||
X0471358Y0563681D03* |
|||
Y0576279D03* |
|||
X0484842Y0582972D03* |
|||
X0500689Y0582874D03* |
|||
X0513398Y0567363D03* |
|||
X0513583Y0557382D03* |
|||
X048688Y0562361D03* |
|||
X0551181Y0566929D03* |
|||
Y0551181D03* |
|||
Y0535433D03* |
|||
X0566929D03* |
|||
Y0551181D03* |
|||
X0559055Y0543307D03* |
|||
X058563Y0503937D03* |
|||
Y0488189D03* |
|||
X0606398Y0487205D03* |
|||
X0611417Y0473032D03* |
|||
X0584842Y0587008D03* |
|||
X0590551Y0605512D03* |
|||
X0574803D03* |
|||
X046063Y0582972D03* |
|||
X0459252Y0566831D03* |
|||
X0461122Y0554528D03* |
|||
X0446162Y0557972D03* |
|||
X0445768Y0550984D03* |
|||
X0445177Y0565945D03* |
|||
X0434941Y0561713D03* |
|||
X0432098Y0573763D03* |
|||
X0441898Y0582063D03* |
|||
X0421798Y0581863D03* |
|||
X0412298Y0567163D03* |
|||
X0412402Y0546358D03* |
|||
X0428151Y0543578D03* |
|||
X0435335Y0541142D03* |
|||
X0443996Y052313D03* |
|||
X0453051Y0529626D03* |
|||
X046122Y052313D03* |
|||
X0459842Y0504429D03* |
|||
X0448228D03* |
|||
X0436417D03* |
|||
X0413998Y0505563D03* |
|||
X0418198Y0513763D03* |
|||
X0422441Y0523327D03* |
|||
X0433071Y0482283D03* |
|||
X0452756D03* |
|||
X0462598Y0472441D03* |
|||
X0442913D03* |
|||
X0364567Y0468898D03* |
|||
X0361991Y0474665D03* |
|||
X0346891Y0478665D03* |
|||
X0343602Y0469882D03* |
|||
X0344091Y0488065D03* |
|||
X0335728Y0501673D03* |
|||
X0335096Y0507561D03* |
|||
X0327891Y0513665D03* |
|||
X0327991Y0519565D03* |
|||
X0320191Y0517065D03* |
|||
Y0527365D03* |
|||
X032668Y0538846D03* |
|||
X0333491Y0544265D03* |
|||
X0344291Y0540565D03* |
|||
X0341339Y0524902D03* |
|||
X0356201Y0525295D03* |
|||
X0354433Y0519591D03* |
|||
X0364591Y0523965D03* |
|||
X0364469Y0535532D03* |
|||
X0373228Y0532972D03* |
|||
X0377791Y0545865D03* |
|||
X0360891Y0544839D03* |
|||
X0356191Y0557465D03* |
|||
X0373524Y0568209D03* |
|||
X0347491Y0580165D03* |
|||
X0332891Y0572665D03* |
|||
X0318791Y0566865D03* |
|||
X0312991Y0571665D03* |
|||
X0322391Y0554565D03* |
|||
X0315091Y0544865D03* |
|||
X0319891Y0504165D03* |
|||
X0348425Y050935D03* |
|||
X0364567Y0491732D03* |
|||
X0301891Y0520865D03* |
|||
Y0532565D03* |
|||
X0293091Y0544165D03* |
|||
X0279191Y0552565D03* |
|||
X0274191Y0555965D03* |
|||
X0273091Y0546565D03* |
|||
X0272191Y0537965D03* |
|||
X0265391Y0540465D03* |
|||
X0263791Y0530765D03* |
|||
X0263491Y0519565D03* |
|||
X0268791Y0503465D03* |
|||
X0250791Y0504865D03* |
|||
X0231491Y0503365D03* |
|||
X0235591Y0514365D03* |
|||
X0222891Y0514065D03* |
|||
X0225491Y0519665D03* |
|||
X0215665Y0524213D03* |
|||
X0208465Y0535138D03* |
|||
X0221591Y0536565D03* |
|||
X0229491Y0538365D03* |
|||
X0230472Y0558178D03* |
|||
X0224791Y0554665D03* |
|||
X0220891Y0563065D03* |
|||
X0210091Y0562965D03* |
|||
X0227791Y0570865D03* |
|||
X0242249Y0567965D03* |
|||
X0256891Y0562065D03* |
|||
X0252491Y0555065D03* |
|||
X0248891Y0550365D03* |
|||
X0242391Y0547365D03* |
|||
X0256691Y0547665D03* |
|||
X0261591Y0554765D03* |
|||
X0269291Y0562465D03* |
|||
X0263391Y0574065D03* |
|||
X0272991Y0579565D03* |
|||
X0300991Y0567465D03* |
|||
X0254091Y0536065D03* |
|||
X0252391Y0473665D03* |
|||
X0232291Y0471365D03* |
|||
X0235991Y0483765D03* |
|||
X0219691Y0485465D03* |
|||
X0212191Y0477965D03* |
|||
X0202091Y0487565D03* |
|||
X0190891Y0491065D03* |
|||
X0189191Y0477065D03* |
|||
X0199391Y0470365D03* |
|||
X0198691Y0499965D03* |
|||
X0208691Y0503065D03* |
|||
X0201476Y051565D03* |
|||
X0193799Y0515945D03* |
|||
X0195191Y0529865D03* |
|||
X0182091Y0527965D03* |
|||
X0180391Y0539065D03* |
|||
X0175491Y0534665D03* |
|||
X0169891Y0530065D03* |
|||
X0170591Y0548165D03* |
|||
X0158071Y0543799D03* |
|||
X0157776Y0520472D03* |
|||
X0157382Y0497638D03* |
|||
X0167126Y0494095D03* |
|||
X0171544Y0500787D03* |
|||
X0169407Y0472665D03* |
|||
X0156891Y0474265D03* |
|||
X0156988Y0569291D03* |
|||
X0173891Y0569265D03* |
|||
X0184191Y0568065D03* |
|||
X0182991Y0575565D03* |
|||
X0191691Y0577165D03* |
|||
X0165791Y0579665D03* |
|||
G54D9501* |
|||
X024249Y0489814D03* |
|||
Y0509027D03* |
|||
G54D9502* |
|||
X0519272Y0284744D03* |
|||
X0529272D03* |
|||
X0539272D03* |
|||
X0549272D03* |
|||
X0559272D03* |
|||
Y0294744D03* |
|||
X0549272D03* |
|||
X0539272D03* |
|||
X0529272D03* |
|||
X0519272D03* |
|||
X0307891Y0386065D03* |
|||
X0297891D03* |
|||
X0287891D03* |
|||
X0277891D03* |
|||
X0267891D03* |
|||
Y0406065D03* |
|||
X0277891D03* |
|||
X0287891D03* |
|||
X0297891D03* |
|||
X0307891D03* |
|||
Y0417165D03* |
|||
X0297891D03* |
|||
X0287891D03* |
|||
X0277891D03* |
|||
X0267891D03* |
|||
Y0437165D03* |
|||
X0277891D03* |
|||
X0287891D03* |
|||
X0297891D03* |
|||
X0307891D03* |
|||
Y0448265D03* |
|||
X0297891D03* |
|||
X0287891D03* |
|||
X0277891D03* |
|||
X0267891D03* |
|||
Y0468265D03* |
|||
X0277891D03* |
|||
X0287891D03* |
|||
X0297891D03* |
|||
X0307891D03* |
|||
X0356891Y0376565D03* |
|||
X0366891D03* |
|||
Y0366565D03* |
|||
X0356891D03* |
|||
Y0356565D03* |
|||
X0366891D03* |
|||
Y0346565D03* |
|||
X0356891D03* |
|||
Y0336565D03* |
|||
X0366891D03* |
|||
X0517851Y0461417D03* |
|||
Y0469291D03* |
|||
X0503498Y0532063D03* |
|||
Y0542063D03* |
|||
Y0552063D03* |
|||
Y0562063D03* |
|||
Y0572063D03* |
|||
X0421798Y0572463D03* |
|||
Y0562463D03* |
|||
Y0552463D03* |
|||
Y0542463D03* |
|||
Y0532463D03* |
|||
X0240191Y0577165D03* |
|||
X0230191D03* |
|||
X0220191D03* |
|||
X0210191D03* |
|||
X0200191D03* |
|||
X0187197Y049969D03* |
|||
X0169102Y0517785D03* |
|||
G54D9503* |
|||
X0208033Y036087D03* |
|||
X022575D03* |
|||
Y0386461D03* |
|||
X0208033D03* |
|||
Y041437D03* |
|||
X022575D03* |
|||
Y0439961D03* |
|||
X0208033D03* |
|||
Y046787D03* |
|||
X022575D03* |
|||
Y0493461D03* |
|||
X0208033D03* |
|||
G54D9504* |
|||
X040884Y0401354D03* |
|||
X042276Y0387435D03* |
|||
X0479331Y0349803D03* |
|||
X0499016D03* |
|||
X0518602Y0358268D03* |
|||
X0538287D03* |
|||
X054065Y0392027D03* |
|||
X0560335D03* |
|||
G54D9505* |
|||
X0471Y0287094D03* |
|||
X0481D03* |
|||
X0486Y0297094D03* |
|||
X0476D03* |
|||
X0586063Y0285138D03* |
|||
X0596063D03* |
|||
X0606063D03* |
|||
X0461Y0287094D03* |
|||
X0466Y0297094D03* |
|||
G54D9506* |
|||
X0625591Y0281496D03* |
|||
X0642126D03* |
|||
Y030315D03* |
|||
X0625591D03* |
|||
X0275118Y0303633D03* |
|||
Y0287098D03* |
|||
X0253465D03* |
|||
Y0303633D03* |
|||
X0405673Y0344727D03* |
|||
Y0361262D03* |
|||
X0427327D03* |
|||
Y0344727D03* |
|||
X0626968Y0595472D03* |
|||
X0648622D03* |
|||
X0598425D03* |
|||
X0576772D03* |
|||
G54D9507* |
|||
X0644488Y0501D03* |
|||
Y0575173D03* |
|||
X0620866Y0575272D03* |
|||
X0597244Y0575083D03* |
|||
X0573622D03* |
|||
X0549902Y0582555D03* |
|||
Y0508382D03* |
|||
X0573622Y0500909D03* |
|||
X0597244D03* |
|||
X0620866Y0501098D03* |
|||
G54D9508* |
|||
X0677165Y0507146D03* |
|||
Y0539114D03* |
|||
G54D9509* |
|||
X0140945Y0410827D03* |
|||
Y0443504D03* |
|||
G54D9510* |
|||
X0677165Y0480531D03* |
|||
Y0565728D03* |
|||
G54D9511* |
|||
X04535Y0322094D03* |
|||
X04935D03* |
|||
G54D9512* |
|||
X0194291Y0302665D03* |
|||
X0369291Y0427165D03* |
|||
X0194291Y0551665D03* |
|||
G54D9513* |
|||
X0675197Y0287402D03* |
|||
X0411417D03* |
|||
X0675197Y059252D03* |
|||
X0411417Y0470472D03* |
|||
M02* |
@ -0,0 +1,397 @@ |
|||
%FSTAX26Y26*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD17C,0.050000*% |
|||
%ADD21C,0.059060*% |
|||
%ADD22R,0.059060X0.059060*% |
|||
%ADD23C,0.050000*% |
|||
%LNunisolder52_oled-1*% |
|||
%LPD*% |
|||
G36* |
|||
X0055118Y0032283D02* |
|||
Y-0037008D01* |
|||
X0050424Y-0041702* |
|||
X0049955Y-0041464* |
|||
X0049856Y-0040712* |
|||
X0049514Y-0039885* |
|||
X0048969Y-0039175* |
|||
X0048259Y-003863* |
|||
X0047431Y-0038287* |
|||
X0046544Y-0038171* |
|||
X002772* |
|||
X0016625Y-0027075* |
|||
X0015915Y-002653* |
|||
X0015088Y-0026188* |
|||
X00142Y-0026071* |
|||
X-002348* |
|||
X-0036947Y-0012603* |
|||
Y-0009747* |
|||
X-0044653* |
|||
Y-0017453* |
|||
X-0041797* |
|||
X-0027325Y-0031925* |
|||
X-0026615Y-003247* |
|||
X-0025788Y-0032812* |
|||
X-00249Y-0032929* |
|||
X0012779* |
|||
X0023445Y-0043595* |
|||
X0023238Y-0044094* |
|||
X-0048425* |
|||
X-0055118Y-0037402* |
|||
Y0032283* |
|||
X-0048031Y003937* |
|||
X0048031* |
|||
X0055118Y0032283* |
|||
G37* |
|||
%LNunisolder52_oled-2*% |
|||
%LPC*% |
|||
G36* |
|||
X-0037013Y-000435D02* |
|||
X-004005D01* |
|||
Y-0007387* |
|||
X-0039794Y-0007354* |
|||
X-0038857Y-0006965* |
|||
X-0038052Y-0006348* |
|||
X-0037435Y-0005543* |
|||
X-0037046Y-0004606* |
|||
X-0037013Y-000435* |
|||
G37* |
|||
G36* |
|||
X-004155Y0000187D02* |
|||
X-0041806Y0000154D01* |
|||
X-0042743Y-0000235* |
|||
X-0043548Y-0000852* |
|||
X-0044165Y-0001657* |
|||
X-0044554Y-0002594* |
|||
X-0044587Y-000285* |
|||
X-004155* |
|||
Y0000187* |
|||
G37* |
|||
G36* |
|||
X-004005D02* |
|||
Y-000285D01* |
|||
X-0037013* |
|||
X-0037046Y-0002594* |
|||
X-0037435Y-0001657* |
|||
X-0038052Y-0000852* |
|||
X-0038857Y-0000235* |
|||
X-0039794Y0000154* |
|||
X-004005Y0000187* |
|||
G37* |
|||
G36* |
|||
X0044753Y-0010147D02* |
|||
X0037047D01* |
|||
Y-0017853* |
|||
X0044753* |
|||
Y-0010147* |
|||
G37* |
|||
G36* |
|||
X00409Y-0000114D02* |
|||
X0039894Y-0000246D01* |
|||
X0038957Y-0000635* |
|||
X0038152Y-0001252* |
|||
X0037535Y-0002057* |
|||
X0037146Y-0002994* |
|||
X0037014Y-0004* |
|||
X0037146Y-0005006* |
|||
X0037535Y-0005943* |
|||
X0038152Y-0006748* |
|||
X0038957Y-0007365* |
|||
X0039894Y-0007754* |
|||
X00409Y-0007886* |
|||
X0041906Y-0007754* |
|||
X0042843Y-0007365* |
|||
X0043648Y-0006748* |
|||
X0044265Y-0005943* |
|||
X0044654Y-0005006* |
|||
X0044786Y-0004* |
|||
X0044654Y-0002994* |
|||
X0044265Y-0002057* |
|||
X0043648Y-0001252* |
|||
X0042843Y-0000635* |
|||
X0041906Y-0000246* |
|||
X00409Y-0000114* |
|||
G37* |
|||
G36* |
|||
X-004155Y-000435D02* |
|||
X-0044587D01* |
|||
X-0044554Y-0004606* |
|||
X-0044165Y-0005543* |
|||
X-0043548Y-0006348* |
|||
X-0042743Y-0006965* |
|||
X-0041806Y-0007354* |
|||
X-004155Y-0007387* |
|||
Y-000435* |
|||
G37* |
|||
G36* |
|||
X-001811Y0015339D02* |
|||
X-001854Y0015282D01* |
|||
X-0018898Y0015329* |
|||
X-0022647* |
|||
X-0023535Y0015213* |
|||
X-0024362Y001487* |
|||
X-0025072Y0014325* |
|||
X-0035004Y0004393* |
|||
X-0035549Y0003683* |
|||
X-0035891Y0002856* |
|||
X-0036008Y0001969* |
|||
X-0035891Y0001081* |
|||
X-0035549Y0000254* |
|||
X-0035004Y-0000456* |
|||
X-0034293Y-0001001* |
|||
X-0033466Y-0001344* |
|||
X-0032579Y-0001461* |
|||
X-0031691Y-0001344* |
|||
X-0030864Y-0001001* |
|||
X-0030154Y-0000456* |
|||
X-0021227Y0008471* |
|||
X-0018898* |
|||
X-0018468Y0008527* |
|||
X-001811Y000848* |
|||
X-0017223Y0008597* |
|||
X-0016396Y000894* |
|||
X-0015685Y0009484* |
|||
X-001514Y0010195* |
|||
X-0014798Y0011022* |
|||
X-0014681Y0011909* |
|||
X-0014798Y0012797* |
|||
X-001514Y0013624* |
|||
X-0015685Y0014334* |
|||
X-0016396Y0014879* |
|||
X-0017223Y0015222* |
|||
X-001811Y0015339* |
|||
G37* |
|||
G36* |
|||
X00409Y0029886D02* |
|||
X0039894Y0029754D01* |
|||
X0038957Y0029365* |
|||
X0038152Y0028748* |
|||
X0037535Y0027943* |
|||
X0037146Y0027006* |
|||
X0037014Y0026* |
|||
X0037146Y0024994* |
|||
X0037535Y0024057* |
|||
X0038152Y0023252* |
|||
X0038957Y0022635* |
|||
X0039894Y0022246* |
|||
X00409Y0022114* |
|||
X0041906Y0022246* |
|||
X0042843Y0022635* |
|||
X0043648Y0023252* |
|||
X0044265Y0024057* |
|||
X0044654Y0024994* |
|||
X0044786Y0026* |
|||
X0044654Y0027006* |
|||
X0044265Y0027943* |
|||
X0043648Y0028748* |
|||
X0042843Y0029365* |
|||
X0041906Y0029754* |
|||
X00409Y0029886* |
|||
G37* |
|||
G36* |
|||
X-00408Y0030286D02* |
|||
X-0041806Y0030154D01* |
|||
X-0042743Y0029765* |
|||
X-0043548Y0029148* |
|||
X-0044165Y0028343* |
|||
X-0044554Y0027406* |
|||
X-0044686Y00264* |
|||
X-0044554Y0025394* |
|||
X-0044165Y0024457* |
|||
X-0043548Y0023652* |
|||
X-0042743Y0023035* |
|||
X-0041806Y0022646* |
|||
X-00408Y0022514* |
|||
X-0039794Y0022646* |
|||
X-0038857Y0023035* |
|||
X-0038052Y0023652* |
|||
X-0037435Y0024457* |
|||
X-0037046Y0025394* |
|||
X-0036914Y00264* |
|||
X-0037046Y0027406* |
|||
X-0037435Y0028343* |
|||
X-0038052Y0029148* |
|||
X-0038857Y0029765* |
|||
X-0039794Y0030154* |
|||
X-00408Y0030286* |
|||
G37* |
|||
G36* |
|||
Y0020286D02* |
|||
X-0041806Y0020154D01* |
|||
X-0042743Y0019765* |
|||
X-0043548Y0019148* |
|||
X-0044165Y0018343* |
|||
X-0044554Y0017406* |
|||
X-0044686Y00164* |
|||
X-0044554Y0015394* |
|||
X-0044165Y0014457* |
|||
X-0043548Y0013652* |
|||
X-0042743Y0013035* |
|||
X-0041806Y0012646* |
|||
X-00408Y0012514* |
|||
X-0039794Y0012646* |
|||
X-0038857Y0013035* |
|||
X-0038052Y0013652* |
|||
X-0037435Y0014457* |
|||
X-0037046Y0015394* |
|||
X-0036914Y00164* |
|||
X-0037046Y0017406* |
|||
X-0037435Y0018343* |
|||
X-0038052Y0019148* |
|||
X-0038857Y0019765* |
|||
X-0039794Y0020154* |
|||
X-00408Y0020286* |
|||
G37* |
|||
G36* |
|||
X00409Y0009886D02* |
|||
X0039894Y0009754D01* |
|||
X0038957Y0009365* |
|||
X0038152Y0008748* |
|||
X0037535Y0007943* |
|||
X0037146Y0007006* |
|||
X0037014Y0006* |
|||
X0037146Y0004994* |
|||
X0037535Y0004057* |
|||
X0038152Y0003252* |
|||
X0038957Y0002635* |
|||
X0039894Y0002246* |
|||
X00409Y0002114* |
|||
X0041906Y0002246* |
|||
X0042843Y0002635* |
|||
X0043648Y0003252* |
|||
X0044265Y0004057* |
|||
X0044654Y0004994* |
|||
X0044786Y0006* |
|||
X0044654Y0007006* |
|||
X0044265Y0007943* |
|||
X0043648Y0008748* |
|||
X0042843Y0009365* |
|||
X0041906Y0009754* |
|||
X00409Y0009886* |
|||
G37* |
|||
G36* |
|||
X-00408Y0010286D02* |
|||
X-0041806Y0010154D01* |
|||
X-0042743Y0009765* |
|||
X-0043548Y0009148* |
|||
X-0044165Y0008343* |
|||
X-0044554Y0007406* |
|||
X-0044686Y00064* |
|||
X-0044554Y0005394* |
|||
X-0044165Y0004457* |
|||
X-0043548Y0003652* |
|||
X-0042743Y0003035* |
|||
X-0041806Y0002646* |
|||
X-00408Y0002514* |
|||
X-0039794Y0002646* |
|||
X-0038857Y0003035* |
|||
X-0038052Y0003652* |
|||
X-0037435Y0004457* |
|||
X-0037046Y0005394* |
|||
X-0036914Y00064* |
|||
X-0037046Y0007406* |
|||
X-0037435Y0008343* |
|||
X-0038052Y0009148* |
|||
X-0038857Y0009765* |
|||
X-0039794Y0010154* |
|||
X-00408Y0010286* |
|||
G37* |
|||
G36* |
|||
X00409Y0019886D02* |
|||
X0039894Y0019754D01* |
|||
X0038957Y0019365* |
|||
X0038152Y0018748* |
|||
X0037535Y0017943* |
|||
X0037146Y0017006* |
|||
X0037014Y0016* |
|||
X0037146Y0014994* |
|||
X0037535Y0014057* |
|||
X0038152Y0013252* |
|||
X0038957Y0012635* |
|||
X0039894Y0012246* |
|||
X00409Y0012114* |
|||
X0041906Y0012246* |
|||
X0042843Y0012635* |
|||
X0043648Y0013252* |
|||
X0044265Y0014057* |
|||
X0044654Y0014994* |
|||
X0044786Y0016* |
|||
X0044654Y0017006* |
|||
X0044265Y0017943* |
|||
X0043648Y0018748* |
|||
X0042843Y0019365* |
|||
X0041906Y0019754* |
|||
X00409Y0019886* |
|||
G37* |
|||
%LNunisolder52_oled-3*% |
|||
%LPD*% |
|||
G54D17* |
|||
X-0022647Y00119D02* |
|||
X-0018898D01* |
|||
X-0032579Y0001969D02* |
|||
X-0022647Y00119D01* |
|||
X00263Y-00416D02* |
|||
X0046544D01* |
|||
X00142Y-00295D02* |
|||
X00263Y-00416D01* |
|||
X-00249Y-00295D02* |
|||
X00142D01* |
|||
X-00408Y-00136D02* |
|||
X-00249Y-00295D01* |
|||
G54D21* |
|||
X00409Y0026D03* |
|||
Y0016D03* |
|||
Y0006D03* |
|||
Y-0004D03* |
|||
X-00408Y00264D03* |
|||
Y00164D03* |
|||
Y00064D03* |
|||
Y-00036D03* |
|||
G54D22* |
|||
X00409Y-0014D03* |
|||
X-00408Y-00136D03* |
|||
G54D23* |
|||
X-0001969Y0008169D03* |
|||
X-001811Y0011909D03* |
|||
X-00184Y0006D03* |
|||
X-0026476Y-0000689D03* |
|||
X0044488Y-0034843D03* |
|||
X0016535Y-0041535D03* |
|||
X-0032579Y0001969D03* |
|||
X0033268Y-0007185D03* |
|||
X0052067Y-0015354D03* |
|||
X0026191Y-0041491D03* |
|||
X0046544Y-00416D03* |
|||
X-00448Y-00211D03* |
|||
X-0002854Y-0018799D03* |
|||
X-0017421Y0019882D03* |
|||
X-00305Y00277D03* |
|||
X-00207Y0036D03* |
|||
X-00408Y00358D03* |
|||
X-00503Y00211D03* |
|||
X-005Y00047D03* |
|||
X0050984Y0011319D03* |
|||
X00508Y00213D03* |
|||
X00402Y00355D03* |
|||
X0024281Y0016298D03* |
|||
X0018898Y-0010827D03* |
|||
X-0027657Y001565D03* |
|||
X-0004724Y0019783D03* |
|||
X-00309Y-00416D03* |
|||
X-0002756Y-0041634D03* |
|||
X00443Y-00262D03* |
|||
X-0017815Y-0018996D03* |
|||
X0004724Y-0013287D03* |
|||
X-00444Y-00323D03* |
|||
X000876Y0030217D03* |
|||
X-00177Y-00417D03* |
|||
X-00486Y-00405D03* |
|||
X-0001969Y0036909D03* |
|||
X001811Y0002264D03* |
|||
X-0008465Y-00125D03* |
|||
X0022244Y0036909D03* |
|||
X000876Y0017618D03* |
|||
X0033957Y0003248D03* |
|||
M02* |
@ -0,0 +1,22 @@ |
|||
%FSTAX26Y26*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD36C,0.067060*% |
|||
%ADD37R,0.067060X0.067060*% |
|||
%LNunisolder52_oled-1*% |
|||
%LPD*% |
|||
G54D36* |
|||
X00409Y0026D03* |
|||
Y0016D03* |
|||
Y0006D03* |
|||
Y-0004D03* |
|||
X-00408Y00264D03* |
|||
Y00164D03* |
|||
Y00064D03* |
|||
Y-00036D03* |
|||
G54D37* |
|||
X00409Y-0014D03* |
|||
X-00408Y-00136D03* |
|||
M02* |
@ -0,0 +1,23 @@ |
|||
%FSTAX26Y26*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD24C,0.007870*% |
|||
%LNunisolder52_oled-1*% |
|||
%LPD*% |
|||
G54D24* |
|||
X-0057087Y-0038189D02* |
|||
Y0033465D01* |
|||
X-0049213Y0041339* |
|||
X0049213* |
|||
X0057087Y0033465* |
|||
Y-0038189D02* |
|||
Y0033465D01* |
|||
X0049213Y-0046063D02* |
|||
X0057087Y-0038189D01* |
|||
X-0049213Y-0046063D02* |
|||
X0049213D01* |
|||
X-0057087Y-0038189D02* |
|||
X-0049213Y-0046063D01* |
|||
M02* |
1657
hardware/gerber/unisolder52_oled.gtl
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,527 @@ |
|||
%FSTAX26Y26*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD24C,0.007870*% |
|||
%ADD25C,0.010000*% |
|||
%ADD26C,0.008000*% |
|||
%LNunisolder52_oled-1*% |
|||
%LPD*% |
|||
G54D24* |
|||
X-0015118Y000723D02* |
|||
Y001619D01* |
|||
X-0004882Y000733D02* |
|||
Y001619D01* |
|||
X-0015118Y00343D02* |
|||
X-0004882D01* |
|||
X-0015118Y002367D02* |
|||
Y00343D01* |
|||
X-0004882Y002367D02* |
|||
Y00343D01* |
|||
X-0015118Y000725D02* |
|||
X-0013347Y0005479D01* |
|||
X-0006654D02* |
|||
X-0004882Y000725D01* |
|||
X-0013347Y0005479D02* |
|||
X-0006654D01* |
|||
X00359Y-0019D02* |
|||
X00459D01* |
|||
X00359D02* |
|||
Y0031D01* |
|||
X00459Y-0019D02* |
|||
Y0031D01* |
|||
X00359D02* |
|||
X00459D01* |
|||
X-00458Y-00186D02* |
|||
X-00358D01* |
|||
X-00458D02* |
|||
Y00314D01* |
|||
X-00358Y-00186D02* |
|||
Y00314D01* |
|||
X-00458D02* |
|||
X-00358D01* |
|||
X0008015Y0016372D02* |
|||
X0009585D01* |
|||
X0006044Y0003972D02* |
|||
X0011556D01* |
|||
X0007422Y0016965D02* |
|||
X0008015Y0016372D01* |
|||
X0006044Y0016965D02* |
|||
X0007422D01* |
|||
X0009585Y0016372D02* |
|||
X0010178Y0016965D01* |
|||
X0011556* |
|||
G54D25* |
|||
X00031Y0016872D02* |
|||
X00032D01* |
|||
G54D26* |
|||
X0033549Y0003338D02* |
|||
X0034215Y0004005D01* |
|||
Y0005337* |
|||
X0033549Y0006004* |
|||
X0030883* |
|||
X0030217Y0005337* |
|||
Y0004005* |
|||
X0030883Y0003338* |
|||
X0034215Y-0000661D02* |
|||
X0033549Y0000672D01* |
|||
X0032216Y0002005* |
|||
X0030883* |
|||
X0030217Y0001339* |
|||
Y0000006* |
|||
X0030883Y-0000661* |
|||
X0031549* |
|||
X0032216Y0000006* |
|||
Y0002005* |
|||
X0033549Y-0001994D02* |
|||
X0034215Y-000266D01* |
|||
Y-0003993* |
|||
X0033549Y-0004659* |
|||
X0032882* |
|||
X0032216Y-0003993* |
|||
X0031549Y-0004659* |
|||
X0030883* |
|||
X0030217Y-0003993* |
|||
Y-000266* |
|||
X0030883Y-0001994* |
|||
X0031549* |
|||
X0032216Y-000266* |
|||
X0032882Y-0001994* |
|||
X0033549* |
|||
X0032216Y-000266D02* |
|||
Y-0003993D01* |
|||
X-0048932Y00057D02* |
|||
X-0048265Y0006367D01* |
|||
Y00077* |
|||
X-0048932Y0008366* |
|||
X-0051597* |
|||
X-0052264Y00077* |
|||
Y0006367* |
|||
X-0051597Y00057* |
|||
X-0048265Y0004367D02* |
|||
Y0001702D01* |
|||
X-0048932* |
|||
X-0051597Y0004367* |
|||
X-0052264* |
|||
Y-0001631D02* |
|||
X-0048265D01* |
|||
X-0050264Y0000369* |
|||
Y-0002297* |
|||
X0052446Y-0014182D02* |
|||
X0053113Y-0013515D01* |
|||
Y-0012182* |
|||
X0052446Y-0011516* |
|||
X0049781* |
|||
X0049114Y-0012182* |
|||
Y-0013515* |
|||
X0049781Y-0014182* |
|||
X0053113Y-0015515D02* |
|||
Y-001818D01* |
|||
X0052446* |
|||
X0049781Y-0015515* |
|||
X0049114* |
|||
X0052446Y-0019513D02* |
|||
X0053113Y-002018D01* |
|||
Y-0021512* |
|||
X0052446Y-0022179* |
|||
X005178* |
|||
X0051113Y-0021512* |
|||
Y-0020846* |
|||
Y-0021512* |
|||
X0050447Y-0022179* |
|||
X0049781* |
|||
X0049114Y-0021512* |
|||
Y-002018* |
|||
X0049781Y-0019513* |
|||
X-0043321Y-0022941D02* |
|||
X-0042655Y-0022275D01* |
|||
Y-0020942* |
|||
X-0043321Y-0020276* |
|||
X-0045987* |
|||
X-0046654Y-0020942* |
|||
Y-0022275* |
|||
X-0045987Y-0022941* |
|||
X-0042655Y-0024274D02* |
|||
Y-002694D01* |
|||
X-0043321* |
|||
X-0045987Y-0024274* |
|||
X-0046654* |
|||
X-0042655Y-0028273D02* |
|||
Y-0030939D01* |
|||
X-0043321* |
|||
X-0045987Y-0028273* |
|||
X-0046654* |
|||
X0047736Y0026181D02* |
|||
Y003018D01* |
|||
X0049736* |
|||
X0050402Y0029513* |
|||
Y0028181* |
|||
X0049736Y0027514* |
|||
X0047736* |
|||
X0051735Y0026181D02* |
|||
X0053068D01* |
|||
X0052401* |
|||
Y003018* |
|||
X0051735Y0029513* |
|||
X-0054232Y0027362D02* |
|||
Y0031361D01* |
|||
X-0052233* |
|||
X-0051566Y0030694* |
|||
Y0029362* |
|||
X-0052233Y0028695* |
|||
X-0054232* |
|||
X-0047568Y0027362D02* |
|||
X-0050234D01* |
|||
X-0047568Y0030028* |
|||
Y0030694* |
|||
X-0048234Y0031361* |
|||
X-0049567* |
|||
X-0050234Y0030694* |
|||
X0016929Y0006361D02* |
|||
Y0003029D01* |
|||
X0017596Y0002362* |
|||
X0018928* |
|||
X0019595Y0003029* |
|||
Y0006361* |
|||
X0020928Y0002362D02* |
|||
X0022261D01* |
|||
X0021594* |
|||
Y0006361* |
|||
X0020928Y0005694* |
|||
X002426Y0003029D02* |
|||
X0024927Y0002362D01* |
|||
X0026259* |
|||
X0026926Y0003029* |
|||
Y0005694* |
|||
X0026259Y0006361* |
|||
X0024927* |
|||
X002426Y0005694* |
|||
Y0005028* |
|||
X0024927Y0004361* |
|||
X0026926* |
|||
X0021161Y-0012697D02* |
|||
Y-0008698D01* |
|||
X0023161* |
|||
X0023827Y-0009365* |
|||
Y-0010697* |
|||
X0023161Y-0011364* |
|||
X0021161* |
|||
X0022494D02* |
|||
X0023827Y-0012697D01* |
|||
X0027826Y-0008698D02* |
|||
X0026493Y-0009365D01* |
|||
X002516Y-0010697* |
|||
Y-001203* |
|||
X0025826Y-0012697* |
|||
X0027159* |
|||
X0027826Y-001203* |
|||
Y-0011364* |
|||
X0027159Y-0010697* |
|||
X002516* |
|||
X0029159Y-0009365D02* |
|||
X0029825Y-0008698D01* |
|||
X0031158* |
|||
X0031825Y-0009365* |
|||
Y-0010031* |
|||
X0031158Y-0010697* |
|||
X0031825Y-0011364* |
|||
Y-001203* |
|||
X0031158Y-0012697* |
|||
X0029825* |
|||
X0029159Y-001203* |
|||
Y-0011364* |
|||
X0029825Y-0010697* |
|||
X0029159Y-0010031* |
|||
Y-0009365* |
|||
X0029825Y-0010697D02* |
|||
X0031158D01* |
|||
X-0025197Y0007874D02* |
|||
X-0021198D01* |
|||
Y0005875* |
|||
X-0021865Y0005208* |
|||
X-0023198* |
|||
X-0023864Y0005875* |
|||
Y0007874* |
|||
Y0006541D02* |
|||
X-0025197Y0005208D01* |
|||
X-0021198Y0001209D02* |
|||
X-0021865Y0002542D01* |
|||
X-0023198Y0003875* |
|||
X-002453* |
|||
X-0025197Y0003209* |
|||
Y0001876* |
|||
X-002453Y0001209* |
|||
X-0023864* |
|||
X-0023198Y0001876* |
|||
Y0003875* |
|||
X-0021198Y-0000123D02* |
|||
Y-0002789D01* |
|||
X-0021865* |
|||
X-002453Y-0000123* |
|||
X-0025197* |
|||
X-0003347Y-0015059D02* |
|||
Y-001106D01* |
|||
X-0001347* |
|||
X-0000681Y-0011727* |
|||
Y-001306* |
|||
X-0001347Y-0013726* |
|||
X-0003347* |
|||
X-0002014D02* |
|||
X-0000681Y-0015059D01* |
|||
X0003318Y-001106D02* |
|||
X0001985Y-0011727D01* |
|||
X0000652Y-001306* |
|||
Y-0014393* |
|||
X0001319Y-0015059* |
|||
X0002652* |
|||
X0003318Y-0014393* |
|||
Y-0013726* |
|||
X0002652Y-001306* |
|||
X0000652* |
|||
X0007317Y-001106D02* |
|||
X0005984Y-0011727D01* |
|||
X0004651Y-001306* |
|||
Y-0014393* |
|||
X0005317Y-0015059* |
|||
X000665* |
|||
X0007317Y-0014393* |
|||
Y-0013726* |
|||
X000665Y-001306* |
|||
X0004651* |
|||
X-0038101Y-0040001D02* |
|||
X-0039434D01* |
|||
X-00401Y-0040668* |
|||
Y-0043334* |
|||
X-0039434Y-0044* |
|||
X-0038101* |
|||
X-0037434Y-0043334* |
|||
Y-0040668* |
|||
X-0038101Y-0040001* |
|||
X-0036101D02* |
|||
Y-0044D01* |
|||
X-0033435* |
|||
X-0029437Y-0040001D02* |
|||
X-0032103D01* |
|||
Y-0044* |
|||
X-0029437* |
|||
X-0032103Y-0042001D02* |
|||
X-003077D01* |
|||
X-0028104Y-0040001D02* |
|||
Y-0044D01* |
|||
X-0026105* |
|||
X-0025438Y-0043334* |
|||
Y-0040668* |
|||
X-0026105Y-0040001* |
|||
X-0028104* |
|||
X-0024105Y-0044D02* |
|||
X-0022772D01* |
|||
X-0023439* |
|||
Y-0040001* |
|||
X-0024105Y-0040668* |
|||
X000561Y0029196D02* |
|||
Y0025197D01* |
|||
X0008276* |
|||
X0009609Y0028529D02* |
|||
X0010275Y0029196D01* |
|||
X0011608* |
|||
X0012275Y0028529* |
|||
Y0027863* |
|||
X0011608Y0027196* |
|||
X0010942* |
|||
X0011608* |
|||
X0012275Y002653* |
|||
Y0025863* |
|||
X0011608Y0025197* |
|||
X0010275* |
|||
X0009609Y0025863* |
|||
X-0016769Y0034252D02* |
|||
X-0020768D01* |
|||
Y0032253* |
|||
X-0020101Y0031586* |
|||
X-0017436* |
|||
X-0016769Y0032253* |
|||
Y0034252* |
|||
X-0020768Y0027588D02* |
|||
Y0030253D01* |
|||
X-0018102Y0027588* |
|||
X-0017436* |
|||
X-0016769Y0028254* |
|||
Y0029587* |
|||
X-0017436Y0030253* |
|||
X-0020768Y0023589D02* |
|||
Y0026255D01* |
|||
X-0018102Y0023589* |
|||
X-0017436* |
|||
X-0016769Y0024255* |
|||
Y0025588* |
|||
X-0017436Y0026255* |
|||
X-0029739Y0005208D02* |
|||
X-0029072Y0005875D01* |
|||
Y0007208* |
|||
X-0029739Y0007874* |
|||
X-0032404* |
|||
X-0033071Y0007208* |
|||
Y0005875* |
|||
X-0032404Y0005208* |
|||
X-0029072Y0003875D02* |
|||
Y0001209D01* |
|||
X-0029739* |
|||
X-0032404Y0003875* |
|||
X-0033071* |
|||
X-0029072Y-0002789D02* |
|||
Y-0000123D01* |
|||
X-0031071* |
|||
X-0030405Y-0001456* |
|||
Y-0002123* |
|||
X-0031071Y-0002789* |
|||
X-0032404* |
|||
X-0033071Y-0002123* |
|||
Y-000079* |
|||
X-0032404Y-0000123* |
|||
X0038493Y0036206D02* |
|||
X0037826Y0036873D01* |
|||
X0036493* |
|||
X0035827Y0036206* |
|||
Y003354* |
|||
X0036493Y0032874* |
|||
X0037826* |
|||
X0038493Y003354* |
|||
X0042491Y0036873D02* |
|||
X0041158Y0036206D01* |
|||
X0039825Y0034873* |
|||
Y003354* |
|||
X0040492Y0032874* |
|||
X0041825* |
|||
X0042491Y003354* |
|||
Y0034207* |
|||
X0041825Y0034873* |
|||
X0039825* |
|||
X0043824Y003354D02* |
|||
X0044491Y0032874D01* |
|||
X0045823* |
|||
X004649Y003354* |
|||
Y0036206* |
|||
X0045823Y0036873* |
|||
X0044491* |
|||
X0043824Y0036206* |
|||
Y003554* |
|||
X0044491Y0034873* |
|||
X004649* |
|||
X0023805Y0016133D02* |
|||
X0024471Y00168D01* |
|||
Y0018133* |
|||
X0023805Y0018799* |
|||
X0021139* |
|||
X0020472Y0018133* |
|||
Y00168* |
|||
X0021139Y0016133* |
|||
X0024471Y0012135D02* |
|||
X0023805Y0013468D01* |
|||
X0022472Y00148* |
|||
X0021139* |
|||
X0020472Y0014134* |
|||
Y0012801* |
|||
X0021139Y0012135* |
|||
X0021805* |
|||
X0022472Y0012801* |
|||
Y00148* |
|||
X0024471Y0010802D02* |
|||
Y0008136D01* |
|||
X0023805* |
|||
X0021139Y0010802* |
|||
X0020472* |
|||
X-0005723Y-0013493D02* |
|||
X-0005056Y-0012826D01* |
|||
Y-0011493* |
|||
X-0005723Y-0010827* |
|||
X-0008389* |
|||
X-0009055Y-0011493* |
|||
Y-0012826* |
|||
X-0008389Y-0013493* |
|||
X-0005056Y-0014826D02* |
|||
Y-0017491D01* |
|||
X-0005723* |
|||
X-0008389Y-0014826* |
|||
X-0009055* |
|||
Y-0018824D02* |
|||
Y-0020157D01* |
|||
Y-0019491* |
|||
X-0005056* |
|||
X-0005723Y-0018824* |
|||
X-0011391Y-0013137D02* |
|||
X-0010724Y-0012471D01* |
|||
Y-0011138* |
|||
X-0011391Y-0010471* |
|||
X-0014057* |
|||
X-0014723Y-0011138* |
|||
Y-0012471* |
|||
X-0014057Y-0013137* |
|||
X-0010724Y-001447D02* |
|||
Y-0017136D01* |
|||
X-0011391* |
|||
X-0014057Y-001447* |
|||
X-0014723* |
|||
X-0011391Y-0018469D02* |
|||
X-0010724Y-0019135D01* |
|||
Y-0020468* |
|||
X-0011391Y-0021135* |
|||
X-0014057* |
|||
X-0014723Y-0020468* |
|||
Y-0019135* |
|||
X-0014057Y-0018469* |
|||
X-0011391* |
|||
X004813Y0014272D02* |
|||
X0052129D01* |
|||
Y0012272* |
|||
X0051462Y0011606* |
|||
X0050129* |
|||
X0049463Y0012272* |
|||
Y0014272* |
|||
Y0012939D02* |
|||
X004813Y0011606D01* |
|||
X0052129Y0007607D02* |
|||
X0051462Y000894D01* |
|||
X0050129Y0010273* |
|||
X0048796* |
|||
X004813Y0009606* |
|||
Y0008274* |
|||
X0048796Y0007607* |
|||
X0049463* |
|||
X0050129Y0008274* |
|||
Y0010273* |
|||
X0048796Y0006274D02* |
|||
X004813Y0005608D01* |
|||
Y0004275* |
|||
X0048796Y0003608* |
|||
X0051462* |
|||
X0052129Y0004275* |
|||
Y0005608* |
|||
X0051462Y0006274* |
|||
X0050796* |
|||
X0050129Y0005608* |
|||
Y0003608* |
|||
X0011721Y-0014286D02* |
|||
X0011054Y-0013619D01* |
|||
X0009721* |
|||
X0009055Y-0014286* |
|||
Y-0016952* |
|||
X0009721Y-0017618* |
|||
X0011054* |
|||
X0011721Y-0016952* |
|||
X0013054Y-0013619D02* |
|||
X001572D01* |
|||
Y-0014286* |
|||
X0013054Y-0016952* |
|||
Y-0017618* |
|||
X0019718Y-0013619D02* |
|||
X0018385Y-0014286D01* |
|||
X0017052Y-0015619* |
|||
Y-0016952* |
|||
X0017719Y-0017618* |
|||
X0019052* |
|||
X0019718Y-0016952* |
|||
Y-0016285* |
|||
X0019052Y-0015619* |
|||
X0017052* |
|||
M02* |
@ -0,0 +1,623 @@ |
|||
%FSTAX26Y26*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%AMD30* |
|||
4,1,8,0.039400,-0.040200,0.039400,0.040200,0.028300,0.051200,-0.028300,0.051200,-0.039400,0.040200,-0.039400,-0.040200,-0.028300,-0.051200,0.028300,-0.051200,0.039400,-0.040200,0.0* |
|||
1,1,0.022180,0.028300,-0.040200* |
|||
1,1,0.022180,0.028300,0.040200* |
|||
1,1,0.022180,-0.028300,0.040200* |
|||
1,1,0.022180,-0.028300,-0.040200* |
|||
% |
|||
%AMD31* |
|||
4,1,8,-0.021800,-0.029600,0.021800,-0.029600,0.033500,-0.017900,0.033500,0.017900,0.021800,0.029600,-0.021800,0.029600,-0.033500,0.017900,-0.033500,-0.017900,-0.021800,-0.029600,0.0* |
|||
1,1,0.023360,-0.021800,-0.017900* |
|||
1,1,0.023360,0.021800,-0.017900* |
|||
1,1,0.023360,0.021800,0.017900* |
|||
1,1,0.023360,-0.021800,0.017900* |
|||
% |
|||
%AMD33* |
|||
4,1,8,0.029600,-0.021800,0.029600,0.021800,0.017900,0.033500,-0.017900,0.033500,-0.029600,0.021800,-0.029600,-0.021800,-0.017900,-0.033500,0.017900,-0.033500,0.029600,-0.021800,0.0* |
|||
1,1,0.023360,0.017900,-0.021800* |
|||
1,1,0.023360,0.017900,0.021800* |
|||
1,1,0.023360,-0.017900,0.021800* |
|||
1,1,0.023360,-0.017900,-0.021800* |
|||
% |
|||
%AMD34* |
|||
4,1,8,-0.025700,0.010200,-0.025700,-0.010200,-0.019100,-0.016800,0.019100,-0.016800,0.025700,-0.010200,0.025700,0.010200,0.019100,0.016800,-0.019100,0.016800,-0.025700,0.010200,0.0* |
|||
1,1,0.013120,-0.019100,0.010200* |
|||
1,1,0.013120,-0.019100,-0.010200* |
|||
1,1,0.013120,0.019100,-0.010200* |
|||
1,1,0.013120,0.019100,0.010200* |
|||
% |
|||
%AMD35* |
|||
4,1,8,0.005600,0.082700,-0.005600,0.082700,-0.012100,0.076300,-0.012100,-0.076300,-0.005600,-0.082700,0.005600,-0.082700,0.012100,-0.076300,0.012100,0.076300,0.005600,0.082700,0.0* |
|||
1,1,0.012840,0.005600,0.076300* |
|||
1,1,0.012840,-0.005600,0.076300* |
|||
1,1,0.012840,-0.005600,-0.076300* |
|||
1,1,0.012840,0.005600,-0.076300* |
|||
% |
|||
%ADD27R,0.043000X0.089000*% |
|||
%ADD28R,0.045000X0.088000*% |
|||
%ADD29R,0.812000X0.162000*% |
|||
G04~CAMADD=30~8~0.0~0.0~1024.9~788.7~110.9~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~270.0~788.0~1024.0* |
|||
%ADD30D30*% |
|||
G04~CAMADD=31~8~0.0~0.0~670.6~591.8~116.8~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~180.0~671.0~592.0* |
|||
%ADD31D31*% |
|||
%ADD32R,0.043430X0.106420*% |
|||
G04~CAMADD=33~8~0.0~0.0~670.6~591.8~116.8~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~270.0~592.0~670.0* |
|||
%ADD33D33*% |
|||
G04~CAMADD=34~8~0.0~0.0~335.9~513.1~65.6~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~90.0~514.0~336.0* |
|||
%ADD34D34*% |
|||
G04~CAMADD=35~8~0.0~0.0~241.4~1654.8~64.2~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~241.4~1654.8* |
|||
%ADD35D35*% |
|||
%ADD36C,0.067060*% |
|||
%ADD37R,0.067060X0.067060*% |
|||
%LNunisolder52_oled-1*% |
|||
%LPD*% |
|||
G36* |
|||
X0003706Y0025528D02* |
|||
X0003731Y0025526D01* |
|||
X0003732* |
|||
X0003734* |
|||
X0003758Y0025521* |
|||
X0003782Y0025517* |
|||
X0003784Y0025516* |
|||
X0003786* |
|||
X0003809Y0025508* |
|||
X0003832Y00255* |
|||
X0003833Y0025499* |
|||
X0003835* |
|||
X0003858Y0025488* |
|||
X0003879Y0025477* |
|||
X0003881Y0025476* |
|||
X0003882* |
|||
X0003903Y0025462* |
|||
X0003923Y0025449* |
|||
X0003924Y0025447* |
|||
X0003926Y0025446* |
|||
X0003944Y002543* |
|||
X0003963Y0025414* |
|||
X0003964Y0025413* |
|||
X0003965Y0025412* |
|||
X0005226Y0024151* |
|||
X0006339* |
|||
X0006392Y0024148* |
|||
X0006443Y0024138* |
|||
X0006493Y0024121* |
|||
X000654Y0024098* |
|||
X0006583Y0024069* |
|||
X0006623Y0024034* |
|||
X0006657Y0023994* |
|||
X0006686Y0023951* |
|||
X000671Y0023904* |
|||
X0006727Y0023854* |
|||
X0006737Y0023803* |
|||
X000674Y0023751* |
|||
Y002001* |
|||
X0006737Y0019958* |
|||
X0006727Y0019907* |
|||
X000671Y0019857* |
|||
X0006686Y001981* |
|||
X0006657Y0019766* |
|||
X0006623Y0019727* |
|||
X0006583Y0019692* |
|||
X000654Y0019663* |
|||
X0006493Y001964* |
|||
X0006443Y0019623* |
|||
X0006392Y0019613* |
|||
X0006339Y001961* |
|||
X0003387* |
|||
X0003334Y0019613* |
|||
X0003283Y0019623* |
|||
X0003233Y001964* |
|||
X0003186Y0019663* |
|||
X0003143Y0019692* |
|||
X0003103Y0019727* |
|||
X-0000145Y0022975* |
|||
X-0000179Y0023014* |
|||
X-0000209Y0023058* |
|||
X-0000232Y0023105* |
|||
X-0000249Y0023155* |
|||
X-0000259Y0023206* |
|||
X-0000262Y0023258* |
|||
Y0024144* |
|||
X-0000261Y0024169* |
|||
X-0000259Y0024193* |
|||
Y0024195* |
|||
Y0024196* |
|||
X-0000254Y0024221* |
|||
X-0000249Y0024244* |
|||
Y0024246* |
|||
Y0024248* |
|||
X-0000241Y0024271* |
|||
X-0000233Y0024294* |
|||
X-0000232Y0024296* |
|||
Y0024298* |
|||
X-0000221Y002432* |
|||
X-000021Y0024341* |
|||
X-0000209Y0024343* |
|||
Y0024345* |
|||
X-0000195Y0024365* |
|||
X-0000182Y0024385* |
|||
X-0000181Y0024387* |
|||
X-0000179Y0024388* |
|||
X-0000163Y0024407* |
|||
X-0000147Y0024425* |
|||
X-0000146Y0024426* |
|||
X-0000145Y0024428* |
|||
X-0000126Y0024444* |
|||
X-0000108Y002446* |
|||
X-0000107Y0024461* |
|||
X-0000105Y0024462* |
|||
X-0000085Y0024475* |
|||
X-0000065Y0024489* |
|||
X-0000063Y002449* |
|||
X-0000062Y0024491* |
|||
X-000004Y0024502* |
|||
X-0000018Y0024513* |
|||
X-0000017Y0024514* |
|||
X-0000015* |
|||
X0000008Y0024522* |
|||
X0000031Y002453* |
|||
X0003575Y0025515* |
|||
X0003576* |
|||
X0003578Y0025516* |
|||
X0003602Y002552* |
|||
X0003626Y0025525* |
|||
X0003628Y0025526* |
|||
X000363* |
|||
X0003654Y0025528* |
|||
X0003678Y0025529* |
|||
X000368* |
|||
X0003682* |
|||
X0003706Y0025528* |
|||
G37* |
|||
G36* |
|||
X001392Y0025529D02* |
|||
X0013922D01* |
|||
X0013946Y0025528* |
|||
X001397Y0025526* |
|||
X0013972* |
|||
X0013974Y0025525* |
|||
X0013998Y002552* |
|||
X0014022Y0025516* |
|||
X0014024Y0025515* |
|||
X0014025* |
|||
X0017569Y002453* |
|||
X0017592Y0024522* |
|||
X0017615Y0024514* |
|||
X0017616* |
|||
X0017618Y0024513* |
|||
X001764Y0024502* |
|||
X0017662Y0024491* |
|||
X0017663Y002449* |
|||
X0017665Y0024489* |
|||
X0017685Y0024475* |
|||
X0017705Y0024462* |
|||
X0017707Y0024461* |
|||
X0017708Y002446* |
|||
X0017726Y0024444* |
|||
X0017745Y0024428* |
|||
X0017746Y0024426* |
|||
X0017748Y0024425* |
|||
X0017763Y0024407* |
|||
X0017779Y0024388* |
|||
X0017781Y0024387* |
|||
X0017782Y0024385* |
|||
X0017795Y0024365* |
|||
X0017809Y0024345* |
|||
Y0024343* |
|||
X001781Y0024341* |
|||
X0017821Y002432* |
|||
X0017832Y0024298* |
|||
Y0024296* |
|||
X0017833Y0024294* |
|||
X0017841Y0024271* |
|||
X0017849Y0024248* |
|||
Y0024246* |
|||
X001785Y0024244* |
|||
X0017854Y0024221* |
|||
X0017859Y0024196* |
|||
Y0024195* |
|||
Y0024193* |
|||
X0017861Y0024169* |
|||
X0017862Y0024144* |
|||
Y0023258* |
|||
X0017859Y0023206* |
|||
X0017849Y0023155* |
|||
X0017832Y0023105* |
|||
X0017809Y0023058* |
|||
X0017779Y0023014* |
|||
X0017745Y0022975* |
|||
X0014497Y0019727* |
|||
X0014457Y0019692* |
|||
X0014414Y0019663* |
|||
X0014367Y001964* |
|||
X0014317Y0019623* |
|||
X0014266Y0019613* |
|||
X0014213Y001961* |
|||
X0011261* |
|||
X0011208Y0019613* |
|||
X0011157Y0019623* |
|||
X0011107Y001964* |
|||
X001106Y0019663* |
|||
X0011017Y0019692* |
|||
X0010977Y0019727* |
|||
X0010943Y0019766* |
|||
X0010914Y001981* |
|||
X001089Y0019857* |
|||
X0010873Y0019907* |
|||
X0010863Y0019958* |
|||
X001086Y002001* |
|||
Y0023751* |
|||
X0010863Y0023803* |
|||
X0010873Y0023854* |
|||
X001089Y0023904* |
|||
X0010914Y0023951* |
|||
X0010943Y0023994* |
|||
X0010977Y0024034* |
|||
X0011017Y0024069* |
|||
X001106Y0024098* |
|||
X0011107Y0024121* |
|||
X0011157Y0024138* |
|||
X0011208Y0024148* |
|||
X0011261Y0024151* |
|||
X0012374* |
|||
X0013635Y0025412* |
|||
X0013636Y0025413* |
|||
X0013637Y0025414* |
|||
X0013656Y002543* |
|||
X0013674Y0025446* |
|||
X0013676Y0025447* |
|||
X0013677Y0025449* |
|||
X0013697Y0025462* |
|||
X0013718Y0025476* |
|||
X0013719* |
|||
X0013721Y0025477* |
|||
X0013742Y0025488* |
|||
X0013765Y0025499* |
|||
X0013767* |
|||
X0013768Y00255* |
|||
X0013791Y0025508* |
|||
X0013814Y0025516* |
|||
X0013816* |
|||
X0013818Y0025517* |
|||
X0013842Y0025521* |
|||
X0013866Y0025526* |
|||
X0013868* |
|||
X0013869* |
|||
X0013894Y0025528* |
|||
X0013918Y0025529* |
|||
X001392* |
|||
G37* |
|||
G36* |
|||
X0014266Y0037731D02* |
|||
X0014317Y003772D01* |
|||
X0014367Y0037703* |
|||
X0014414Y003768* |
|||
X0014457Y0037651* |
|||
X0014497Y0037617* |
|||
X0017745Y0034369* |
|||
X0017779Y0034329* |
|||
X0017809Y0034286* |
|||
X0017832Y0034238* |
|||
X0017849Y0034189* |
|||
X0017859Y0034137* |
|||
X0017862Y0034085* |
|||
Y0033199* |
|||
X0017861Y0033175* |
|||
X0017859Y0033151* |
|||
Y0033149* |
|||
Y0033147* |
|||
X0017854Y0033123* |
|||
X001785Y0033099* |
|||
X0017849Y0033097* |
|||
Y0033095* |
|||
X0017841Y0033072* |
|||
X0017833Y0033049* |
|||
X0017832Y0033048* |
|||
Y0033046* |
|||
X0017821Y0033024* |
|||
X001781Y0033002* |
|||
X0017809Y0033* |
|||
Y0032999* |
|||
X0017795Y0032979* |
|||
X0017782Y0032958* |
|||
X0017781Y0032957* |
|||
X0017779Y0032955* |
|||
X0017763Y0032937* |
|||
X0017748Y0032919* |
|||
X0017746Y0032917* |
|||
X0017745Y0032916* |
|||
X0017726Y0032899* |
|||
X0017708Y0032884* |
|||
X0017707Y0032882* |
|||
X0017705Y0032881* |
|||
X0017685Y0032868* |
|||
X0017665Y0032854* |
|||
X0017663Y0032853* |
|||
X0017662Y0032852* |
|||
X001764Y0032842* |
|||
X0017618Y003283* |
|||
X0017616* |
|||
X0017615Y0032829* |
|||
X0017592Y0032821* |
|||
X0017569Y0032813* |
|||
X0014025Y0031829* |
|||
X0014024Y0031828* |
|||
X0014022* |
|||
X0013998Y0031823* |
|||
X0013974Y0031818* |
|||
X0013972* |
|||
X001397* |
|||
X0013946Y0031816* |
|||
X0013922Y0031814* |
|||
X001392* |
|||
X0013918* |
|||
X0013894Y0031816* |
|||
X0013869Y0031817* |
|||
X0013868* |
|||
X0013866Y0031818* |
|||
X0013842Y0031822* |
|||
X0013818Y0031827* |
|||
X0013816Y0031828* |
|||
X0013814* |
|||
X0013791Y0031836* |
|||
X0013768Y0031843* |
|||
X0013767Y0031844* |
|||
X0013765Y0031845* |
|||
X0013742Y0031856* |
|||
X0013721Y0031866* |
|||
X0013719Y0031867* |
|||
X0013718Y0031868* |
|||
X0013697Y0031882* |
|||
X0013677Y0031895* |
|||
X0013676Y0031896* |
|||
X0013674Y0031897* |
|||
X0013656Y0031913* |
|||
X0013637Y0031929* |
|||
X0013636Y003193* |
|||
X0013635Y0031932* |
|||
X0012374Y0033192* |
|||
X0011261* |
|||
X0011208Y0033196* |
|||
X0011157Y0033206* |
|||
X0011107Y0033223* |
|||
X001106Y0033246* |
|||
X0011017Y0033275* |
|||
X0010977Y003331* |
|||
X0010943Y0033349* |
|||
X0010914Y0033393* |
|||
X001089Y003344* |
|||
X0010873Y0033489* |
|||
X0010863Y0033541* |
|||
X001086Y0033593* |
|||
Y0037333* |
|||
X0010863Y0037385* |
|||
X0010873Y0037437* |
|||
X001089Y0037487* |
|||
X0010914Y0037534* |
|||
X0010943Y0037577* |
|||
X0010977Y0037617* |
|||
X0011017Y0037651* |
|||
X001106Y003768* |
|||
X0011107Y0037703* |
|||
X0011157Y003772* |
|||
X0011208Y0037731* |
|||
X0011261Y0037734* |
|||
X0014213* |
|||
X0014266Y0037731* |
|||
G37* |
|||
G36* |
|||
X0006392D02* |
|||
X0006443Y003772D01* |
|||
X0006493Y0037703* |
|||
X000654Y003768* |
|||
X0006583Y0037651* |
|||
X0006623Y0037617* |
|||
X0006657Y0037577* |
|||
X0006686Y0037534* |
|||
X000671Y0037487* |
|||
X0006727Y0037437* |
|||
X0006737Y0037385* |
|||
X000674Y0037333* |
|||
Y0033593* |
|||
X0006737Y0033541* |
|||
X0006727Y0033489* |
|||
X000671Y003344* |
|||
X0006686Y0033393* |
|||
X0006657Y0033349* |
|||
X0006623Y003331* |
|||
X0006583Y0033275* |
|||
X000654Y0033246* |
|||
X0006493Y0033223* |
|||
X0006443Y0033206* |
|||
X0006392Y0033196* |
|||
X0006339Y0033192* |
|||
X0005226* |
|||
X0003965Y0031932* |
|||
X0003964Y003193* |
|||
X0003963Y0031929* |
|||
X0003944Y0031913* |
|||
X0003926Y0031897* |
|||
X0003924Y0031896* |
|||
X0003923Y0031895* |
|||
X0003903Y0031882* |
|||
X0003882Y0031868* |
|||
X0003881Y0031867* |
|||
X0003879Y0031866* |
|||
X0003858Y0031856* |
|||
X0003835Y0031845* |
|||
X0003833Y0031844* |
|||
X0003832Y0031843* |
|||
X0003809Y0031836* |
|||
X0003786Y0031828* |
|||
X0003784* |
|||
X0003782Y0031827* |
|||
X0003758Y0031822* |
|||
X0003734Y0031818* |
|||
X0003732Y0031817* |
|||
X0003731* |
|||
X0003706Y0031816* |
|||
X0003682Y0031814* |
|||
X000368* |
|||
X0003678* |
|||
X0003654Y0031816* |
|||
X000363Y0031818* |
|||
X0003628* |
|||
X0003626* |
|||
X0003602Y0031823* |
|||
X0003578Y0031828* |
|||
X0003576* |
|||
X0003575Y0031829* |
|||
X0000031Y0032813* |
|||
X0000008Y0032821* |
|||
X-0000015Y0032829* |
|||
X-0000017Y003283* |
|||
X-0000018* |
|||
X-000004Y0032842* |
|||
X-0000062Y0032852* |
|||
X-0000063Y0032853* |
|||
X-0000065Y0032854* |
|||
X-0000085Y0032868* |
|||
X-0000105Y0032881* |
|||
X-0000107Y0032882* |
|||
X-0000108Y0032884* |
|||
X-0000126Y0032899* |
|||
X-0000145Y0032916* |
|||
X-0000146Y0032917* |
|||
X-0000147Y0032919* |
|||
X-0000163Y0032937* |
|||
X-0000179Y0032955* |
|||
X-0000181Y0032957* |
|||
X-0000182Y0032958* |
|||
X-0000195Y0032979* |
|||
X-0000209Y0032999* |
|||
Y0033* |
|||
X-000021Y0033002* |
|||
X-0000221Y0033024* |
|||
X-0000232Y0033046* |
|||
Y0033048* |
|||
X-0000233Y0033049* |
|||
X-0000241Y0033072* |
|||
X-0000249Y0033095* |
|||
Y0033097* |
|||
Y0033099* |
|||
X-0000254Y0033123* |
|||
X-0000259Y0033147* |
|||
Y0033149* |
|||
Y0033151* |
|||
X-0000261Y0033175* |
|||
X-0000262Y0033199* |
|||
Y0034085* |
|||
X-0000259Y0034137* |
|||
X-0000249Y0034189* |
|||
X-0000232Y0034238* |
|||
X-0000209Y0034286* |
|||
X-0000179Y0034329* |
|||
X-0000145Y0034369* |
|||
X0003103Y0037617* |
|||
X0003143Y0037651* |
|||
X0003186Y003768* |
|||
X0003233Y0037703* |
|||
X0003283Y003772* |
|||
X0003334Y0037731* |
|||
X0003387Y0037734* |
|||
X0006339* |
|||
X0006392Y0037731* |
|||
G37* |
|||
G54D27* |
|||
X001355Y000895D03* |
|||
G54D28* |
|||
X000405Y00092D03* |
|||
G54D29* |
|||
X-00003Y-00303D03* |
|||
G54D30* |
|||
X-001Y0028001D03* |
|||
Y0011859D03* |
|||
G54D31* |
|||
X0011516Y-0002067D03* |
|||
Y-0009547D03* |
|||
X-005Y-000616D03* |
|||
Y-001364D03* |
|||
X0031201Y0017323D03* |
|||
Y0009843D03* |
|||
X0031Y002426D03* |
|||
Y003174D03* |
|||
X-0004134Y0000492D03* |
|||
Y-0006988D03* |
|||
X-0023Y-000676D03* |
|||
Y-001424D03* |
|||
X0050098Y-0000197D03* |
|||
Y-0007677D03* |
|||
X0003714Y0000212D03* |
|||
Y-0007268D03* |
|||
X-0012Y-0006612D03* |
|||
Y0000868D03* |
|||
X00224Y003014D03* |
|||
Y002266D03* |
|||
X-00308Y-000676D03* |
|||
Y-001424D03* |
|||
X-00509Y-002686D03* |
|||
Y-003434D03* |
|||
X00512Y-002616D03* |
|||
Y-003364D03* |
|||
G54D32* |
|||
X001569Y0028672D03* |
|||
X000191D03* |
|||
G54D33* |
|||
X0026378Y-0004429D03* |
|||
X0018898D03* |
|||
G54D34* |
|||
X0004076Y0014212D03* |
|||
Y0010472D03* |
|||
Y0006732D03* |
|||
X0013524D03* |
|||
Y0010472D03* |
|||
Y0014212D03* |
|||
G54D35* |
|||
X-003995Y-00303D03* |
|||
X-0037194D03* |
|||
X-0034439D03* |
|||
X-0031683D03* |
|||
X-0028927D03* |
|||
X00069D03* |
|||
X0009656D03* |
|||
X0012412D03* |
|||
X0015168D03* |
|||
X0017924D03* |
|||
X002068D03* |
|||
X0023435D03* |
|||
X0026191D03* |
|||
X0028947D03* |
|||
X0031703D03* |
|||
X0034459D03* |
|||
X0037215D03* |
|||
X0039971D03* |
|||
X-0026171D03* |
|||
X-0023415D03* |
|||
X-0020659D03* |
|||
X-0017903D03* |
|||
X-0015147D03* |
|||
X-0012391D03* |
|||
X-0009635D03* |
|||
X-000688D03* |
|||
X-0004124D03* |
|||
X-0001368D03* |
|||
X0001388D03* |
|||
X0004144D03* |
|||
G54D36* |
|||
X00409Y0026D03* |
|||
Y0016D03* |
|||
Y0006D03* |
|||
Y-0004D03* |
|||
X-00408Y00264D03* |
|||
Y00164D03* |
|||
Y00064D03* |
|||
Y-00036D03* |
|||
G54D37* |
|||
X00409Y-0014D03* |
|||
X-00408Y-00136D03* |
|||
M02* |
@ -0,0 +1,63 @@ |
|||
%FSTAX26Y26*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD9500C,0.028000*% |
|||
%ADD9501C,0.035430*% |
|||
%LNunisolder52_oled-1*% |
|||
%LPD*% |
|||
G54D9500* |
|||
X-00486Y-00405D03* |
|||
X-00444Y-00323D03* |
|||
X-00448Y-00211D03* |
|||
X-0017815Y-0018996D03* |
|||
X-0002854Y-0018799D03* |
|||
X-0008465Y-00125D03* |
|||
X0004724Y-0013287D03* |
|||
X0018898Y-0010827D03* |
|||
X001811Y0002264D03* |
|||
X0033957Y0003248D03* |
|||
X0033268Y-0007185D03* |
|||
X0052067Y-0015354D03* |
|||
X00443Y-00262D03* |
|||
X0044488Y-0034843D03* |
|||
X0046544Y-00416D03* |
|||
X0026191Y-0041491D03* |
|||
X0016535Y-0041535D03* |
|||
X-0002756Y-0041634D03* |
|||
X-00177Y-00417D03* |
|||
X-00309Y-00416D03* |
|||
X-0032579Y0001969D03* |
|||
X-0026476Y-0000689D03* |
|||
X-00184Y0006D03* |
|||
X-001811Y0011909D03* |
|||
X-0017421Y0019882D03* |
|||
X-0004724Y0019783D03* |
|||
X-0001969Y0008169D03* |
|||
X000876Y0017618D03* |
|||
Y0030217D03* |
|||
X-0001969Y0036909D03* |
|||
X-00207Y0036D03* |
|||
X-00305Y00277D03* |
|||
X-0027657Y001565D03* |
|||
X-00503Y00211D03* |
|||
X-005Y00047D03* |
|||
X-00408Y00358D03* |
|||
X0022244Y0036909D03* |
|||
X00402Y00355D03* |
|||
X00508Y00213D03* |
|||
X0050984Y0011319D03* |
|||
X0024281Y0016298D03* |
|||
G54D9501* |
|||
X-00408Y-00136D03* |
|||
Y-00036D03* |
|||
Y00064D03* |
|||
Y00164D03* |
|||
Y00264D03* |
|||
X00409Y0026D03* |
|||
Y0016D03* |
|||
Y0006D03* |
|||
Y-0004D03* |
|||
Y-0014D03* |
|||
M02* |
4232
hardware/gerber/unisolder_sensor.gbl
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,59 @@ |
|||
%FSTAX26Y26*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD18C,0.010000*% |
|||
%ADD27C,0.008000*% |
|||
%LNunisolder_sensor-1*% |
|||
%LPD*% |
|||
G54D18* |
|||
X02045Y02955D02* |
|||
X02195D01* |
|||
X02295D02* |
|||
X0265D01* |
|||
X02295Y02425D02* |
|||
X0265D01* |
|||
X02045D02* |
|||
X02195D01* |
|||
X02045D02* |
|||
Y02955D01* |
|||
X0265Y02425D02* |
|||
Y02955D01* |
|||
X0087799Y0219283D02* |
|||
X0089003Y0232991D01* |
|||
X0087803Y0219291D02* |
|||
X0102003Y0205091D01* |
|||
X0116503* |
|||
X0253601D02* |
|||
X0268101D01* |
|||
X0282301Y0219291* |
|||
X0281101Y0232991D02* |
|||
X0282306Y0219283D01* |
|||
X0119Y03621D02* |
|||
X0124Y03623D01* |
|||
X01242Y03575* |
|||
X02461Y03623D02* |
|||
X02511Y03621D01* |
|||
X02459Y03575D02* |
|||
X02461Y03623D01* |
|||
G54D27* |
|||
X0262034Y0302799D02* |
|||
X0263367D01* |
|||
X0262701* |
|||
Y0299466* |
|||
X0263367Y02988* |
|||
X0264034* |
|||
X02647Y0299466* |
|||
X0260701D02* |
|||
X0260035Y02988D01* |
|||
X0258702* |
|||
X0258035Y0299466* |
|||
Y0302132* |
|||
X0258702Y0302799* |
|||
X0260035* |
|||
X0260701Y0302132* |
|||
Y0301466* |
|||
X0260035Y0300799* |
|||
X0258035* |
|||
M02* |
@ -0,0 +1,58 @@ |
|||
%FSTAX26Y26*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD18C,0.010000*% |
|||
%ADD34C,0.068000*% |
|||
%ADD35R,0.067060X0.067060*% |
|||
%ADD36C,0.067060*% |
|||
%ADD37C,0.322960*% |
|||
%ADD38C,0.078000*% |
|||
%ADD39R,0.630000X0.180000*% |
|||
%LNunisolder_sensor-1*% |
|||
%LPD*% |
|||
G54D18* |
|||
X0087801Y0219265D02* |
|||
X0089006Y0232974D01* |
|||
X0087802Y0219274D02* |
|||
X0102002Y0205074D01* |
|||
X0116502* |
|||
X0253598Y0205083D02* |
|||
X0268098D01* |
|||
X0282298Y0219283* |
|||
X0281098Y0232983D02* |
|||
X0282302Y0219274D01* |
|||
X0124Y03623D02* |
|||
X01242Y03575D01* |
|||
X0119Y03621D02* |
|||
X0124Y03623D01* |
|||
X01242Y03575* |
|||
X02461Y03623D02* |
|||
X02511Y03621D01* |
|||
G54D34* |
|||
X0114173Y033752D03* |
|||
Y034752D03* |
|||
X0257874Y033252D03* |
|||
Y034252D03* |
|||
Y035252D03* |
|||
G54D35* |
|||
X01455Y02555D03* |
|||
G54D36* |
|||
X01355Y02555D03* |
|||
X01255D03* |
|||
X01155D03* |
|||
X01055D03* |
|||
G54D37* |
|||
X0236221Y0224472D03* |
|||
X0133858Y022441D03* |
|||
G54D38* |
|||
X02495Y02815D03* |
|||
X02595Y02765D03* |
|||
X02495Y02715D03* |
|||
X02595Y02665D03* |
|||
X02495Y02615D03* |
|||
X02595Y02565D03* |
|||
G54D39* |
|||
X01844Y02276D03* |
|||
M02* |
@ -0,0 +1,81 @@ |
|||
%FSTAX26Y26*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD18C,0.010000*% |
|||
%LNunisolder_sensor-1*% |
|||
%LPD*% |
|||
G54D18* |
|||
X026811Y0205118D02* |
|||
X0282283Y0219291D01* |
|||
X0101969Y0205118D02* |
|||
X026811D01* |
|||
X0087795Y0219291D02* |
|||
X0101969Y0205118D01* |
|||
X0087795Y0219291D02* |
|||
X009856Y0341045D01* |
|||
X0099091Y0344163* |
|||
X0100033Y0347182* |
|||
X010137Y0350048* |
|||
X0103078Y0352711* |
|||
X0105127Y035512* |
|||
X0107479Y0357235* |
|||
X0110092Y0359017* |
|||
X011292Y0360433* |
|||
X0115912Y0361459* |
|||
X0119014Y0362076* |
|||
X0122171Y0362273* |
|||
X0124016* |
|||
X0124224Y0357234* |
|||
X0124848Y0352229* |
|||
X0125883Y0347292* |
|||
X0127322Y0342459* |
|||
X0129156Y033776* |
|||
X0131371Y0333229* |
|||
X0133952Y0328896* |
|||
X0136883Y0324791* |
|||
X0140143Y0320943* |
|||
X0143709Y0317376* |
|||
X0147558Y0314117* |
|||
X0151663Y0311186* |
|||
X0155995Y0308604* |
|||
X0160527Y0306389* |
|||
X0165225Y0304556* |
|||
X0170059Y0303117* |
|||
X0174995Y0302081* |
|||
X018Y0301458* |
|||
X0185039Y0301249* |
|||
X0190079Y0301458* |
|||
X0195084Y0302081* |
|||
X020002Y0303117* |
|||
X0204854Y0304556* |
|||
X0209552Y0306389* |
|||
X0214083Y0308604* |
|||
X0218416Y0311186* |
|||
X0222521Y0314117* |
|||
X022637Y0317376* |
|||
X0229936Y0320943* |
|||
X0233196Y0324791* |
|||
X0236126Y0328896* |
|||
X0238708Y0333229* |
|||
X0240923Y033776* |
|||
X0242757Y0342459* |
|||
X0244196Y0347292* |
|||
X0245231Y0352229* |
|||
X0245855Y0357234* |
|||
X0246063Y0362273* |
|||
X0247908* |
|||
X0251064Y0362076* |
|||
X0254167Y0361459* |
|||
X0257158Y0360433* |
|||
X0259986Y0359017* |
|||
X02626Y0357235* |
|||
X0264952Y035512* |
|||
X0267001Y0352711* |
|||
X0268709Y0350048* |
|||
X0270046Y0347182* |
|||
X0270988Y0344163* |
|||
X0271519Y0341045* |
|||
X0282283Y0219291* |
|||
M02* |
1470
hardware/gerber/unisolder_sensor.gtl
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,590 @@ |
|||
%FSTAX26Y26*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD18C,0.010000*% |
|||
%ADD27C,0.008000*% |
|||
%ADD28C,0.009840*% |
|||
%ADD29C,0.007870*% |
|||
%LNunisolder_sensor-1*% |
|||
%LPD*% |
|||
G54D18* |
|||
X0118728Y0339643D02* |
|||
D01* |
|||
X01189236Y03397933* |
|||
X01191084Y03399569* |
|||
X01192812Y03401331* |
|||
X01194414Y03403208* |
|||
X0119588Y03405193* |
|||
X01197205Y03407275* |
|||
X01198381Y03409445* |
|||
X01199403Y03411691* |
|||
X01200265Y03414003* |
|||
X01200965Y0341637* |
|||
X01201497Y03418779* |
|||
X0120186Y0342122* |
|||
X01202052Y03423681* |
|||
X01202072Y03426148* |
|||
X0120192Y03428611* |
|||
X01201596Y03431058* |
|||
X01201103Y03433476* |
|||
X01200442Y03435853* |
|||
X01199616Y03438179* |
|||
X01198631Y03440441* |
|||
X0119749Y0344263* |
|||
X01196199Y03444733* |
|||
X01194765Y03446741* |
|||
X01193194Y03448644* |
|||
X01191494Y03450433* |
|||
X01189673Y03452099* |
|||
X01187741Y03453634* |
|||
X0118728Y0345397* |
|||
X0248367Y0350549D02* |
|||
D01* |
|||
X02478118Y03503894* |
|||
X02472691Y03501915* |
|||
X02467415Y03499562* |
|||
X02462316Y03496847* |
|||
X02457419Y03493783* |
|||
X02452748Y03490385* |
|||
X02448325Y03486669* |
|||
X02444172Y03482654* |
|||
X02440309Y03478359* |
|||
X02436756Y03473804* |
|||
X02433528Y03469013* |
|||
X02430643Y03464009* |
|||
X02428114Y03458816* |
|||
X02425953Y03453458* |
|||
X02424171Y03447963* |
|||
X02422777Y03442358* |
|||
X02421778Y03436668* |
|||
X02421177Y03430923* |
|||
X02420979Y0342515* |
|||
X02421184Y03419377* |
|||
X02421791Y03413632* |
|||
X02422798Y03407944* |
|||
X02424199Y0340234* |
|||
X02425987Y03396847* |
|||
X02428154Y03391492* |
|||
X0243069Y03386302* |
|||
X02433581Y03381301* |
|||
X02436814Y03376514* |
|||
X02440373Y03371964* |
|||
X02444241Y03367673* |
|||
X02448399Y03363663* |
|||
X02452826Y03359953* |
|||
X02457502Y0335656* |
|||
X02462403Y03353502* |
|||
X02467505Y03350793* |
|||
X02472783Y03348447* |
|||
X02478213Y03346474* |
|||
X0248367Y033449* |
|||
X0110673Y034102D02* |
|||
Y034402D01* |
|||
Y033352D02* |
|||
X0111173D01* |
|||
X0110673Y035152D02* |
|||
X0111173D01* |
|||
X0117673Y034102D02* |
|||
Y034402D01* |
|||
X0117173Y033352D02* |
|||
X0117673D01* |
|||
X0117173Y035152D02* |
|||
X0117673D01* |
|||
Y035102D02* |
|||
Y035152D01* |
|||
Y033352D02* |
|||
Y033402D01* |
|||
X0110673Y033352D02* |
|||
Y033402D01* |
|||
Y035102D02* |
|||
Y035152D01* |
|||
X0248374Y033002D02* |
|||
X0253374D01* |
|||
X0248374D02* |
|||
Y035452D01* |
|||
X0253374* |
|||
X0261874Y034552D02* |
|||
Y034952D01* |
|||
Y033552D02* |
|||
Y033952D01* |
|||
X0087795Y0219283D02* |
|||
X0088999Y0232991D01* |
|||
X0087799Y0219291D02* |
|||
X0101999Y0205091D01* |
|||
X0116499* |
|||
X0253597D02* |
|||
X0268097D01* |
|||
X0282297Y0219291* |
|||
X0281097Y0232991D02* |
|||
X0282301Y0219283D01* |
|||
X0119Y03621D02* |
|||
X0124Y03623D01* |
|||
X01242Y03575* |
|||
X02461Y03623D02* |
|||
X02511Y03621D01* |
|||
X02459Y03575D02* |
|||
X02461Y03623D01* |
|||
G54D27* |
|||
X01849Y02773D02* |
|||
D01* |
|||
X01848995Y02773139* |
|||
X0184898Y02773278* |
|||
X01848956Y02773415* |
|||
X01848922Y02773551* |
|||
X01848879Y02773684* |
|||
X01848827Y02773813* |
|||
X01848765Y02773938* |
|||
X01848696Y02774059* |
|||
X01848618Y02774175* |
|||
X01848532Y02774285* |
|||
X01848438Y02774389* |
|||
X01848338Y02774486* |
|||
X01848231Y02774576* |
|||
X01848118Y02774658* |
|||
X01848Y02774732* |
|||
X01847876Y02774797* |
|||
X01847749Y02774854* |
|||
X01847618Y02774902* |
|||
X01847483Y0277494* |
|||
X01847347Y02774969* |
|||
X01847209Y02774989* |
|||
X01847069Y02774998* |
|||
X0184693* |
|||
X0184679Y02774989* |
|||
X01846652Y02774969* |
|||
X01846516Y0277494* |
|||
X01846381Y02774902* |
|||
X0184625Y02774854* |
|||
X01846123Y02774797* |
|||
X01846Y02774732* |
|||
X01845881Y02774658* |
|||
X01845768Y02774576* |
|||
X01845661Y02774486* |
|||
X01845561Y02774389* |
|||
X01845467Y02774285* |
|||
X01845381Y02774175* |
|||
X01845303Y02774059* |
|||
X01845234Y02773938* |
|||
X01845172Y02773813* |
|||
X0184512Y02773684* |
|||
X01845077Y02773551* |
|||
X01845043Y02773415* |
|||
X01845019Y02773278* |
|||
X01845004Y02773139* |
|||
X01845Y02773* |
|||
X01845004Y0277286* |
|||
X01845019Y02772721* |
|||
X01845043Y02772584* |
|||
X01845077Y02772448* |
|||
X0184512Y02772315* |
|||
X01845172Y02772186* |
|||
X01845234Y02772061* |
|||
X01845303Y0277194* |
|||
X01845381Y02771824* |
|||
X01845467Y02771714* |
|||
X01845561Y0277161* |
|||
X01845661Y02771513* |
|||
X01845768Y02771423* |
|||
X01845881Y02771341* |
|||
X01846Y02771267* |
|||
X01846123Y02771202* |
|||
X0184625Y02771145* |
|||
X01846381Y02771097* |
|||
X01846516Y02771059* |
|||
X01846652Y0277103* |
|||
X0184679Y0277101* |
|||
X0184693Y02771001* |
|||
X01847069* |
|||
X01847209Y0277101* |
|||
X01847347Y0277103* |
|||
X01847483Y02771059* |
|||
X01847618Y02771097* |
|||
X01847749Y02771145* |
|||
X01847876Y02771202* |
|||
X01848Y02771267* |
|||
X01848118Y02771341* |
|||
X01848231Y02771423* |
|||
X01848338Y02771513* |
|||
X01848438Y0277161* |
|||
X01848532Y02771714* |
|||
X01848618Y02771824* |
|||
X01848696Y0277194* |
|||
X01848765Y02772061* |
|||
X01848827Y02772186* |
|||
X01848879Y02772315* |
|||
X01848922Y02772448* |
|||
X01848956Y02772584* |
|||
X0184898Y02772721* |
|||
X01848995Y0277286* |
|||
X01849Y02773* |
|||
X0189666Y0262832D02* |
|||
X0188999Y0263499D01* |
|||
X0187666* |
|||
X0187Y0262832* |
|||
Y0260166* |
|||
X0187666Y02595* |
|||
X0188999* |
|||
X0189666Y0260166* |
|||
X0193665Y02595D02* |
|||
X0190999D01* |
|||
X0193665Y0262166* |
|||
Y0262832* |
|||
X0192998Y0263499* |
|||
X0191665* |
|||
X0190999Y0262832* |
|||
X0196997Y02595D02* |
|||
Y0263499D01* |
|||
X0194997Y0261499* |
|||
X0197663* |
|||
X0116929Y0331558D02* |
|||
Y0327559D01* |
|||
X0118929* |
|||
X0119595Y0328225* |
|||
Y0330891* |
|||
X0118929Y0331558* |
|||
X0116929* |
|||
X0120928Y0327559D02* |
|||
X0122261D01* |
|||
X0121594* |
|||
Y0331558* |
|||
X0120928Y0330891* |
|||
X0126926Y0331558D02* |
|||
X012426D01* |
|||
Y0329558* |
|||
X0125593Y0330225* |
|||
X0126259* |
|||
X0126926Y0329558* |
|||
Y0328225* |
|||
X0126259Y0327559* |
|||
X0124926* |
|||
X012426Y0328225* |
|||
X0101Y02625D02* |
|||
Y0266499D01* |
|||
X0102999* |
|||
X0103666Y0265832* |
|||
Y0264499* |
|||
X0102999Y0263833* |
|||
X0101* |
|||
X0104999Y0266499D02* |
|||
Y02625D01* |
|||
X0106998* |
|||
X0107665Y0263166* |
|||
Y0265832* |
|||
X0106998Y0266499* |
|||
X0104999* |
|||
X0111663Y02625D02* |
|||
X0108997D01* |
|||
X0111663Y0265166* |
|||
Y0265832* |
|||
X0110997Y0266499* |
|||
X0109664* |
|||
X0108997Y0265832* |
|||
X0236614Y0316535D02* |
|||
Y0320534D01* |
|||
X0238614* |
|||
X023928Y0319868* |
|||
Y0318535* |
|||
X0238614Y0317868* |
|||
X0236614* |
|||
X0237947D02* |
|||
X023928Y0316535D01* |
|||
X0240613Y0319868D02* |
|||
X0241279Y0320534D01* |
|||
X0242612* |
|||
X0243279Y0319868* |
|||
Y0319201* |
|||
X0242612Y0318535* |
|||
X0241946* |
|||
X0242612* |
|||
X0243279Y0317868* |
|||
Y0317202* |
|||
X0242612Y0316535* |
|||
X0241279* |
|||
X0240613Y0317202* |
|||
X0244612Y0319868D02* |
|||
X0245278Y0320534D01* |
|||
X0246611* |
|||
X0247277Y0319868* |
|||
Y0319201* |
|||
X0246611Y0318535* |
|||
X0245944* |
|||
X0246611* |
|||
X0247277Y0317868* |
|||
Y0317202* |
|||
X0246611Y0316535* |
|||
X0245278* |
|||
X0244612Y0317202* |
|||
X0108268Y0277953D02* |
|||
Y0281951D01* |
|||
X0110267* |
|||
X0110933Y0281285* |
|||
Y0279952* |
|||
X0110267Y0279286* |
|||
X0108268* |
|||
X0109601D02* |
|||
X0110933Y0277953D01* |
|||
X0112266Y0281285D02* |
|||
X0112933Y0281951D01* |
|||
X0114266* |
|||
X0114932Y0281285* |
|||
Y0280619* |
|||
X0114266Y0279952* |
|||
X0113599* |
|||
X0114266* |
|||
X0114932Y0279286* |
|||
Y0278619* |
|||
X0114266Y0277953* |
|||
X0112933* |
|||
X0112266Y0278619* |
|||
X0118264Y0277953D02* |
|||
Y0281951D01* |
|||
X0116265Y0279952* |
|||
X0118931* |
|||
X0130709Y0264961D02* |
|||
Y0268959D01* |
|||
X0132708* |
|||
X0133375Y0268293* |
|||
Y026696* |
|||
X0132708Y0266294* |
|||
X0130709* |
|||
X0132042D02* |
|||
X0133375Y0264961D01* |
|||
X0134707Y0268293D02* |
|||
X0135374Y0268959D01* |
|||
X0136707* |
|||
X0137373Y0268293* |
|||
Y0267626* |
|||
X0136707Y026696* |
|||
X013604* |
|||
X0136707* |
|||
X0137373Y0266294* |
|||
Y0265627* |
|||
X0136707Y0264961* |
|||
X0135374* |
|||
X0134707Y0265627* |
|||
X0141372Y0268959D02* |
|||
X0140039Y0268293D01* |
|||
X0138706Y026696* |
|||
Y0265627* |
|||
X0139373Y0264961* |
|||
X0140705* |
|||
X0141372Y0265627* |
|||
Y0266294* |
|||
X0140705Y026696* |
|||
X0138706* |
|||
X0248Y0327999D02* |
|||
Y0324666D01* |
|||
X0248666Y0324* |
|||
X0249999* |
|||
X0250666Y0324666* |
|||
Y0327999* |
|||
X0254664D02* |
|||
X0251999D01* |
|||
Y0325999* |
|||
X0253332Y0326666* |
|||
X0253998* |
|||
X0254664Y0325999* |
|||
Y0324666* |
|||
X0253998Y0324* |
|||
X0252665* |
|||
X0251999Y0324666* |
|||
X01405Y0299999D02* |
|||
Y0296666D01* |
|||
X0141166Y0296* |
|||
X0142499* |
|||
X0143166Y0296666* |
|||
Y0299999* |
|||
X0147164D02* |
|||
X0145832Y0299332D01* |
|||
X0144499Y0297999* |
|||
Y0296666* |
|||
X0145165Y0296* |
|||
X0146498* |
|||
X0147164Y0296666* |
|||
Y0297333* |
|||
X0146498Y0297999* |
|||
X0144499* |
|||
X0257784Y0319868D02* |
|||
X0257118Y0320534D01* |
|||
X0255785* |
|||
X0255118Y0319868* |
|||
Y0317202* |
|||
X0255785Y0316535* |
|||
X0257118* |
|||
X0257784Y0317202* |
|||
X0261783Y0316535D02* |
|||
X0259117D01* |
|||
X0261783Y0319201* |
|||
Y0319868* |
|||
X0261116Y0320534* |
|||
X0259783* |
|||
X0259117Y0319868* |
|||
X0263116D02* |
|||
X0263782Y0320534D01* |
|||
X0265115* |
|||
X0265781Y0319868* |
|||
Y0319201* |
|||
X0265115Y0318535* |
|||
X0264448* |
|||
X0265115* |
|||
X0265781Y0317868* |
|||
Y0317202* |
|||
X0265115Y0316535* |
|||
X0263782* |
|||
X0263116Y0317202* |
|||
X0161327Y0283647D02* |
|||
X0160661Y0284314D01* |
|||
X0159328* |
|||
X0158661Y0283647* |
|||
Y0280981* |
|||
X0159328Y0280315* |
|||
X0160661* |
|||
X0161327Y0280981* |
|||
X0165326Y0280315D02* |
|||
X016266D01* |
|||
X0165326Y0282981* |
|||
Y0283647* |
|||
X016466Y0284314* |
|||
X0163327* |
|||
X016266Y0283647* |
|||
X0169325Y0284314D02* |
|||
X0166659D01* |
|||
Y0282314* |
|||
X0167992Y0282981* |
|||
X0168658* |
|||
X0169325Y0282314* |
|||
Y0280981* |
|||
X0168658Y0280315* |
|||
X0167325* |
|||
X0166659Y0280981* |
|||
G54D28* |
|||
X0150984Y0273D02* |
|||
D01* |
|||
X01509828Y02730343* |
|||
X01509792Y02730684* |
|||
X01509732Y02731022* |
|||
X01509649Y02731356* |
|||
X01509543Y02731682* |
|||
X01509414Y02732001* |
|||
X01509264Y02732309* |
|||
X01509092Y02732607* |
|||
X015089Y02732891* |
|||
X01508688Y02733162* |
|||
X01508459Y02733417* |
|||
X01508212Y02733656* |
|||
X01507949Y02733877* |
|||
X01507671Y02734078* |
|||
X0150738Y0273426* |
|||
X01507076Y02734422* |
|||
X01506763Y02734561* |
|||
X0150644Y02734679* |
|||
X0150611Y02734773* |
|||
X01505774Y02734845* |
|||
X01505434Y02734893* |
|||
X01505091Y02734917* |
|||
X01504748* |
|||
X01504405Y02734893* |
|||
X01504065Y02734845* |
|||
X01503729Y02734773* |
|||
X01503399Y02734679* |
|||
X01503076Y02734561* |
|||
X01502763Y02734422* |
|||
X0150246Y0273426* |
|||
X01502168Y02734078* |
|||
X0150189Y02733877* |
|||
X01501627Y02733656* |
|||
X0150138Y02733417* |
|||
X01501151Y02733162* |
|||
X01500939Y02732891* |
|||
X01500747Y02732607* |
|||
X01500575Y02732309* |
|||
X01500425Y02732001* |
|||
X01500296Y02731682* |
|||
X0150019Y02731356* |
|||
X01500107Y02731022* |
|||
X01500047Y02730684* |
|||
X01500011Y02730343* |
|||
X015Y0273* |
|||
X01500011Y02729656* |
|||
X01500047Y02729315* |
|||
X01500107Y02728977* |
|||
X0150019Y02728643* |
|||
X01500296Y02728317* |
|||
X01500425Y02727998* |
|||
X01500575Y0272769* |
|||
X01500747Y02727392* |
|||
X01500939Y02727108* |
|||
X01501151Y02726837* |
|||
X0150138Y02726582* |
|||
X01501627Y02726343* |
|||
X0150189Y02726122* |
|||
X01502168Y02725921* |
|||
X0150246Y02725739* |
|||
X01502763Y02725577* |
|||
X01503076Y02725438* |
|||
X01503399Y0272532* |
|||
X01503729Y02725226* |
|||
X01504065Y02725154* |
|||
X01504405Y02725106* |
|||
X01504748Y02725082* |
|||
X01505091* |
|||
X01505434Y02725106* |
|||
X01505774Y02725154* |
|||
X0150611Y02725226* |
|||
X0150644Y0272532* |
|||
X01506763Y02725438* |
|||
X01507076Y02725577* |
|||
X0150738Y02725739* |
|||
X01507671Y02725921* |
|||
X01507949Y02726122* |
|||
X01508212Y02726343* |
|||
X01508459Y02726582* |
|||
X01508688Y02726837* |
|||
X015089Y02727108* |
|||
X01509092Y02727392* |
|||
X01509264Y0272769* |
|||
X01509414Y02727998* |
|||
X01509543Y02728317* |
|||
X01509649Y02728643* |
|||
X01509732Y02728977* |
|||
X01509792Y02729315* |
|||
X01509828Y02729656* |
|||
X0150984Y0273* |
|||
G54D29* |
|||
X01005Y02505D02* |
|||
Y02605D01* |
|||
X01505* |
|||
X01005Y02505D02* |
|||
X01505D01* |
|||
Y02605* |
|||
X017111Y0274902D02* |
|||
X0171307D01* |
|||
X0184693D02* |
|||
X018489D01* |
|||
X017111Y026565D02* |
|||
X018489D01* |
|||
X017111Y0250098D02* |
|||
X0171307D01* |
|||
X0184693D02* |
|||
X018489D01* |
|||
Y0274902* |
|||
X017111Y0250098D02* |
|||
Y0274902D01* |
|||
X0140063Y0274158D02* |
|||
X0142032D01* |
|||
X0142874Y0275* |
|||
X0145968Y0274158D02* |
|||
X0147937D01* |
|||
X0145126Y0275D02* |
|||
X0145968Y0274158D01* |
|||
X0147937D02* |
|||
Y0293843D01* |
|||
X0140063Y0274158D02* |
|||
Y0293843D01* |
|||
X0142874Y0275D02* |
|||
X0145126D01* |
|||
X0140063Y0293843D02* |
|||
X0147937D01* |
|||
M02* |
@ -0,0 +1,108 @@ |
|||
%FSTAX26Y26*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%AMD30* |
|||
4,1,8,0.047300,-0.042500,0.047300,0.042500,0.034600,0.055200,-0.034600,0.055200,-0.047300,0.042500,-0.047300,-0.042500,-0.034600,-0.055200,0.034600,-0.055200,0.047300,-0.042500,0.0* |
|||
1,1,0.025320,0.034600,-0.042500* |
|||
1,1,0.025320,0.034600,0.042500* |
|||
1,1,0.025320,-0.034600,0.042500* |
|||
1,1,0.025320,-0.034600,-0.042500* |
|||
% |
|||
%AMD31* |
|||
4,1,8,-0.029600,0.021800,-0.029600,-0.021800,-0.017900,-0.033500,0.017900,-0.033500,0.029600,-0.021800,0.029600,0.021800,0.017900,0.033500,-0.017900,0.033500,-0.029600,0.021800,0.0* |
|||
1,1,0.023360,-0.017900,0.021800* |
|||
1,1,0.023360,-0.017900,-0.021800* |
|||
1,1,0.023360,0.017900,-0.021800* |
|||
1,1,0.023360,0.017900,0.021800* |
|||
% |
|||
%AMD33* |
|||
4,1,8,0.021800,0.029600,-0.021800,0.029600,-0.033500,0.017900,-0.033500,-0.017900,-0.021800,-0.029600,0.021800,-0.029600,0.033500,-0.017900,0.033500,0.017900,0.021800,0.029600,0.0* |
|||
1,1,0.023360,0.021800,0.017900* |
|||
1,1,0.023360,-0.021800,0.017900* |
|||
1,1,0.023360,-0.021800,-0.017900* |
|||
1,1,0.023360,0.021800,-0.017900* |
|||
% |
|||
%ADD18C,0.010000*% |
|||
G04~CAMADD=30~8~0.0~0.0~1103.6~946.1~126.6~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~270.0~947.0~1104.0* |
|||
%ADD30D30*% |
|||
G04~CAMADD=31~8~0.0~0.0~670.6~591.8~116.8~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~90.0~592.0~671.0* |
|||
%ADD31D31*% |
|||
%ADD32O,0.082800X0.031620*% |
|||
G04~CAMADD=33~8~0.0~0.0~670.6~591.8~116.8~0.0~15~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~0~0.0~0.0~0.0~0.0~670.6~591.8* |
|||
%ADD33D33*% |
|||
%ADD34C,0.068000*% |
|||
%ADD35R,0.067060X0.067060*% |
|||
%ADD36C,0.067060*% |
|||
%ADD37C,0.322960*% |
|||
%ADD38C,0.078000*% |
|||
%LNunisolder_sensor-1*% |
|||
%LPD*% |
|||
G54D18* |
|||
X0087798Y0219274D02* |
|||
X0089002Y0232983D01* |
|||
X0087802Y0219283D02* |
|||
X0102002Y0205083D01* |
|||
X0116502* |
|||
X0253598Y0205074D02* |
|||
X0268098D01* |
|||
X0282298Y0219274* |
|||
X0281094Y0232974D02* |
|||
X0282299Y0219265D01* |
|||
X0119Y03621D02* |
|||
X0124Y03623D01* |
|||
X02461D02* |
|||
X02511Y03621D01* |
|||
X02459Y03575D02* |
|||
X02461Y03623D01* |
|||
X02459Y03575D02* |
|||
X02461Y03623D01* |
|||
G54D30* |
|||
X0178Y0272342D03* |
|||
Y0252658D03* |
|||
G54D31* |
|||
X025626Y0312D03* |
|||
X026374D03* |
|||
X024574D03* |
|||
X023826D03* |
|||
X015324Y0267D03* |
|||
X014576D03* |
|||
X011674Y02865D03* |
|||
X010926D03* |
|||
G54D32* |
|||
X0153252Y02765D03* |
|||
Y02815D03* |
|||
Y02865D03* |
|||
Y02915D03* |
|||
X0134748Y02765D03* |
|||
Y02815D03* |
|||
Y02865D03* |
|||
Y02915D03* |
|||
G54D33* |
|||
X01635Y027624D03* |
|||
Y026876D03* |
|||
G54D34* |
|||
X0114173Y033752D03* |
|||
Y034752D03* |
|||
X0257874Y033252D03* |
|||
Y034252D03* |
|||
Y035252D03* |
|||
G54D35* |
|||
X01455Y02555D03* |
|||
G54D36* |
|||
X01355Y02555D03* |
|||
X01255D03* |
|||
X01155D03* |
|||
X01055D03* |
|||
G54D37* |
|||
X0236221Y0224472D03* |
|||
X0133858Y022441D03* |
|||
G54D38* |
|||
X02495Y02815D03* |
|||
X02595Y02765D03* |
|||
X02495Y02715D03* |
|||
X02595Y02665D03* |
|||
X02495Y02615D03* |
|||
X02595Y02565D03* |
|||
M02* |
@ -0,0 +1,79 @@ |
|||
%FSTAX26Y26*% |
|||
%MOIN*% |
|||
%SFA1B1*% |
|||
|
|||
%IPPOS*% |
|||
%ADD9500C,0.028000*% |
|||
%ADD9501C,0.030000*% |
|||
%ADD9502C,0.035430*% |
|||
%ADD9503C,0.047240*% |
|||
%ADD9504C,0.125200*% |
|||
%ADD9505C,0.157480*% |
|||
%LNunisolder_sensor-1*% |
|||
%LPD*% |
|||
G54D9500* |
|||
X016Y0245D03* |
|||
X0164Y02569D03* |
|||
X0172Y02623D03* |
|||
X01851Y02622D03* |
|||
X0192Y02537D03* |
|||
X02Y0245D03* |
|||
X021Y0255D03* |
|||
X02233Y02685D03* |
|||
X021Y02828D03* |
|||
X02061Y02969D03* |
|||
X02246Y03065D03* |
|||
X02414Y03018D03* |
|||
X02625Y03022D03* |
|||
X0256Y02872D03* |
|||
X026Y0245D03* |
|||
X024D03* |
|||
X01969Y02726D03* |
|||
X01722Y02861D03* |
|||
X01626Y02957D03* |
|||
X01423Y0295D03* |
|||
X01247Y02949D03* |
|||
X0116Y02783D03* |
|||
X01015Y02805D03* |
|||
X00993Y02615D03* |
|||
X01105Y0266D03* |
|||
X01215Y02635D03* |
|||
X0129921Y0271654D03* |
|||
X0138Y027D03* |
|||
X014Y0245D03* |
|||
X012D03* |
|||
X01D03* |
|||
X01042Y03101D03* |
|||
X0155Y026D03* |
|||
X01183Y0313D03* |
|||
X0127Y03241D03* |
|||
X0105Y0335D03* |
|||
X02456Y03321D03* |
|||
X025Y032D03* |
|||
X02645Y03239D03* |
|||
G54D9501* |
|||
X0114173Y033752D03* |
|||
Y034752D03* |
|||
X0257874Y034252D03* |
|||
Y033252D03* |
|||
Y035252D03* |
|||
G54D9502* |
|||
X01055Y02555D03* |
|||
X01155D03* |
|||
X01255D03* |
|||
X01355D03* |
|||
X01455D03* |
|||
G54D9503* |
|||
X02495Y02615D03* |
|||
Y02715D03* |
|||
Y02815D03* |
|||
X02595Y02765D03* |
|||
Y02665D03* |
|||
Y02565D03* |
|||
G54D9504* |
|||
X02245Y0249D03* |
|||
Y0289D03* |
|||
G54D9505* |
|||
X0236221Y0224472D03* |
|||
X0133858Y022441D03* |
|||
M02* |
After Width: 400 | Height: 240 | Size: 22 KiB |
After Width: 1132 | Height: 512 | Size: 270 KiB |
After Width: 1280 | Height: 512 | Size: 155 KiB |
@ -0,0 +1,69 @@ |
|||
Imports System.Windows.Forms |
|||
Imports System.IO |
|||
|
|||
Public Class RLE |
|||
|
|||
Private FileReader As BinaryReader |
|||
|
|||
Public Function LoadFile(ByVal filepath As String) As Boolean |
|||
Dim i As UInt32 |
|||
Dim i1 As UInt32 |
|||
Dim i2 As UInt32 |
|||
Dim rv As Boolean |
|||
Dim inBuff() As Byte |
|||
Dim outBuff() As Byte |
|||
Dim outbuff2() As Byte |
|||
Dim cCount As Byte |
|||
Dim l As UInt32 |
|||
|
|||
rv = False |
|||
FileReader = Nothing |
|||
'Try |
|||
FileReader = New BinaryReader(File.OpenRead(filepath)) |
|||
l = FileReader.BaseStream.Length |
|||
ReDim inBuff(l) |
|||
ReDim outBuff(l) |
|||
ReDim outbuff2(l * 2) |
|||
FileReader.Read(inBuff, 0, l) |
|||
FileReader.Close() |
|||
|
|||
cCount = 1 |
|||
i1 = 0 |
|||
For i = 0 To l - 1 |
|||
If inBuff(i) > 127 Then MessageBox.Show("File contains values higher than 128") |
|||
If i < l - 1 And cCount < 127 And inBuff(i) = inBuff(i + 1) Then |
|||
cCount = cCount + 1 |
|||
Else |
|||
If cCount > 1 Then |
|||
outBuff(i1) = cCount + 128 |
|||
i1 = i1 + 1 |
|||
End If |
|||
outBuff(i1) = inBuff(i) |
|||
i1 = i1 + 1 |
|||
cCount = 1 |
|||
End If |
|||
Next i |
|||
cCount = 1 |
|||
i2 = 0 |
|||
For i = 0 To i1 - 1 |
|||
If outBuff(i) >= 128 Then |
|||
cCount = outBuff(i) - 128 |
|||
Else |
|||
While cCount > 0 |
|||
outbuff2(i2) = outBuff(i) |
|||
i2 = i2 + 1 |
|||
cCount = cCount - 1 |
|||
End While |
|||
cCount = 1 |
|||
End If |
|||
Next i |
|||
For i = 0 To l - 1 |
|||
If (inBuff(i) <> outbuff2(i)) Then Throw New Exception("ERROR: Streams do not match!") |
|||
Next |
|||
MessageBox.Show(l & " " & i1 & " " & i2) |
|||
'Catch ex As Exception |
|||
'End Try |
|||
FileReader = Nothing |
|||
Return True |
|||
End Function |
|||
End Class |
@ -0,0 +1,36 @@ |
|||
using System.Reflection; |
|||
using System.Runtime.CompilerServices; |
|||
using System.Runtime.InteropServices; |
|||
|
|||
// General Information about an assembly is controlled through the following
|
|||
// set of attributes. Change these attribute values to modify the information
|
|||
// associated with an assembly.
|
|||
[assembly: AssemblyTitle("SSComm")] |
|||
[assembly: AssemblyDescription("")] |
|||
[assembly: AssemblyConfiguration("")] |
|||
[assembly: AssemblyCompany("")] |
|||
[assembly: AssemblyProduct("SSComm")] |
|||
[assembly: AssemblyCopyright("Copyright © 2013")] |
|||
[assembly: AssemblyTrademark("")] |
|||
[assembly: AssemblyCulture("")] |
|||
|
|||
// Setting ComVisible to false makes the types in this assembly not visible
|
|||
// to COM components. If you need to access a type in this assembly from
|
|||
// COM, set the ComVisible attribute to true on that type.
|
|||
[assembly: ComVisible(false)] |
|||
|
|||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
|||
[assembly: Guid("f1966c3d-6fb8-491b-b394-e4f3b492784b")] |
|||
|
|||
// Version information for an assembly consists of the following four values:
|
|||
//
|
|||
// Major Version
|
|||
// Minor Version
|
|||
// Build Number
|
|||
// Revision
|
|||
//
|
|||
// You can specify all the values or you can default the Build and Revision Numbers
|
|||
// by using the '*' as shown below:
|
|||
// [assembly: AssemblyVersion("1.0.*")]
|
|||
[assembly: AssemblyVersion("1.0.0.0")] |
|||
[assembly: AssemblyFileVersion("1.0.0.0")] |
@ -0,0 +1,66 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|||
<PropertyGroup> |
|||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
|||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
|||
<ProductVersion>8.0.30703</ProductVersion> |
|||
<SchemaVersion>2.0</SchemaVersion> |
|||
<ProjectGuid>{D9F40A00-08CA-4B51-91AC-FEE25FA6410D}</ProjectGuid> |
|||
<OutputType>Library</OutputType> |
|||
<AppDesignerFolder>Properties</AppDesignerFolder> |
|||
<RootNamespace>SSComm</RootNamespace> |
|||
<AssemblyName>SSComm</AssemblyName> |
|||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> |
|||
<FileAlignment>512</FileAlignment> |
|||
</PropertyGroup> |
|||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
|||
<DebugSymbols>true</DebugSymbols> |
|||
<DebugType>full</DebugType> |
|||
<Optimize>false</Optimize> |
|||
<OutputPath>bin\Debug\</OutputPath> |
|||
<DefineConstants>DEBUG;TRACE</DefineConstants> |
|||
<ErrorReport>prompt</ErrorReport> |
|||
<WarningLevel>4</WarningLevel> |
|||
</PropertyGroup> |
|||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
|||
<DebugType>pdbonly</DebugType> |
|||
<Optimize>true</Optimize> |
|||
<OutputPath>bin\Release\</OutputPath> |
|||
<DefineConstants>TRACE</DefineConstants> |
|||
<ErrorReport>prompt</ErrorReport> |
|||
<WarningLevel>4</WarningLevel> |
|||
</PropertyGroup> |
|||
<ItemGroup> |
|||
<Reference Include="LibUsbDotNet"> |
|||
<HintPath>.\LibUsbDotNet.dll</HintPath> |
|||
</Reference> |
|||
<Reference Include="System" /> |
|||
<Reference Include="System.Core" /> |
|||
<Reference Include="System.Drawing" /> |
|||
<Reference Include="System.Windows.Forms" /> |
|||
<Reference Include="System.Xml.Linq" /> |
|||
<Reference Include="System.Data.DataSetExtensions" /> |
|||
<Reference Include="Microsoft.CSharp" /> |
|||
<Reference Include="System.Data" /> |
|||
<Reference Include="System.Xml" /> |
|||
</ItemGroup> |
|||
<ItemGroup> |
|||
<Compile Include="usb_generic.cs" /> |
|||
<Compile Include="common.cs" /> |
|||
<Compile Include="Properties\AssemblyInfo.cs" /> |
|||
<Compile Include="usb_hid\devman.cs" /> |
|||
<Compile Include="usb_hid\devmandeclarations.cs" /> |
|||
<Compile Include="usb_hid\fileIOdeclarations.cs" /> |
|||
<Compile Include="usb_hid\hid.cs" /> |
|||
<Compile Include="usb_hid\hiddeclarations.cs" /> |
|||
<Compile Include="usb_hid.cs" /> |
|||
</ItemGroup> |
|||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |
|||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
|||
Other similar extension points exist, see Microsoft.Common.targets. |
|||
<Target Name="BeforeBuild"> |
|||
</Target> |
|||
<Target Name="AfterBuild"> |
|||
</Target> |
|||
--> |
|||
</Project> |
@ -0,0 +1,6 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|||
<PropertyGroup> |
|||
<ProjectView>ProjectFiles</ProjectView> |
|||
</PropertyGroup> |
|||
</Project> |
@ -0,0 +1,20 @@ |
|||
|
|||
Microsoft Visual Studio Solution File, Format Version 11.00 |
|||
# Visual Studio 2010 |
|||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SSComm", "SSComm.csproj", "{D9F40A00-08CA-4B51-91AC-FEE25FA6410D}" |
|||
EndProject |
|||
Global |
|||
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
|||
Debug|Any CPU = Debug|Any CPU |
|||
Release|Any CPU = Release|Any CPU |
|||
EndGlobalSection |
|||
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
|||
{D9F40A00-08CA-4B51-91AC-FEE25FA6410D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|||
{D9F40A00-08CA-4B51-91AC-FEE25FA6410D}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|||
{D9F40A00-08CA-4B51-91AC-FEE25FA6410D}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|||
{D9F40A00-08CA-4B51-91AC-FEE25FA6410D}.Release|Any CPU.Build.0 = Release|Any CPU |
|||
EndGlobalSection |
|||
GlobalSection(SolutionProperties) = preSolution |
|||
HideSolutionNode = FALSE |
|||
EndGlobalSection |
|||
EndGlobal |
@ -0,0 +1,23 @@ |
|||
using System; |
|||
|
|||
namespace SSComm |
|||
{ |
|||
|
|||
public interface IUniComm : IDisposable |
|||
{ |
|||
bool Connected { get; } |
|||
Int32 BytesSent(); |
|||
Int32 BytesReceived(); |
|||
void Init(); |
|||
bool Connect(); |
|||
void Disconnect(); |
|||
byte ReadByte(); |
|||
Int32 Read(ref byte[] DBuffer, Int32 DOffset, Int32 MaxBytes); |
|||
void WriteByte(ref byte wb, bool DoWake = true); |
|||
bool Write(ref byte[] DBuffer, Int32 DOffset, Int32 NumBytes); |
|||
Int32 RXDataCount { get; } |
|||
Int32 TXFreeSpace { get; } |
|||
event EventHandler DataReceived; |
|||
} |
|||
} |
|||
|
@ -0,0 +1,11 @@ |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\Lib\DOTNET\SSComm\bin\Debug\SSComm.dll |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\Lib\DOTNET\SSComm\bin\Debug\SSComm.pdb |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\Lib\DOTNET\SSComm\bin\Debug\LibUsbDotNet.dll |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\Lib\DOTNET\SSComm\obj\Debug\SSComm.dll |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\Lib\DOTNET\SSComm\obj\Debug\SSComm.pdb |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\Lib\DOTNET\SSComm\obj\Debug\SSComm.csprojResolveAssemblyReference.cache |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\UniSolder\software\PC\SSComm\bin\Debug\SSComm.dll |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\UniSolder\software\PC\SSComm\bin\Debug\SSComm.pdb |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\UniSolder\software\PC\SSComm\bin\Debug\LibUsbDotNet.dll |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\UniSolder\software\PC\SSComm\obj\Debug\SSComm.dll |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\UniSolder\software\PC\SSComm\obj\Debug\SSComm.pdb |
@ -0,0 +1,6 @@ |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\UniSolder\software\PC\SSComm\bin\Release\SSComm.dll |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\UniSolder\software\PC\SSComm\bin\Release\SSComm.pdb |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\UniSolder\software\PC\SSComm\bin\Release\LibUsbDotNet.dll |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\UniSolder\software\PC\SSComm\obj\Release\SSComm.csprojResolveAssemblyReference.cache |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\UniSolder\software\PC\SSComm\obj\Release\SSComm.dll |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\UniSolder\software\PC\SSComm\obj\Release\SSComm.pdb |
@ -0,0 +1,315 @@ |
|||
using System; |
|||
using System.Threading; |
|||
using System.Diagnostics; |
|||
using LibUsbDotNet; |
|||
using LibUsbDotNet.Main; |
|||
|
|||
namespace SSComm |
|||
{ |
|||
|
|||
public class USBGen_LibUSB : IUniComm |
|||
{ |
|||
public bool Connected { get; private set; } = false; |
|||
|
|||
public Int32 lBytesSent; |
|||
public Int32 lBytesReceived; |
|||
|
|||
public const Int32 RXFIFOSIZE = 32768; |
|||
public const Int32 TXFIFOSIZE = 16384; |
|||
|
|||
public Int32 DevVID = Int32.MaxValue; |
|||
public Int32 DevPID = Int32.MaxValue; |
|||
public Int32 DevRevision = Int32.MaxValue; |
|||
public string DevSerialNumber = string.Empty; |
|||
|
|||
public Guid DevGUID = Guid.Empty; |
|||
|
|||
public event EventHandler DataReceived; |
|||
|
|||
private UsbDevice MyUSBDevice; |
|||
private UsbDeviceFinder MyUSBDeviceFinder; |
|||
private IUsbDevice WholeUSBDevice; |
|||
private UsbEndpointWriter MyUSBWriter; |
|||
private UsbEndpointReader MyUSBReader; |
|||
private UsbSetupPacket MyUSBSetupPacket; |
|||
|
|||
private byte[] RXFIFO = new byte[RXFIFOSIZE]; |
|||
private Int32 RXReadPos; |
|||
private Int32 RXWritePos; |
|||
|
|||
private byte[] TXFIFO = new byte[TXFIFOSIZE]; |
|||
private Int32 TXReadPos; |
|||
private Int32 TXWritePos; |
|||
|
|||
private System.Threading.Thread bkThread; |
|||
private bool bkThExit; |
|||
private ManualResetEvent bkThInterrupt = new ManualResetEvent(false); |
|||
|
|||
public bool Connect() |
|||
{ |
|||
bool rv = false; |
|||
rv = false; |
|||
Disconnect(); |
|||
MyUSBDeviceFinder = new UsbDeviceFinder(DevVID, DevPID, DevRevision, DevSerialNumber, DevGUID); |
|||
MyUSBDevice = UsbDevice.OpenUsbDevice(MyUSBDeviceFinder); |
|||
if (MyUSBDevice != null) |
|||
{ |
|||
WholeUSBDevice = MyUSBDevice as IUsbDevice; |
|||
if (!ReferenceEquals(WholeUSBDevice, null)) |
|||
{ |
|||
WholeUSBDevice.SetConfiguration(1); |
|||
WholeUSBDevice.ClaimInterface(0); |
|||
} |
|||
MyUSBWriter = MyUSBDevice.OpenEndpointWriter(WriteEndpointID.Ep01); |
|||
MyUSBReader = MyUSBDevice.OpenEndpointReader(ReadEndpointID.Ep01, 4096); |
|||
MyUSBReader.DataReceived += MyUSBReader_DataReceived; |
|||
MyUSBReader.DataReceivedEnabled = true; |
|||
|
|||
MyUSBSetupPacket.RequestType = (byte)(UsbCtrlFlags.RequestType_Vendor | UsbCtrlFlags.Recipient_Interface | UsbCtrlFlags.Direction_In); |
|||
MyUSBSetupPacket.Request = 1; |
|||
MyUSBSetupPacket.Value = 0; |
|||
MyUSBSetupPacket.Length = 4; |
|||
|
|||
bkThread = new System.Threading.Thread(this.Th_DoWork); |
|||
bkThExit = false; |
|||
bkThread.Start(); |
|||
rv = true; |
|||
} |
|||
return rv; |
|||
} |
|||
|
|||
public void Disconnect() |
|||
{ |
|||
if (bkThread != null) |
|||
{ |
|||
bkThExit = true; |
|||
bkThInterrupt.Set(); |
|||
if (bkThread.ThreadState == System.Threading.ThreadState.Running) bkThread.Join(); |
|||
} |
|||
bkThread = null; |
|||
if (MyUSBDevice != null) |
|||
{ |
|||
if (MyUSBDevice.IsOpen) |
|||
{ |
|||
WholeUSBDevice = MyUSBDevice as IUsbDevice; |
|||
if (!ReferenceEquals(WholeUSBDevice, null)) |
|||
{ |
|||
WholeUSBDevice.ReleaseInterface(0); |
|||
} |
|||
MyUSBReader.DataReceivedEnabled = false; |
|||
MyUSBReader.DataReceived -= MyUSBReader_DataReceived; |
|||
MyUSBDevice.Close(); |
|||
} |
|||
MyUSBDevice = null; |
|||
WholeUSBDevice = null; |
|||
MyUSBDeviceFinder = null; |
|||
MyUSBReader = null; |
|||
MyUSBWriter = null; |
|||
} |
|||
} |
|||
|
|||
public void Init() |
|||
{ |
|||
Disconnect(); |
|||
lBytesSent = 0; |
|||
lBytesReceived = 0; |
|||
RXReadPos = 0; |
|||
RXWritePos = 0; |
|||
DevVID = Int32.MaxValue; |
|||
DevPID = Int32.MaxValue; |
|||
DevRevision = Int32.MaxValue; |
|||
DevGUID = Guid.Empty; |
|||
} |
|||
|
|||
public Int32 BytesSent() |
|||
{ |
|||
return lBytesSent; |
|||
} |
|||
|
|||
public Int32 BytesReceived() |
|||
{ |
|||
return lBytesReceived; |
|||
} |
|||
|
|||
public Int32 RXDataCount |
|||
{ |
|||
get |
|||
{ |
|||
Int32 i; |
|||
i = RXWritePos - RXReadPos; |
|||
if (i < 0) i += RXFIFOSIZE; |
|||
return i; |
|||
} |
|||
} |
|||
|
|||
public byte ReadByte() |
|||
{ |
|||
byte rv; |
|||
if (RXWritePos != RXReadPos) |
|||
{ |
|||
rv = RXFIFO[RXReadPos]; |
|||
RXReadPos = (RXReadPos + 1) % RXFIFOSIZE; |
|||
return rv; |
|||
} |
|||
else |
|||
{ |
|||
throw new Exception("SSComm(USBGen_LibUSB).ReadByte: RX FIFO empty!"); |
|||
} |
|||
} |
|||
|
|||
public Int32 Read(ref byte[] DBuffer, Int32 DOffset, Int32 MaxBytes) |
|||
{ |
|||
Int32 i; |
|||
if (MaxBytes < 0) MaxBytes = 0; |
|||
if (MaxBytes > 0) |
|||
{ |
|||
i = RXDataCount; |
|||
if (MaxBytes > i) MaxBytes = i; |
|||
if (MaxBytes < i) i = MaxBytes; |
|||
while (i > 0) |
|||
{ |
|||
DBuffer[DOffset] = RXFIFO[RXReadPos]; |
|||
DOffset += 1; |
|||
RXReadPos = (RXReadPos + 1) % RXFIFOSIZE; |
|||
i -= 1; |
|||
} |
|||
} |
|||
return MaxBytes; |
|||
} |
|||
|
|||
public Int32 TXFreeSpace |
|||
{ |
|||
get |
|||
{ |
|||
Int32 i; |
|||
i = TXWritePos - TXReadPos; |
|||
if (i < 0) i += TXFIFOSIZE; |
|||
i = TXFIFOSIZE - i; |
|||
return i; |
|||
} |
|||
} |
|||
|
|||
public void WriteByte(ref byte wb, bool dow = true) |
|||
{ |
|||
if (TXFreeSpace > 0) |
|||
{ |
|||
TXFIFO[TXWritePos] = wb; |
|||
TXWritePos = (TXWritePos + 1) % TXFIFOSIZE; |
|||
if (dow && (bkThread != null)) bkThInterrupt.Set(); |
|||
} |
|||
else |
|||
{ |
|||
throw new Exception("SSComm(USBGen_LibUSB).WriteByte: TX FIFO Full!"); |
|||
} |
|||
} |
|||
|
|||
public bool Write(ref byte[] DBuffer, int DOffset, int NumBytes) |
|||
{ |
|||
Int32 i; |
|||
if (NumBytes > TXFreeSpace) throw new Exception("Not enough space in TX buffer."); |
|||
for (i = 0; i < NumBytes; i++) |
|||
{ |
|||
TXFIFO[TXWritePos] = DBuffer[DOffset + i]; |
|||
TXWritePos = (TXWritePos + 1) % TXFIFOSIZE; |
|||
} |
|||
if (bkThread != null)bkThInterrupt.Set(); |
|||
return true; |
|||
} |
|||
|
|||
public void Dispose() |
|||
{ |
|||
Disconnect(); |
|||
} |
|||
|
|||
private void MyUSBReader_DataReceived(object sender, LibUsbDotNet.Main.EndpointDataEventArgs e) |
|||
{ |
|||
Int32 i; |
|||
if (e.Count > 0) |
|||
{ |
|||
lBytesReceived += e.Count; |
|||
if (RXDataCount + e.Count < RXFIFOSIZE) |
|||
{ |
|||
for (i = 0; i < e.Count; i++) |
|||
{ |
|||
RXFIFO[RXWritePos] = e.Buffer[i]; |
|||
RXWritePos = (RXWritePos + 1) % RXFIFOSIZE; |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
throw new Exception("RX FIFO overflow"); |
|||
} |
|||
if (DataReceived != null) |
|||
{ |
|||
DataReceived(this, new EventArgs()); |
|||
} |
|||
} |
|||
} |
|||
|
|||
private void Th_DoWork() |
|||
{ |
|||
Int32 lDevMaxDataSize; |
|||
Int32 lDevWait; |
|||
Int32 lTXSize; |
|||
Int32[] i = new Int32[1]; |
|||
bool TXSuccess; |
|||
lDevWait = 0; |
|||
try |
|||
{ |
|||
while (true) |
|||
{ |
|||
if (TXReadPos != TXWritePos) |
|||
{ |
|||
lDevWait += 1; |
|||
if (lDevWait > 1000) lDevWait = 1000; |
|||
if (MyUSBDevice != null) |
|||
{ |
|||
if (MyUSBDevice.IsOpen) |
|||
{ |
|||
if (MyUSBWriter != null) |
|||
{ |
|||
//query how much data device can accept
|
|||
if (MyUSBDevice.ControlTransfer(ref MyUSBSetupPacket, i, 4, out lTXSize)) |
|||
{ |
|||
if (lTXSize == 4) |
|||
{ |
|||
lDevMaxDataSize = i[0]; |
|||
//Debug.Print("Device can accept maximum " & lDevMaxDataSize & " byte(s)")
|
|||
if (lDevMaxDataSize > 0) |
|||
{ |
|||
lDevWait = 0; |
|||
lTXSize = TXWritePos - TXReadPos; |
|||
if (lTXSize < 0) |
|||
lTXSize += TXFIFOSIZE; |
|||
if (lTXSize > 0) |
|||
{ |
|||
if (lTXSize > lDevMaxDataSize) lTXSize = lDevMaxDataSize; |
|||
if ((TXReadPos + lTXSize) >= TXFIFOSIZE) lTXSize = TXFIFOSIZE - TXReadPos; |
|||
TXSuccess = (MyUSBWriter.Write(TXFIFO, TXReadPos, lTXSize, 2000, out lTXSize) == ErrorCode.Success); |
|||
if (TXSuccess) |
|||
{ |
|||
TXReadPos = (TXReadPos + lTXSize) % TXFIFOSIZE; |
|||
lBytesSent += lTXSize; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
bkThInterrupt.WaitOne(lDevWait); |
|||
bkThInterrupt.Reset(); |
|||
} |
|||
else |
|||
{ |
|||
bkThInterrupt.WaitOne(Timeout.Infinite); |
|||
bkThInterrupt.Reset(); |
|||
} |
|||
if (bkThExit) break; |
|||
} |
|||
} |
|||
catch (ThreadAbortException) { } |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,393 @@ |
|||
using System; |
|||
using System.Threading; |
|||
using System.Diagnostics; |
|||
using System.Runtime.InteropServices; |
|||
using System.Windows.Forms; |
|||
using System.IO; |
|||
using Microsoft.VisualBasic; |
|||
using Microsoft.Win32.SafeHandles; |
|||
using System.Runtime.Remoting.Messaging; |
|||
|
|||
using LibUsbDotNet; |
|||
using LibUsbDotNet.Main; |
|||
|
|||
namespace SSComm |
|||
{ |
|||
public partial class USBHID : IUniComm |
|||
{ |
|||
public bool Connected { get; private set; } = false; |
|||
|
|||
public Int32 lBytesSent; |
|||
public Int32 lBytesReceived; |
|||
|
|||
public const Int32 RXFIFOSIZE = 32768; |
|||
public const Int32 TXFIFOSIZE = 16384; |
|||
|
|||
public UInt16 DevVID = UInt16.MaxValue; |
|||
public UInt16 DevPID = UInt16.MaxValue; |
|||
public Int32 DevRevision = Int32.MaxValue; |
|||
public string DevSerialNumber = string.Empty; |
|||
public Guid DevGUID = Guid.Empty; |
|||
|
|||
public event EventHandler DataReceived; |
|||
|
|||
private UsbDevice MyUSBDevice; |
|||
private UsbDeviceFinder MyUSBDeviceFinder; |
|||
private IUsbDevice WholeUSBDevice; |
|||
private UsbEndpointWriter MyUSBWriter; |
|||
private UsbEndpointReader MyUSBReader; |
|||
private UsbSetupPacket MyUSBSetupPacket; |
|||
|
|||
private byte[] RXFIFO = new byte[RXFIFOSIZE]; |
|||
private Int32 RXReadPos; |
|||
private Int32 RXWritePos; |
|||
|
|||
private byte[] TXFIFO = new byte[TXFIFOSIZE]; |
|||
private Int32 TXReadPos; |
|||
private Int32 TXWritePos; |
|||
|
|||
private System.Threading.Thread bkThread; |
|||
private bool bkThExit; |
|||
private ManualResetEvent bkThInterript = new ManualResetEvent(false); |
|||
|
|||
private Hid MyHid = new Hid(); |
|||
private DeviceManagement MyDeviceManagement = new DeviceManagement(); |
|||
private SafeFileHandle hidHandleR; |
|||
private SafeFileHandle hidHandleW; |
|||
private FileStream hidFSR; |
|||
private FileStream hidFSW; |
|||
private string myDevicePathName; |
|||
|
|||
private byte[] rxBuffer; |
|||
private byte[] txBuffer; |
|||
|
|||
private object ThisLock = new Object(); |
|||
|
|||
public bool Connect() |
|||
{ |
|||
string[] devicePathName = new string[128]; |
|||
bool myDeviceDetected = false; |
|||
|
|||
if (Connected) Disconnect(); |
|||
|
|||
Guid hidGuid = Guid.Empty; |
|||
Hid.HidD_GetHidGuid(ref hidGuid); |
|||
if (MyDeviceManagement.FindDeviceFromGuid(hidGuid, ref devicePathName)) |
|||
{ |
|||
int memberIndex = 0; |
|||
do |
|||
{ |
|||
hidHandleR = FileIO.CreateFile(devicePathName[memberIndex], 0, FileIO.FILE_SHARE_READ | FileIO.FILE_SHARE_WRITE, IntPtr.Zero, FileIO.OPEN_EXISTING, 0, 0); |
|||
if (!hidHandleR.IsInvalid) |
|||
{ |
|||
MyHid.DeviceAttributes.Size = Marshal.SizeOf(MyHid.DeviceAttributes); |
|||
if (Hid.HidD_GetAttributes(hidHandleR, ref MyHid.DeviceAttributes)) |
|||
{ |
|||
if ((MyHid.DeviceAttributes.VendorID == DevVID) && (MyHid.DeviceAttributes.ProductID == DevPID)) |
|||
{ |
|||
myDeviceDetected = true; |
|||
myDevicePathName = devicePathName[memberIndex]; |
|||
} |
|||
else |
|||
{ |
|||
myDeviceDetected = false; |
|||
hidHandleR.Close(); |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
myDeviceDetected = false; |
|||
hidHandleR.Close(); |
|||
} |
|||
} |
|||
memberIndex++; |
|||
} |
|||
while (!(myDeviceDetected || memberIndex == devicePathName.Length)); |
|||
if (myDeviceDetected) |
|||
{ |
|||
MyHid.Capabilities = MyHid.GetDeviceCapabilities(hidHandleR); |
|||
MyHid.GetHidUsage(MyHid.Capabilities); |
|||
hidHandleR.Close(); |
|||
hidHandleR = FileIO.CreateFile(myDevicePathName, FileIO.GENERIC_READ, FileIO.FILE_SHARE_READ | FileIO.FILE_SHARE_WRITE, IntPtr.Zero, FileIO.OPEN_EXISTING, 0, 0); |
|||
hidHandleW = FileIO.CreateFile(myDevicePathName, FileIO.GENERIC_WRITE, FileIO.FILE_SHARE_READ | FileIO.FILE_SHARE_WRITE, IntPtr.Zero, FileIO.OPEN_EXISTING, 0, 0); |
|||
if (hidHandleR.IsInvalid || hidHandleW.IsInvalid) |
|||
{ |
|||
Connected = false; |
|||
hidFSR.Close(); |
|||
hidFSW.Close(); |
|||
if (!hidHandleR.IsInvalid) hidHandleR.Close(); |
|||
if (!hidHandleW.IsInvalid) hidHandleW.Close(); |
|||
} |
|||
else |
|||
{ |
|||
MyHid.FlushQueue(hidHandleR); |
|||
MyHid.FlushQueue(hidHandleW); |
|||
hidFSR = new FileStream(hidHandleR, FileAccess.Read, MyHid.Capabilities.OutputReportByteLength, false); //false);
|
|||
hidFSW = new FileStream(hidHandleW, FileAccess.Write, MyHid.Capabilities.OutputReportByteLength, false); //false);
|
|||
rxBuffer = new Byte[MyHid.Capabilities.InputReportByteLength]; |
|||
hidFSR.BeginRead(rxBuffer, 0, rxBuffer.Length, new AsyncCallback(ReadCallback), rxBuffer); |
|||
bkThread = new System.Threading.Thread(this.Th_DoWork); |
|||
bkThExit = false; |
|||
bkThread.Start(); |
|||
Connected = true; |
|||
} |
|||
} |
|||
} |
|||
return Connected; |
|||
} |
|||
|
|||
private void ReadCallback(IAsyncResult ar) |
|||
{ |
|||
if (hidFSR != null) |
|||
{ |
|||
try |
|||
{ |
|||
hidFSR.EndRead(ar); |
|||
if (ar.IsCompleted) |
|||
{ |
|||
lBytesReceived += rxBuffer.Length; |
|||
if (RXDataCount + rxBuffer.Length < RXFIFOSIZE) |
|||
{ |
|||
for (int i = 1; i < rxBuffer.Length; i++) |
|||
{ |
|||
RXFIFO[RXWritePos] = rxBuffer[i]; |
|||
RXWritePos = (RXWritePos + 1) % RXFIFOSIZE; |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
throw new Exception("RX FIFO overflow"); |
|||
} |
|||
if (DataReceived != null) |
|||
{ |
|||
DataReceived(this, new EventArgs()); |
|||
} |
|||
} |
|||
hidFSR.BeginRead(rxBuffer, 0, rxBuffer.Length, new AsyncCallback(ReadCallback), rxBuffer); |
|||
} |
|||
catch |
|||
{ |
|||
Disconnect(); |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
public void Disconnect() |
|||
{ |
|||
if (bkThread != null) |
|||
{ |
|||
bkThExit = true; |
|||
bkThInterript.Set(); |
|||
if (bkThread.ThreadState == System.Threading.ThreadState.Running) bkThread.Join(); |
|||
} |
|||
bkThread = null; |
|||
lock (ThisLock) |
|||
{ |
|||
if (hidFSR != null) |
|||
{ |
|||
hidFSR.Close(); |
|||
hidFSR = null; |
|||
} |
|||
if (hidFSW != null) |
|||
{ |
|||
hidFSW.Close(); |
|||
hidFSW = null; |
|||
} |
|||
if ((hidHandleR != null) && (!(hidHandleR.IsInvalid))) |
|||
{ |
|||
hidHandleR.Close(); |
|||
} |
|||
if ((hidHandleW != null) && (!(hidHandleW.IsInvalid))) |
|||
{ |
|||
hidHandleW.Close(); |
|||
} |
|||
hidHandleR = null; |
|||
hidHandleW = null; |
|||
myDevicePathName = ""; |
|||
} |
|||
Connected = false; |
|||
} |
|||
|
|||
public void Init() |
|||
{ |
|||
Disconnect(); |
|||
lBytesSent = 0; |
|||
lBytesReceived = 0; |
|||
RXReadPos = 0; |
|||
RXWritePos = 0; |
|||
DevVID = UInt16.MaxValue; |
|||
DevPID = UInt16.MaxValue; |
|||
DevRevision = Int32.MaxValue; |
|||
DevGUID = Guid.Empty; |
|||
} |
|||
|
|||
public Int32 BytesSent() |
|||
{ |
|||
return lBytesSent; |
|||
} |
|||
|
|||
public Int32 BytesReceived() |
|||
{ |
|||
return lBytesReceived; |
|||
} |
|||
|
|||
public Int32 RXDataCount |
|||
{ |
|||
get |
|||
{ |
|||
Int32 i; |
|||
i = RXWritePos - RXReadPos; |
|||
if (i < 0) i += RXFIFOSIZE; |
|||
return i; |
|||
} |
|||
} |
|||
|
|||
public byte ReadByte() |
|||
{ |
|||
byte rv; |
|||
if (RXWritePos != RXReadPos) |
|||
{ |
|||
rv = RXFIFO[RXReadPos]; |
|||
RXReadPos = (RXReadPos + 1) % RXFIFOSIZE; |
|||
return rv; |
|||
} |
|||
else |
|||
{ |
|||
throw new Exception("SSComm(USBGen_LibUSB).ReadByte: RX FIFO empty!"); |
|||
} |
|||
} |
|||
|
|||
public Int32 Read(ref byte[] DBuffer, Int32 DOffset, Int32 MaxBytes) |
|||
{ |
|||
Int32 i; |
|||
if (MaxBytes < 0) MaxBytes = 0; |
|||
if (MaxBytes > 0) |
|||
{ |
|||
i = RXDataCount; |
|||
if (MaxBytes > i) MaxBytes = i; |
|||
if (MaxBytes < i) i = MaxBytes; |
|||
while (i > 0) |
|||
{ |
|||
DBuffer[DOffset] = RXFIFO[RXReadPos]; |
|||
DOffset += 1; |
|||
RXReadPos = (RXReadPos + 1) % RXFIFOSIZE; |
|||
i -= 1; |
|||
} |
|||
} |
|||
return MaxBytes; |
|||
} |
|||
|
|||
public Int32 TXFreeSpace |
|||
{ |
|||
get |
|||
{ |
|||
Int32 i; |
|||
i = TXWritePos - TXReadPos; |
|||
if (i < 0) i += TXFIFOSIZE; |
|||
i = TXFIFOSIZE - i; |
|||
return i; |
|||
} |
|||
} |
|||
|
|||
public void WriteByte(ref byte wb, bool dow = true) |
|||
{ |
|||
if (TXFreeSpace > 0) |
|||
{ |
|||
TXFIFO[TXWritePos] = wb; |
|||
TXWritePos = (TXWritePos + 1) % TXFIFOSIZE; |
|||
if (dow && (bkThread != null)) bkThInterript.Set(); |
|||
} |
|||
else |
|||
{ |
|||
throw new Exception("SSComm(USBGen_LibUSB).WriteByte: TX FIFO Full!"); |
|||
} |
|||
} |
|||
|
|||
public bool Write(ref byte[] DBuffer, int DOffset, int NumBytes) |
|||
{ |
|||
Int32 i; |
|||
if (NumBytes > TXFreeSpace) throw new Exception("Not enough space in TX buffer."); |
|||
for (i = 0; i < NumBytes; i++) |
|||
{ |
|||
TXFIFO[TXWritePos] = DBuffer[DOffset + i]; |
|||
TXWritePos = (TXWritePos + 1) % TXFIFOSIZE; |
|||
} |
|||
if (bkThread != null) bkThInterript.Set(); |
|||
return true; |
|||
} |
|||
|
|||
public void Dispose() |
|||
{ |
|||
Disconnect(); |
|||
} |
|||
|
|||
private void MyUSBReader_DataReceived(object sender, LibUsbDotNet.Main.EndpointDataEventArgs e) |
|||
{ |
|||
Int32 i; |
|||
if (e.Count > 0) |
|||
{ |
|||
lBytesReceived += e.Count; |
|||
if (RXDataCount + e.Count < RXFIFOSIZE) |
|||
{ |
|||
for (i = 0; i < e.Count; i++) |
|||
{ |
|||
RXFIFO[RXWritePos] = e.Buffer[i]; |
|||
RXWritePos = (RXWritePos + 1) % RXFIFOSIZE; |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
throw new Exception("RX FIFO overflow"); |
|||
} |
|||
if (DataReceived != null) |
|||
{ |
|||
DataReceived(this, new EventArgs()); |
|||
} |
|||
} |
|||
} |
|||
|
|||
private void Th_DoWork() |
|||
{ |
|||
Int32 lTXSize; |
|||
Int32 i; |
|||
byte[] b = new byte[MyHid.Capabilities.OutputReportByteLength]; |
|||
try |
|||
{ |
|||
while (true) |
|||
{ |
|||
if (hidFSW != null && hidFSW.CanWrite) |
|||
{ |
|||
lTXSize = TXWritePos - TXReadPos; |
|||
if (lTXSize < 0) lTXSize += TXFIFOSIZE; |
|||
if (lTXSize >= (b.Length - 1)) |
|||
{ |
|||
b[0] = 0; |
|||
for (i = 0; i < (b.Length - 1); i++) |
|||
{ |
|||
b[i + 1] = TXFIFO[(TXReadPos + i) % TXFIFOSIZE]; |
|||
} |
|||
hidFSW.Write(b, 0, b.Length); |
|||
hidFSW.Flush(); |
|||
TXReadPos += b.Length - 1; |
|||
TXReadPos %= TXFIFOSIZE; |
|||
lBytesSent += b.Length - 1; |
|||
} |
|||
else |
|||
{ |
|||
bkThInterript.WaitOne(Timeout.Infinite); |
|||
bkThInterript.Reset(); |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
bkThInterript.WaitOne(Timeout.Infinite); |
|||
bkThInterript.Reset(); |
|||
} |
|||
if (bkThExit) break; |
|||
} |
|||
} |
|||
catch (ThreadAbortException) { } |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,429 @@ |
|||
/// <summary>
|
|||
/// Routines for detecting devices and receiving device notifications.
|
|||
/// </summary>
|
|||
|
|||
using System; |
|||
using System.Runtime.InteropServices; |
|||
using System.Windows.Forms; |
|||
|
|||
namespace SSComm |
|||
{ |
|||
internal sealed partial class DeviceManagement |
|||
{ |
|||
/// <summary>
|
|||
/// Compares two device path names. Used to find out if the device name
|
|||
/// of a recently attached or removed device matches the name of a
|
|||
/// device the application is communicating with.
|
|||
/// </summary>
|
|||
///
|
|||
/// <param name="m"> a WM_DEVICECHANGE message. A call to RegisterDeviceNotification
|
|||
/// causes WM_DEVICECHANGE messages to be passed to an OnDeviceChange routine.. </param>
|
|||
/// <param name="mydevicePathName"> a device pathname returned by
|
|||
/// SetupDiGetDeviceInterfaceDetail in an SP_DEVICE_INTERFACE_DETAIL_DATA structure. </param>
|
|||
///
|
|||
/// <returns>
|
|||
/// True if the names match, False if not.
|
|||
/// </returns>
|
|||
///
|
|||
internal Boolean DeviceNameMatch(Message m, String mydevicePathName) |
|||
{ |
|||
Int32 stringSize; |
|||
|
|||
try |
|||
{ |
|||
DEV_BROADCAST_DEVICEINTERFACE_1 devBroadcastDeviceInterface = new DEV_BROADCAST_DEVICEINTERFACE_1(); |
|||
DEV_BROADCAST_HDR devBroadcastHeader = new DEV_BROADCAST_HDR(); |
|||
|
|||
// The LParam parameter of Message is a pointer to a DEV_BROADCAST_HDR structure.
|
|||
|
|||
Marshal.PtrToStructure(m.LParam, devBroadcastHeader); |
|||
|
|||
if ((devBroadcastHeader.dbch_devicetype == DBT_DEVTYP_DEVICEINTERFACE)) |
|||
{ |
|||
// The dbch_devicetype parameter indicates that the event applies to a device interface.
|
|||
// So the structure in LParam is actually a DEV_BROADCAST_INTERFACE structure,
|
|||
// which begins with a DEV_BROADCAST_HDR.
|
|||
|
|||
// Obtain the number of characters in dbch_name by subtracting the 32 bytes
|
|||
// in the strucutre that are not part of dbch_name and dividing by 2 because there are
|
|||
// 2 bytes per character.
|
|||
|
|||
stringSize = System.Convert.ToInt32((devBroadcastHeader.dbch_size - 32) / 2); |
|||
|
|||
// The dbcc_name parameter of devBroadcastDeviceInterface contains the device name.
|
|||
// Trim dbcc_name to match the size of the String.
|
|||
|
|||
devBroadcastDeviceInterface.dbcc_name = new Char[stringSize + 1]; |
|||
|
|||
// Marshal data from the unmanaged block pointed to by m.LParam
|
|||
// to the managed object devBroadcastDeviceInterface.
|
|||
|
|||
Marshal.PtrToStructure(m.LParam, devBroadcastDeviceInterface); |
|||
|
|||
// Store the device name in a String.
|
|||
|
|||
String DeviceNameString = new String(devBroadcastDeviceInterface.dbcc_name, 0, stringSize); |
|||
|
|||
// Compare the name of the newly attached device with the name of the device
|
|||
// the application is accessing (mydevicePathName).
|
|||
// Set ignorecase True.
|
|||
|
|||
if ((String.Compare(DeviceNameString, mydevicePathName, true) == 0)) |
|||
{ |
|||
return true; |
|||
} |
|||
else |
|||
{ |
|||
return false; |
|||
} |
|||
} |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
throw; |
|||
} |
|||
|
|||
return false; |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Use SetupDi API functions to retrieve the device path name of an
|
|||
/// attached device that belongs to a device interface class.
|
|||
/// </summary>
|
|||
///
|
|||
/// <param name="myGuid"> an interface class GUID. </param>
|
|||
/// <param name="devicePathName"> a pointer to the device path name
|
|||
/// of an attached device. </param>
|
|||
///
|
|||
/// <returns>
|
|||
/// True if a device is found, False if not.
|
|||
/// </returns>
|
|||
|
|||
internal Boolean FindDeviceFromGuid(System.Guid myGuid, ref String[] devicePathName) |
|||
{ |
|||
Int32 bufferSize = 0; |
|||
IntPtr detailDataBuffer = IntPtr.Zero; |
|||
Boolean deviceFound; |
|||
IntPtr deviceInfoSet = new System.IntPtr(); |
|||
Boolean lastDevice = false; |
|||
Int32 memberIndex = 0; |
|||
SP_DEVICE_INTERFACE_DATA MyDeviceInterfaceData = new SP_DEVICE_INTERFACE_DATA(); |
|||
Boolean success; |
|||
|
|||
try |
|||
{ |
|||
// ***
|
|||
// API function
|
|||
|
|||
// summary
|
|||
// Retrieves a device information set for a specified group of devices.
|
|||
// SetupDiEnumDeviceInterfaces uses the device information set.
|
|||
|
|||
// parameters
|
|||
// Interface class GUID.
|
|||
// Null to retrieve information for all device instances.
|
|||
// Optional handle to a top-level window (unused here).
|
|||
// Flags to limit the returned information to currently present devices
|
|||
// and devices that expose interfaces in the class specified by the GUID.
|
|||
|
|||
// Returns
|
|||
// Handle to a device information set for the devices.
|
|||
// ***
|
|||
|
|||
deviceInfoSet = SetupDiGetClassDevs(ref myGuid, IntPtr.Zero, IntPtr.Zero, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE); |
|||
|
|||
deviceFound = false; |
|||
memberIndex = 0; |
|||
|
|||
// The cbSize element of the MyDeviceInterfaceData structure must be set to
|
|||
// the structure's size in bytes.
|
|||
// The size is 28 bytes for 32-bit code and 32 bits for 64-bit code.
|
|||
|
|||
MyDeviceInterfaceData.cbSize = Marshal.SizeOf(MyDeviceInterfaceData); |
|||
|
|||
do |
|||
{ |
|||
// Begin with 0 and increment through the device information set until
|
|||
// no more devices are available.
|
|||
|
|||
// ***
|
|||
// API function
|
|||
|
|||
// summary
|
|||
// Retrieves a handle to a SP_DEVICE_INTERFACE_DATA structure for a device.
|
|||
// On return, MyDeviceInterfaceData contains the handle to a
|
|||
// SP_DEVICE_INTERFACE_DATA structure for a detected device.
|
|||
|
|||
// parameters
|
|||
// DeviceInfoSet returned by SetupDiGetClassDevs.
|
|||
// Optional SP_DEVINFO_DATA structure that defines a device instance
|
|||
// that is a member of a device information set.
|
|||
// Device interface GUID.
|
|||
// Index to specify a device in a device information set.
|
|||
// Pointer to a handle to a SP_DEVICE_INTERFACE_DATA structure for a device.
|
|||
|
|||
// Returns
|
|||
// True on success.
|
|||
// ***
|
|||
|
|||
success = SetupDiEnumDeviceInterfaces |
|||
(deviceInfoSet, |
|||
IntPtr.Zero, |
|||
ref myGuid, |
|||
memberIndex, |
|||
ref MyDeviceInterfaceData); |
|||
|
|||
// Find out if a device information set was retrieved.
|
|||
|
|||
if (!success) |
|||
{ |
|||
lastDevice = true; |
|||
|
|||
} |
|||
else |
|||
{ |
|||
// A device is present.
|
|||
|
|||
// ***
|
|||
// API function:
|
|||
|
|||
// summary:
|
|||
// Retrieves an SP_DEVICE_INTERFACE_DETAIL_DATA structure
|
|||
// containing information about a device.
|
|||
// To retrieve the information, call this function twice.
|
|||
// The first time returns the size of the structure.
|
|||
// The second time returns a pointer to the data.
|
|||
|
|||
// parameters
|
|||
// DeviceInfoSet returned by SetupDiGetClassDevs
|
|||
// SP_DEVICE_INTERFACE_DATA structure returned by SetupDiEnumDeviceInterfaces
|
|||
// A returned pointer to an SP_DEVICE_INTERFACE_DETAIL_DATA
|
|||
// Structure to receive information about the specified interface.
|
|||
// The size of the SP_DEVICE_INTERFACE_DETAIL_DATA structure.
|
|||
// Pointer to a variable that will receive the returned required size of the
|
|||
// SP_DEVICE_INTERFACE_DETAIL_DATA structure.
|
|||
// Returned pointer to an SP_DEVINFO_DATA structure to receive information about the device.
|
|||
|
|||
// Returns
|
|||
// True on success.
|
|||
// ***
|
|||
|
|||
success = SetupDiGetDeviceInterfaceDetail |
|||
(deviceInfoSet, |
|||
ref MyDeviceInterfaceData, |
|||
IntPtr.Zero, |
|||
0, |
|||
ref bufferSize, |
|||
IntPtr.Zero); |
|||
|
|||
// Allocate memory for the SP_DEVICE_INTERFACE_DETAIL_DATA structure using the returned buffer size.
|
|||
|
|||
detailDataBuffer = Marshal.AllocHGlobal(bufferSize); |
|||
|
|||
// Store cbSize in the first bytes of the array. The number of bytes varies with 32- and 64-bit systems.
|
|||
|
|||
Marshal.WriteInt32(detailDataBuffer, (IntPtr.Size == 4) ? (4 + Marshal.SystemDefaultCharSize) : 8); |
|||
|
|||
// Call SetupDiGetDeviceInterfaceDetail again.
|
|||
// This time, pass a pointer to DetailDataBuffer
|
|||
// and the returned required buffer size.
|
|||
|
|||
success = SetupDiGetDeviceInterfaceDetail |
|||
(deviceInfoSet, |
|||
ref MyDeviceInterfaceData, |
|||
detailDataBuffer, |
|||
bufferSize, |
|||
ref bufferSize, |
|||
IntPtr.Zero); |
|||
|
|||
// Skip over cbsize (4 bytes) to get the address of the devicePathName.
|
|||
|
|||
IntPtr pDevicePathName = new IntPtr(detailDataBuffer.ToInt32() + 4); |
|||
|
|||
// Get the String containing the devicePathName.
|
|||
|
|||
devicePathName[memberIndex] = Marshal.PtrToStringAuto(pDevicePathName); |
|||
|
|||
if (detailDataBuffer != IntPtr.Zero) |
|||
{ |
|||
// Free the memory allocated previously by AllocHGlobal.
|
|||
|
|||
Marshal.FreeHGlobal(detailDataBuffer); |
|||
} |
|||
deviceFound = true; |
|||
} |
|||
memberIndex = memberIndex + 1; |
|||
} |
|||
while (!((lastDevice == true))); |
|||
|
|||
|
|||
|
|||
return deviceFound; |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
throw; |
|||
} |
|||
finally |
|||
{ |
|||
|
|||
// ***
|
|||
// API function
|
|||
|
|||
// summary
|
|||
// Frees the memory reserved for the DeviceInfoSet returned by SetupDiGetClassDevs.
|
|||
|
|||
// parameters
|
|||
// DeviceInfoSet returned by SetupDiGetClassDevs.
|
|||
|
|||
// returns
|
|||
// True on success.
|
|||
// ***
|
|||
|
|||
if (deviceInfoSet != IntPtr.Zero) |
|||
{ |
|||
SetupDiDestroyDeviceInfoList(deviceInfoSet); |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
/// <summary>
|
|||
/// Requests to receive a notification when a device is attached or removed.
|
|||
/// </summary>
|
|||
///
|
|||
/// <param name="devicePathName"> handle to a device. </param>
|
|||
/// <param name="formHandle"> handle to the window that will receive device events. </param>
|
|||
/// <param name="classGuid"> device interface GUID. </param>
|
|||
/// <param name="deviceNotificationHandle"> returned device notification handle. </param>
|
|||
///
|
|||
/// <returns>
|
|||
/// True on success.
|
|||
/// </returns>
|
|||
///
|
|||
internal Boolean RegisterForDeviceNotifications(String devicePathName, IntPtr formHandle, Guid classGuid, ref IntPtr deviceNotificationHandle) |
|||
{ |
|||
// A DEV_BROADCAST_DEVICEINTERFACE header holds information about the request.
|
|||
|
|||
DEV_BROADCAST_DEVICEINTERFACE devBroadcastDeviceInterface = new DEV_BROADCAST_DEVICEINTERFACE(); |
|||
IntPtr devBroadcastDeviceInterfaceBuffer = IntPtr.Zero; |
|||
Int32 size = 0; |
|||
|
|||
try |
|||
{ |
|||
// Set the parameters in the DEV_BROADCAST_DEVICEINTERFACE structure.
|
|||
|
|||
// Set the size.
|
|||
|
|||
size = Marshal.SizeOf(devBroadcastDeviceInterface); |
|||
devBroadcastDeviceInterface.dbcc_size = size; |
|||
|
|||
// Request to receive notifications about a class of devices.
|
|||
|
|||
devBroadcastDeviceInterface.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE; |
|||
|
|||
devBroadcastDeviceInterface.dbcc_reserved = 0; |
|||
|
|||
// Specify the interface class to receive notifications about.
|
|||
|
|||
devBroadcastDeviceInterface.dbcc_classguid = classGuid; |
|||
|
|||
// Allocate memory for the buffer that holds the DEV_BROADCAST_DEVICEINTERFACE structure.
|
|||
|
|||
devBroadcastDeviceInterfaceBuffer = Marshal.AllocHGlobal(size); |
|||
|
|||
// Copy the DEV_BROADCAST_DEVICEINTERFACE structure to the buffer.
|
|||
// Set fDeleteOld True to prevent memory leaks.
|
|||
|
|||
Marshal.StructureToPtr(devBroadcastDeviceInterface, devBroadcastDeviceInterfaceBuffer, true); |
|||
|
|||
// ***
|
|||
// API function
|
|||
|
|||
// summary
|
|||
// Request to receive notification messages when a device in an interface class
|
|||
// is attached or removed.
|
|||
|
|||
// parameters
|
|||
// Handle to the window that will receive device events.
|
|||
// Pointer to a DEV_BROADCAST_DEVICEINTERFACE to specify the type of
|
|||
// device to send notifications for.
|
|||
// DEVICE_NOTIFY_WINDOW_HANDLE indicates the handle is a window handle.
|
|||
|
|||
// Returns
|
|||
// Device notification handle or NULL on failure.
|
|||
// ***
|
|||
|
|||
deviceNotificationHandle = RegisterDeviceNotification(formHandle, devBroadcastDeviceInterfaceBuffer, DEVICE_NOTIFY_WINDOW_HANDLE); |
|||
|
|||
// Marshal data from the unmanaged block devBroadcastDeviceInterfaceBuffer to
|
|||
// the managed object devBroadcastDeviceInterface
|
|||
|
|||
Marshal.PtrToStructure(devBroadcastDeviceInterfaceBuffer, devBroadcastDeviceInterface); |
|||
|
|||
|
|||
|
|||
if ((deviceNotificationHandle.ToInt32() == IntPtr.Zero.ToInt32())) |
|||
{ |
|||
return false; |
|||
} |
|||
else |
|||
{ |
|||
return true; |
|||
} |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
throw; |
|||
} |
|||
finally |
|||
{ |
|||
if (devBroadcastDeviceInterfaceBuffer != IntPtr.Zero) |
|||
{ |
|||
// Free the memory allocated previously by AllocHGlobal.
|
|||
|
|||
Marshal.FreeHGlobal(devBroadcastDeviceInterfaceBuffer); |
|||
} |
|||
} |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Requests to stop receiving notification messages when a device in an
|
|||
/// interface class is attached or removed.
|
|||
/// </summary>
|
|||
///
|
|||
/// <param name="deviceNotificationHandle"> handle returned previously by
|
|||
/// RegisterDeviceNotification. </param>
|
|||
|
|||
internal void StopReceivingDeviceNotifications(IntPtr deviceNotificationHandle) |
|||
{ |
|||
try |
|||
{ |
|||
// ***
|
|||
// API function
|
|||
|
|||
// summary
|
|||
// Stop receiving notification messages.
|
|||
|
|||
// parameters
|
|||
// Handle returned previously by RegisterDeviceNotification.
|
|||
|
|||
// returns
|
|||
// True on success.
|
|||
// ***
|
|||
|
|||
// Ignore failures.
|
|||
|
|||
DeviceManagement.UnregisterDeviceNotification(deviceNotificationHandle); |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
throw; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
|
|||
|
@ -0,0 +1,109 @@ |
|||
using System; |
|||
using System.Runtime.InteropServices; |
|||
|
|||
namespace SSComm |
|||
{ |
|||
internal sealed partial class DeviceManagement |
|||
{ |
|||
///<summary >
|
|||
// API declarations relating to device management (SetupDixxx and
|
|||
// RegisterDeviceNotification functions).
|
|||
/// </summary>
|
|||
|
|||
// from dbt.h
|
|||
|
|||
internal const Int32 DBT_DEVICEARRIVAL = 0X8000; |
|||
internal const Int32 DBT_DEVICEREMOVECOMPLETE = 0X8004; |
|||
internal const Int32 DBT_DEVTYP_DEVICEINTERFACE = 5; |
|||
internal const Int32 DBT_DEVTYP_HANDLE = 6; |
|||
internal const Int32 DEVICE_NOTIFY_ALL_INTERFACE_CLASSES = 4; |
|||
internal const Int32 DEVICE_NOTIFY_SERVICE_HANDLE = 1; |
|||
internal const Int32 DEVICE_NOTIFY_WINDOW_HANDLE = 0; |
|||
internal const Int32 WM_DEVICECHANGE = 0X219; |
|||
|
|||
// from setupapi.h
|
|||
|
|||
internal const Int32 DIGCF_PRESENT = 2; |
|||
internal const Int32 DIGCF_DEVICEINTERFACE = 0X10; |
|||
|
|||
// Two declarations for the DEV_BROADCAST_DEVICEINTERFACE structure.
|
|||
|
|||
// Use this one in the call to RegisterDeviceNotification() and
|
|||
// in checking dbch_devicetype in a DEV_BROADCAST_HDR structure:
|
|||
|
|||
[StructLayout(LayoutKind.Sequential)] |
|||
internal class DEV_BROADCAST_DEVICEINTERFACE |
|||
{ |
|||
internal Int32 dbcc_size; |
|||
internal Int32 dbcc_devicetype; |
|||
internal Int32 dbcc_reserved; |
|||
internal Guid dbcc_classguid; |
|||
internal Int16 dbcc_name; |
|||
} |
|||
|
|||
// Use this to read the dbcc_name String and classguid:
|
|||
|
|||
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] |
|||
internal class DEV_BROADCAST_DEVICEINTERFACE_1 |
|||
{ |
|||
internal Int32 dbcc_size; |
|||
internal Int32 dbcc_devicetype; |
|||
internal Int32 dbcc_reserved; |
|||
[MarshalAs(UnmanagedType.ByValArray, ArraySubType = UnmanagedType.U1, SizeConst = 16)] |
|||
internal Byte[] dbcc_classguid; |
|||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 255)] |
|||
internal Char[] dbcc_name; |
|||
} |
|||
|
|||
[StructLayout(LayoutKind.Sequential)] |
|||
internal class DEV_BROADCAST_HDR |
|||
{ |
|||
internal Int32 dbch_size; |
|||
internal Int32 dbch_devicetype; |
|||
internal Int32 dbch_reserved; |
|||
} |
|||
|
|||
internal struct SP_DEVICE_INTERFACE_DATA |
|||
{ |
|||
internal Int32 cbSize; |
|||
internal System.Guid InterfaceClassGuid; |
|||
internal Int32 Flags; |
|||
internal IntPtr Reserved; |
|||
} |
|||
|
|||
internal struct SP_DEVICE_INTERFACE_DETAIL_DATA |
|||
{ |
|||
internal Int32 cbSize; |
|||
internal String DevicePath; |
|||
} |
|||
|
|||
internal struct SP_DEVINFO_DATA |
|||
{ |
|||
internal Int32 cbSize; |
|||
internal System.Guid ClassGuid; |
|||
internal Int32 DevInst; |
|||
internal Int32 Reserved; |
|||
} |
|||
|
|||
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] |
|||
internal static extern IntPtr RegisterDeviceNotification(IntPtr hRecipient, IntPtr NotificationFilter, Int32 Flags); |
|||
|
|||
[DllImport("setupapi.dll", SetLastError = true)] |
|||
internal static extern Int32 SetupDiCreateDeviceInfoList(ref System.Guid ClassGuid, Int32 hwndParent); |
|||
|
|||
[DllImport("setupapi.dll", SetLastError = true)] |
|||
internal static extern Int32 SetupDiDestroyDeviceInfoList(IntPtr DeviceInfoSet); |
|||
|
|||
[DllImport("setupapi.dll", SetLastError = true)] |
|||
internal static extern Boolean SetupDiEnumDeviceInterfaces(IntPtr DeviceInfoSet, IntPtr DeviceInfoData, ref System.Guid InterfaceClassGuid, Int32 MemberIndex, ref SP_DEVICE_INTERFACE_DATA DeviceInterfaceData); |
|||
|
|||
[DllImport("setupapi.dll", SetLastError = true, CharSet = CharSet.Auto)] |
|||
internal static extern IntPtr SetupDiGetClassDevs(ref System.Guid ClassGuid, IntPtr Enumerator, IntPtr hwndParent, Int32 Flags); |
|||
|
|||
[DllImport("setupapi.dll", SetLastError = true, CharSet = CharSet.Auto)] |
|||
internal static extern Boolean SetupDiGetDeviceInterfaceDetail(IntPtr DeviceInfoSet, ref SP_DEVICE_INTERFACE_DATA DeviceInterfaceData, IntPtr DeviceInterfaceDetailData, Int32 DeviceInterfaceDetailDataSize, ref Int32 RequiredSize, IntPtr DeviceInfoData); |
|||
|
|||
[DllImport("user32.dll", SetLastError = true)] |
|||
internal static extern Boolean UnregisterDeviceNotification(IntPtr Handle); |
|||
} |
|||
} |
@ -0,0 +1,25 @@ |
|||
using Microsoft.Win32.SafeHandles; |
|||
using System.Runtime.InteropServices; |
|||
using System.Threading; |
|||
|
|||
/// <summary>
|
|||
/// API declarations relating to file I/O.
|
|||
/// </summary>
|
|||
|
|||
using System; |
|||
|
|||
namespace SSComm |
|||
{ |
|||
internal sealed class FileIO |
|||
{ |
|||
internal const Int32 FILE_SHARE_READ = 1; |
|||
internal const Int32 FILE_SHARE_WRITE = 2; |
|||
internal const uint GENERIC_READ = 0X80000000U; |
|||
internal const Int32 GENERIC_WRITE = 0X40000000; |
|||
internal const Int32 INVALID_HANDLE_VALUE = -1; |
|||
internal const Int32 OPEN_EXISTING = 3; |
|||
|
|||
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] |
|||
internal static extern SafeFileHandle CreateFile(String lpFileName, UInt32 dwDesiredAccess, Int32 dwShareMode, IntPtr lpSecurityAttributes, Int32 dwCreationDisposition, Int32 dwFlagsAndAttributes, Int32 hTemplateFile); |
|||
} |
|||
} |
@ -0,0 +1,592 @@ |
|||
using Microsoft.VisualBasic; |
|||
using Microsoft.Win32.SafeHandles; |
|||
using System; |
|||
using System.Diagnostics; |
|||
using System.Runtime.InteropServices; |
|||
using System.Windows.Forms; |
|||
|
|||
/// <summary>
|
|||
/// For communicating with HID-class USB devices.
|
|||
/// Includes routines for sending and receiving reports via control transfers and to
|
|||
/// retrieve information about and configure a HID.
|
|||
/// </summary>
|
|||
///
|
|||
|
|||
namespace SSComm |
|||
{ |
|||
internal sealed partial class Hid |
|||
{ |
|||
// Used in error messages.
|
|||
|
|||
private const String MODULE_NAME = "Hid"; |
|||
|
|||
internal HIDP_CAPS Capabilities; |
|||
internal HIDD_ATTRIBUTES DeviceAttributes; |
|||
|
|||
// For viewing results of API calls in debug.write statements:
|
|||
|
|||
//internal static Debugging MyDebugging = new Debugging();
|
|||
|
|||
/// <summary>
|
|||
/// Remove any Input reports waiting in the buffer.
|
|||
/// </summary>
|
|||
///
|
|||
/// <param name="hidHandle"> a handle to a device. </param>
|
|||
///
|
|||
/// <returns>
|
|||
/// True on success, False on failure.
|
|||
/// </returns>
|
|||
|
|||
internal Boolean FlushQueue(SafeFileHandle hidHandle) |
|||
{ |
|||
Boolean success = false; |
|||
|
|||
try |
|||
{ |
|||
// ***
|
|||
// API function: HidD_FlushQueue
|
|||
|
|||
// Purpose: Removes any Input reports waiting in the buffer.
|
|||
|
|||
// Accepts: a handle to the device.
|
|||
|
|||
// Returns: True on success, False on failure.
|
|||
// ***
|
|||
|
|||
success = HidD_FlushQueue(hidHandle); |
|||
|
|||
return success; |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
DisplayException(MODULE_NAME, ex); |
|||
throw; |
|||
} |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Retrieves a structure with information about a device's capabilities.
|
|||
/// </summary>
|
|||
///
|
|||
/// <param name="hidHandle"> a handle to a device. </param>
|
|||
///
|
|||
/// <returns>
|
|||
/// An HIDP_CAPS structure.
|
|||
/// </returns>
|
|||
|
|||
internal HIDP_CAPS GetDeviceCapabilities(SafeFileHandle hidHandle) |
|||
{ |
|||
IntPtr preparsedData = new System.IntPtr(); |
|||
Int32 result = 0; |
|||
Boolean success = false; |
|||
|
|||
try |
|||
{ |
|||
// ***
|
|||
// API function: HidD_GetPreparsedData
|
|||
|
|||
// Purpose: retrieves a pointer to a buffer containing information about the device's capabilities.
|
|||
// HidP_GetCaps and other API functions require a pointer to the buffer.
|
|||
|
|||
// Requires:
|
|||
// A handle returned by CreateFile.
|
|||
// A pointer to a buffer.
|
|||
|
|||
// Returns:
|
|||
// True on success, False on failure.
|
|||
// ***
|
|||
|
|||
success = HidD_GetPreparsedData(hidHandle, ref preparsedData); |
|||
|
|||
// ***
|
|||
// API function: HidP_GetCaps
|
|||
|
|||
// Purpose: find out a device's capabilities.
|
|||
// For standard devices such as joysticks, you can find out the specific
|
|||
// capabilities of the device.
|
|||
// For a custom device where the software knows what the device is capable of,
|
|||
// this call may be unneeded.
|
|||
|
|||
// Accepts:
|
|||
// A pointer returned by HidD_GetPreparsedData
|
|||
// A pointer to a HIDP_CAPS structure.
|
|||
|
|||
// Returns: True on success, False on failure.
|
|||
// ***
|
|||
|
|||
result = HidP_GetCaps(preparsedData, ref Capabilities); |
|||
if ((result != 0)) |
|||
{ |
|||
Debug.WriteLine(""); |
|||
Debug.WriteLine(" Usage: " + Convert.ToString(Capabilities.Usage, 16)); |
|||
Debug.WriteLine(" Usage Page: " + Convert.ToString(Capabilities.UsagePage, 16)); |
|||
Debug.WriteLine(" Input Report Byte Length: " + Capabilities.InputReportByteLength); |
|||
Debug.WriteLine(" Output Report Byte Length: " + Capabilities.OutputReportByteLength); |
|||
Debug.WriteLine(" Feature Report Byte Length: " + Capabilities.FeatureReportByteLength); |
|||
Debug.WriteLine(" Number of Link Collection Nodes: " + Capabilities.NumberLinkCollectionNodes); |
|||
Debug.WriteLine(" Number of Input Button Caps: " + Capabilities.NumberInputButtonCaps); |
|||
Debug.WriteLine(" Number of Input Value Caps: " + Capabilities.NumberInputValueCaps); |
|||
Debug.WriteLine(" Number of Input Data Indices: " + Capabilities.NumberInputDataIndices); |
|||
Debug.WriteLine(" Number of Output Button Caps: " + Capabilities.NumberOutputButtonCaps); |
|||
Debug.WriteLine(" Number of Output Value Caps: " + Capabilities.NumberOutputValueCaps); |
|||
Debug.WriteLine(" Number of Output Data Indices: " + Capabilities.NumberOutputDataIndices); |
|||
Debug.WriteLine(" Number of Feature Button Caps: " + Capabilities.NumberFeatureButtonCaps); |
|||
Debug.WriteLine(" Number of Feature Value Caps: " + Capabilities.NumberFeatureValueCaps); |
|||
Debug.WriteLine(" Number of Feature Data Indices: " + Capabilities.NumberFeatureDataIndices); |
|||
|
|||
// ***
|
|||
// API function: HidP_GetValueCaps
|
|||
|
|||
// Purpose: retrieves a buffer containing an array of HidP_ValueCaps structures.
|
|||
// Each structure defines the capabilities of one value.
|
|||
// This application doesn't use this data.
|
|||
|
|||
// Accepts:
|
|||
// A report type enumerator from hidpi.h,
|
|||
// A pointer to a buffer for the returned array,
|
|||
// The NumberInputValueCaps member of the device's HidP_Caps structure,
|
|||
// A pointer to the PreparsedData structure returned by HidD_GetPreparsedData.
|
|||
|
|||
// Returns: True on success, False on failure.
|
|||
// ***
|
|||
|
|||
Int32 vcSize = Capabilities.NumberInputValueCaps; |
|||
Byte[] valueCaps = new Byte[vcSize]; |
|||
|
|||
result = HidP_GetValueCaps(HidP_Input, valueCaps, ref vcSize, preparsedData); |
|||
|
|||
// (To use this data, copy the ValueCaps byte array into an array of structures.)
|
|||
|
|||
} |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
DisplayException(MODULE_NAME, ex); |
|||
throw; |
|||
} |
|||
finally |
|||
{ |
|||
// ***
|
|||
// API function: HidD_FreePreparsedData
|
|||
|
|||
// Purpose: frees the buffer reserved by HidD_GetPreparsedData.
|
|||
|
|||
// Accepts: A pointer to the PreparsedData structure returned by HidD_GetPreparsedData.
|
|||
|
|||
// Returns: True on success, False on failure.
|
|||
// ***
|
|||
|
|||
if (preparsedData != IntPtr.Zero) |
|||
{ |
|||
success = HidD_FreePreparsedData(preparsedData); |
|||
} |
|||
} |
|||
|
|||
return Capabilities; |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// reads a Feature report from the device.
|
|||
/// </summary>
|
|||
///
|
|||
/// <param name="hidHandle"> the handle for learning about the device and exchanging Feature reports. </param>
|
|||
/// <param name="myDeviceDetected"> tells whether the device is currently attached.</param>
|
|||
/// <param name="inFeatureReportBuffer"> contains the requested report.</param>
|
|||
/// <param name="success"> read success</param>
|
|||
|
|||
internal Boolean GetFeatureReport(SafeFileHandle hidHandle, ref Byte[] inFeatureReportBuffer) |
|||
{ |
|||
Boolean success; |
|||
|
|||
try |
|||
{ |
|||
// ***
|
|||
// API function: HidD_GetFeature
|
|||
// Attempts to read a Feature report from the device.
|
|||
|
|||
// Requires:
|
|||
// A handle to a HID
|
|||
// A pointer to a buffer containing the report ID and report
|
|||
// The size of the buffer.
|
|||
|
|||
// Returns: true on success, false on failure.
|
|||
// ***
|
|||
|
|||
success = HidD_GetFeature(hidHandle, inFeatureReportBuffer, inFeatureReportBuffer.Length); |
|||
|
|||
Debug.Print("HidD_GetFeature success = " + success); |
|||
return success; |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
DisplayException(MODULE_NAME, ex); |
|||
throw; |
|||
} |
|||
} |
|||
|
|||
|
|||
/// <summary>
|
|||
/// Creates a 32-bit Usage from the Usage Page and Usage ID.
|
|||
/// Determines whether the Usage is a system mouse or keyboard.
|
|||
/// Can be modified to detect other Usages.
|
|||
/// </summary>
|
|||
///
|
|||
/// <param name="MyCapabilities"> a HIDP_CAPS structure retrieved with HidP_GetCaps. </param>
|
|||
///
|
|||
/// <returns>
|
|||
/// A String describing the Usage.
|
|||
/// </returns>
|
|||
|
|||
internal String GetHidUsage(HIDP_CAPS MyCapabilities) |
|||
{ |
|||
Int32 usage = 0; |
|||
String usageDescription = ""; |
|||
|
|||
try |
|||
{ |
|||
// Create32-bit Usage from Usage Page and Usage ID.
|
|||
|
|||
usage = MyCapabilities.UsagePage * 256 + MyCapabilities.Usage; |
|||
|
|||
if (usage == Convert.ToInt32(0X102)) |
|||
{ |
|||
usageDescription = "mouse"; |
|||
} |
|||
|
|||
if (usage == Convert.ToInt32(0X106)) |
|||
{ |
|||
usageDescription = "keyboard"; |
|||
} |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
DisplayException(MODULE_NAME, ex); |
|||
throw; |
|||
} |
|||
|
|||
return usageDescription; |
|||
} |
|||
|
|||
|
|||
/// <summary>
|
|||
/// reads an Input report from the device using a control transfer.
|
|||
/// </summary>
|
|||
///
|
|||
/// <param name="hidHandle"> the handle for learning about the device and exchanging Feature reports. </param>
|
|||
/// <param name="myDeviceDetected"> tells whether the device is currently attached. </param>
|
|||
/// <param name="inputReportBuffer"> contains the requested report. </param>
|
|||
/// <param name="success"> read success </param>
|
|||
|
|||
internal Boolean GetInputReportViaControlTransfer(SafeFileHandle hidHandle, ref Byte[] inputReportBuffer) |
|||
{ |
|||
Boolean success; |
|||
|
|||
try |
|||
{ |
|||
// ***
|
|||
// API function: HidD_GetInputReport
|
|||
|
|||
// Purpose: Attempts to read an Input report from the device using a control transfer.
|
|||
// Supported under Windows XP and later only.
|
|||
|
|||
// Requires:
|
|||
// A handle to a HID
|
|||
// A pointer to a buffer containing the report ID and report
|
|||
// The size of the buffer.
|
|||
|
|||
// Returns: true on success, false on failure.
|
|||
// ***
|
|||
|
|||
success = HidD_GetInputReport(hidHandle, inputReportBuffer, inputReportBuffer.Length + 1); |
|||
|
|||
Debug.Print("HidD_GetInputReport success = " + success); |
|||
return success; |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
DisplayException(MODULE_NAME, ex); |
|||
throw; |
|||
} |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Retrieves the number of Input reports the host can store.
|
|||
/// </summary>
|
|||
///
|
|||
/// <param name="hidDeviceObject"> a handle to a device </param>
|
|||
/// <param name="numberOfInputBuffers"> an integer to hold the returned value. </param>
|
|||
///
|
|||
/// <returns>
|
|||
/// True on success, False on failure.
|
|||
/// </returns>
|
|||
|
|||
internal Boolean GetNumberOfInputBuffers(SafeFileHandle hidDeviceObject, ref Int32 numberOfInputBuffers) |
|||
{ |
|||
Boolean success = false; |
|||
|
|||
try |
|||
{ |
|||
if (!((IsWindows98Gold()))) |
|||
{ |
|||
// ***
|
|||
// API function: HidD_GetNumInputBuffers
|
|||
|
|||
// Purpose: retrieves the number of Input reports the host can store.
|
|||
// Not supported by Windows 98 Gold.
|
|||
// If the buffer is full and another report arrives, the host drops the
|
|||
// ldest report.
|
|||
|
|||
// Accepts: a handle to a device and an integer to hold the number of buffers.
|
|||
|
|||
// Returns: True on success, False on failure.
|
|||
// ***
|
|||
|
|||
success = HidD_GetNumInputBuffers(hidDeviceObject, ref numberOfInputBuffers); |
|||
} |
|||
else |
|||
{ |
|||
// Under Windows 98 Gold, the number of buffers is fixed at 2.
|
|||
|
|||
numberOfInputBuffers = 2; |
|||
success = true; |
|||
} |
|||
|
|||
return success; |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
DisplayException(MODULE_NAME, ex); |
|||
throw; |
|||
} |
|||
} |
|||
/// <summary>
|
|||
/// writes a Feature report to the device.
|
|||
/// </summary>
|
|||
///
|
|||
/// <param name="outFeatureReportBuffer"> contains the report ID and report data. </param>
|
|||
/// <param name="hidHandle"> handle to the device. </param>
|
|||
///
|
|||
/// <returns>
|
|||
/// True on success. False on failure.
|
|||
/// </returns>
|
|||
|
|||
internal Boolean SendFeatureReport(SafeFileHandle hidHandle, Byte[] outFeatureReportBuffer) |
|||
{ |
|||
Boolean success = false; |
|||
|
|||
try |
|||
{ |
|||
// ***
|
|||
// API function: HidD_SetFeature
|
|||
|
|||
// Purpose: Attempts to send a Feature report to the device.
|
|||
|
|||
// Accepts:
|
|||
// A handle to a HID
|
|||
// A pointer to a buffer containing the report ID and report
|
|||
// The size of the buffer.
|
|||
|
|||
// Returns: true on success, false on failure.
|
|||
// ***
|
|||
|
|||
success = HidD_SetFeature(hidHandle, outFeatureReportBuffer, outFeatureReportBuffer.Length); |
|||
|
|||
Debug.Print("HidD_SetFeature success = " + success); |
|||
|
|||
return success; |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
DisplayException(MODULE_NAME, ex); |
|||
throw; |
|||
} |
|||
} |
|||
/// <summary>
|
|||
/// Writes an Output report to the device using a control transfer.
|
|||
/// </summary>
|
|||
///
|
|||
/// <param name="outputReportBuffer"> contains the report ID and report data. </param>
|
|||
/// <param name="hidHandle"> handle to the device. </param>
|
|||
///
|
|||
/// <returns>
|
|||
/// True on success. False on failure.
|
|||
/// </returns>
|
|||
|
|||
internal Boolean SendOutputReportViaControlTransfer(SafeFileHandle hidHandle, Byte[] outputReportBuffer) |
|||
{ |
|||
Boolean success = false; |
|||
|
|||
try |
|||
{ |
|||
// ***
|
|||
// API function: HidD_SetOutputReport
|
|||
|
|||
// Purpose:
|
|||
// Attempts to send an Output report to the device using a control transfer.
|
|||
// Requires Windows XP or later.
|
|||
|
|||
// Accepts:
|
|||
// A handle to a HID
|
|||
// A pointer to a buffer containing the report ID and report
|
|||
// The size of the buffer.
|
|||
|
|||
// Returns: true on success, false on failure.
|
|||
// ***
|
|||
|
|||
success = HidD_SetOutputReport(hidHandle, outputReportBuffer, outputReportBuffer.Length + 1); |
|||
|
|||
Debug.Print("HidD_SetOutputReport success = " + success); |
|||
|
|||
return success; |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
DisplayException(MODULE_NAME, ex); |
|||
throw; |
|||
} |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// sets the number of input reports the host will store.
|
|||
/// Requires Windows XP or later.
|
|||
/// </summary>
|
|||
///
|
|||
/// <param name="hidDeviceObject"> a handle to the device.</param>
|
|||
/// <param name="numberBuffers"> the requested number of input reports. </param>
|
|||
///
|
|||
/// <returns>
|
|||
/// True on success. False on failure.
|
|||
/// </returns>
|
|||
|
|||
internal Boolean SetNumberOfInputBuffers(SafeFileHandle hidDeviceObject, Int32 numberBuffers) |
|||
{ |
|||
try |
|||
{ |
|||
if (!IsWindows98Gold()) |
|||
{ |
|||
// ***
|
|||
// API function: HidD_SetNumInputBuffers
|
|||
|
|||
// Purpose: Sets the number of Input reports the host can store.
|
|||
// If the buffer is full and another report arrives, the host drops the
|
|||
// oldest report.
|
|||
|
|||
// Requires:
|
|||
// A handle to a HID
|
|||
// An integer to hold the number of buffers.
|
|||
|
|||
// Returns: true on success, false on failure.
|
|||
// ***
|
|||
|
|||
HidD_SetNumInputBuffers(hidDeviceObject, numberBuffers); |
|||
return true; |
|||
} |
|||
else |
|||
{ |
|||
// Not supported under Windows 98 Gold.
|
|||
|
|||
return false; |
|||
} |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
DisplayException(MODULE_NAME, ex); |
|||
throw; |
|||
} |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Find out if the current operating system is Windows XP or later.
|
|||
/// (Windows XP or later is required for HidD_GetInputReport and HidD_SetInputReport.)
|
|||
/// </summary>
|
|||
|
|||
internal Boolean IsWindowsXpOrLater() |
|||
{ |
|||
try |
|||
{ |
|||
OperatingSystem myEnvironment = Environment.OSVersion; |
|||
|
|||
// Windows XP is version 5.1.
|
|||
|
|||
System.Version versionXP = new System.Version(5, 1); |
|||
|
|||
if (myEnvironment.Version >= versionXP) |
|||
{ |
|||
Debug.Write("The OS is Windows XP or later."); |
|||
return true; |
|||
} |
|||
else |
|||
{ |
|||
Debug.Write("The OS is earlier than Windows XP."); |
|||
return false; |
|||
} |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
DisplayException(MODULE_NAME, ex); |
|||
throw; |
|||
} |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Find out if the current operating system is Windows 98 Gold (original version).
|
|||
/// Windows 98 Gold does not support the following:
|
|||
/// Interrupt OUT transfers (WriteFile uses control transfers and Set_Report).
|
|||
/// HidD_GetNumInputBuffers and HidD_SetNumInputBuffers
|
|||
/// (Not yet tested on a Windows 98 Gold system.)
|
|||
/// </summary>
|
|||
|
|||
internal Boolean IsWindows98Gold() |
|||
{ |
|||
Boolean result = false; |
|||
try |
|||
{ |
|||
OperatingSystem myEnvironment = Environment.OSVersion; |
|||
|
|||
// Windows 98 Gold is version 4.10 with a build number less than 2183.
|
|||
|
|||
System.Version version98SE = new System.Version(4, 10, 2183); |
|||
|
|||
if (myEnvironment.Version < version98SE) |
|||
{ |
|||
Debug.Write("The OS is Windows 98 Gold."); |
|||
result = true; |
|||
} |
|||
else |
|||
{ |
|||
Debug.Write("The OS is more recent than Windows 98 Gold."); |
|||
result = false; |
|||
} |
|||
return result; |
|||
} |
|||
catch (Exception ex) |
|||
{ |
|||
DisplayException(MODULE_NAME, ex); |
|||
throw; |
|||
} |
|||
} |
|||
|
|||
/// <summary>
|
|||
/// Provides a central mechanism for exception handling.
|
|||
/// Displays a message box that describes the exception.
|
|||
/// </summary>
|
|||
///
|
|||
/// <param name="moduleName"> the module where the exception occurred. </param>
|
|||
/// <param name="e"> the exception </param>
|
|||
|
|||
internal static void DisplayException(String moduleName, Exception e) |
|||
{ |
|||
String message = null; |
|||
String caption = null; |
|||
|
|||
// Create an error message.
|
|||
|
|||
//message = "Exception: " + e.Message + ControlChars.CrLf + "Module: " + moduleName + ControlChars.CrLf + "Method: " + e.TargetSite.Name;
|
|||
|
|||
caption = "Unexpected Exception"; |
|||
|
|||
MessageBox.Show(message, caption, MessageBoxButtons.OK); |
|||
Debug.Write(message); |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,128 @@ |
|||
using Microsoft.Win32.SafeHandles; |
|||
using System; |
|||
using System.Runtime.InteropServices; |
|||
|
|||
namespace SSComm |
|||
{ |
|||
internal sealed partial class Hid |
|||
{ |
|||
// API declarations for HID communications.
|
|||
|
|||
// from hidpi.h
|
|||
// Typedef enum defines a set of integer constants for HidP_Report_Type
|
|||
|
|||
internal const Int16 HidP_Input = 0; |
|||
internal const Int16 HidP_Output = 1; |
|||
internal const Int16 HidP_Feature = 2; |
|||
|
|||
[StructLayout(LayoutKind.Sequential)] |
|||
internal struct HIDD_ATTRIBUTES |
|||
{ |
|||
internal Int32 Size; |
|||
internal UInt16 VendorID; |
|||
internal UInt16 ProductID; |
|||
internal UInt16 VersionNumber; |
|||
} |
|||
|
|||
internal struct HIDP_CAPS |
|||
{ |
|||
internal Int16 Usage; |
|||
internal Int16 UsagePage; |
|||
internal Int16 InputReportByteLength; |
|||
internal Int16 OutputReportByteLength; |
|||
internal Int16 FeatureReportByteLength; |
|||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 17)] |
|||
internal Int16[] Reserved; |
|||
internal Int16 NumberLinkCollectionNodes; |
|||
internal Int16 NumberInputButtonCaps; |
|||
internal Int16 NumberInputValueCaps; |
|||
internal Int16 NumberInputDataIndices; |
|||
internal Int16 NumberOutputButtonCaps; |
|||
internal Int16 NumberOutputValueCaps; |
|||
internal Int16 NumberOutputDataIndices; |
|||
internal Int16 NumberFeatureButtonCaps; |
|||
internal Int16 NumberFeatureValueCaps; |
|||
internal Int16 NumberFeatureDataIndices; |
|||
} |
|||
|
|||
// If IsRange is false, UsageMin is the Usage and UsageMax is unused.
|
|||
// If IsStringRange is false, StringMin is the String index and StringMax is unused.
|
|||
// If IsDesignatorRange is false, DesignatorMin is the designator index and DesignatorMax is unused.
|
|||
|
|||
internal struct HidP_Value_Caps |
|||
{ |
|||
internal Int16 UsagePage; |
|||
internal Byte ReportID; |
|||
internal Int32 IsAlias; |
|||
internal Int16 BitField; |
|||
internal Int16 LinkCollection; |
|||
internal Int16 LinkUsage; |
|||
internal Int16 LinkUsagePage; |
|||
internal Int32 IsRange; |
|||
internal Int32 IsStringRange; |
|||
internal Int32 IsDesignatorRange; |
|||
internal Int32 IsAbsolute; |
|||
internal Int32 HasNull; |
|||
internal Byte Reserved; |
|||
internal Int16 BitSize; |
|||
internal Int16 ReportCount; |
|||
internal Int16 Reserved2; |
|||
internal Int16 Reserved3; |
|||
internal Int16 Reserved4; |
|||
internal Int16 Reserved5; |
|||
internal Int16 Reserved6; |
|||
internal Int32 LogicalMin; |
|||
internal Int32 LogicalMax; |
|||
internal Int32 PhysicalMin; |
|||
internal Int32 PhysicalMax; |
|||
internal Int16 UsageMin; |
|||
internal Int16 UsageMax; |
|||
internal Int16 StringMin; |
|||
internal Int16 StringMax; |
|||
internal Int16 DesignatorMin; |
|||
internal Int16 DesignatorMax; |
|||
internal Int16 DataIndexMin; |
|||
internal Int16 DataIndexMax; |
|||
} |
|||
|
|||
[DllImport("hid.dll", SetLastError = true)] |
|||
internal static extern Boolean HidD_FlushQueue(SafeFileHandle HidDeviceObject); |
|||
|
|||
[DllImport("hid.dll", SetLastError = true)] |
|||
internal static extern Boolean HidD_FreePreparsedData(IntPtr PreparsedData); |
|||
|
|||
[DllImport("hid.dll", SetLastError = true)] |
|||
internal static extern Boolean HidD_GetAttributes(SafeFileHandle HidDeviceObject, ref HIDD_ATTRIBUTES Attributes); |
|||
|
|||
[DllImport("hid.dll", SetLastError = true)] |
|||
internal static extern Boolean HidD_GetFeature(SafeFileHandle HidDeviceObject, Byte[] lpReportBuffer, Int32 ReportBufferLength); |
|||
|
|||
[DllImport("hid.dll", SetLastError = true)] |
|||
internal static extern Boolean HidD_GetInputReport(SafeFileHandle HidDeviceObject, Byte[] lpReportBuffer, Int32 ReportBufferLength); |
|||
|
|||
[DllImport("hid.dll", SetLastError = true)] |
|||
internal static extern void HidD_GetHidGuid(ref System.Guid HidGuid); |
|||
|
|||
[DllImport("hid.dll", SetLastError = true)] |
|||
internal static extern Boolean HidD_GetNumInputBuffers(SafeFileHandle HidDeviceObject, ref Int32 NumberBuffers); |
|||
|
|||
[DllImport("hid.dll", SetLastError = true)] |
|||
internal static extern Boolean HidD_GetPreparsedData(SafeFileHandle HidDeviceObject, ref IntPtr PreparsedData); |
|||
|
|||
[DllImport("hid.dll", SetLastError = true)] |
|||
internal static extern Boolean HidD_SetFeature(SafeFileHandle HidDeviceObject, Byte[] lpReportBuffer, Int32 ReportBufferLength); |
|||
|
|||
[DllImport("hid.dll", SetLastError = true)] |
|||
internal static extern Boolean HidD_SetNumInputBuffers(SafeFileHandle HidDeviceObject, Int32 NumberBuffers); |
|||
|
|||
[DllImport("hid.dll", SetLastError = true)] |
|||
internal static extern Boolean HidD_SetOutputReport(SafeFileHandle HidDeviceObject, Byte[] lpReportBuffer, Int32 ReportBufferLength); |
|||
|
|||
[DllImport("hid.dll", SetLastError = true)] |
|||
internal static extern Int32 HidP_GetCaps(IntPtr PreparsedData, ref HIDP_CAPS Capabilities); |
|||
|
|||
[DllImport("hid.dll", SetLastError = true)] |
|||
internal static extern Int32 HidP_GetValueCaps(Int32 ReportType, Byte[] ValueCaps, ref Int32 ValueCapsLength, IntPtr PreparsedData); |
|||
} |
|||
} |
|||
|
@ -0,0 +1,36 @@ |
|||
using System.Reflection; |
|||
using System.Runtime.CompilerServices; |
|||
using System.Runtime.InteropServices; |
|||
|
|||
// General Information about an assembly is controlled through the following
|
|||
// set of attributes. Change these attribute values to modify the information
|
|||
// associated with an assembly.
|
|||
[assembly: AssemblyTitle("SSChart")] |
|||
[assembly: AssemblyDescription("")] |
|||
[assembly: AssemblyConfiguration("")] |
|||
[assembly: AssemblyCompany("")] |
|||
[assembly: AssemblyProduct("SSChart")] |
|||
[assembly: AssemblyCopyright("Copyright © 2013")] |
|||
[assembly: AssemblyTrademark("")] |
|||
[assembly: AssemblyCulture("")] |
|||
|
|||
// Setting ComVisible to false makes the types in this assembly not visible
|
|||
// to COM components. If you need to access a type in this assembly from
|
|||
// COM, set the ComVisible attribute to true on that type.
|
|||
[assembly: ComVisible(false)] |
|||
|
|||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
|||
[assembly: Guid("f62e4c9c-7af9-4d28-8675-80c372e673e6")] |
|||
|
|||
// Version information for an assembly consists of the following four values:
|
|||
//
|
|||
// Major Version
|
|||
// Minor Version
|
|||
// Build Number
|
|||
// Revision
|
|||
//
|
|||
// You can specify all the values or you can default the Build and Revision Numbers
|
|||
// by using the '*' as shown below:
|
|||
// [assembly: AssemblyVersion("1.0.*")]
|
|||
[assembly: AssemblyVersion("1.0.0.0")] |
|||
[assembly: AssemblyFileVersion("1.0.0.0")] |
@ -0,0 +1,37 @@ |
|||
namespace SSControls |
|||
{ |
|||
partial class SSChart |
|||
{ |
|||
/// <summary>
|
|||
/// Required designer variable.
|
|||
/// </summary>
|
|||
private System.ComponentModel.IContainer components = null; |
|||
|
|||
/// <summary>
|
|||
/// Clean up any resources being used.
|
|||
/// </summary>
|
|||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
|||
protected override void Dispose(bool disposing) |
|||
{ |
|||
if (disposing && (components != null)) |
|||
{ |
|||
components.Dispose(); |
|||
} |
|||
base.Dispose(disposing); |
|||
} |
|||
|
|||
#region Component Designer generated code
|
|||
|
|||
/// <summary>
|
|||
/// Required method for Designer support - do not modify
|
|||
/// the contents of this method with the code editor.
|
|||
/// </summary>
|
|||
private void InitializeComponent() |
|||
{ |
|||
components = new System.ComponentModel.Container(); |
|||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; |
|||
} |
|||
|
|||
#endregion
|
|||
} |
|||
} |
@ -0,0 +1,681 @@ |
|||
using System; |
|||
using System.Text; |
|||
using System.Windows.Forms; |
|||
using System.Drawing; |
|||
using System.Drawing.Drawing2D; |
|||
using System.Linq; |
|||
|
|||
namespace SSControls |
|||
{ |
|||
public partial class SSChart : UserControl |
|||
{ |
|||
private Timer RedrawTimer; |
|||
private Bitmap _backbuffer; |
|||
public bool redrawactive; |
|||
|
|||
protected override void OnSizeChanged(EventArgs e) |
|||
{ |
|||
if (_backbuffer != null) |
|||
{ |
|||
_backbuffer.Dispose(); |
|||
_backbuffer = null; |
|||
} |
|||
if (!_scaleonresize) |
|||
{ |
|||
Page.Width = this.Width; |
|||
Page.Height = this.Height; |
|||
} |
|||
if (RedrawTimer == null) |
|||
{ |
|||
RedrawTimer = new Timer(); |
|||
RedrawTimer.Tick += RedrawTimer_Tick; |
|||
RedrawTimer.Interval = 100; |
|||
RedrawTimer.Start(); |
|||
} |
|||
Invalidate(); |
|||
base.OnSizeChanged(e); |
|||
} |
|||
|
|||
protected override void OnPaint(PaintEventArgs e) |
|||
{ |
|||
if (_backbuffer != null) |
|||
{ |
|||
e.Graphics.DrawImageUnscaled(_backbuffer, 0, 0); |
|||
} |
|||
} |
|||
|
|||
|
|||
protected override void OnPaintBackground(PaintEventArgs e) |
|||
{ |
|||
//MyBase.OnPaintBackground(e)
|
|||
} |
|||
|
|||
public class GMargins |
|||
{ |
|||
private float _left = 50; |
|||
private float _right = 35; |
|||
private float _top = 30; |
|||
private float _bottom = 30; |
|||
|
|||
public event ChangedEventHandler Changed; |
|||
public delegate void ChangedEventHandler(); |
|||
|
|||
public float Left |
|||
{ |
|||
get { return _left; } |
|||
set |
|||
{ |
|||
if (_left != value) |
|||
{ |
|||
_left = value; |
|||
Changed?.Invoke(); |
|||
} |
|||
} |
|||
} |
|||
|
|||
public float Right |
|||
{ |
|||
get { return _right; } |
|||
set |
|||
{ |
|||
if (_right != value) |
|||
{ |
|||
_right = value; |
|||
Changed?.Invoke(); |
|||
} |
|||
} |
|||
} |
|||
|
|||
public float Top |
|||
{ |
|||
get { return _top; } |
|||
set |
|||
{ |
|||
if (_top != value) |
|||
{ |
|||
_top = value; |
|||
Changed?.Invoke(); |
|||
} |
|||
} |
|||
} |
|||
|
|||
public float Bottom |
|||
{ |
|||
get { return _bottom; } |
|||
set |
|||
{ |
|||
if (_bottom != value) |
|||
{ |
|||
_bottom = value; |
|||
Changed?.Invoke(); |
|||
} |
|||
} |
|||
} |
|||
|
|||
} |
|||
|
|||
public class GPage |
|||
{ |
|||
private float _width = 400; |
|||
private float _height = 300; |
|||
public event ChangedEventHandler Changed; |
|||
public delegate void ChangedEventHandler(); |
|||
public GMargins Margins = new GMargins(); |
|||
|
|||
public GPage() |
|||
{ |
|||
Margins.Changed += Margins_Changed; |
|||
} |
|||
|
|||
public float Width |
|||
{ |
|||
get { return _width; } |
|||
set |
|||
{ |
|||
if (_width != value) |
|||
{ |
|||
if (value > Margins.Left + Margins.Right) |
|||
{ |
|||
_width = value; |
|||
Changed?.Invoke(); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
public float Height |
|||
{ |
|||
get { return _height; } |
|||
set |
|||
{ |
|||
if (_height != value) |
|||
{ |
|||
if (value > Margins.Top + Margins.Bottom) |
|||
{ |
|||
_height = value; |
|||
Changed?.Invoke(); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
public float DrawWidth |
|||
{ |
|||
get { return _width - Margins.Left - Margins.Right; } |
|||
} |
|||
|
|||
public float DrawHeight |
|||
{ |
|||
get { return _height - Margins.Top - Margins.Bottom; } |
|||
} |
|||
|
|||
private void Margins_Changed() |
|||
{ |
|||
Changed?.Invoke(); |
|||
} |
|||
|
|||
} |
|||
|
|||
public class GScale |
|||
{ |
|||
public enum GScaleTypes : byte |
|||
{ |
|||
HorBottom = 0, |
|||
HorTop = 1, |
|||
VerLeft = 2, |
|||
VerRight = 3 |
|||
} |
|||
|
|||
|
|||
private GScaleTypes _scaletype = GScaleTypes.HorBottom; |
|||
public GScaleTypes ScaleType |
|||
{ |
|||
get { return _scaletype; } |
|||
set |
|||
{ |
|||
switch (value) |
|||
{ |
|||
case GScaleTypes.HorTop: |
|||
ValSFormat.Alignment = StringAlignment.Center; |
|||
ValSFormat.LineAlignment = StringAlignment.Far; |
|||
break; |
|||
case GScaleTypes.VerLeft: |
|||
ValSFormat.Alignment = StringAlignment.Far; |
|||
ValSFormat.LineAlignment = StringAlignment.Center; |
|||
break; |
|||
case GScaleTypes.VerRight: |
|||
ValSFormat.Alignment = StringAlignment.Near; |
|||
ValSFormat.LineAlignment = StringAlignment.Center; |
|||
break; |
|||
default: |
|||
ValSFormat.Alignment = StringAlignment.Center; |
|||
ValSFormat.LineAlignment = StringAlignment.Near; |
|||
break; |
|||
} |
|||
_scaletype = value; |
|||
} |
|||
} |
|||
|
|||
public bool PaintOver = false; |
|||
public float ValFrom = 0; |
|||
public float ValTo = 100; |
|||
public float ValMinStep = 5; |
|||
public float ValMajStep = 10; |
|||
public float ValMinSize = 2; |
|||
public float ValMajSize = 4; |
|||
public float sX = 0; |
|||
public float sY = 0; |
|||
public Pen Pen = new Pen(Brushes.White); |
|||
public bool Visible = false; |
|||
public Font ValFont = (Font)SystemFonts.SmallCaptionFont.Clone(); |
|||
public string ValFormat = "0.00"; |
|||
public bool ValVisible = true; |
|||
public StringFormat ValSFormat = new StringFormat(); |
|||
public float ValOffset = 0; |
|||
public Brush ValBrush = new SolidBrush(Color.Aquamarine); |
|||
public bool ShowMinLines = true; |
|||
public Pen MinLinesPen = new Pen(new SolidBrush(Color.FromArgb(0x60606060))); |
|||
public bool ShowMajLines = true; |
|||
public Pen MajLinesPen = new Pen(new SolidBrush(Color.FromArgb(unchecked((int)0x90909090)))); |
|||
|
|||
public GScale() |
|||
{ |
|||
var _with1 = ValSFormat; |
|||
_with1.Alignment = StringAlignment.Center; |
|||
_with1.LineAlignment = StringAlignment.Near; |
|||
Pen.Width = (float)0.000001; |
|||
} |
|||
|
|||
public void Dispose() |
|||
{ |
|||
if (Pen != null) Pen.Dispose(); |
|||
if (ValFont != null) ValFont.Dispose(); |
|||
if (ValSFormat != null) ValSFormat.Dispose(); |
|||
if (ValBrush != null) ValBrush.Dispose(); |
|||
if (MinLinesPen != null) MinLinesPen.Dispose(); |
|||
if (MajLinesPen != null) MajLinesPen.Dispose(); |
|||
Pen = null; |
|||
ValFont = null; |
|||
ValSFormat = null; |
|||
ValBrush = null; |
|||
MinLinesPen = null; |
|||
MajLinesPen = null; |
|||
} |
|||
|
|||
public void Draw(ref Graphics g, ref GPage p) |
|||
{ |
|||
float s = 0; |
|||
float s1 = 0; |
|||
float s2 = 0; |
|||
float eX = 0; |
|||
float eY = 0; |
|||
float majXOff = 0; |
|||
float majYoff = 0; |
|||
float minXoff = 0; |
|||
float minYoff = 0; |
|||
float vXoff = 0; |
|||
float vYoff = 0; |
|||
if (Visible) |
|||
{ |
|||
switch (_scaletype) |
|||
{ |
|||
case GScaleTypes.HorBottom: |
|||
eX = sX + p.DrawWidth; |
|||
eY = sY; |
|||
majXOff = 0; |
|||
majYoff = ValMajSize; |
|||
minXoff = 0; |
|||
minYoff = ValMinSize; |
|||
vXoff = 0; |
|||
vYoff = ValOffset + ValMajSize; |
|||
break; |
|||
case GScaleTypes.HorTop: |
|||
eX = sX + p.DrawWidth; |
|||
eY = sY; |
|||
majXOff = 0; |
|||
majYoff = -ValMajSize; |
|||
minXoff = 0; |
|||
minYoff = -ValMinSize; |
|||
vXoff = 0; |
|||
vYoff = -ValOffset - ValMajSize; |
|||
break; |
|||
case GScaleTypes.VerLeft: |
|||
eX = sX; |
|||
eY = sY - p.DrawHeight; |
|||
majXOff = -ValMajSize; |
|||
majYoff = 0; |
|||
minXoff = -ValMinSize; |
|||
minYoff = 0; |
|||
vXoff = -ValOffset - ValMajSize; |
|||
vYoff = 0; |
|||
break; |
|||
case GScaleTypes.VerRight: |
|||
eX = sX; |
|||
eY = sY - p.DrawHeight; |
|||
majXOff = ValMajSize; |
|||
majYoff = 0; |
|||
minXoff = ValMinSize; |
|||
minYoff = 0; |
|||
vXoff = ValOffset + ValMajSize; |
|||
vYoff = 0; |
|||
break; |
|||
} |
|||
if (ValFrom != ValTo) |
|||
{ |
|||
g.DrawLine(Pen, sX, sY, eX, eY); |
|||
if (ValMinStep > 0) |
|||
{ |
|||
for (s = ValFrom; s <= ValTo; s += ValMinStep) |
|||
{ |
|||
s1 = sX + (((s - ValFrom) / (ValTo - ValFrom))) * (eX - sX); |
|||
s2 = sY + (((s - ValFrom) / (ValTo - ValFrom))) * (eY - sY); |
|||
g.DrawLine(Pen, s1, s2, s1 + minXoff, s2 + minYoff); |
|||
if (ShowMinLines) |
|||
{ |
|||
switch (_scaletype) |
|||
{ |
|||
case GScaleTypes.VerRight: |
|||
case GScaleTypes.VerLeft: |
|||
g.DrawLine(MinLinesPen, 0, s2, p.DrawWidth, s2); |
|||
break; |
|||
default: |
|||
g.DrawLine(MinLinesPen, s1, 0, s1, -p.DrawHeight); |
|||
break; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
if (ValMajStep > 0) |
|||
{ |
|||
for (s = ValFrom; s <= ValTo; s += ValMajStep) |
|||
{ |
|||
s1 = sX + (((s - ValFrom) / (ValTo - ValFrom))) * (eX - sX); |
|||
s2 = sY + (((s - ValFrom) / (ValTo - ValFrom))) * (eY - sY); |
|||
g.DrawLine(Pen, s1, s2, s1 + majXOff, s2 + majYoff); |
|||
if (ShowMajLines) |
|||
{ |
|||
switch (_scaletype) |
|||
{ |
|||
case GScaleTypes.VerRight: |
|||
case GScaleTypes.VerLeft: |
|||
g.DrawLine(MajLinesPen, 0, s2, p.DrawWidth, s2); |
|||
break; |
|||
default: |
|||
g.DrawLine(MajLinesPen, s1, 0, s1, -p.DrawHeight); |
|||
break; |
|||
} |
|||
} |
|||
if (ValVisible) |
|||
{ |
|||
g.DrawString(s.ToString(ValFormat), ValFont, ValBrush, s1 + vXoff, s2 + vYoff, ValSFormat); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
public class GDrawing |
|||
{ |
|||
public bool Visible = true; |
|||
public Boolean ShowPoints = false; |
|||
public Pen Pen = new Pen(Brushes.Red); |
|||
public GScale XScale; |
|||
public GScale Yscale; |
|||
public PointF[] Points; |
|||
public long PointsNum |
|||
{ |
|||
get |
|||
{ |
|||
if (Points == null) |
|||
{ |
|||
return 0; |
|||
} |
|||
else |
|||
{ |
|||
try |
|||
{ |
|||
return Points.Length; |
|||
} |
|||
catch |
|||
{ |
|||
return 0; |
|||
} |
|||
} |
|||
} |
|||
set |
|||
{ |
|||
long oldnum = 0; |
|||
long i = 0; |
|||
oldnum = PointsNum; |
|||
if (oldnum != value) |
|||
{ |
|||
if (value > 0) |
|||
{ |
|||
Array.Resize(ref Points, (int)value); |
|||
for (i = oldnum; i < value; i++) |
|||
{ |
|||
Points[i] = new PointF(); |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
Points = null; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
public void Draw(ref Graphics g, ref GPage p) |
|||
{ |
|||
Matrix m = null; |
|||
float[] mtx = null; |
|||
m = g.Transform.Clone(); |
|||
|
|||
g.ScaleTransform(p.DrawWidth / (XScale.ValTo - XScale.ValFrom), -p.DrawHeight / (Yscale.ValTo - Yscale.ValFrom)); |
|||
g.TranslateTransform(XScale.ValFrom, -Yscale.ValFrom); |
|||
|
|||
Pen.ResetTransform(); |
|||
mtx = g.Transform.Elements; |
|||
Pen.ScaleTransform(1 / mtx[0], 1 / mtx[3]); |
|||
Pen.TranslateTransform(0, 0); |
|||
if (Points != null) { |
|||
g.DrawLines(Pen, Points); |
|||
if (ShowPoints) { |
|||
var c = Pen.Color; |
|||
Pen.Color = Color.FromArgb(255 - Pen.Color.R, 255 - Pen.Color.G, 255 - Pen.Color.B); |
|||
g.DrawRectangles(Pen, Points.Select(x => new RectangleF(x.X, x.Y, (float)0.01,1)).ToArray()); |
|||
Pen.Color = c; |
|||
} |
|||
} |
|||
g.Transform.Dispose(); |
|||
g.Transform = m; |
|||
} |
|||
|
|||
~GDrawing() |
|||
{ |
|||
Pen.Dispose(); |
|||
} |
|||
|
|||
} |
|||
|
|||
public GPage Page = new GPage(); |
|||
private bool _scaleonresize = false; |
|||
private GScale[] _scales; |
|||
private GDrawing[] _drawings; |
|||
|
|||
public bool ScaleOnResize |
|||
{ |
|||
get { return _scaleonresize; } |
|||
set { _scaleonresize = value; } |
|||
} |
|||
|
|||
|
|||
public GScale Scales(int index) |
|||
{ |
|||
return _scales[index]; |
|||
} |
|||
|
|||
public GDrawing Drawings(int index) |
|||
{ |
|||
return _drawings[index]; |
|||
} |
|||
|
|||
public GDrawing[] Drawings1 |
|||
{ |
|||
get { return _drawings; } |
|||
} |
|||
|
|||
public long ScaleNum |
|||
{ |
|||
get |
|||
{ |
|||
if (_scales == null) |
|||
{ |
|||
return 0; |
|||
} |
|||
else |
|||
{ |
|||
try |
|||
{ |
|||
return _scales.Length; |
|||
} |
|||
catch |
|||
{ |
|||
return 0; |
|||
} |
|||
} |
|||
} |
|||
set |
|||
{ |
|||
long i = 0; |
|||
long oldnum = 0; |
|||
oldnum = ScaleNum; |
|||
if (oldnum != value) |
|||
{ |
|||
if (value > 0) |
|||
{ |
|||
for (i = value; i <= oldnum - 1; i++) |
|||
{ |
|||
_scales[i] = null; |
|||
} |
|||
Array.Resize(ref _scales, (int)value); |
|||
for (i = oldnum; i <= value - 1; i++) |
|||
{ |
|||
_scales[i] = new GScale(); |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
for (i = 0; i <= ScaleNum - 1; i++) |
|||
{ |
|||
_scales[i] = null; |
|||
} |
|||
_scales = null; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
public long DrawingsNum |
|||
{ |
|||
get |
|||
{ |
|||
if (_drawings == null) |
|||
{ |
|||
return 0; |
|||
} |
|||
else |
|||
{ |
|||
try |
|||
{ |
|||
return _drawings.Length; |
|||
} |
|||
catch |
|||
{ |
|||
return 0; |
|||
} |
|||
} |
|||
} |
|||
set |
|||
{ |
|||
long i = 0; |
|||
long oldnum = 0; |
|||
oldnum = DrawingsNum; |
|||
if (oldnum != value) |
|||
{ |
|||
if (value != 0) |
|||
{ |
|||
for (i = value; i <= oldnum - 1; i++) |
|||
{ |
|||
_drawings[i] = null; |
|||
} |
|||
Array.Resize(ref _drawings, (int)value); |
|||
for (i = oldnum; i <= value - 1; i++) |
|||
{ |
|||
_drawings[i] = new GDrawing(); |
|||
} |
|||
} |
|||
else |
|||
{ |
|||
for (i = 0; i <= oldnum - 1; i++) |
|||
{ |
|||
_drawings[i] = null; |
|||
} |
|||
_drawings = null; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
public void _Redraw() |
|||
{ |
|||
long i = 0; |
|||
redrawactive = true; |
|||
_backbuffer = null; |
|||
if (_backbuffer == null) |
|||
{ |
|||
_backbuffer = new Bitmap(Math.Max(this.ClientSize.Width, 2), Math.Max(this.ClientSize.Height, 2)); |
|||
Graphics g = Graphics.FromImage(_backbuffer); |
|||
|
|||
g.ScaleTransform(Math.Max(this.Width, 2) / Page.Width, Math.Max(this.Height, 2) / Page.Height); |
|||
g.TranslateTransform(Page.Margins.Left, Page.Height - Page.Margins.Bottom); |
|||
g.Clear(BackColor); |
|||
|
|||
g.SmoothingMode = SmoothingMode.HighSpeed; |
|||
for (i = 0; i <= ScaleNum - 1; i++) |
|||
{ |
|||
if(!_scales[i].PaintOver) _scales[i].Draw(ref g, ref Page); |
|||
} |
|||
|
|||
g.SmoothingMode = SmoothingMode.HighQuality; |
|||
foreach(var d in _drawings) |
|||
{ |
|||
if (d.Visible) d.Draw(ref g, ref Page); |
|||
} |
|||
|
|||
g.SmoothingMode = SmoothingMode.HighSpeed; |
|||
for (i = 0; i <= ScaleNum - 1; i++) |
|||
{ |
|||
if (_scales[i].PaintOver) _scales[i].Draw(ref g, ref Page); |
|||
} |
|||
|
|||
g.Dispose(); |
|||
if (!this.IsDisposed) |
|||
{ |
|||
g = this.CreateGraphics(); |
|||
g.DrawImageUnscaled(_backbuffer, 0, 0); |
|||
g.Dispose(); |
|||
} |
|||
} |
|||
Application.DoEvents(); |
|||
redrawactive = false; |
|||
} |
|||
|
|||
public SSChart() |
|||
{ |
|||
long i = 0; |
|||
// This call is required by the designer.
|
|||
InitializeComponent(); |
|||
|
|||
// Add any initialization after the InitializeComponent() call.
|
|||
ScaleNum = 2; |
|||
_scales[0].ScaleType = GScale.GScaleTypes.HorBottom; |
|||
_scales[0].Visible = true; |
|||
_scales[0].sX = 0; |
|||
_scales[0].sY = 0; |
|||
_scales[0].Pen.Width = 1; |
|||
|
|||
_scales[1].ScaleType = GScale.GScaleTypes.VerLeft; |
|||
_scales[1].Visible = true; |
|||
_scales[1].sX = 0; |
|||
_scales[1].sY = 0; |
|||
_scales[1].Pen.Width = 1; |
|||
|
|||
DrawingsNum = 1; |
|||
_drawings[0].Pen.Width = 1; |
|||
_drawings[0].XScale = Scales(0); |
|||
_drawings[0].Yscale = Scales(0); |
|||
_drawings[0].PointsNum = 1000; |
|||
Random r = new Random(); |
|||
for (i = 0; i <= _drawings[0].PointsNum - 1; i++) |
|||
{ |
|||
_drawings[0].Points[i].X = Convert.ToSingle(i) / 10; |
|||
_drawings[0].Points[i].Y = (float)(r.Next(0, 50) + Math.Sin(i / 50) * 25 + 25); |
|||
} |
|||
|
|||
} |
|||
|
|||
private void RedrawTimer_Tick(object sender, EventArgs e) |
|||
{ |
|||
RedrawTimer.Stop(); |
|||
RedrawTimer.Tick -= RedrawTimer_Tick; |
|||
RedrawTimer.Dispose(); |
|||
RedrawTimer = null; |
|||
_Redraw(); |
|||
} |
|||
|
|||
} |
|||
} |
@ -0,0 +1,63 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|||
<PropertyGroup> |
|||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
|||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> |
|||
<ProductVersion>8.0.30703</ProductVersion> |
|||
<SchemaVersion>2.0</SchemaVersion> |
|||
<ProjectGuid>{A65F336E-822E-4F58-882C-371139985C67}</ProjectGuid> |
|||
<OutputType>Library</OutputType> |
|||
<AppDesignerFolder>Properties</AppDesignerFolder> |
|||
<RootNamespace>SSControls</RootNamespace> |
|||
<AssemblyName>SSControls</AssemblyName> |
|||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> |
|||
<TargetFrameworkProfile>Client</TargetFrameworkProfile> |
|||
<FileAlignment>512</FileAlignment> |
|||
</PropertyGroup> |
|||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
|||
<DebugSymbols>true</DebugSymbols> |
|||
<DebugType>full</DebugType> |
|||
<Optimize>false</Optimize> |
|||
<OutputPath>bin\Debug\</OutputPath> |
|||
<DefineConstants>DEBUG;TRACE</DefineConstants> |
|||
<ErrorReport>prompt</ErrorReport> |
|||
<WarningLevel>4</WarningLevel> |
|||
</PropertyGroup> |
|||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> |
|||
<DebugType>pdbonly</DebugType> |
|||
<Optimize>true</Optimize> |
|||
<OutputPath>bin\Release\</OutputPath> |
|||
<DefineConstants>TRACE</DefineConstants> |
|||
<ErrorReport>prompt</ErrorReport> |
|||
<WarningLevel>4</WarningLevel> |
|||
</PropertyGroup> |
|||
<ItemGroup> |
|||
<Reference Include="System" /> |
|||
<Reference Include="System.Core" /> |
|||
<Reference Include="System.Xml.Linq" /> |
|||
<Reference Include="System.Data.DataSetExtensions" /> |
|||
<Reference Include="Microsoft.CSharp" /> |
|||
<Reference Include="System.Data" /> |
|||
<Reference Include="System.Drawing" /> |
|||
<Reference Include="System.Windows.Forms" /> |
|||
<Reference Include="System.Xml" /> |
|||
</ItemGroup> |
|||
<ItemGroup> |
|||
<Compile Include="Properties\AssemblyInfo.cs" /> |
|||
<Compile Include="SSChart.cs"> |
|||
<SubType>UserControl</SubType> |
|||
</Compile> |
|||
<Compile Include="SSChart.Designer.cs"> |
|||
<DependentUpon>SSChart.cs</DependentUpon> |
|||
</Compile> |
|||
<Service Include="{94E38DFF-614B-4cbd-B67C-F211BB35CE8B}" /> |
|||
</ItemGroup> |
|||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |
|||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
|||
Other similar extension points exist, see Microsoft.Common.targets. |
|||
<Target Name="BeforeBuild"> |
|||
</Target> |
|||
<Target Name="AfterBuild"> |
|||
</Target> |
|||
--> |
|||
</Project> |
@ -0,0 +1,6 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
|||
<PropertyGroup> |
|||
<ProjectView>ProjectFiles</ProjectView> |
|||
</PropertyGroup> |
|||
</Project> |
@ -0,0 +1,15 @@ |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\BK3000LF\software\SSChart\bin\Debug\SSControls.dll |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\BK3000LF\software\SSChart\bin\Debug\SSControls.pdb |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\BK3000LF\software\SSChart\obj\Debug\ResolveAssemblyReference.cache |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\BK3000LF\software\SSChart\obj\Debug\SSControls.dll |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\BK3000LF\software\SSChart\obj\Debug\SSControls.pdb |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\Lib\DOTNET\SSControl\bin\Debug\SSControls.dll |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\Lib\DOTNET\SSControl\bin\Debug\SSControls.pdb |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\Lib\DOTNET\SSControl\obj\Debug\SSControls.dll |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\Lib\DOTNET\SSControl\obj\Debug\SSControls.pdb |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\Lib\DOTNET\SSControl\obj\Debug\SSControls.csprojResolveAssemblyReference.cache |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\UniSolder\software\PC\SSControl\bin\Debug\SSControls.dll |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\UniSolder\software\PC\SSControl\bin\Debug\SSControls.pdb |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\UniSolder\software\PC\SSControl\obj\Debug\SSControls.dll |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\UniSolder\software\PC\SSControl\obj\Debug\SSControls.pdb |
|||
C:\Users\Sparky\Desktop\MyProjects\Electronics\UniSolder\software\PC\SSControl\obj\Debug\SSControls.csprojResolveAssemblyReference.cache |
Some files were not shown because too many files changed in this diff
Write
Preview
Loading…
Cancel
Save
Reference in new issue