diff --git a/CAD/15_SHPHamilton_SYR_5ml_SYP_BLOCK_HOLDER-A.STL b/CAD/15_SHPHamilton_SYR_5ml_SYP_BLOCK_HOLDER-A.STL
new file mode 100644
index 0000000..7958100
Binary files /dev/null and b/CAD/15_SHPHamilton_SYR_5ml_SYP_BLOCK_HOLDER-A.STL differ
diff --git a/CAD/18_SHPSyPumo_Locker_Plate_to_6ml_Plastic_Syringe.STL b/CAD/18_SHPSyPumo_Locker_Plate_to_6ml_Plastic_Syringe.STL
new file mode 100644
index 0000000..a34de5a
Binary files /dev/null and b/CAD/18_SHPSyPumo_Locker_Plate_to_6ml_Plastic_Syringe.STL differ
diff --git a/CAD/20_1_x2_SHPSyPump_SideSlider_v2_4-3_mm_to_order.STL b/CAD/20_1_x2_SHPSyPump_SideSlider_v2_4-3_mm_to_order.STL
new file mode 100644
index 0000000..bb77a53
Binary files /dev/null and b/CAD/20_1_x2_SHPSyPump_SideSlider_v2_4-3_mm_to_order.STL differ
diff --git a/CAD/20_2_x2_SHPSyPump_SideSlider_v2_4-5_mm_to_order.STL b/CAD/20_2_x2_SHPSyPump_SideSlider_v2_4-5_mm_to_order.STL
new file mode 100644
index 0000000..0ef3b66
Binary files /dev/null and b/CAD/20_2_x2_SHPSyPump_SideSlider_v2_4-5_mm_to_order.STL differ
diff --git a/CAD/20_3_x2_SHPSyPump_SideSlider_v2_4-7_mm_to_order.STL b/CAD/20_3_x2_SHPSyPump_SideSlider_v2_4-7_mm_to_order.STL
new file mode 100644
index 0000000..0280ee7
Binary files /dev/null and b/CAD/20_3_x2_SHPSyPump_SideSlider_v2_4-7_mm_to_order.STL differ
diff --git a/CAD/22_SHPSyPump_Switch_SideSlider_v2-1_Oposite.STL b/CAD/22_SHPSyPump_Switch_SideSlider_v2-1_Oposite.STL
new file mode 100644
index 0000000..2166f01
Binary files /dev/null and b/CAD/22_SHPSyPump_Switch_SideSlider_v2-1_Oposite.STL differ
diff --git a/CAD/24_SHP_SyPump_Switch_SideSlider_v1e2_ONE_PIECE_LEVERLESS_VERSION.STL b/CAD/24_SHP_SyPump_Switch_SideSlider_v1e2_ONE_PIECE_LEVERLESS_VERSION.STL
new file mode 100644
index 0000000..3f2cfca
Binary files /dev/null and b/CAD/24_SHP_SyPump_Switch_SideSlider_v1e2_ONE_PIECE_LEVERLESS_VERSION.STL differ
diff --git a/CAD/27_x2_SHPBase_End_Switch-2.STL b/CAD/27_x2_SHPBase_End_Switch-2.STL
new file mode 100644
index 0000000..0033671
Binary files /dev/null and b/CAD/27_x2_SHPBase_End_Switch-2.STL differ
diff --git a/CAD/29_x2_SHPBase_End_Switch-1.STL b/CAD/29_x2_SHPBase_End_Switch-1.STL
new file mode 100644
index 0000000..7a15551
Binary files /dev/null and b/CAD/29_x2_SHPBase_End_Switch-1.STL differ
diff --git a/CAD/33_SHPHamilton_SYR_5ml_SYP_BLOCK_HOLDER-B.STL b/CAD/33_SHPHamilton_SYR_5ml_SYP_BLOCK_HOLDER-B.STL
new file mode 100644
index 0000000..7a6fd02
Binary files /dev/null and b/CAD/33_SHPHamilton_SYR_5ml_SYP_BLOCK_HOLDER-B.STL differ
diff --git a/CAD/5_SHPSyPump_M5_Pusher_Split_Block_Multifit_Matrix_Seringa_12ml-A2.STL b/CAD/5_SHPSyPump_M5_Pusher_Split_Block_Multifit_Matrix_Seringa_12ml-A2.STL
new file mode 100644
index 0000000..c6dcec9
Binary files /dev/null and b/CAD/5_SHPSyPump_M5_Pusher_Split_Block_Multifit_Matrix_Seringa_12ml-A2.STL differ
diff --git a/CAD/6_SHPSyPump_M5_Pusher_Split_Block_Multifit_Matrix_Seringa_12ml-B2.STL b/CAD/6_SHPSyPump_M5_Pusher_Split_Block_Multifit_Matrix_Seringa_12ml-B2.STL
new file mode 100644
index 0000000..53aa34e
Binary files /dev/null and b/CAD/6_SHPSyPump_M5_Pusher_Split_Block_Multifit_Matrix_Seringa_12ml-B2.STL differ
diff --git a/CAD/7_SHP_SyP_Tensioner_Nut_M5_Pulling_IN_Force.STL b/CAD/7_SHP_SyP_Tensioner_Nut_M5_Pulling_IN_Force.STL
new file mode 100644
index 0000000..fe1fb7f
Binary files /dev/null and b/CAD/7_SHP_SyP_Tensioner_Nut_M5_Pulling_IN_Force.STL differ
diff --git a/CAD/SHPSP_Frame_PC_V1_HAMILTON_SYR_10ml_drawing_GB_LR_3mm.pdf b/CAD/SHPSP_Frame_PC_V1_HAMILTON_SYR_10ml_drawing_GB_LR_3mm.pdf
new file mode 100644
index 0000000..9ddc58f
Binary files /dev/null and b/CAD/SHPSP_Frame_PC_V1_HAMILTON_SYR_10ml_drawing_GB_LR_3mm.pdf differ
diff --git a/CAD/SHPSP_Frame_PC_V1_HAMILTON_SYR_10ml_drawing_GB_LR_5mm.pdf b/CAD/SHPSP_Frame_PC_V1_HAMILTON_SYR_10ml_drawing_GB_LR_5mm.pdf
new file mode 100644
index 0000000..72a8a49
Binary files /dev/null and b/CAD/SHPSP_Frame_PC_V1_HAMILTON_SYR_10ml_drawing_GB_LR_5mm.pdf differ
diff --git a/CAD/SHPSP_Frame_PC_V1_HAMILTON_SYR_10ml_exploded_descritive_view.pdf b/CAD/SHPSP_Frame_PC_V1_HAMILTON_SYR_10ml_exploded_descritive_view.pdf
new file mode 100644
index 0000000..a5d78ad
Binary files /dev/null and b/CAD/SHPSP_Frame_PC_V1_HAMILTON_SYR_10ml_exploded_descritive_view.pdf differ
diff --git a/GUI/App.xaml b/GUI/App.xaml
deleted file mode 100644
index 2d448dd..0000000
--- a/GUI/App.xaml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/GUI/Assets/cf-logo-small.bmp b/GUI/Assets/cf-logo-small.bmp
new file mode 100644
index 0000000..3d70185
Binary files /dev/null and b/GUI/Assets/cf-logo-small.bmp differ
diff --git a/GUI/cf-logo.icns b/GUI/Assets/cf-logo.icns
similarity index 100%
rename from GUI/cf-logo.icns
rename to GUI/Assets/cf-logo.icns
diff --git a/GUI/Assets/cf-logo.ico b/GUI/Assets/cf-logo.ico
index a3ea747..7f15636 100644
Binary files a/GUI/Assets/cf-logo.ico and b/GUI/Assets/cf-logo.ico differ
diff --git a/GUI/Assets/cf-logo.n1.ico b/GUI/Assets/cf-logo.n1.ico
new file mode 100644
index 0000000..7f15636
Binary files /dev/null and b/GUI/Assets/cf-logo.n1.ico differ
diff --git a/GUI/Assets/cf-logo.svg b/GUI/Assets/cf-logo.svg
deleted file mode 100644
index 89d1efa..0000000
--- a/GUI/Assets/cf-logo.svg
+++ /dev/null
@@ -1,86 +0,0 @@
-
-
-
diff --git a/GUI/Device.Pump.GUI.csproj b/GUI/Device.Pump.GUI.csproj
deleted file mode 100644
index b6568ae..0000000
--- a/GUI/Device.Pump.GUI.csproj
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
- WinExe
- net5.0
- win-x64;osx-x64;linux-x64
- Syringe Pump
-
-
- Syringe Pump
- Syringe Pump
- org.fchampalimaud
- 0.1.0-preview
- 0.1.0-preview
- AAPL
- .
- Syringe Pump
- fc-logo.icns
- NSApplication
- true
- 0.1.0-preview
-
-
-
-
-
-
-
- %(Filename)
-
-
- Designer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/GUI/Device.Pump.GUI.sln b/GUI/Device.Pump.GUI.sln
index 0e6d739..17f078c 100644
--- a/GUI/Device.Pump.GUI.sln
+++ b/GUI/Device.Pump.GUI.sln
@@ -1,9 +1,19 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.30709.132
+# Visual Studio Version 17
+VisualStudioVersion = 17.3.32901.215
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Device.Pump.GUI", "Device.Pump.GUI.csproj", "{61A1A844-5F0F-4B94-8D8A-A64672F4E414}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Device.Pump.GUI", "Device.Pump.GUI\Device.Pump.GUI.csproj", "{61A1A844-5F0F-4B94-8D8A-A64672F4E414}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{1AF2F09D-522F-4BA7-9137-5CA6AB225BA0}"
+ ProjectSection(SolutionItems) = preProject
+ .editorconfig = .editorconfig
+ build.cake = build.cake
+ SyringePump.nsi = SyringePump.nsi
+ README.md = README.md
+ EndProjectSection
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Device.Pump", "Device.Pump\Device.Pump.csproj", "{8CAB4845-608A-4DF1-8E97-F0E25FE6769D}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -15,6 +25,10 @@ Global
{61A1A844-5F0F-4B94-8D8A-A64672F4E414}.Debug|Any CPU.Build.0 = Debug|Any CPU
{61A1A844-5F0F-4B94-8D8A-A64672F4E414}.Release|Any CPU.ActiveCfg = Release|Any CPU
{61A1A844-5F0F-4B94-8D8A-A64672F4E414}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8CAB4845-608A-4DF1-8E97-F0E25FE6769D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8CAB4845-608A-4DF1-8E97-F0E25FE6769D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8CAB4845-608A-4DF1-8E97-F0E25FE6769D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8CAB4845-608A-4DF1-8E97-F0E25FE6769D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/GUI/Device.Pump.GUI/App.axaml b/GUI/Device.Pump.GUI/App.axaml
new file mode 100644
index 0000000..2c8135e
--- /dev/null
+++ b/GUI/Device.Pump.GUI/App.axaml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GUI/App.xaml.cs b/GUI/Device.Pump.GUI/App.axaml.cs
similarity index 60%
rename from GUI/App.xaml.cs
rename to GUI/Device.Pump.GUI/App.axaml.cs
index d634f76..6b62f79 100644
--- a/GUI/App.xaml.cs
+++ b/GUI/Device.Pump.GUI/App.axaml.cs
@@ -1,12 +1,13 @@
+using System;
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
using Device.Pump.GUI.ViewModels;
using Device.Pump.GUI.Views;
-namespace Device.Pump.GUI
+namespace Device.Pump
{
- public class App : Application
+ public partial class App : Application
{
public override void Initialize()
{
@@ -25,5 +26,13 @@ public override void OnFrameworkInitializationCompleted()
base.OnFrameworkInitializationCompleted();
}
+
+ private void NativeMenuItem_OnClick(object sender, EventArgs e)
+ {
+ // FIXME: This should be using a Command
+ var about = new About() { DataContext = new AboutViewModel() };
+ about.ShowDialog((Application.Current.ApplicationLifetime as IClassicDesktopStyleApplicationLifetime)
+ .MainWindow);
+ }
}
-}
\ No newline at end of file
+}
diff --git a/GUI/Assets/Fonts/OpenSans-Bold.ttf b/GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-Bold.ttf
similarity index 100%
rename from GUI/Assets/Fonts/OpenSans-Bold.ttf
rename to GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-Bold.ttf
diff --git a/GUI/Assets/Fonts/OpenSans-BoldItalic.ttf b/GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-BoldItalic.ttf
similarity index 100%
rename from GUI/Assets/Fonts/OpenSans-BoldItalic.ttf
rename to GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-BoldItalic.ttf
diff --git a/GUI/Assets/Fonts/OpenSans-ExtraBold.ttf b/GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-ExtraBold.ttf
similarity index 100%
rename from GUI/Assets/Fonts/OpenSans-ExtraBold.ttf
rename to GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-ExtraBold.ttf
diff --git a/GUI/Assets/Fonts/OpenSans-ExtraBoldItalic.ttf b/GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-ExtraBoldItalic.ttf
similarity index 100%
rename from GUI/Assets/Fonts/OpenSans-ExtraBoldItalic.ttf
rename to GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-ExtraBoldItalic.ttf
diff --git a/GUI/Assets/Fonts/OpenSans-Italic.ttf b/GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-Italic.ttf
similarity index 100%
rename from GUI/Assets/Fonts/OpenSans-Italic.ttf
rename to GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-Italic.ttf
diff --git a/GUI/Assets/Fonts/OpenSans-Light.ttf b/GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-Light.ttf
similarity index 100%
rename from GUI/Assets/Fonts/OpenSans-Light.ttf
rename to GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-Light.ttf
diff --git a/GUI/Assets/Fonts/OpenSans-LightItalic.ttf b/GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-LightItalic.ttf
similarity index 100%
rename from GUI/Assets/Fonts/OpenSans-LightItalic.ttf
rename to GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-LightItalic.ttf
diff --git a/GUI/Assets/Fonts/OpenSans-Regular.ttf b/GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-Regular.ttf
similarity index 100%
rename from GUI/Assets/Fonts/OpenSans-Regular.ttf
rename to GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-Regular.ttf
diff --git a/GUI/Assets/Fonts/OpenSans-SemiBold.ttf b/GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-SemiBold.ttf
similarity index 100%
rename from GUI/Assets/Fonts/OpenSans-SemiBold.ttf
rename to GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-SemiBold.ttf
diff --git a/GUI/Assets/Fonts/OpenSans-SemiBoldItalic.ttf b/GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-SemiBoldItalic.ttf
similarity index 100%
rename from GUI/Assets/Fonts/OpenSans-SemiBoldItalic.ttf
rename to GUI/Device.Pump.GUI/Assets/Fonts/OpenSans-SemiBoldItalic.ttf
diff --git a/GUI/Device.Pump.GUI/Assets/cf-logo-white-lettering.svg b/GUI/Device.Pump.GUI/Assets/cf-logo-white-lettering.svg
new file mode 100644
index 0000000..37b1eb2
--- /dev/null
+++ b/GUI/Device.Pump.GUI/Assets/cf-logo-white-lettering.svg
@@ -0,0 +1,224 @@
+
+
+
+
diff --git a/GUI/Device.Pump.GUI/Assets/cf-logo.ico b/GUI/Device.Pump.GUI/Assets/cf-logo.ico
new file mode 100644
index 0000000..7f15636
Binary files /dev/null and b/GUI/Device.Pump.GUI/Assets/cf-logo.ico differ
diff --git a/GUI/Device.Pump.GUI/Assets/cf-logo.svg b/GUI/Device.Pump.GUI/Assets/cf-logo.svg
new file mode 100644
index 0000000..5a7b07a
--- /dev/null
+++ b/GUI/Device.Pump.GUI/Assets/cf-logo.svg
@@ -0,0 +1,235 @@
+
+
+
+
diff --git a/GUI/Device.Pump.GUI/Assets/cf_hardware_software_logo.svg b/GUI/Device.Pump.GUI/Assets/cf_hardware_software_logo.svg
new file mode 100644
index 0000000..1310c1e
--- /dev/null
+++ b/GUI/Device.Pump.GUI/Assets/cf_hardware_software_logo.svg
@@ -0,0 +1,86 @@
+
+
diff --git a/GUI/Device.Pump.GUI/Assets/cf_hardware_software_logo_white_lettering.svg b/GUI/Device.Pump.GUI/Assets/cf_hardware_software_logo_white_lettering.svg
new file mode 100644
index 0000000..d9785be
--- /dev/null
+++ b/GUI/Device.Pump.GUI/Assets/cf_hardware_software_logo_white_lettering.svg
@@ -0,0 +1,79 @@
+
+
+
+
diff --git a/GUI/Device.Pump.GUI/Device.Pump.GUI.csproj b/GUI/Device.Pump.GUI/Device.Pump.GUI.csproj
new file mode 100644
index 0000000..6a4c58e
--- /dev/null
+++ b/GUI/Device.Pump.GUI/Device.Pump.GUI.csproj
@@ -0,0 +1,80 @@
+
+
+ Library
+ net6.0
+ win-x64;osx-x64;linux-x64
+ Device.Pump.GUI
+ 1.0
+
+
+ ..\bin\Debug\
+
+
+ ..\bin\Release\
+
+
+
+ %(Filename)
+
+
+ Designer
+
+
+
+ App.axaml
+ Code
+
+
+
+
+
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ LogsWindow.axaml
+
+
+
+
+ True
+ \
+
+
+
\ No newline at end of file
diff --git a/GUI/Device.Pump.GUI/Models/DeviceConfiguration.cs b/GUI/Device.Pump.GUI/Models/DeviceConfiguration.cs
new file mode 100644
index 0000000..7add319
--- /dev/null
+++ b/GUI/Device.Pump.GUI/Models/DeviceConfiguration.cs
@@ -0,0 +1,77 @@
+using System;
+using System.ComponentModel;
+using System.Globalization;
+using Bonsai.Harp;
+
+namespace Device.Pump.GUI.Models
+{
+ public class DeviceConfiguration
+ {
+ [Browsable(false)]
+ public string Id
+ {
+ get { return $"{WhoAmI}-{SerialNumber:x4}"; }
+ set
+ {
+ var parts = value?.Split('-');
+ if (parts?.Length != 2)
+ {
+ throw new ArgumentException("The id string is empty or has an invalid format.", nameof(value));
+ }
+
+ WhoAmI = int.Parse(parts[0]);
+ SerialNumber = int.Parse(parts[1], NumberStyles.HexNumber);
+ }
+ }
+
+ internal int WhoAmI { get; set; }
+
+ public string DeviceName { get; set; }
+
+ internal int FirmwareVersionHigh { get; set; }
+
+ internal int FirmwareVersionLow { get; set; }
+
+ internal int CoreVersionHigh { get; set; }
+
+ internal int CoreVersionLow { get; set; }
+
+ internal int HardwareVersionHigh { get; set; }
+
+ internal int HardwareVersionLow { get; set; }
+
+ public HarpVersion FirmwareVersion
+ {
+ get { return new HarpVersion(FirmwareVersionHigh, FirmwareVersionLow); }
+ }
+
+ public HarpVersion CoreVersion
+ {
+ get { return new HarpVersion(CoreVersionHigh, CoreVersionLow); }
+ }
+
+ public HarpVersion HardwareVersion
+ {
+ get { return new HarpVersion(HardwareVersionHigh, HardwareVersionLow); }
+ }
+
+ public int AssemblyVersion { get; internal set; }
+
+ internal int? SerialNumber { get; set; }
+
+ [DisplayName("Timestamp (s)")]
+ public uint Timestamp { get; internal set; }
+
+ public override string ToString()
+ {
+ return string.Join(
+ Environment.NewLine,
+ !SerialNumber.HasValue ? $"WhoAmI: {WhoAmI}" : $"WhoAmI: {WhoAmI}-{SerialNumber:x4}",
+ $"HardwareVersion: {HardwareVersionHigh}.{HardwareVersionLow}",
+ $"FirmwareVersion: {FirmwareVersionHigh}.{FirmwareVersionLow}",
+ $"CoreVersion: {CoreVersionHigh}.{CoreVersionLow}",
+ $"Timestamp (s): {Timestamp}",
+ $"DeviceName: {DeviceName}");
+ }
+ }
+}
diff --git a/GUI/Device.Pump.GUI/Models/Direction.cs b/GUI/Device.Pump.GUI/Models/Direction.cs
new file mode 100644
index 0000000..bab5d80
--- /dev/null
+++ b/GUI/Device.Pump.GUI/Models/Direction.cs
@@ -0,0 +1,8 @@
+namespace Device.Pump.GUI.Models
+{
+ public enum Direction
+ {
+ Reverse = 0,
+ Forward
+ }
+}
\ No newline at end of file
diff --git a/GUI/Models/PumpRegisters.cs b/GUI/Device.Pump.GUI/Models/PumpRegisters.cs
similarity index 93%
rename from GUI/Models/PumpRegisters.cs
rename to GUI/Device.Pump.GUI/Models/PumpRegisters.cs
index c30b7df..499fae6 100644
--- a/GUI/Models/PumpRegisters.cs
+++ b/GUI/Device.Pump.GUI/Models/PumpRegisters.cs
@@ -24,6 +24,7 @@ internal enum PumpRegisters
CalibrationValue2 = 51, // U8 Calibration value 2
EventsEnable = 52, // U8 Enable the Events
SetBoardType = 53, // U8 Type of the board
- ProtocolState = 54 // U8 State of the protocol (running or stopped)
+ ProtocolState = 54, // U8 State of the protocol (running or stopped)
+ ProtocolDirection = 55 // U8 Protocol direction
}
}
diff --git a/GUI/MyCustomObservableExceptionHandler.cs b/GUI/Device.Pump.GUI/MyCustomObservableExceptionHandler.cs
similarity index 96%
rename from GUI/MyCustomObservableExceptionHandler.cs
rename to GUI/Device.Pump.GUI/MyCustomObservableExceptionHandler.cs
index aac5f83..f72a01f 100644
--- a/GUI/MyCustomObservableExceptionHandler.cs
+++ b/GUI/Device.Pump.GUI/MyCustomObservableExceptionHandler.cs
@@ -4,7 +4,7 @@
using ReactiveUI;
using Serilog;
-namespace Device.Pump.GUI
+namespace Device.Pump
{
public class MyCustomObservableExceptionHandler : IObserver
{
@@ -14,7 +14,7 @@ public void OnNext(Exception value)
Log.Information(value, "{@Type} - {@Message}", value.GetType().ToString(), value.Message);
- RxApp.MainThreadScheduler.Schedule(() => { throw value; }) ;
+ RxApp.MainThreadScheduler.Schedule(() => { throw value; });
}
public void OnError(Exception error)
@@ -32,4 +32,4 @@ public void OnCompleted()
RxApp.MainThreadScheduler.Schedule(() => { throw new NotImplementedException(); });
}
}
-}
\ No newline at end of file
+}
diff --git a/GUI/Device.Pump.GUI/StartApp.cs b/GUI/Device.Pump.GUI/StartApp.cs
new file mode 100644
index 0000000..8747dd1
--- /dev/null
+++ b/GUI/Device.Pump.GUI/StartApp.cs
@@ -0,0 +1,53 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+
+using System.IO;
+using Avalonia;
+using Avalonia.ReactiveUI;
+using ReactiveUI;
+using Serilog;
+using Serilog.Events;
+
+namespace Device.Pump.GUI
+{
+ public class StartApp
+ {
+ public static AppBuilder BuildAvaloniaApp()
+ {
+ var log = new LoggerConfiguration()
+ .WriteTo.File($"logs{Path.DirectorySeparatorChar}log.txt",
+ rollingInterval: RollingInterval.Day,
+ rollOnFileSizeLimit: true)
+ .WriteTo.Trace(outputTemplate: "{Area}: {Message}")
+#if !DEBUG
+ .WriteTo.Sentry( o =>
+ {
+ o.InitializeSdk = true;
+ o.MinimumBreadcrumbLevel = LogEventLevel.Debug; // Debug and higher are stored as breadcrumbs (default os Information)
+ o.MinimumEventLevel = LogEventLevel.Error; // Error and higher is sent as event (default is Error)
+ o.Dsn = "https://b215ec2ccf9e4ff894185b063c3c7e57@o319014.ingest.sentry.io/5552288";
+ o.AttachStacktrace = true;
+ })
+#endif
+ .CreateLogger();
+
+ Log.Logger = log;
+
+ RxApp.DefaultExceptionHandler = new MyCustomObservableExceptionHandler();
+
+ Log.Information("Starting application");
+
+ return AppBuilder.Configure()
+ .UsePlatformDetect()
+ .LogToTrace()
+ .UseReactiveUI();
+ }
+
+ public static void CloseLog()
+ {
+ // properly close the log on app close
+ Log.CloseAndFlush();
+ }
+ }
+}
diff --git a/GUI/ViewLocator.cs b/GUI/Device.Pump.GUI/ViewLocator.cs
similarity index 100%
rename from GUI/ViewLocator.cs
rename to GUI/Device.Pump.GUI/ViewLocator.cs
diff --git a/GUI/Device.Pump.GUI/ViewModels/AboutViewModel.cs b/GUI/Device.Pump.GUI/ViewModels/AboutViewModel.cs
new file mode 100644
index 0000000..9502a7d
--- /dev/null
+++ b/GUI/Device.Pump.GUI/ViewModels/AboutViewModel.cs
@@ -0,0 +1,17 @@
+using Avalonia.Themes.Fluent;
+using ReactiveUI;
+using ReactiveUI.Fody.Helpers;
+
+namespace Device.Pump.GUI.ViewModels
+{
+ public class AboutViewModel : ReactiveObject
+ {
+ [Reactive] public bool ShowDarkTheme { get; set; }
+
+ public AboutViewModel()
+ {
+ // Get current theme
+ ShowDarkTheme = ((FluentTheme)App.Current.Styles[0]).Mode == FluentThemeMode.Dark;
+ }
+ }
+}
diff --git a/GUI/Device.Pump.GUI/ViewModels/LogsWindowViewModel.cs b/GUI/Device.Pump.GUI/ViewModels/LogsWindowViewModel.cs
new file mode 100644
index 0000000..dec333b
--- /dev/null
+++ b/GUI/Device.Pump.GUI/ViewModels/LogsWindowViewModel.cs
@@ -0,0 +1,11 @@
+using System.Collections.ObjectModel;
+using ReactiveUI;
+using ReactiveUI.Fody.Helpers;
+
+namespace Device.Pump.GUI.ViewModels
+{
+ public class LogsWindowViewModel : ReactiveObject
+ {
+ [Reactive] public ObservableCollection HarpMessages { get; set; }
+ }
+}
diff --git a/GUI/ViewModels/MainWindowViewModel.cs b/GUI/Device.Pump.GUI/ViewModels/MainWindowViewModel.cs
similarity index 100%
rename from GUI/ViewModels/MainWindowViewModel.cs
rename to GUI/Device.Pump.GUI/ViewModels/MainWindowViewModel.cs
diff --git a/GUI/Device.Pump.GUI/ViewModels/SyringePumpViewModel.cs b/GUI/Device.Pump.GUI/ViewModels/SyringePumpViewModel.cs
new file mode 100644
index 0000000..f8dce90
--- /dev/null
+++ b/GUI/Device.Pump.GUI/ViewModels/SyringePumpViewModel.cs
@@ -0,0 +1,553 @@
+#region Usings
+
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.IO.Ports;
+using System.Linq;
+using System.Reactive;
+using System.Reactive.Linq;
+using System.Reactive.Subjects;
+using System.Reflection;
+using System.Text;
+using System.Threading.Tasks;
+using Avalonia;
+using Avalonia.Controls.ApplicationLifetimes;
+using Avalonia.Themes.Fluent;
+using Bonsai.Harp;
+using Device.Pump.GUI.Models;
+using Device.Pump.GUI.Views;
+using MessageBox.Avalonia.Enums;
+using ReactiveUI;
+using ReactiveUI.Fody.Helpers;
+using ReactiveUI.Validation.Extensions;
+using ReactiveUI.Validation.Helpers;
+using Serilog;
+using OperatingSystem = System.OperatingSystem;
+
+#endregion
+
+namespace Device.Pump.GUI.ViewModels
+{
+ public class SyringePumpViewModel : ReactiveValidationObject
+ {
+ public string AppVersion { get; set; }
+
+ [Reactive] public List Ports { get; set; }
+
+ [Reactive] public string SelectedPort { get; set; }
+ [Reactive] public bool Connected { get; set; }
+
+ [Reactive] public ObservableCollection HarpMessages { get; set; }
+
+ [Reactive] public bool StepStateEvent { get; set; } = true;
+ [Reactive] public bool DirectionStateEvent { get; set; } = true;
+ [Reactive] public bool SwitchForwardStateEvent { get; set; } = true;
+ [Reactive] public bool SwitchReverseStateEvent { get; set; } = true;
+ [Reactive] public bool InputStateEvent { get; set; } = true;
+ [Reactive] public bool ProtocolStateEvent { get; set; } = true;
+
+ [Reactive] public int ProtocolType { get; set; }
+
+ [Reactive] public string DeviceName { get; set; }
+ [Reactive] public int DeviceID { get; set; }
+ [Reactive] public HarpVersion HardwareVersion { get; set; }
+ [Reactive] public HarpVersion FirmwareVersion { get; set; }
+
+ [Reactive] public int NumberOfSteps { get; set; } = 15;
+ [Reactive] public int StepPeriod { get; set; } = 10;
+ [Reactive] public float Flowrate { get; set; } = 0.5f;
+ [Reactive] public float Volume { get; set; } = 0.5f;
+ [Reactive] public int MotorMicrostep { get; set; }
+ [Reactive] public int DigitalInput0Config { get; set; }
+ [Reactive] public int DigitalOutput0Config { get; set; }
+ [Reactive] public int DigitalOutput1Config { get; set; }
+ [Reactive] public int CalibrationValue1 { get; set; }
+ [Reactive] public int CalibrationValue2 { get; set; }
+ [Reactive] public Direction ProtocolDirection { get; set; }
+
+ [Reactive] public List Directions { get; set; }
+
+ [Reactive] public bool ShowLogs { get; set; } = false;
+
+ [ObservableAsProperty] public bool IsLoadingPorts { get; }
+
+ [ObservableAsProperty] public bool IsConnecting { get; }
+
+ [ObservableAsProperty] public bool IsResetting { get; }
+
+ [ObservableAsProperty] public bool IsSaving { get; }
+
+ [ObservableAsProperty] public bool IsRunningProtocol { get; }
+
+ [Reactive] public bool ShowDarkTheme { get; set; }
+
+ public ReactiveCommand LoadDeviceInformation { get; }
+ public ReactiveCommand ConnectAndGetBaseInfoCommand { get; }
+ public ReactiveCommand StartProtocolCommand { get; }
+ public ReactiveCommand ShowLogsCommand { get; }
+ public ReactiveCommand SaveConfigurationCommand { get; }
+ public ReactiveCommand ResetConfigurationCommand { get; }
+
+ public ReactiveCommand ChangeThemeCommand { get; }
+ public ReactiveCommand ShowAboutCommand { get; }
+ public ReactiveCommand ClearHarpMessagesCommand { get; set; }
+
+ private Bonsai.Harp.Device _dev;
+ private readonly IObserver _observer;
+ private IDisposable _observable;
+ private readonly Subject _msgsSubject;
+ private DeviceConfiguration configuration;
+
+ public SyringePumpViewModel()
+ {
+ var assembly = typeof(SyringePumpViewModel).Assembly;
+ var informationVersion = assembly.GetCustomAttribute()
+ ?.InformationalVersion;
+ AppVersion = $"v{informationVersion}";
+
+ Console.WriteLine(
+ $"Dotnet version: {System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription}");
+
+ HarpMessages = new ObservableCollection();
+ Directions = Enum.GetValues().ToList();
+
+ LoadDeviceInformation = ReactiveCommand.CreateFromObservable(LoadUsbInformation);
+ LoadDeviceInformation.IsExecuting.ToPropertyEx(this, x => x.IsLoadingPorts);
+ LoadDeviceInformation.ThrownExceptions.Subscribe(ex =>
+ Log.Error(ex, "Error loading device information with exception: {Exception}", ex));
+
+ // can connect if there is a selection and also if the new selection is different than the old one
+ var canConnect = this.WhenAnyValue(x => x.SelectedPort)
+ .Select(selectedPort => !string.IsNullOrEmpty(selectedPort));
+
+ ConnectAndGetBaseInfoCommand = ReactiveCommand.CreateFromObservable(ConnectAndGetBaseInfo, canConnect);
+ ConnectAndGetBaseInfoCommand.IsExecuting.ToPropertyEx(this, x => x.IsConnecting);
+ ConnectAndGetBaseInfoCommand.ThrownExceptions.Subscribe(ex =>
+ Log.Error(ex, "Error connecting to device with error: {Exception}", ex));
+
+ var canChangeConfig = this.WhenAnyValue(x => x.Connected).Select(connected => connected);
+ StartProtocolCommand = ReactiveCommand.CreateFromObservable(StartProtocol, canChangeConfig);
+ StartProtocolCommand.IsExecuting.ToPropertyEx(this, x => x.IsRunningProtocol);
+ StartProtocolCommand.ThrownExceptions.Subscribe(ex =>
+ Log.Error(ex, "Error starting protocol with error: {Exception}", ex));
+
+ ShowLogsCommand = ReactiveCommand.Create(() => { ShowLogs = !ShowLogs; });
+
+ SaveConfigurationCommand =
+ ReactiveCommand.CreateFromObservable(SaveConfiguration, canChangeConfig);
+ SaveConfigurationCommand.IsExecuting.ToPropertyEx(this, x => x.IsSaving);
+ SaveConfigurationCommand.ThrownExceptions.Subscribe(ex =>
+ Log.Error(ex, "Error saving configuration with error: {Exception}", ex));
+
+ ResetConfigurationCommand = ReactiveCommand.CreateFromObservable(ResetConfiguration, canChangeConfig);
+ ResetConfigurationCommand.IsExecuting.ToPropertyEx(this, x => x.IsResetting);
+ ResetConfigurationCommand.ThrownExceptions.Subscribe(ex =>
+ Log.Error(ex, "Error resetting device configuration with error: {Exception}", ex));
+
+ ChangeThemeCommand = ReactiveCommand.Create(ChangeTheme);
+
+ ShowAboutCommand = ReactiveCommand.CreateFromTask(async () =>
+ await new About() { DataContext = new AboutViewModel() }.ShowDialog(
+ (Application.Current.ApplicationLifetime as IClassicDesktopStyleApplicationLifetime).MainWindow));
+
+ ClearHarpMessagesCommand = ReactiveCommand.Create(() => HarpMessages.Clear(), canChangeConfig);
+
+ // TODO: missing properly dispose of this
+ _msgsSubject = new Subject();
+
+ _observer = Observer.Create(item => HarpMessages.Add(item.ToString()),
+ (ex) => { HarpMessages.Add($"Error while sending commands to device:{ex.Message}"); },
+ () => HarpMessages.Add("Completed sending commands to device"));
+
+ // Validation rules
+ this.ValidationRule(viewModel => viewModel.NumberOfSteps,
+ steps => steps > 0,
+ "Number of steps only accepts integer values greater than 0");
+ this.ValidationRule(viewModel => viewModel.StepPeriod,
+ period => period > 0,
+ "Step Period only accepts integer values greater than 0");
+ this.ValidationRule(viewModel => viewModel.Flowrate,
+ flowRate => flowRate > 0,
+ "Flowrate only accepts float values greater than 0");
+ this.ValidationRule(viewModel => viewModel.Volume,
+ volume => volume > 0,
+ "Volume only accepts float values greater than 0");
+
+ // force initial population of currently connected ports
+ LoadUsbInformation();
+ }
+
+ private void ChangeTheme()
+ {
+ Application.Current.Styles[0] = new FluentTheme(new Uri("avares://ControlCatalog/Styles"))
+ {
+ Mode = ShowDarkTheme ? FluentThemeMode.Dark : FluentThemeMode.Light
+ };
+ }
+
+ private IObservable LoadUsbInformation()
+ {
+ return Observable.Start(() =>
+ {
+ var devices = SerialPort.GetPortNames();
+
+ if (OperatingSystem.IsMacOS())
+ // except with Bluetooth in the name
+ Ports = devices.Where(d => d.Contains("cu.")).Except(devices.Where(d => d.Contains("Bluetooth")))
+ .ToList();
+ else
+ Ports = devices.ToList();
+
+ Log.Information("Loaded USB information");
+ });
+ }
+
+ private IObservable StartProtocol()
+ {
+ return Observable.StartAsync(async () =>
+ {
+ var startProtocolMessage = HarpCommand.WriteByte((int)PumpRegisters.StartProtocol, 1);
+
+ _msgsSubject.OnNext(startProtocolMessage);
+
+ await Task.Delay(200);
+
+ Log.Information("Started protocol");
+ });
+ }
+
+ private IObservable SaveConfiguration(bool savePermanently)
+ {
+ return Observable.StartAsync(async () =>
+ {
+ if (_dev == null)
+ throw new Exception("You need to connect to the device first");
+
+ var msgs = new List();
+
+ // send commands to save every config (verify each step for board's reply)
+
+ // events
+ byte events = (byte)((Convert.ToByte(StepStateEvent) << 0) |
+ (Convert.ToByte(DirectionStateEvent) << 1) |
+ (Convert.ToByte(SwitchForwardStateEvent) << 2) |
+ (Convert.ToByte(SwitchReverseStateEvent) << 3) |
+ (Convert.ToByte(InputStateEvent) << 4) |
+ (Convert.ToByte(ProtocolStateEvent) << 5));
+ var eventsMessage = HarpCommand.WriteByte((int)PumpRegisters.EventsEnable, events);
+ msgs.Add(eventsMessage);
+
+ // motor microstep
+ byte motor = Convert.ToByte(MotorMicrostep);
+ var motorMessage = HarpCommand.WriteByte((int)PumpRegisters.MotorMicrostep, motor);
+ msgs.Add(motorMessage);
+
+ // di0, do0 and do1
+ byte di0 = Convert.ToByte(DigitalInput0Config);
+ var di0Message = HarpCommand.WriteByte((int)PumpRegisters.DigitalInput0Config, di0);
+ msgs.Add(di0Message);
+
+ byte do0 = Convert.ToByte(DigitalOutput0Config);
+ var do0Message = HarpCommand.WriteByte((int)PumpRegisters.DigitalOutput0Config, do0);
+ msgs.Add(do0Message);
+
+ byte do1 = Convert.ToByte(DigitalOutput1Config);
+ var do1Message = HarpCommand.WriteByte((int)PumpRegisters.DigitalOutput1Config, do1);
+ msgs.Add(do1Message);
+
+ // protocol
+ // protocol type
+ byte protocolType = Convert.ToByte(ProtocolType);
+ var protocolTypeMessage = HarpCommand.WriteByte((int)PumpRegisters.ProtocolType, protocolType);
+ msgs.Add(protocolTypeMessage);
+
+ // protocol direction
+ byte protocolDirection = Convert.ToByte(ProtocolDirection);
+ var protocolDirectionMessage =
+ HarpCommand.WriteByte((int)PumpRegisters.ProtocolDirection, protocolDirection);
+ msgs.Add(protocolDirectionMessage);
+
+ // if step:
+ if (protocolType == 0)
+ {
+ // number of steps
+ ushort numberOfSteps = Convert.ToUInt16(NumberOfSteps);
+ var numberOfStepsMessage =
+ HarpCommand.WriteUInt16((int)PumpRegisters.ProtocolNumberOfSteps, numberOfSteps);
+ msgs.Add(numberOfStepsMessage);
+
+ // step period
+ ushort stepPeriod = Convert.ToUInt16(StepPeriod);
+ var stepPeriodMessage = HarpCommand.WriteUInt16((int)PumpRegisters.ProtocolStepPeriod, stepPeriod);
+ msgs.Add(stepPeriodMessage);
+ }
+ else
+ {
+ // flowrate
+ float flowrate = Convert.ToSingle(Flowrate);
+ var flowrateMessage = HarpCommand.WriteSingle((int)PumpRegisters.ProtocolFlowrate, flowrate);
+ msgs.Add(flowrateMessage);
+ // volume
+ float volume = Convert.ToSingle(Volume);
+ var volumeMessage = HarpCommand.WriteSingle((int)PumpRegisters.ProtocolVolume, volume);
+ msgs.Add(volumeMessage);
+
+ // calibration val 1
+ byte calValue1 = Convert.ToByte(CalibrationValue1);
+ var calValue1Message = HarpCommand.WriteByte((int)PumpRegisters.CalibrationValue1, calValue1);
+ msgs.Add(calValue1Message);
+
+ // calibration val 2
+ byte calValue2 = Convert.ToByte(CalibrationValue2);
+ var calValue2Message = HarpCommand.WriteByte((int)PumpRegisters.CalibrationValue2, calValue2);
+ msgs.Add(calValue2Message);
+ }
+
+ if (savePermanently)
+ {
+ var resetMessage = HarpCommand.ResetDevice(ResetMode.Save);
+ msgs.Add(resetMessage);
+ }
+
+ // send all messages independently of the save type
+ HarpMessages.Clear();
+
+ foreach (var harpMessage in msgs)
+ {
+ _msgsSubject.OnNext(harpMessage);
+ }
+
+ await Task.Delay(500);
+ });
+ }
+
+ private IObservable ResetConfiguration()
+ {
+ return Observable.StartAsync(async () =>
+ {
+ var resetMessage = HarpCommand.ResetDevice(ResetMode.RestoreDefault);
+
+ _msgsSubject.OnNext(resetMessage);
+
+ await Task.Delay(2000);
+
+ await ConnectAndGetBaseInfo();
+
+ // send message to opened device
+ // //TODO: when we have the observable from the receiving data, we should present a message stating if the operation completed successfully
+ });
+ }
+
+ private IObservable ConnectAndGetBaseInfo()
+ {
+ return Observable.StartAsync(async () =>
+ {
+ if (string.IsNullOrEmpty(SelectedPort))
+ throw new Exception("invalid parameter");
+
+ configuration = new DeviceConfiguration();
+ if (_dev != null)
+ {
+ // cleanup variables
+ _observable?.Dispose();
+ _observable = null;
+ }
+
+ _dev = new Bonsai.Harp.Device
+ {
+ PortName = SelectedPort,
+ Heartbeat = EnableType.Disable,
+ IgnoreErrors = false
+ };
+
+ Log.Information("Attempting connection to port \'{SelectedPort}\'", SelectedPort);
+
+ HarpMessages.Clear();
+
+ await Task.Delay(300);
+
+ var observable = _dev.Generate()
+ .Where(MessageType.Read)
+ .Do(ReadRegister)
+ .Throttle(TimeSpan.FromSeconds(0.2))
+ .Timeout(TimeSpan.FromSeconds(5))
+ .Subscribe(_ => { },
+ // FIXME: ignore here the connection and perhaps simply return?
+ (ex) => { HarpMessages.Add($"Error while sending commands to device:{ex.Message}"); });
+
+ await Task.Delay(300);
+
+ Log.Information("Connection established with the following return information: {Info}", configuration);
+
+ // present messagebox if we are not handling a Pump device
+ if (configuration.WhoAmI != 1280)
+ {
+ // when the configuration.WhoAmI is zero, we are dealing with a non-HARP device, so change message accordingly
+ var message = $"Found a HARP device: {configuration.DeviceName} ({configuration.WhoAmI}).\n\nThis GUI is only for the SyringePump HARP device.\n\nPlease select another serial port.";
+ var icon = Icon.Info;
+ if (configuration.WhoAmI == 0)
+ {
+ message =
+ $"Found a non-HARP device.\n\nThis GUI is only for the SyringePump HARP device.\n\nPlease select another serial port.";
+ icon = Icon.Error;
+ }
+
+ var messageBoxStandardWindow = MessageBox.Avalonia.MessageBoxManager
+ .GetMessageBoxStandardWindow("Unexpected device found",
+ message,
+ icon: icon);
+ await messageBoxStandardWindow.Show();
+ observable.Dispose();
+ return;
+ }
+
+ DeviceName = configuration.DeviceName;
+ DeviceID = configuration.WhoAmI;
+
+ // convert Hw and Fw version
+ HardwareVersion = configuration.HardwareVersion;
+ FirmwareVersion = configuration.FirmwareVersion;
+
+ Connected = true;
+
+ observable.Dispose();
+
+ // generate observable for remaining operations
+ _observable = _dev.Generate(_msgsSubject)
+ .Subscribe(_observer);
+ });
+ }
+
+ private void ReadRegister(HarpMessage message)
+ {
+ switch (message.Address)
+ {
+ case DeviceRegisters.WhoAmI:
+ configuration.WhoAmI = message.GetPayloadUInt16();
+ break;
+ case DeviceRegisters.HardwareVersionHigh:
+ configuration.HardwareVersionHigh = message.GetPayloadByte();
+ break;
+ case DeviceRegisters.HardwareVersionLow:
+ configuration.HardwareVersionLow = message.GetPayloadByte();
+ break;
+ case DeviceRegisters.FirmwareVersionHigh:
+ configuration.FirmwareVersionHigh = message.GetPayloadByte();
+ break;
+ case DeviceRegisters.FirmwareVersionLow:
+ configuration.FirmwareVersionLow = message.GetPayloadByte();
+ break;
+ case DeviceRegisters.CoreVersionHigh:
+ configuration.CoreVersionHigh = message.GetPayloadByte();
+ break;
+ case DeviceRegisters.CoreVersionLow:
+ configuration.CoreVersionLow = message.GetPayloadByte();
+ break;
+ case DeviceRegisters.AssemblyVersion:
+ configuration.AssemblyVersion = message.GetPayloadByte();
+ break;
+ case DeviceRegisters.TimestampSecond:
+ configuration.Timestamp = message.GetPayloadUInt32();
+ break;
+ case DeviceRegisters.DeviceName:
+ var deviceName = nameof(Device);
+ if (!message.Error)
+ {
+ var namePayload = message.GetPayload();
+ deviceName = Encoding.ASCII.GetString(namePayload.Array, namePayload.Offset, namePayload.Count)
+ .Trim('\0');
+ }
+
+ configuration.DeviceName = deviceName;
+ break;
+ case DeviceRegisters.SerialNumber:
+ configuration.SerialNumber = message.GetPayloadUInt16();
+ break;
+ }
+
+ // Update UI with the remaining registers
+ if (message.Address >= (int)(PumpRegisters.EnableMotorDriver))
+ UpdateUI(message);
+ }
+
+ private void UpdateUI(HarpMessage item)
+ {
+ switch ((PumpRegisters)item.Address)
+ {
+ case PumpRegisters.EnableMotorDriver:
+ case PumpRegisters.StartProtocol:
+ case PumpRegisters.StepState:
+ case PumpRegisters.DirState:
+ case PumpRegisters.SwitchForwardState:
+ case PumpRegisters.SwitchReverseState:
+ case PumpRegisters.InputState:
+ break;
+ case PumpRegisters.SetDigitalOutputs:
+ //TODO: add this element to the UI
+ break;
+ case PumpRegisters.ClearDigitalOutputs:
+ //TODO: add this element to the UI
+ break;
+ case PumpRegisters.DigitalOutput0Config:
+ DigitalOutput0Config = item.GetPayloadByte();
+ break;
+ case PumpRegisters.DigitalOutput1Config:
+ DigitalOutput1Config = item.GetPayloadByte();
+ break;
+ case PumpRegisters.DigitalInput0Config:
+ DigitalInput0Config = item.GetPayloadByte();
+ break;
+ case PumpRegisters.MotorMicrostep:
+ MotorMicrostep = item.GetPayloadByte();
+ break;
+ case PumpRegisters.ProtocolNumberOfSteps:
+ NumberOfSteps = item.GetPayloadUInt16();
+ break;
+ case PumpRegisters.ProtocolFlowrate:
+ Flowrate = item.GetPayloadSingle();
+ break;
+ case PumpRegisters.ProtocolStepPeriod:
+ StepPeriod = item.GetPayloadUInt16();
+ break;
+ case PumpRegisters.ProtocolVolume:
+ Volume = item.GetPayloadSingle();
+ break;
+ case PumpRegisters.ProtocolType:
+ ProtocolType = item.GetPayloadByte();
+ break;
+ case PumpRegisters.CalibrationValue1:
+ CalibrationValue1 = item.GetPayloadByte();
+ break;
+ case PumpRegisters.CalibrationValue2:
+ CalibrationValue2 = item.GetPayloadByte();
+ break;
+ case PumpRegisters.ProtocolDirection:
+ ProtocolDirection = (Direction)item.GetPayloadByte();
+ break;
+ case PumpRegisters.EventsEnable:
+ byte all = item.GetPayloadByte();
+
+ StepStateEvent = GetBit(all, 0);
+ DirectionStateEvent = GetBit(all, 1);
+ SwitchForwardStateEvent = GetBit(all, 2);
+ SwitchReverseStateEvent = GetBit(all, 3);
+ InputStateEvent = GetBit(all, 4);
+ ProtocolStateEvent = GetBit(all, 5);
+
+ break;
+ case PumpRegisters.SetBoardType:
+ break;
+ case PumpRegisters.ProtocolState:
+ break;
+ default:
+ throw new ArgumentOutOfRangeException();
+ }
+ }
+
+ private bool GetBit(byte b, int pos)
+ {
+ return Convert.ToBoolean((b >> pos) & 1);
+ }
+ }
+}
diff --git a/GUI/ViewModels/ViewModelBase.cs b/GUI/Device.Pump.GUI/ViewModels/ViewModelBase.cs
similarity index 53%
rename from GUI/ViewModels/ViewModelBase.cs
rename to GUI/Device.Pump.GUI/ViewModels/ViewModelBase.cs
index 4393359..6bc5a87 100644
--- a/GUI/ViewModels/ViewModelBase.cs
+++ b/GUI/Device.Pump.GUI/ViewModels/ViewModelBase.cs
@@ -1,7 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using ReactiveUI;
+using ReactiveUI;
namespace Device.Pump.GUI.ViewModels
{
diff --git a/GUI/Device.Pump.GUI/Views/About.axaml b/GUI/Device.Pump.GUI/Views/About.axaml
new file mode 100644
index 0000000..3d32f1b
--- /dev/null
+++ b/GUI/Device.Pump.GUI/Views/About.axaml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ About
+
+ The Syringe Pump GUI application allows to configure the Syringe Pump device, developed by the Hardware and Software Platform at the Champalimaud Foundation.
+
+ The Syringe Pump device is a Harp device and has all the inherent functionality of Harp devices.
+
+ The GUI was developed using [.NET 6](https://dotnet.microsoft.com/), [Avalonia](https://avaloniaui.net/) with ReactiveUI and makes direct use of the [Bonsai.Harp](https://github.com/bonsai-rx/harp) library.
+
+ As with other Harp devices, the Syringe Pump can also be used in [Bonsai](https://bonsai-rx.org/) using the [Bonsai.Harp.CF](https://github.com/bonsai-rx/harp.cf) package.
+
+
+
diff --git a/GUI/Device.Pump.GUI/Views/About.axaml.cs b/GUI/Device.Pump.GUI/Views/About.axaml.cs
new file mode 100644
index 0000000..ec887a5
--- /dev/null
+++ b/GUI/Device.Pump.GUI/Views/About.axaml.cs
@@ -0,0 +1,20 @@
+using Avalonia.Markup.Xaml;
+using Avalonia.ReactiveUI;
+using Device.Pump.GUI.ViewModels;
+
+namespace Device.Pump.GUI.Views
+{
+ public partial class About : ReactiveWindow
+ {
+ public About()
+ {
+ InitializeComponent();
+ }
+
+ private void InitializeComponent()
+ {
+ AvaloniaXamlLoader.Load(this);
+ }
+ }
+}
+
diff --git a/GUI/Device.Pump.GUI/Views/AccentColors.axaml b/GUI/Device.Pump.GUI/Views/AccentColors.axaml
new file mode 100644
index 0000000..c50cbd4
--- /dev/null
+++ b/GUI/Device.Pump.GUI/Views/AccentColors.axaml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
diff --git a/GUI/Device.Pump.GUI/Views/Icons.axaml b/GUI/Device.Pump.GUI/Views/Icons.axaml
new file mode 100644
index 0000000..6c0b2cc
--- /dev/null
+++ b/GUI/Device.Pump.GUI/Views/Icons.axaml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
diff --git a/GUI/Device.Pump.GUI/Views/LogsWindow.axaml b/GUI/Device.Pump.GUI/Views/LogsWindow.axaml
new file mode 100644
index 0000000..17c2bdb
--- /dev/null
+++ b/GUI/Device.Pump.GUI/Views/LogsWindow.axaml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/GUI/Views/MainWindow.xaml.cs b/GUI/Device.Pump.GUI/Views/LogsWindow.axaml.cs
similarity index 73%
rename from GUI/Views/MainWindow.xaml.cs
rename to GUI/Device.Pump.GUI/Views/LogsWindow.axaml.cs
index b330459..ff53bb3 100644
--- a/GUI/Views/MainWindow.xaml.cs
+++ b/GUI/Device.Pump.GUI/Views/LogsWindow.axaml.cs
@@ -4,9 +4,9 @@
namespace Device.Pump.GUI.Views
{
- public class MainWindow : ReactiveWindow
+ public partial class LogsWindow : ReactiveUserControl
{
- public MainWindow()
+ public LogsWindow()
{
InitializeComponent();
}
@@ -16,4 +16,4 @@ private void InitializeComponent()
AvaloniaXamlLoader.Load(this);
}
}
-}
\ No newline at end of file
+}
diff --git a/GUI/Views/MainWindow.xaml b/GUI/Device.Pump.GUI/Views/MainWindow.xaml
similarity index 54%
rename from GUI/Views/MainWindow.xaml
rename to GUI/Device.Pump.GUI/Views/MainWindow.xaml
index efb4fbf..504f9b0 100644
--- a/GUI/Views/MainWindow.xaml
+++ b/GUI/Device.Pump.GUI/Views/MainWindow.xaml
@@ -1,13 +1,18 @@
+ Content="{Binding SyringePump}"
+
+ ExtendClientAreaToDecorationsHint="True"
+ Padding="0,30,0,0"
+ CanResize="False">
diff --git a/GUI/Device.Pump.GUI/Views/MainWindow.xaml.cs b/GUI/Device.Pump.GUI/Views/MainWindow.xaml.cs
new file mode 100644
index 0000000..e690d56
--- /dev/null
+++ b/GUI/Device.Pump.GUI/Views/MainWindow.xaml.cs
@@ -0,0 +1,33 @@
+using System.Runtime.InteropServices;
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Markup.Xaml;
+using Avalonia.ReactiveUI;
+using Device.Pump.GUI.ViewModels;
+
+namespace Device.Pump.GUI.Views
+{
+ public class MainWindow : ReactiveWindow
+ {
+ public MainWindow()
+ {
+ InitializeComponent();
+ SizeToContent = SizeToContent.WidthAndHeight;
+
+#if DEBUG
+ this.AttachDevTools();
+#endif
+ // check current OS and change window presentation and padding
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux) || RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
+ {
+ ExtendClientAreaToDecorationsHint = false;
+ Padding = new Thickness(0, 0, 0, 0);
+ }
+ }
+
+ private void InitializeComponent()
+ {
+ AvaloniaXamlLoader.Load(this);
+ }
+ }
+}
diff --git a/GUI/Views/SyringePumpView.xaml b/GUI/Device.Pump.GUI/Views/SyringePumpView.xaml
similarity index 57%
rename from GUI/Views/SyringePumpView.xaml
rename to GUI/Device.Pump.GUI/Views/SyringePumpView.xaml
index b5e0e60..915a80e 100644
--- a/GUI/Views/SyringePumpView.xaml
+++ b/GUI/Device.Pump.GUI/Views/SyringePumpView.xaml
@@ -5,25 +5,68 @@
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:i="clr-namespace:Avalonia.Xaml.Interactivity;assembly=Avalonia.Xaml.Interactivity"
xmlns:ia="clr-namespace:Avalonia.Xaml.Interactions.Core;assembly=Avalonia.Xaml.Interactions"
- xmlns:svg="clr-namespace:Svg.Skia.Avalonia;assembly=Svg.Skia.Avalonia"
- mc:Ignorable="d" d:DesignWidth="730" d:DesignHeight="650"
+ xmlns:svg="clr-namespace:Avalonia.Svg.Skia;assembly=Avalonia.Svg.Skia"
+ xmlns:views="clr-namespace:Device.Pump.GUI.Views"
+ mc:Ignorable="d"
x:Class="Device.Pump.GUI.Views.SyringePumpView"
- FontFamily="resm:?assembly=Syringe Pump#Open Sans">
+ FontFamily="resm:?assembly=Device.Pump.GUI#Open Sans">
-
-
-
-
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/GUI/Views/SyringePumpView.xaml.cs b/GUI/Device.Pump.GUI/Views/SyringePumpView.xaml.cs
similarity index 99%
rename from GUI/Views/SyringePumpView.xaml.cs
rename to GUI/Device.Pump.GUI/Views/SyringePumpView.xaml.cs
index 50ec0d3..6c041a9 100644
--- a/GUI/Views/SyringePumpView.xaml.cs
+++ b/GUI/Device.Pump.GUI/Views/SyringePumpView.xaml.cs
@@ -16,4 +16,4 @@ private void InitializeComponent()
AvaloniaXamlLoader.Load(this);
}
}
-}
\ No newline at end of file
+}
diff --git a/GUI/Device.Pump/Device.Pump.csproj b/GUI/Device.Pump/Device.Pump.csproj
new file mode 100644
index 0000000..f076265
--- /dev/null
+++ b/GUI/Device.Pump/Device.Pump.csproj
@@ -0,0 +1,61 @@
+
+
+ WinExe
+ net6.0
+ enable
+ true
+
+ copyused
+ true
+ Syringe Pump
+ ..\bin
+ 1.0
+
+
+ Syringe Pump
+ Syringe Pump
+ org.fchampalimaud
+ $(Version)
+ $(Version)
+ AAPL
+ .
+ Syringe Pump
+ cf-logo.icns
+ NSApplication
+ true
+ Champalimaud Foundation
+ ..\Assets\cf-logo.ico
+ ..\README.md
+ git
+ ..\bin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GUI/Device.Pump/Program.cs b/GUI/Device.Pump/Program.cs
new file mode 100644
index 0000000..45cc29b
--- /dev/null
+++ b/GUI/Device.Pump/Program.cs
@@ -0,0 +1,25 @@
+using Avalonia;
+using System;
+using Device.Pump.GUI;
+
+namespace Device.Pump
+{
+ internal class Program
+ {
+ // Initialization code. Don't use any Avalonia, third-party APIs or any
+ // SynchronizationContext-reliant code before AppMain is called: things aren't initialized
+ // yet and stuff might break.
+ [STAThread]
+ public static void Main(string[] args)
+ {
+ BuildAvaloniaApp().StartWithClassicDesktopLifetime(args);
+
+ StartApp.CloseLog();
+ }
+
+ public static AppBuilder BuildAvaloniaApp()
+ {
+ return StartApp.BuildAvaloniaApp();
+ }
+ }
+}
diff --git a/GUI/README.md b/GUI/README.md
new file mode 100644
index 0000000..5d7e961
--- /dev/null
+++ b/GUI/README.md
@@ -0,0 +1,85 @@
+# Syringe Pump GUI
+
+This repository folder contains the Syringe Pump GUI (henceforth GUI) application that allows to configure the Syringe Pump device, developed by the Scientific Hardware Platform at the Champalimaud Foundation.
+
+The Syringe Pump device is a Harp device and has all the inherent functionality of Harp devices.
+
+The GUI was developed using [.NET 5](https://dotnet.microsoft.com/), [Avalonia](https://avaloniaui.net/) with ReactiveUI and makes direct use of the [Bonsai.Harp](https://github.com/bonsai-rx/harp) library.
+
+As with other Harp devices, the Syringe Pump can also be used in [Bonsai](bonsai-rx.org/) using the [Bonsai.Harp.CF](https://github.com/bonsai-rx/harp.cf) package.
+
+## Installation
+
+Go to the [Downloads](https://bitbucket.org/fchampalimaud/device.pump/downloads/) page to download the latest version for your Operating System.
+
+Currently there are x64 builds for Windows and Linux. Mac builds will be available in the future.
+
+Portable builds are also available.
+
+### Linux
+
+Since the application accesses the serial port, your user needs to be on the `dialout`group or equivalent.
+
+There might be other alternatives to this, but at least on Ubuntu and Fedora que command that you need to run to add your user to the `dialout` group is:
+
+```sh
+sudo usermod -a -G dialout
+```
+
+## Usage
+
+Usage information is available in the [Wiki](https://bitbucket.org/fchampalimaud/device.pump/wiki/Home).
+
+## For developers
+
+### Build Windows installer using NSIS manually
+
+- Install NSIS 3 on your Windows machine
+- Build and publish the application using the .NET 6 SDK command-line tools
+ ```
+ dotnet publish -r win-x64 /p:PublishSingleFile=false /p:IncludeNativeLibrariesInSingleFile=true /p:Configuration=Release
+ ```
+- Run makesis to generate the installer
+ ```
+ makensis.exe /DVERSION_MAJOR=0 /DVERSION_MINOR=1 /DVERSION_BUILD=0 .\SyringePump.nsi
+ ```
+- The installer will be available at `.\bin\Release\net6.0\win-x64\SyringePump.vx.x.x-win-x64.self-contained.exe`
+
+### Build .app image for macOS
+
+The project uses dotnet-bundle (https://github.com/egramtel/dotnet-bundle) to generate a .app image for macOS.
+
+To build the .app image, run the following commands on the solution folder:
+
+```sh
+dotnet restore -r osx-x64 -p:TargetFramework=net6.0
+dotnet msbuild -t:BundleApp -p:RuntimeIdentifier=osx-x64 -property:Configuration=Release -p:UseAppHost=true -p:TargetFramework=net6.0
+```
+
+## Roadmap
+
+See the [open issues](https://bitbucket.org/fchampalimaud/device.pump/issues) for a list of proposed features (and known issues).
+
+## Contributing
+
+Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.
+
+1. Fork the Project
+2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
+3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
+4. Push to the Branch (`git push origin feature/AmazingFeature`)
+5. Open a Pull Request
+
+## Authors
+
+Scientific Hardware Platform and Scientific Software Platform of the Champalimaud Foundation.
+
+### Main contributors
+
+- Artur Silva
+- Luís Teixeira
+
+## License
+
+See `LICENSE` file for more information.
+
diff --git a/GUI/SyringePump.nsi b/GUI/SyringePump.nsi
new file mode 100644
index 0000000..d369612
Binary files /dev/null and b/GUI/SyringePump.nsi differ
diff --git a/GUI/ViewModels/SyringePumpViewModel.cs b/GUI/ViewModels/SyringePumpViewModel.cs
deleted file mode 100644
index b047912..0000000
--- a/GUI/ViewModels/SyringePumpViewModel.cs
+++ /dev/null
@@ -1,427 +0,0 @@
-#region Usings
-
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.IO;
-using System.IO.Ports;
-using System.Linq;
-using System.Reactive;
-using System.Reactive.Linq;
-using System.Reactive.Subjects;
-using System.Reflection;
-using System.Text;
-using System.Threading.Tasks;
-using Bonsai;
-using Bonsai.Harp;
-using Device.Pump.GUI.Models;
-using ReactiveUI;
-using ReactiveUI.Fody.Helpers;
-using ReactiveUI.Validation.Extensions;
-using ReactiveUI.Validation.Helpers;
-
-#endregion
-
-namespace Device.Pump.GUI.ViewModels
-{
- public class SyringePumpViewModel : ReactiveValidationObject
- {
- public string AppVersion { get; set; }
-
- [Reactive] public List Ports { get; set; }
-
- [Reactive] public string SelectedPort { get; set; }
- [Reactive] public bool Connected { get; set; }
-
- [Reactive] public ObservableCollection HarpMessages { get; set; }
-
- [Reactive] public bool StepStateEvent { get; set; } = true;
- [Reactive] public bool DirectionStateEvent { get; set; } = true;
- [Reactive] public bool SwitchForwardStateEvent { get; set; } = true;
- [Reactive] public bool SwitchReverseStateEvent { get; set; } = true;
- [Reactive] public bool InputStateEvent { get; set; } = true;
- [Reactive] public bool ProtocolStateEvent { get; set; } = true;
-
- [Reactive] public int ProtocolType { get; set; }
-
- [Reactive] public string DeviceName { get; set; }
- [Reactive] public int DeviceID { get; set; }
- [Reactive] public HarpVersion HardwareVersion { get; set; }
- [Reactive] public HarpVersion FirmwareVersion { get; set; }
-
- [Reactive] public int NumberOfSteps { get; set; } = 15;
- [Reactive] public int StepPeriod { get; set; } = 10;
- [Reactive] public float Flowrate { get; set; } = 0.5f;
- [Reactive] public float Volume { get; set; } = 0.5f;
- [Reactive] public int MotorMicrostep { get; set; }
- [Reactive] public int DigitalInput0Config { get; set; }
- [Reactive] public int DigitalOutput0Config { get; set; }
- [Reactive] public int DigitalOutput1Config { get; set; }
- [Reactive] public int CalibrationValue1 { get; set; }
- [Reactive] public int CalibrationValue2 { get; set; }
-
- [ObservableAsProperty]
- public bool IsLoadingPorts { get; }
-
- [ObservableAsProperty]
- public bool IsConnecting { get; }
-
- [ObservableAsProperty]
- public bool IsResetting { get; }
-
- [ObservableAsProperty]
- public bool IsSaving { get; }
-
- public ReactiveCommand LoadDeviceInformation { get; }
- public ReactiveCommand ConnectAndGetBaseInfoCommand{ get; }
- public ReactiveCommand SaveConfigurationCommand{ get; }
- public ReactiveCommand ResetConfigurationCommand{ get; }
-
- private Bonsai.Harp.Device _dev;
- private Subject _msgsSubject;
-
- public SyringePumpViewModel()
- {
- var assembly = typeof(SyringePumpViewModel).Assembly;
- var informationVersion = assembly.GetCustomAttribute().InformationalVersion;
- AppVersion = "v" + informationVersion;
-
- LoadDeviceInformation = ReactiveCommand.CreateFromObservable(LoadUSBInformation);
- LoadDeviceInformation.IsExecuting.ToPropertyEx(this, x => x.IsLoadingPorts);
-
- // can connect if there is a selection and also if the new selection is different than the old one
- var canConnect = this.WhenAnyValue(x => x.SelectedPort)
- .Select(selectedPort => !string.IsNullOrEmpty(selectedPort));
-
- ConnectAndGetBaseInfoCommand = ReactiveCommand.CreateFromObservable(ConnectAndGetBaseInfo, canConnect);
- ConnectAndGetBaseInfoCommand.IsExecuting.ToPropertyEx(this, x => x.IsConnecting);
- ConnectAndGetBaseInfoCommand.ThrownExceptions.Subscribe(ex => Console.WriteLine(ex.Message));
-
- var canChangeConfig = this.WhenAnyValue(x => x.Connected).Select(connected => connected);
- SaveConfigurationCommand = ReactiveCommand.CreateFromObservable(SaveConfiguration, canChangeConfig);
- SaveConfigurationCommand.IsExecuting.ToPropertyEx(this, x => x.IsSaving);
-
- ResetConfigurationCommand = ReactiveCommand.CreateFromObservable(ResetConfiguration, canChangeConfig);
- ResetConfigurationCommand.IsExecuting.ToPropertyEx(this, x => x.IsResetting);
-
- HarpMessages = new ObservableCollection();
- // TODO: missing properly dispose of this
- _msgsSubject = new Subject();
-
- // Validation rules
- this.ValidationRule(viewModel => viewModel.NumberOfSteps,
- steps => steps > 0 && steps < 65535,
- "Number of steps only accepts integer values between 1 and 65535");
- this.ValidationRule(viewModel => viewModel.StepPeriod,
- period => period > 0 && period < 65535,
- "Step Period only accepts integer values between 1 and 65535");
- this.ValidationRule(viewModel => viewModel.Flowrate,
- flowRate => flowRate >= 0.5f && flowRate <= 2000f,
- "Flowrate only accepts float values between 0.5 and 2000");
- this.ValidationRule(viewModel => viewModel.Volume,
- volume => volume >= 0.5f && volume <= 2000f,
- "Volume only accepts float values between 0.5 and 2000");
-
- // force initial population of currently connected ports
- LoadUSBInformation();
- }
-
- public IObservable LoadUSBInformation()
- {
- return Observable.Start(() =>
- {
- var devices = SerialPort.GetPortNames();
-
- if (OperatingSystem.IsMacOS())
- Ports = devices?.Where(d => d.Contains("cu.")).ToList();
- else
- Ports = devices?.ToList();
- });
- }
-
- private IObservable SaveConfiguration(bool savePermanently)
- {
- return Observable.StartAsync(async () =>
- {
- if (_dev == null)
- throw new Exception("You need to connect to the device first");
-
- var msgs = new List();
-
- // send commands to save every config (verify each step for board's reply)
-
- // events
- byte events = (byte) ((Convert.ToByte(StepStateEvent) << 0) |
- (Convert.ToByte(DirectionStateEvent) << 1) |
- (Convert.ToByte(SwitchForwardStateEvent) << 2) |
- (Convert.ToByte(SwitchReverseStateEvent) << 3) |
- (Convert.ToByte(InputStateEvent) << 4) |
- (Convert.ToByte(ProtocolStateEvent) << 5));
- var eventsMessage = HarpCommand.WriteByte((int) PumpRegisters.EventsEnable, events);
- msgs.Add(eventsMessage);
-
- // motor microstep
- byte motor = Convert.ToByte(MotorMicrostep);
- var motorMessage = HarpCommand.WriteByte((int) PumpRegisters.MotorMicrostep, motor);
- msgs.Add(motorMessage);
-
- // di0, do0 and do1
- byte di0 = Convert.ToByte(DigitalInput0Config);
- var di0Message = HarpCommand.WriteByte((int) PumpRegisters.DigitalInput0Config, di0);
- msgs.Add(di0Message);
-
- byte do0 = Convert.ToByte(DigitalOutput0Config);
- var do0Message = HarpCommand.WriteByte((int) PumpRegisters.DigitalOutput0Config, do0);
- msgs.Add(do0Message);
-
- byte do1 = Convert.ToByte(DigitalOutput1Config);
- var do1Message = HarpCommand.WriteByte((int) PumpRegisters.DigitalOutput1Config, do1);
- msgs.Add(do1Message);
-
- // protocol
- // protocol type
- byte protocolType = Convert.ToByte(ProtocolType);
- var protocolTypeMessage = HarpCommand.WriteByte((int) PumpRegisters.ProtocolType, protocolType);
- msgs.Add(protocolTypeMessage);
- // if step:
- if (protocolType == 0)
- {
- // number of steps
- ushort numberOfSteps = Convert.ToUInt16(NumberOfSteps);
- var numberOfStepsMessage =
- HarpCommand.WriteUInt16((int) PumpRegisters.ProtocolNumberOfSteps, numberOfSteps);
- msgs.Add(numberOfStepsMessage);
-
- // step period
- ushort stepPeriod = Convert.ToUInt16(StepPeriod);
- var stepPeriodMessage = HarpCommand.WriteUInt16((int) PumpRegisters.ProtocolStepPeriod, stepPeriod);
- msgs.Add(stepPeriodMessage);
- }
- else
- {
- // flowrate
- float flowrate = Convert.ToSingle(Flowrate);
- var flowrateMessage = HarpCommand.WriteSingle((int) PumpRegisters.ProtocolFlowrate, flowrate);
- msgs.Add(flowrateMessage);
- // volume
- float volume = Convert.ToSingle(Volume);
- var volumeMessage = HarpCommand.WriteSingle((int) PumpRegisters.ProtocolVolume, volume);
- msgs.Add(volumeMessage);
-
- // calibration val 1
- byte calValue1 = Convert.ToByte(CalibrationValue1);
- var calValue1Message = HarpCommand.WriteByte((int) PumpRegisters.CalibrationValue1, calValue1);
- msgs.Add(calValue1Message);
-
- // calibration val 2
- byte calValue2 = Convert.ToByte(CalibrationValue2);
- var calValue2Message = HarpCommand.WriteByte((int) PumpRegisters.CalibrationValue2, calValue2);
- msgs.Add(calValue2Message);
- }
-
- // FIXME: remove this, for testing purposes only
- //HarpMessage startProtocolMessage = HarpCommand.WriteByte(address: (int) PumpRegisters.StartProtocol, 1);
- //msgs.Add(startProtocolMessage);
-
- if (savePermanently)
- {
- var resetMessage = HarpCommand.Reset(ResetMode.Save);
- msgs.Add(resetMessage);
- }
-
- // send all messages independently of the save type
- HarpMessages.Clear();
-
- var observer = Observer.Create(item => HarpMessages.Add(item.ToString()),
- (ex) => { HarpMessages.Add($"Error while sending commands to device:{ex.Message}"); },
- () => HarpMessages.Add("Completed sending commands to device"));
-
- // TODO: missing properly dispose of this observable
- var observable = _dev.Generate(_msgsSubject)
- .Subscribe(observer);
-
- foreach (var harpMessage in msgs)
- {
- _msgsSubject.OnNext(harpMessage);
- }
-
- await Task.Delay(500);
- observable.Dispose();
- });
- }
-
- private IObservable ResetConfiguration()
- {
- return Observable.StartAsync(async () =>
- {
- var resetMessage = HarpCommand.Reset(ResetMode.RestoreDefault);
-
- var observer = Observer.Create(item => HarpMessages.Add(item.ToString()),
- (ex) => { HarpMessages.Add($"Error while sending commands to device:{ex.Message}"); },
- () => HarpMessages.Add("Completed sending commands to device"));
-
- var observable = _dev.Generate(_msgsSubject)
- .Subscribe(observer);
-
- _msgsSubject.OnNext(resetMessage);
-
- await Task.Delay(200);
-
- observable.Dispose();
-
- await Task.Delay(2000);
-
- await ConnectAndGetBaseInfo();
-
- // send message to opened device
- // //TODO: when we have the observable from the receiving data, we should present a message stating if the operation completed successfully
- });
- }
-
- private IObservable ConnectAndGetBaseInfo()
- {
- return Observable.StartAsync(async () =>
- {
- if (string.IsNullOrEmpty(SelectedPort))
- throw new Exception("invalid parameter");
-
- StringBuilder sb = new StringBuilder();
- var writer = new StringWriter(sb);
- Console.SetOut(writer);
-
- if (_dev == null || string.Compare(_dev.PortName, SelectedPort, StringComparison.Ordinal) != 0)
- {
- _dev = new Bonsai.Harp.Device();
- _dev.PortName = SelectedPort;
- }
-
- // to guarantee that we give enough time to get the data from the device
- await Task.Delay(250);
-
- HarpMessages.Clear();
-
- var observer = Observer.Create(UpdateUI,
- (ex) => { HarpMessages.Add($"Error while sending commands to device:{ex.Message}"); },
- () => HarpMessages.Add("Completed sending commands to device"));
-
- var observable = _dev.Generate().Where(item =>
- item.MessageType == MessageType.Read && item.Address >= (int) (PumpRegisters.EnableMotorDriver))
- .Subscribe(observer);
-
- await Task.Delay(300);
-
- var info = sb.ToString().Split(Environment.NewLine);
- // [1] = WhoAmI: 1280
- // [2] = Hw: 1.0
- // [3] = Fw: 1.0
- // [5] = DeviceName: Pump \0\0\0\0\0\0
- if (info.Length < 6)
- {
- // TODO: something went wrong, handle this
- }
- else
- {
- int id = Convert.ToInt32(info[1].Split(':')[1].Trim());
- if (id != 1280)
- {
- //TODO: Although it's a Harp device, it is not the right one, so we should present an error.
-
- }
-
- DeviceName = ((INamedElement) _dev).Name.TrimEnd('\0').ToUpper();
- DeviceID = id;
-
- // convert Hw and Fw version
- HardwareVersion = HarpVersion.Parse(info[2].Split(':')[1].Trim());
- FirmwareVersion = HarpVersion.Parse(info[3].Split(':')[1].Trim());
- }
-
- writer.Close();
-
- // return Console output to default
- Console.SetOut(new StreamWriter(Console.OpenStandardOutput()));
- await writer.DisposeAsync();
-
- Connected = true;
-
- observable.Dispose();
- });
- }
-
- private void UpdateUI(HarpMessage item)
- {
- switch ((PumpRegisters)item.Address)
- {
- case PumpRegisters.EnableMotorDriver:
- case PumpRegisters.StartProtocol:
- case PumpRegisters.StepState:
- case PumpRegisters.DirState:
- case PumpRegisters.SwitchForwardState:
- case PumpRegisters.SwitchReverseState:
- case PumpRegisters.InputState:
- break;
- case PumpRegisters.SetDigitalOutputs:
- //TODO: add this element to the UI
- break;
- case PumpRegisters.ClearDigitalOutputs:
- //TODO: add this element to the UI
- break;
- case PumpRegisters.DigitalOutput0Config:
- DigitalOutput0Config = item.GetPayloadByte();
- break;
- case PumpRegisters.DigitalOutput1Config:
- DigitalOutput1Config = item.GetPayloadByte();
- break;
- case PumpRegisters.DigitalInput0Config:
- DigitalInput0Config = item.GetPayloadByte();
- break;
- case PumpRegisters.MotorMicrostep:
- MotorMicrostep = item.GetPayloadByte();
- break;
- case PumpRegisters.ProtocolNumberOfSteps:
- NumberOfSteps = item.GetPayloadUInt16();
- break;
- case PumpRegisters.ProtocolFlowrate:
- Flowrate = item.GetPayloadSingle();
- break;
- case PumpRegisters.ProtocolStepPeriod:
- StepPeriod = item.GetPayloadUInt16();
- break;
- case PumpRegisters.ProtocolVolume:
- Volume = item.GetPayloadSingle();
- break;
- case PumpRegisters.ProtocolType:
- ProtocolType = item.GetPayloadByte();
- break;
- case PumpRegisters.CalibrationValue1:
- CalibrationValue1 = item.GetPayloadByte();
- break;
- case PumpRegisters.CalibrationValue2:
- CalibrationValue2 = item.GetPayloadByte();
- break;
- case PumpRegisters.EventsEnable:
- byte all = item.GetPayloadByte();
-
- StepStateEvent = GetBit(all, 0);
- DirectionStateEvent = GetBit(all, 1);
- SwitchForwardStateEvent = GetBit(all, 2);
- SwitchReverseStateEvent = GetBit(all, 3);
- InputStateEvent = GetBit(all, 4);
- ProtocolStateEvent = GetBit(all, 5);
-
- break;
- case PumpRegisters.SetBoardType:
- break;
- case PumpRegisters.ProtocolState:
- break;
- default:
- throw new ArgumentOutOfRangeException();
- }
- }
-
- private bool GetBit(byte b, int pos)
- {
- return Convert.ToBoolean((b >> pos) & 1);
- }
- }
-}
diff --git a/PCB/harp syringe pump v1.1.brd b/PCB/harp syringe pump v1.1.brd
new file mode 100644
index 0000000..009cb93
--- /dev/null
+++ b/PCB/harp syringe pump v1.1.brd
@@ -0,0 +1,7553 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+harp pump v1.1
+Licensed under the TAPR Open Hardware
+License (www.tapr.org/OHL)
+12V
+Only!
+Hardware Platform
+www.cf-hw.org
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+CLKIN
+DO0
+DO1
+GND
+DI0
+STEP
+DIR
+GND
+MS1
+MS2
+MS3
+!EN
+GND
+1B
+1A
+2A
+2B
+SW_F
+SW_R
+3V - 5V
+GND
+Hardware Platform
+www.cf-hw.org
+
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Chip RESISTOR 0402 EIA (1005 Metric)</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor Type KEMET A / EIA 3216-18 Wave solder</b><p>
+KEMET S / EIA 3216-12
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Panasonic Aluminium Electrolytic Capacitor VS-Serie Package E</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Chip RESISTOR 0402 EIA (1005 Metric)
+
+
+
+
+
+CAPACITOR
+
+
+
+
+
+Chip, 1.00 X 0.50 X 0.60 mm body
+<p>Chip package with body size 1.00 X 0.50 X 0.60 mm</p>
+
+
+
+
+
+Chip Capacitor Type KEMET A / EIA 3216-18 Wave solder
+KEMET S / EIA 3216-12
+
+
+
+
+
+RESISTOR
+
+
+
+
+
+Panasonic Aluminium Electrolytic Capacitor VS-Serie Package E
+
+
+
+
+
+RESISTOR
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
++
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+>NAME
+1
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+1
+>VALUE
+
+
+
+
+
+
+
+
+
+
+<b>FTDI (TM) CHIP</b> Future Technology Devices International Ltd.<p>
+http://www.ftdichip.com
+
+
+<b>Shrink Small Outline Package</b> SSOP-28<p>
+http://www.ftdichip.com/Documents/DataSheets/DS_FT232R_v104.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Shrink Small Outline Package SSOP-28
+http://www.ftdichip.com/Documents/DataSheets/DS_FT232R_v104.pdf
+
+
+
+
+
+
+
+<b>Pin Headers</b><p>
+Naming:<p>
+MA = male<p>
+# contacts - # rows<p>
+W = angled<p>
+<author>Created by librarian@cadsoft.de</author>
+
+
+<b>PIN HEADER</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+>NAME
+6
+>VALUE
+
+
+
+
+
+
+
+
+
+
+PIN HEADER
+
+
+
+
+
+
+
+<B>ATMEL XMEGA A4 Microcontroller</b><p>
+<B> ATxmega A4 TQFP44, VQFN44 and VFBGA49 </b><p>
+http://www.atmel.com/<p>
+<author>Created by S.Hofmann mc_sho@gmx.de</author>
+
+
+<b>TQFP-44</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>NAME
+>VALUE
+
+
+
+
+<b>Molex Connectors</b><p>
+<author>Created by librarian@cadsoft.de</author>
+
+
+<b>KK® 254 Solid Header, Vertical, with Friction Lock, 4 Circuits, Tin (Sn) Plating</b><p><a href =http://www.molex.com/pdm_docs/sd/022232041_sd.pdf>Datasheet </a>
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>KK® 254 Solid Header, Vertical, with Friction Lock, 4 Circuits, Tin (Sn) Plating</b><p><a href =http://www.molex.com/pdm_docs/sd/022232041_sd.pdf>Datasheet </a>
+
+
+
+
+
+
+
+<b>Allegro MicroSystems, Inc</b><p>
+www.allegromicro.com<br>
+<author>Created by librarian@cadsoft.de</author>
+
+
+<b>28 Pin QFN ET</b><p>
+Auto generated by <i>make-symbol-device-package-bsdl.ulp Rev. 32</i><br>
+Source: http://www.allegromicro.com/en/Products/Part_Numbers/4983/4983.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+28 Pin QFN ET
+Auto generated by make-symbol-device-package-bsdl.ulp Rev. 32
+Source: http://www.allegromicro.com/en/Products/Part_Numbers/4983/4983.pdf
+
+
+
+
+
+
+
+<b>Linear Devices</b><p>
+Operational amplifiers, comparators, voltage regulators, ADCs, DACs, etc.<p>
+<author>Created by librarian@cadsoft.de</author>
+
+
+<b>TO-263 3-Lead Plastic Surface Mount Package</b> NS Package Number TS3B<p>
+Source. http://cache.national.com/ds/LM/LM2937-2.5.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+TO-263 3-Lead Plastic Surface Mount Package NS Package Number TS3B
+Source. http://cache.national.com/ds/LM/LM2937-2.5.pdf
+
+
+
+
+
+
+
+<b>Jumpers</b><p>
+<author>Created by librarian@cadsoft.de</author>
+
+
+<b>JUMPER</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+1
+2
+3
+>VALUE
+
+
+
+
+
+<b>Solder jumper</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+JUMPER
+
+
+
+
+
+Solder jumper
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>VALUE
+>NAME
+
+
+
+
+
+
+
+
+
+
+<b>Molex Connectors</b><p>
+<author>Created by librarian@cadsoft.de</author>
+
+
+.100" (2.54mm) Center Headers - 2 Pin
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<p>
+<b>Eurocircuits-EAGLE design rules</b><br>
+<br>
+Setup for <b>2-layer PatternClass5 BaseCopperO18</b>
+<p>
+ The option <b>Sizes-Minimum Drill</b> is set to 0.35mm. This minimum drill endsize can be set lower if needed. Values below 0.25mm will result in a higher DrillClassification. For details see the Eurocircuits Classification overview.
+<p>
+<u>Extra Notes:</u><br>
+- The option <b>Distance-Copper/Dimension</b> is set to 0.25mm, the default for boards with a routed boardoutline. If you require Vcut on your board this parameter should be set to 0.45mm.<br>
+- The option <b>Supply-Generate thermals for vias</b> is on by default but may be changed if required.<br>
+- The option <b>Mask-Stop</b> is set to 0mm oversize which is the preffered value.<br>
+- The option <b>Mask-Cream</b> is set to 0mm oversize by default, but may be changed if required<br>
+- The option <b>Mask-Limit</b> is set to 0.45mm, resulting in covered or tented via holes for vias of 0.45mm and smaller. The option may be changed if required.<br>
+- The options <b>Shapes</b> and <b>Misc</b> are not relevant. Values for <b>Shapes-Smds-Roundness</b> are not critical and can be set as you require.
+<p>
+<p>
+You can set higher minimum values if you wish, setting lower minimum values is <u>not advisable</u>.<br>
+If you need lower minimum values, please use a different Eurocircuits-EAGLE design rule file. For details see the Eurocircuits-EAGLE dru overview table.
+<p>
+Your Eurocircuits Team
+
+
+
+
+<p>
+<b>Eurocircuits-EAGLE design rules</b><br>
+<br>
+Setup for <b>2-layer PatternClass5 BaseCopperO18</b>
+<p>
+ The option <b>Sizes-Minimum Drill</b> is set to 0.35mm. This minimum drill endsize can be set lower if needed. Values below 0.25mm will result in a higher DrillClassification. For details see the Eurocircuits Classification overview.
+<p>
+<u>Extra Notes:</u><br>
+- The option <b>Distance-Copper/Dimension</b> is set to 0.25mm, the default for boards with a routed boardoutline. If you require Vcut on your board this parameter should be set to 0.45mm.<br>
+- The option <b>Supply-Generate thermals for vias</b> is on by default but may be changed if required.<br>
+- The option <b>Mask-Stop</b> is set to 0mm oversize which is the preffered value.<br>
+- The option <b>Mask-Cream</b> is set to 0mm oversize by default, but may be changed if required<br>
+- The option <b>Mask-Limit</b> is set to 0.45mm, resulting in covered or tented via holes for vias of 0.45mm and smaller. The option may be changed if required.<br>
+- The options <b>Shapes</b> and <b>Misc</b> are not relevant. Values for <b>Shapes-Smds-Roundness</b> are not critical and can be set as you require.
+<p>
+<p>
+You can set higher minimum values if you wish, setting lower minimum values is <u>not advisable</u>.<br>
+If you need lower minimum values, please use a different Eurocircuits-EAGLE design rule file. For details see the Eurocircuits-EAGLE dru overview table.
+<p>
+Your Eurocircuits Team
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Since Version 6.2.2 text objects can contain more than one line,
+which will not be processed correctly with this version.
+
+
+Since Version 8.2, EAGLE supports online libraries. The ids
+of those online libraries will not be understood (or retained)
+with this version.
+
+
+Since Version 8.3, EAGLE supports URNs for individual library
+assets (packages, symbols, and devices). The URNs of those assets
+will not be understood (or retained) with this version.
+
+
+Since Version 8.3, EAGLE supports the association of 3D packages
+with devices in libraries, schematics, and board files. Those 3D
+packages will not be understood (or retained) with this version.
+
+
+
diff --git a/PCB/harp syringe pump v1.1.sch b/PCB/harp syringe pump v1.1.sch
new file mode 100644
index 0000000..0204dbd
--- /dev/null
+++ b/PCB/harp syringe pump v1.1.sch
@@ -0,0 +1,21756 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>DRAWING_NAME
+>LAST_DATE_TIME
+>SHEET
+Sheet:
+
+
+
+
+
+<b>FRAME</b><p>
+DIN A3, landscape with location and doc. field
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip RESISTOR 0402 EIA (1005 Metric)</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Chip Capacitor Type KEMET A / EIA 3216-18 Wave solder</b><p>
+KEMET S / EIA 3216-12
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Panasonic Aluminium Electrolytic Capacitor VS-Serie Package E</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>CAPACITOR</b><p>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>CAPACITOR</b><p>
+grid 2.5 mm, outline 2.4 x 4.4 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 2.5 mm, outline 2.5 x 5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 2.5 mm, outline 3 x 5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 2.5 mm, outline 4 x 5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 2.5 mm, outline 5 x 5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 2.5 mm, outline 6 x 5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 2.5 mm + 5 mm, outline 2.4 x 7 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 2.5 + 5 mm, outline 2.5 x 7.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 2.5 + 5 mm, outline 3.5 x 7.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 2.5 + 5 mm, outline 4.5 x 7.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 2.5 + 5 mm, outline 5.5 x 7.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 5 mm, outline 2.4 x 4.4 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>CAPACITOR</b><p>
+grid 5 mm, outline 2.5 x 7.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 5 mm, outline 4.5 x 7.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 5 mm, outline 3 x 7.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 5 mm, outline 5 x 7.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 5 mm, outline 5.5 x 7.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 5 mm, outline 7.5 x 7.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+Horizontal, grid 5 mm, outline 7.5 x 7.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>CAPACITOR</b><p>
+grid 7.5 mm, outline 3.2 x 10.3 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 7.5 mm, outline 4.2 x 10.3 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 7.5 mm, outline 5.2 x 10.6 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 10.2 mm, outline 4.3 x 13.3 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 10.2 mm, outline 5.4 x 13.3 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 10.2 mm, outline 6.4 x 13.3 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 10.2 mm + 15.2 mm, outline 6.2 x 18.4 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 15 mm, outline 5.4 x 18.3 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 15 mm, outline 6.4 x 18.3 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 15 mm, outline 7.2 x 18.3 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 15 mm, outline 8.4 x 18.3 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 15 mm, outline 9.1 x 18.2 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 22.5 mm, outline 6.2 x 26.8 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 22.5 mm, outline 7.4 x 26.8 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 22.5 mm, outline 8.7 x 26.8 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 22.5 mm, outline 10.8 x 26.8 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 22.5 mm, outline 11.3 x 26.8 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 27.5 mm, outline 9.3 x 31.6 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 27.5 mm, outline 11.3 x 31.6 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 27.5 mm, outline 13.4 x 31.6 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 27.5 mm, outline 20.5 x 31.6 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 32.5 mm, outline 13.7 x 37.4 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 32.5 mm, outline 16.2 x 37.4 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 32.5 mm, outline 18.2 x 37.4 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 37.5 mm, outline 19.2 x 41.8 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 37.5 mm, outline 20.3 x 41.8 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 5 mm, outline 3.5 x 7.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 37.5 mm, outline 15.5 x 41.8 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 7.5 mm, outline 6.3 x 10.6 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 27.5 mm, outline 15.4 x 31.6 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CAPACITOR</b><p>
+grid 27.5 mm, outline 17.3 x 31.6 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Ceramic Chip Capacitor KEMET 0204 reflow solder</b><p>
+Metric Code Size 1005
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Ceramic Chip Capacitor KEMET 0603 reflow solder</b><p>
+Metric Code Size 1608
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Ceramic Chip Capacitor KEMET 0805 reflow solder</b><p>
+Metric Code Size 2012
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Ceramic Chip Capacitor KEMET 1206 reflow solder</b><p>
+Metric Code Size 3216
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Ceramic Chip Capacitor KEMET 1210 reflow solder</b><p>
+Metric Code Size 3225
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Ceramic Chip Capacitor KEMET 1812 reflow solder</b><p>
+Metric Code Size 4532
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Ceramic Chip Capacitor KEMET 1825 reflow solder</b><p>
+Metric Code Size 4564
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Ceramic Chip Capacitor KEMET 2220 reflow solder</b><p>Metric Code Size 5650
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Ceramic Chip Capacitor KEMET 2225 reflow solder</b><p>Metric Code Size 5664
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b> </b><p>
+Source: http://www.vishay.com/docs/10129/hpc0201a.pdf
+
+
+>NAME
+>VALUE
+
+
+
+Source: http://www.avxcorp.com/docs/catalogs/cx5r.pdf
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+<b>CAPACITOR</b><p>
+Source: AVX .. aphvc.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>CAPACITOR</b><p>
+Source: AVX .. aphvc.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>CAPACITOR</b>
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b> wave soldering<p>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+wave soldering
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+wave soldering
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+wave soldering
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+wave soldering
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+wave soldering
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+wave soldering
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+wave soldering
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+wave soldering
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+Source: http://download.siliconexpert.com/pdfs/2005/02/24/Semi_Ap/2/VSH/Resistor/dcrcwfre.pdf
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b> wave soldering<p>
+Source: http://download.siliconexpert.com/pdfs/2005/02/24/Semi_Ap/2/VSH/Resistor/dcrcwfre.pdf
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+MELF 0.10 W
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+MELF 0.25 W
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+MELF 0.12 W
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+MELF 0.10 W
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+MELF 0.25 W
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+MELF 0.25 W
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+MELF 0.12 W
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+MELF 0.25 W
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+type 0204, grid 5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0204, grid 7.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0204, grid 2.5 mm
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>RESISTOR</b><p>
+type 0207, grid 10 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0207, grid 12 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+<b>RESISTOR</b><p>
+type 0207, grid 15mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+<b>RESISTOR</b><p>
+type 0207, grid 2.5 mm
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>RESISTOR</b><p>
+type 0207, grid 5 mm
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>RESISTOR</b><p>
+type 0207, grid 7.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0309, grid 10mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0309, grid 12.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0309, grid 2.5 mm
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>RESISTOR</b><p>
+type 0411, grid 12.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0411, grid 15 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0411, grid 3.81 mm
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>RESISTOR</b><p>
+type 0414, grid 15 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0414, grid 5 mm
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>RESISTOR</b><p>
+type 0617, grid 17.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0617, grid 22.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0617, grid 5 mm
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>RESISTOR</b><p>
+type 0922, grid 22.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+<b>RESISTOR</b><p>
+type 0613, grid 5 mm
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>RESISTOR</b><p>
+type 0613, grid 15 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type 0817, grid 22.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+0817
+
+
+
+
+<b>RESISTOR</b><p>
+type 0817, grid 6.35 mm
+
+
+
+
+
+
+>NAME
+>VALUE
+0817
+
+
+
+<b>RESISTOR</b><p>
+type V234, grid 12.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type V235, grid 17.78 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>RESISTOR</b><p>
+type V526-0, grid 2.5 mm
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CECC Size RC2211</b> Reflow Soldering<p>
+source Beyschlag
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CECC Size RC2211</b> Wave Soldering<p>
+source Beyschlag
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CECC Size RC3715</b> Reflow Soldering<p>
+source Beyschlag
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CECC Size RC3715</b> Wave Soldering<p>
+source Beyschlag
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CECC Size RC6123</b> Reflow Soldering<p>
+source Beyschlag
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CECC Size RC6123</b> Wave Soldering<p>
+source Beyschlag
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>RESISTOR</b><p>
+type 0922, grid 7.5 mm
+
+
+
+
+
+
+>NAME
+>VALUE
+0922
+
+
+
+<b>RESISTOR</b><p>
+type RDH, grid 15 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+RDH
+
+
+
+
+<b>Mini MELF 0102 Axial</b>
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>RESISTOR</b> chip<p>
+Source: http://www.vishay.com/docs/20008/dcrcw.pdf
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Bulk Metal® Foil Technology</b>, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements<p>
+MIL SIZE RBR52<br>
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Bulk Metal® Foil Technology</b>, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements<p>
+MIL SIZE RBR53<br>
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Bulk Metal® Foil Technology</b>, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements<p>
+MIL SIZE RBR54<br>
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Bulk Metal® Foil Technology</b>, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements<p>
+MIL SIZE RBR55<br>
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Bulk Metal® Foil Technology</b>, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements<p>
+MIL SIZE RBR56<br>
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Bulk Metal® Foil Technology</b>, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements<p>
+MIL SIZE RNC55<br>
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Bulk Metal® Foil Technology</b>, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements<p>
+MIL SIZE RNC60<br>
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Package 4527</b><p>
+Source: http://www.vishay.com/docs/31059/wsrhigh.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Wirewound Resistors, Precision Power</b><p>
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Wirewound Resistors, Precision Power</b><p>
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Wirewound Resistors, Precision Power</b><p>
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Wirewound Resistors, Precision Power</b><p>
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Wirewound Resistors, Precision Power</b><p>
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Wirewound Resistors, Precision Power</b><p>
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>CRCW1218 Thick Film, Rectangular Chip Resistors</b><p>
+Source: http://www.vishay.com .. dcrcw.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Chip Monolithic Ceramic Capacitors</b> Medium Voltage High Capacitance for General Use<p>
+Source: http://www.murata.com .. GRM43DR72E224KW01.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>PRL1632 are realized as 1W for 3.2 × 1.6mm(1206)</b><p>
+Source: http://www.mouser.com/ds/2/392/products_18-2245.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+<b>TANTALUM CAPACITOR</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>TANTALUM CAPACITOR</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>TANTALUM CAPACITOR</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>TANTALUM CAPACITOR</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+body 5 x 5 mm, rectangle, grid 2.54 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+body 7.6 x 5 mm, rectangle, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+body 12.7 x 7.6 mm, rectangle, grid 10.16 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+body 12.5 x 12.5 mm, rectangle, grid 10.16 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 4 mm, grid 2.54 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 4 mm, grid 2.54 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 5 mm, grid 2.54 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 6 mm, grid 2.54 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 6 mm, grid 2.54 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 7 mm, grid 2.54 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 7 mm, grid 2.54 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 10 mm, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 11 mm, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 11 mm, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 6 mm, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 6 mm, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 7 mm, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 7 mm, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 9 mm, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 9 mm, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+rectangle, grid 2.54 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+rectangle, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+rectangle, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+rectangle, grid 10.16 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+rectangle, grid 10.16 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 4.5 mm, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 5.0 mm, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 7.0 mm, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 6.0 mm, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 8.0 mm, grid 5.08 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 1.8 mm, diameter 4 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 15.24 mm, diameter 5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 15.24 mm, diameter 6 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 15.24 mm, diameter 9 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 2.54 mm, diameter 4 mm
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 2.54 mm, diameter 5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 2.54 mm, diameter 6 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 2.54 mm, diameter 7 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 2.54 mm, diameter 4 mm,
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 2 mm, diameter 4 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 2.032 mm, diameter 5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 22.86 mm, diameter 10 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 22.86 mm, diameter 6 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 22.86 mm, diameter 9 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 3.5 mm, diameter 10 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 25.4 mm, diameter 10 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 25.4 mm, diameter 9 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 3.5 mm, diameter 8 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 30.48 mm, diameter 10 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 30.48 mm, diameter 12 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 30.48 mm, diameter 16 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 35.56 mm, diameter 12 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 30.48 mm, diameter 14 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 30.48 mm, diameter 16 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 30.48 mm, diameter 18 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 45.72 mm, diameter 16 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 45.72 mm, diameter 18 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 45.72 mm, diameter 21 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 45.72 mm, diameter 22 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 45.72 mm, diameter 25 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 5.08 mm, diameter 10.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 5.08 mm, diameter 13 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 5.05 mm, diameter 4 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 5.08 mm, diameter 5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 5.08 mm, diameter 6 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 5.08 mm, diameter 8.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 50 mm, diameter 25 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 50 mm, diameter 30 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 55 mm, diameter 25 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 55 mm, diameter 30 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 5.08 mm, diameter 9 mm
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 7.62 mm, diameter 16 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 7.62 mm, diameter 18 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 10.16 mm, diameter 20 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 10.16 mm, diameter 22.5 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 10.16 mm, diameter 25 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 10.16 mm, diameter 30 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 10.16 mm, diameter 35 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>Aluminum electrolytic capacitors</b> reflow soldering<p>
+SMD (Chip) Standard 085 CS<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Aluminum electrolytic capacitors</b> wave soldering<p>
+SMD (Chip) Standard 085 CS<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Aluminum electrolytic capacitors</b> reflow soldering<p>
+SMD (Chip) Standard 085 CS<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Aluminum electrolytic capacitors</b> wave soldering<p>
+SMD (Chip) Standard 085 CS<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Aluminum electrolytic capacitors</b> reflow soldering<p>
+SMD (Chip) Long Life 139 CLL<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Aluminum electrolytic capacitors</b> wave soldering<p>
+SMD (Chip) Long Life 139 CLL<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Aluminum electrolytic capacitors</b> reflow soldering<p>
+SMD (Chip) Long Life 139 CLL<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Aluminum electrolytic capacitors</b> wave soldering<p>
+SMD (Chip) Long Life 139 CLL<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>Aluminum electrolytic capacitors SMD (Chip)</b><p>
+Long life base plate, High temperature 140 CLH<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Aluminum electrolytic capacitors SMD (Chip)</b><p>
+Long life base plate, High temperature 140 CLH<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Aluminum electrolytic capacitors SMD (Chip)</b><p>
+Long life base plate, High temperature 140 CLH<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Aluminum electrolytic capacitors SMD (Chip)</b><p>
+Long life base plate, very low impedance 150 CLZ<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Aluminum electrolytic capacitors SMD (Chip)</b><p>
+Long life base plate, very low impedance 150 CLZ<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Aluminum electrolytic capacitors SMD (Chip)</b><p>
+Long life base plate, very low impedance 150 CLZ<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Aluminum electrolytic capacitors</b><p>
+SMD (Chip) Long Life Vertical 153 CLV<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Aluminum electrolytic capacitors</b><p>
+SMD (Chip) Long Life Vertical 153 CLV<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Aluminum electrolytic capacitors</b><p>
+SMD (Chip) Long Life Vertical 153 CLV<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Aluminum electrolytic capacitors</b><p>
+SMD (Chip) Long Life Vertical 153 CLV<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Aluminum electrolytic capacitors</b><p>
+SMD (Chip) Long Life Vertical 153 CLV<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Aluminum electrolytic capacitors</b><p>
+SMD (Chip) Long Life Vertical 153 CLV<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Aluminum electrolytic capacitors</b><p>
+SMD (Chip) Long Life Vertical 153 CLV<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Aluminum electrolytic capacitors</b><p>
+SMD (Chip) Long Life Vertical 153 CLV<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Aluminum electrolytic capacitors</b><p>
+High Temperature solid electrolytic SMD 175 TMP<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Aluminum electrolytic capacitors</b><p>
+High Temperature solid electrolytic SMD 175 TMP<p>
+http://www.bccomponents.com/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>Chip Capacitor Type KEMET A / EIA 3216-18 reflow solder</b><p>KEMET S / EIA 3216-12
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor Type KEMET B / EIA 3528-21 reflow solder</b><p>KEMET T / EIA 3528-12
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor Type KEMET B / EIA 3528-21 Wave solder</b><p>
+KEMET T / EIA 3528-12
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor Type KEMET C / EIA 6032-28 reflow solder</b><p>KEMET U / EIA 6032-15
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor Type KEMET C / EIA 6032-28 Wafe solder</b><p>
+KEMET U / EIA 6032-15
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor Type KEMET D / EIA 7343-21</b><p>KEMET V / EIA 7343-20, KEMET X / EIA 7343-43 reflow solder
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor Type KEMET D / EIA 7343-21</b><p>
+KEMET V / EIA 7343-20, KEMET X / EIA 7343-43 Wafe solder
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor Type KEMET E / EIA 7260-38 reflow solder</b>
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor Type KEMET E / EIA 7260-38 Wafe solder</b>
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor Type KEMET R/EIA 2012-12 reflow solder</b>
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor Type KEMET R/EIA 2012-12 Wafe solder</b>
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Panasonic Aluminium Electrolytic Capacitor VS-Serie Package A</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>Panasonic Aluminium Electrolytic Capacitor VS-Serie Package B</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>Panasonic Aluminium Electrolytic Capacitor VS-Serie Package C</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>Panasonic Aluminium Electrolytic Capacitor VS-Serie Package D</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>Panasonic Aluminium Electrolytic Capacitor VS-Serie Package F</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>Panasonic Aluminium Electrolytic Capacitor VS-Serie Package G</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+diameter 5 mm, grid 2.54 mm
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+TT
+
+
+
+
+
+
+
+<b>ELECTROLYTIC CAPACITOR</b><p>
+grid 2.54 mm, diameter 6 mm
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>Chip Capacitor </b> Polar tantalum capacitors with solid electrolyte<p>
+Siemens Matsushita Components B 45 194, B 45 197, B 45 198<br>
+Source: www.farnell.com/datasheets/247.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor</b> Polar tantalum capacitors with solid electrolyte<p>
+Siemens Matsushita Components B 45 194<br>
+Source: www.farnell.com/datasheets/247.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor</b> Polar tantalum capacitors with solid electrolyte<p>
+Siemens Matsushita Components B 45 194<br>
+Source: www.farnell.com/datasheets/247.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor </b> Polar tantalum capacitors with solid electrolyte<p>
+Siemens Matsushita Components B 45 194, B 45 197, B 45 198<br>
+Source: www.farnell.com/datasheets/247.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor </b> Polar tantalum capacitors with solid electrolyte<p>
+Siemens Matsushita Components B 45 194, B 45 197, B 45 198<br>
+Source: www.farnell.com/datasheets/247.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor </b> Polar tantalum capacitors with solid electrolyte<p>
+Siemens Matsushita Components B 45 194, B 45 197, B 45 198<br>
+Source: www.farnell.com/datasheets/247.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>Chip Capacitor </b> Polar tantalum capacitors with solid electrolyte<p>
+Siemens Matsushita Components B 45 194, B 45 197, B 45 198<br>
+Source: www.farnell.com/datasheets/247.pdf
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b><p>
+Source: e_os_all.pdf
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>SANYO OSCON Capacitor</b> SMD type with conductive polymer electrolyte<p>
+Source: e_os_all.pdf
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+<b>SANYO OSCON Capacitor</b> SMD type with conductive polymer electrolyte<p>
+Source: e_os_all.pdf
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+<b>SANYO OSCON Capacitor</b> SMD type with conductive polymer electrolyte<p>
+Source: e_os_all.pdf
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+<b>SANYO OSCON Capacitor</b> SMD type with conductive polymer electrolyte<p>
+Source: e_os_all.pdf
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+<b>SANYO OSCON Capacitor</b> SMD type with conductive polymer electrolyte<p>
+Source: e_os_all.pdf
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+<b>SANYO OSCON Capacitor</b> SMD type with conductive polymer electrolyte<p>
+Source: e_os_all.pdf
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+<b>SANYO OSCON Capacitor</b> SMD type with conductive polymer electrolyte<p>
+Source: e_os_all.pdf
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+<b>ALUMINUM ELECTROLYTIC CAPACITORS</b> UD Series 10 x 10 mm<p>
+Source: http://products.nichicon.co.jp/en/pdf/XJA043/e-ud.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+<b>ALUMINUM ELECTROLYTIC CAPACITORS</b> UD Series 4 x 5.8 mm<p>
+Source: http://products.nichicon.co.jp/en/pdf/XJA043/e-ud.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+<b>ALUMINUM ELECTROLYTIC CAPACITORS</b> UD Series 5 x 5.8 mm<p>
+Source: http://products.nichicon.co.jp/en/pdf/XJA043/e-ud.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+<b>ALUMINUM ELECTROLYTIC CAPACITORS</b> UD Series 6.3 x 5.8 mm<p>
+Source: http://products.nichicon.co.jp/en/pdf/XJA043/e-ud.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+<b>ALUMINUM ELECTROLYTIC CAPACITORS</b> UD Series 6.3 x 7.7 mm<p>
+Source: http://products.nichicon.co.jp/en/pdf/XJA043/e-ud.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+<b>ALUMINUM ELECTROLYTIC CAPACITORS</b> UD Series 8 x 10 mm<p>
+Source: http://products.nichicon.co.jp/en/pdf/XJA043/e-ud.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+Chip, 1.00 X 0.50 X 0.60 mm body
+<p>Chip package with body size 1.00 X 0.50 X 0.60 mm</p>
+
+
+
+
+
+CAPACITOR
+
+
+
+
+
+CAPACITOR
+
+
+
+
+
+CAPACITOR
+
+
+
+
+
+CAPACITOR
+
+
+
+
+
+CAPACITOR
+
+
+
+
+
+CAPACITOR
+
+
+
+
+
+CAPACITOR
+
+
+
+
+
+CAPACITOR
+
+
+
+
+
+CAPACITOR
+
+
+
+
+
+CAPACITOR
+
+
+
+
+
+CAPACITOR
+
+
+
+
+
+CAPACITOR
+
+
+
+
+
+CAPACITOR
+
+
+
+
+
+CAPACITOR
+
+
+
+
+
+CAPACITOR
+grid 2.5 mm, outline 2.4 x 4.4 mm
+
+
+
+
+
+CAPACITOR
+grid 2.5 mm, outline 2.5 x 5 mm
+
+
+
+
+
+CAPACITOR
+grid 2.5 mm, outline 3 x 5 mm
+
+
+
+
+
+CAPACITOR
+grid 2.5 mm, outline 4 x 5 mm
+
+
+
+
+
+CAPACITOR
+grid 2.5 mm, outline 5 x 5 mm
+
+
+
+
+
+CAPACITOR
+grid 2.5 mm, outline 6 x 5 mm
+
+
+
+
+
+CAPACITOR
+grid 2.5 mm + 5 mm, outline 2.4 x 7 mm
+
+
+
+
+
+CAPACITOR
+grid 2.5 + 5 mm, outline 2.5 x 7.5 mm
+
+
+
+
+
+CAPACITOR
+grid 2.5 + 5 mm, outline 3.5 x 7.5 mm
+
+
+
+
+
+CAPACITOR
+grid 2.5 + 5 mm, outline 4.5 x 7.5 mm
+
+
+
+
+
+CAPACITOR
+grid 2.5 + 5 mm, outline 5.5 x 7.5 mm
+
+
+
+
+
+CAPACITOR
+grid 5 mm, outline 2.4 x 4.4 mm
+
+
+
+
+
+CAPACITOR
+grid 5 mm, outline 2.5 x 7.5 mm
+
+
+
+
+
+CAPACITOR
+grid 5 mm, outline 4.5 x 7.5 mm
+
+
+
+
+
+CAPACITOR
+grid 5 mm, outline 3 x 7.5 mm
+
+
+
+
+
+CAPACITOR
+grid 5 mm, outline 5 x 7.5 mm
+
+
+
+
+
+CAPACITOR
+grid 5 mm, outline 5.5 x 7.5 mm
+
+
+
+
+
+CAPACITOR
+grid 5 mm, outline 7.5 x 7.5 mm
+
+
+
+
+
+CAPACITOR
+Horizontal, grid 5 mm, outline 7.5 x 7.5 mm
+
+
+
+
+
+CAPACITOR
+grid 7.5 mm, outline 3.2 x 10.3 mm
+
+
+
+
+
+CAPACITOR
+grid 7.5 mm, outline 4.2 x 10.3 mm
+
+
+
+
+
+CAPACITOR
+grid 7.5 mm, outline 5.2 x 10.6 mm
+
+
+
+
+
+CAPACITOR
+grid 10.2 mm, outline 4.3 x 13.3 mm
+
+
+
+
+
+CAPACITOR
+grid 10.2 mm, outline 5.4 x 13.3 mm
+
+
+
+
+
+CAPACITOR
+grid 10.2 mm, outline 6.4 x 13.3 mm
+
+
+
+
+
+CAPACITOR
+grid 10.2 mm + 15.2 mm, outline 6.2 x 18.4 mm
+
+
+
+
+
+CAPACITOR
+grid 15 mm, outline 5.4 x 18.3 mm
+
+
+
+
+
+CAPACITOR
+grid 15 mm, outline 6.4 x 18.3 mm
+
+
+
+
+
+CAPACITOR
+grid 15 mm, outline 7.2 x 18.3 mm
+
+
+
+
+
+CAPACITOR
+grid 15 mm, outline 8.4 x 18.3 mm
+
+
+
+
+
+CAPACITOR
+grid 15 mm, outline 9.1 x 18.2 mm
+
+
+
+
+
+CAPACITOR
+grid 22.5 mm, outline 6.2 x 26.8 mm
+
+
+
+
+
+CAPACITOR
+grid 22.5 mm, outline 7.4 x 26.8 mm
+
+
+
+
+
+CAPACITOR
+grid 22.5 mm, outline 8.7 x 26.8 mm
+
+
+
+
+
+CAPACITOR
+grid 22.5 mm, outline 10.8 x 26.8 mm
+
+
+
+
+
+CAPACITOR
+grid 22.5 mm, outline 11.3 x 26.8 mm
+
+
+
+
+
+CAPACITOR
+grid 27.5 mm, outline 9.3 x 31.6 mm
+
+
+
+
+
+CAPACITOR
+grid 27.5 mm, outline 11.3 x 31.6 mm
+
+
+
+
+
+CAPACITOR
+grid 27.5 mm, outline 13.4 x 31.6 mm
+
+
+
+
+
+CAPACITOR
+grid 27.5 mm, outline 20.5 x 31.6 mm
+
+
+
+
+
+CAPACITOR
+grid 32.5 mm, outline 13.7 x 37.4 mm
+
+
+
+
+
+CAPACITOR
+grid 32.5 mm, outline 16.2 x 37.4 mm
+
+
+
+
+
+CAPACITOR
+grid 32.5 mm, outline 18.2 x 37.4 mm
+
+
+
+
+
+CAPACITOR
+grid 37.5 mm, outline 19.2 x 41.8 mm
+
+
+
+
+
+CAPACITOR
+grid 37.5 mm, outline 20.3 x 41.8 mm
+
+
+
+
+
+CAPACITOR
+grid 5 mm, outline 3.5 x 7.5 mm
+
+
+
+
+
+CAPACITOR
+grid 37.5 mm, outline 15.5 x 41.8 mm
+
+
+
+
+
+CAPACITOR
+grid 7.5 mm, outline 6.3 x 10.6 mm
+
+
+
+
+
+CAPACITOR
+grid 27.5 mm, outline 15.4 x 31.6 mm
+
+
+
+
+
+CAPACITOR
+grid 27.5 mm, outline 17.3 x 31.6 mm
+
+
+
+
+
+Ceramic Chip Capacitor KEMET 0204 reflow solder
+Metric Code Size 1005
+
+
+
+
+
+Ceramic Chip Capacitor KEMET 0603 reflow solder
+Metric Code Size 1608
+
+
+
+
+
+Ceramic Chip Capacitor KEMET 0805 reflow solder
+Metric Code Size 2012
+
+
+
+
+
+Ceramic Chip Capacitor KEMET 1206 reflow solder
+Metric Code Size 3216
+
+
+
+
+
+Ceramic Chip Capacitor KEMET 1210 reflow solder
+Metric Code Size 3225
+
+
+
+
+
+Ceramic Chip Capacitor KEMET 1812 reflow solder
+Metric Code Size 4532
+
+
+
+
+
+Ceramic Chip Capacitor KEMET 1825 reflow solder
+Metric Code Size 4564
+
+
+
+
+
+Ceramic Chip Capacitor KEMET 2220 reflow solderMetric Code Size 5650
+
+
+
+
+
+Ceramic Chip Capacitor KEMET 2225 reflow solderMetric Code Size 5664
+
+
+
+
+
+
+Source: http://www.vishay.com/docs/10129/hpc0201a.pdf
+
+
+
+
+
+Source: http://www.avxcorp.com/docs/catalogs/cx5r.pdf
+
+
+
+
+
+CAPACITOR
+Source: AVX .. aphvc.pdf
+
+
+
+
+
+CAPACITOR
+Source: AVX .. aphvc.pdf
+
+
+
+
+
+CAPACITOR
+
+
+
+
+
+Chip RESISTOR 0402 EIA (1005 Metric)
+
+
+
+
+
+RESISTOR
+
+
+
+
+
+RESISTOR
+
+
+
+
+
+RESISTOR
+
+
+
+
+
+RESISTOR wave soldering
+
+
+
+
+
+RESISTOR
+
+
+
+
+
+RESISTOR
+wave soldering
+
+
+
+
+
+RESISTOR
+
+
+
+
+
+RESISTOR
+wave soldering
+
+
+
+
+
+RESISTOR
+wave soldering
+
+
+
+
+
+RESISTOR
+
+
+
+
+
+RESISTOR
+wave soldering
+
+
+
+
+
+RESISTOR
+
+
+
+
+
+RESISTOR
+wave soldering
+
+
+
+
+
+RESISTOR
+
+
+
+
+
+RESISTOR
+wave soldering
+
+
+
+
+
+RESISTOR
+
+
+
+
+
+RESISTOR
+wave soldering
+
+
+
+
+
+RESISTOR
+
+
+
+
+
+RESISTOR
+wave soldering
+
+
+
+
+
+RESISTOR
+Source: http://download.siliconexpert.com/pdfs/2005/02/24/Semi_Ap/2/VSH/Resistor/dcrcwfre.pdf
+
+
+
+
+
+RESISTOR wave soldering
+Source: http://download.siliconexpert.com/pdfs/2005/02/24/Semi_Ap/2/VSH/Resistor/dcrcwfre.pdf
+
+
+
+
+
+RESISTOR
+MELF 0.10 W
+
+
+
+
+
+RESISTOR
+MELF 0.25 W
+
+
+
+
+
+RESISTOR
+MELF 0.12 W
+
+
+
+
+
+RESISTOR
+MELF 0.10 W
+
+
+
+
+
+RESISTOR
+MELF 0.25 W
+
+
+
+
+
+RESISTOR
+MELF 0.25 W
+
+
+
+
+
+RESISTOR
+MELF 0.12 W
+
+
+
+
+
+RESISTOR
+MELF 0.25 W
+
+
+
+
+
+RESISTOR
+type 0204, grid 5 mm
+
+
+
+
+
+RESISTOR
+type 0204, grid 7.5 mm
+
+
+
+
+
+RESISTOR
+type 0204, grid 2.5 mm
+
+
+
+
+
+RESISTOR
+type 0207, grid 10 mm
+
+
+
+
+
+RESISTOR
+type 0207, grid 12 mm
+
+
+
+
+
+RESISTOR
+type 0207, grid 15mm
+
+
+
+
+
+RESISTOR
+type 0207, grid 2.5 mm
+
+
+
+
+
+RESISTOR
+type 0207, grid 5 mm
+
+
+
+
+
+RESISTOR
+type 0207, grid 7.5 mm
+
+
+
+
+
+RESISTOR
+type 0309, grid 10mm
+
+
+
+
+
+RESISTOR
+type 0309, grid 12.5 mm
+
+
+
+
+
+RESISTOR
+type 0309, grid 2.5 mm
+
+
+
+
+
+RESISTOR
+type 0411, grid 12.5 mm
+
+
+
+
+
+RESISTOR
+type 0411, grid 15 mm
+
+
+
+
+
+RESISTOR
+type 0411, grid 3.81 mm
+
+
+
+
+
+RESISTOR
+type 0414, grid 15 mm
+
+
+
+
+
+RESISTOR
+type 0414, grid 5 mm
+
+
+
+
+
+RESISTOR
+type 0617, grid 17.5 mm
+
+
+
+
+
+RESISTOR
+type 0617, grid 22.5 mm
+
+
+
+
+
+RESISTOR
+type 0617, grid 5 mm
+
+
+
+
+
+RESISTOR
+type 0922, grid 22.5 mm
+
+
+
+
+
+RESISTOR
+type 0613, grid 5 mm
+
+
+
+
+
+RESISTOR
+type 0613, grid 15 mm
+
+
+
+
+
+RESISTOR
+type 0817, grid 22.5 mm
+
+
+
+
+
+RESISTOR
+type 0817, grid 6.35 mm
+
+
+
+
+
+RESISTOR
+type V234, grid 12.5 mm
+
+
+
+
+
+RESISTOR
+type V235, grid 17.78 mm
+
+
+
+
+
+RESISTOR
+type V526-0, grid 2.5 mm
+
+
+
+
+
+CECC Size RC2211 Reflow Soldering
+source Beyschlag
+
+
+
+
+
+CECC Size RC2211 Wave Soldering
+source Beyschlag
+
+
+
+
+
+CECC Size RC3715 Reflow Soldering
+source Beyschlag
+
+
+
+
+
+CECC Size RC3715 Wave Soldering
+source Beyschlag
+
+
+
+
+
+CECC Size RC6123 Reflow Soldering
+source Beyschlag
+
+
+
+
+
+CECC Size RC6123 Wave Soldering
+source Beyschlag
+
+
+
+
+
+RESISTOR
+type 0922, grid 7.5 mm
+
+
+
+
+
+RESISTOR
+type RDH, grid 15 mm
+
+
+
+
+
+Mini MELF 0102 Axial
+
+
+
+
+
+RESISTOR chip
+Source: http://www.vishay.com/docs/20008/dcrcw.pdf
+
+
+
+
+
+Bulk Metal® Foil Technology, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements
+MIL SIZE RBR52
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+Bulk Metal® Foil Technology, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements
+MIL SIZE RBR53
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+Bulk Metal® Foil Technology, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements
+MIL SIZE RBR54
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+Bulk Metal® Foil Technology, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements
+MIL SIZE RBR55
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+Bulk Metal® Foil Technology, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements
+MIL SIZE RBR56
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+Bulk Metal® Foil Technology, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements
+MIL SIZE RNC55
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+Bulk Metal® Foil Technology, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements
+MIL SIZE RNC60
+Source: VISHAY .. vta56.pdf
+
+
+
+
+
+Package 4527
+Source: http://www.vishay.com/docs/31059/wsrhigh.pdf
+
+
+
+
+
+Wirewound Resistors, Precision Power
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+Wirewound Resistors, Precision Power
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+Wirewound Resistors, Precision Power
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+Wirewound Resistors, Precision Power
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+Wirewound Resistors, Precision Power
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+Wirewound Resistors, Precision Power
+Source: VISHAY wscwsn.pdf
+
+
+
+
+
+CRCW1218 Thick Film, Rectangular Chip Resistors
+Source: http://www.vishay.com .. dcrcw.pdf
+
+
+
+
+
+Chip Monolithic Ceramic Capacitors Medium Voltage High Capacitance for General Use
+Source: http://www.murata.com .. GRM43DR72E224KW01.pdf
+
+
+
+
+
+PRL1632 are realized as 1W for 3.2 × 1.6mm(1206)
+Source: http://www.mouser.com/ds/2/392/products_18-2245.pdf
+
+
+
+
+
+Chip, 0.40 X 0.20 X 0.16 mm body
+<p>Chip package with body size 0.40 X 0.20 X 0.16 mm</p>
+
+
+
+
+
+Chip Capacitor Type KEMET A / EIA 3216-18 Wave solder
+KEMET S / EIA 3216-12
+
+
+
+
+
+Panasonic Aluminium Electrolytic Capacitor VS-Serie Package E
+
+
+
+
+
+TANTALUM CAPACITOR
+
+
+
+
+
+TANTALUM CAPACITOR
+
+
+
+
+
+TANTALUM CAPACITOR
+
+
+
+
+
+TANTALUM CAPACITOR
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+body 5 x 5 mm, rectangle, grid 2.54 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+body 7.6 x 5 mm, rectangle, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+body 12.7 x 7.6 mm, rectangle, grid 10.16 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+body 12.5 x 12.5 mm, rectangle, grid 10.16 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 4 mm, grid 2.54 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 4 mm, grid 2.54 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 5 mm, grid 2.54 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 6 mm, grid 2.54 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 6 mm, grid 2.54 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 7 mm, grid 2.54 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 7 mm, grid 2.54 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 10 mm, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 11 mm, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 11 mm, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 6 mm, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 6 mm, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 7 mm, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 7 mm, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 9 mm, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 9 mm, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+rectangle, grid 2.54 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+rectangle, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+rectangle, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+rectangle, grid 10.16 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+rectangle, grid 10.16 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 4.5 mm, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 5.0 mm, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 7.0 mm, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 6.0 mm, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 8.0 mm, grid 5.08 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 1.8 mm, diameter 4 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 15.24 mm, diameter 5 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 15.24 mm, diameter 6 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 15.24 mm, diameter 9 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 2.54 mm, diameter 4 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 2.54 mm, diameter 5 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 2.54 mm, diameter 6 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 2.54 mm, diameter 7 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 2.54 mm, diameter 4 mm,
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 2 mm, diameter 4 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 2.032 mm, diameter 5 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 22.86 mm, diameter 10 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 22.86 mm, diameter 6 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 22.86 mm, diameter 9 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 3.5 mm, diameter 10 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 25.4 mm, diameter 10 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 25.4 mm, diameter 9 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 3.5 mm, diameter 8 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 30.48 mm, diameter 10 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 30.48 mm, diameter 12 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 30.48 mm, diameter 16 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 35.56 mm, diameter 12 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 30.48 mm, diameter 14 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 30.48 mm, diameter 16 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 30.48 mm, diameter 18 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 45.72 mm, diameter 16 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 45.72 mm, diameter 18 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 45.72 mm, diameter 21 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 45.72 mm, diameter 22 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 45.72 mm, diameter 25 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 5.08 mm, diameter 10.5 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 5.08 mm, diameter 13 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 5.05 mm, diameter 4 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 5.08 mm, diameter 5 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 5.08 mm, diameter 6 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 5.08 mm, diameter 8.5 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 50 mm, diameter 25 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 50 mm, diameter 30 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 55 mm, diameter 25 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 55 mm, diameter 30 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 5.08 mm, diameter 9 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 7.62 mm, diameter 16 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 7.62 mm, diameter 18 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 10.16 mm, diameter 20 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 10.16 mm, diameter 22.5 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 10.16 mm, diameter 25 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 10.16 mm, diameter 30 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 10.16 mm, diameter 35 mm
+
+
+
+
+
+Aluminum electrolytic capacitors reflow soldering
+SMD (Chip) Standard 085 CS
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors wave soldering
+SMD (Chip) Standard 085 CS
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors reflow soldering
+SMD (Chip) Standard 085 CS
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors wave soldering
+SMD (Chip) Standard 085 CS
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors reflow soldering
+SMD (Chip) Long Life 139 CLL
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors wave soldering
+SMD (Chip) Long Life 139 CLL
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors reflow soldering
+SMD (Chip) Long Life 139 CLL
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors wave soldering
+SMD (Chip) Long Life 139 CLL
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors SMD (Chip)
+Long life base plate, High temperature 140 CLH
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors SMD (Chip)
+Long life base plate, High temperature 140 CLH
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors SMD (Chip)
+Long life base plate, High temperature 140 CLH
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors SMD (Chip)
+Long life base plate, very low impedance 150 CLZ
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors SMD (Chip)
+Long life base plate, very low impedance 150 CLZ
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors SMD (Chip)
+Long life base plate, very low impedance 150 CLZ
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors
+SMD (Chip) Long Life Vertical 153 CLV
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors
+SMD (Chip) Long Life Vertical 153 CLV
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors
+SMD (Chip) Long Life Vertical 153 CLV
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors
+SMD (Chip) Long Life Vertical 153 CLV
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors
+SMD (Chip) Long Life Vertical 153 CLV
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors
+SMD (Chip) Long Life Vertical 153 CLV
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors
+SMD (Chip) Long Life Vertical 153 CLV
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors
+SMD (Chip) Long Life Vertical 153 CLV
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors
+High Temperature solid electrolytic SMD 175 TMP
+http://www.bccomponents.com/
+
+
+
+
+
+Aluminum electrolytic capacitors
+High Temperature solid electrolytic SMD 175 TMP
+http://www.bccomponents.com/
+
+
+
+
+
+Chip Capacitor Type KEMET A / EIA 3216-18 reflow solderKEMET S / EIA 3216-12
+
+
+
+
+
+Chip Capacitor Type KEMET B / EIA 3528-21 reflow solderKEMET T / EIA 3528-12
+
+
+
+
+
+Chip Capacitor Type KEMET B / EIA 3528-21 Wave solder
+KEMET T / EIA 3528-12
+
+
+
+
+
+Chip Capacitor Type KEMET C / EIA 6032-28 reflow solderKEMET U / EIA 6032-15
+
+
+
+
+
+Chip Capacitor Type KEMET C / EIA 6032-28 Wafe solder
+KEMET U / EIA 6032-15
+
+
+
+
+
+Chip Capacitor Type KEMET D / EIA 7343-21KEMET V / EIA 7343-20, KEMET X / EIA 7343-43 reflow solder
+
+
+
+
+
+Chip Capacitor Type KEMET D / EIA 7343-21
+KEMET V / EIA 7343-20, KEMET X / EIA 7343-43 Wafe solder
+
+
+
+
+
+Chip Capacitor Type KEMET E / EIA 7260-38 reflow solder
+
+
+
+
+
+Chip Capacitor Type KEMET E / EIA 7260-38 Wafe solder
+
+
+
+
+
+Chip Capacitor Type KEMET R/EIA 2012-12 reflow solder
+
+
+
+
+
+Chip Capacitor Type KEMET R/EIA 2012-12 Wafe solder
+
+
+
+
+
+Panasonic Aluminium Electrolytic Capacitor VS-Serie Package A
+
+
+
+
+
+Panasonic Aluminium Electrolytic Capacitor VS-Serie Package B
+
+
+
+
+
+Panasonic Aluminium Electrolytic Capacitor VS-Serie Package C
+
+
+
+
+
+Panasonic Aluminium Electrolytic Capacitor VS-Serie Package D
+
+
+
+
+
+Panasonic Aluminium Electrolytic Capacitor VS-Serie Package F
+
+
+
+
+
+Panasonic Aluminium Electrolytic Capacitor VS-Serie Package G
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+diameter 5 mm, grid 2.54 mm
+
+
+
+
+
+ELECTROLYTIC CAPACITOR
+grid 2.54 mm, diameter 6 mm
+
+
+
+
+
+Chip Capacitor Polar tantalum capacitors with solid electrolyte
+Siemens Matsushita Components B 45 194, B 45 197, B 45 198
+Source: www.farnell.com/datasheets/247.pdf
+
+
+
+
+
+Chip Capacitor Polar tantalum capacitors with solid electrolyte
+Siemens Matsushita Components B 45 194
+Source: www.farnell.com/datasheets/247.pdf
+
+
+
+
+
+Chip Capacitor Polar tantalum capacitors with solid electrolyte
+Siemens Matsushita Components B 45 194
+Source: www.farnell.com/datasheets/247.pdf
+
+
+
+
+
+Chip Capacitor Polar tantalum capacitors with solid electrolyte
+Siemens Matsushita Components B 45 194, B 45 197, B 45 198
+Source: www.farnell.com/datasheets/247.pdf
+
+
+
+
+
+Chip Capacitor Polar tantalum capacitors with solid electrolyte
+Siemens Matsushita Components B 45 194, B 45 197, B 45 198
+Source: www.farnell.com/datasheets/247.pdf
+
+
+
+
+
+Chip Capacitor Polar tantalum capacitors with solid electrolyte
+Siemens Matsushita Components B 45 194, B 45 197, B 45 198
+Source: www.farnell.com/datasheets/247.pdf
+
+
+
+
+
+Chip Capacitor Polar tantalum capacitors with solid electrolyte
+Siemens Matsushita Components B 45 194, B 45 197, B 45 198
+Source: www.farnell.com/datasheets/247.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor SMD type with conductive polymer electrolyte
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor SMD type with conductive polymer electrolyte
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor SMD type with conductive polymer electrolyte
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor SMD type with conductive polymer electrolyte
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor SMD type with conductive polymer electrolyte
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor SMD type with conductive polymer electrolyte
+Source: e_os_all.pdf
+
+
+
+
+
+SANYO OSCON Capacitor SMD type with conductive polymer electrolyte
+Source: e_os_all.pdf
+
+
+
+
+
+ALUMINUM ELECTROLYTIC CAPACITORS UD Series 10 x 10 mm
+Source: http://products.nichicon.co.jp/en/pdf/XJA043/e-ud.pdf
+
+
+
+
+
+ALUMINUM ELECTROLYTIC CAPACITORS UD Series 4 x 5.8 mm
+Source: http://products.nichicon.co.jp/en/pdf/XJA043/e-ud.pdf
+
+
+
+
+
+ALUMINUM ELECTROLYTIC CAPACITORS UD Series 5 x 5.8 mm
+Source: http://products.nichicon.co.jp/en/pdf/XJA043/e-ud.pdf
+
+
+
+
+
+ALUMINUM ELECTROLYTIC CAPACITORS UD Series 6.3 x 5.8 mm
+Source: http://products.nichicon.co.jp/en/pdf/XJA043/e-ud.pdf
+
+
+
+
+
+ALUMINUM ELECTROLYTIC CAPACITORS UD Series 6.3 x 7.7 mm
+Source: http://products.nichicon.co.jp/en/pdf/XJA043/e-ud.pdf
+
+
+
+
+
+ALUMINUM ELECTROLYTIC CAPACITORS UD Series 8 x 10 mm
+Source: http://products.nichicon.co.jp/en/pdf/XJA043/e-ud.pdf
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+>NAME
++
+>VALUE
+
+
+
+
+
+
+
+<B>CAPACITOR</B>, European symbol
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<B>RESISTOR</B>, European symbol
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<B>POLARIZED CAPACITOR</B>, European symbol
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>VALUE
+
+
+
+
+
+>VALUE
+IO
+
+
+
+
+
+>VALUE
+
+
+
+
+
+
+
+>VALUE
+
+
+
+
+
+>VALUE
+INT
+
+
+
+
+
+<b>SUPPLY SYMBOL</b>
+
+
+
+
+
+
+
+
+
+
+
+
+<b>SUPPLY SYMBOL</b>
+
+
+
+
+
+
+
+
+
+
+
+
+<b>SUPPLY SYMBOL</b>
+
+
+
+
+
+
+
+
+
+
+
+
+<b>SUPPLY SYMBOL</b>
+
+
+
+
+
+
+
+
+
+
+
+
+<b>SUPPLY SYMBOL</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
++
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
++
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+>VALUE
+>NAME
+GND
+VDD
+Output
+!Standby
+
+
+
+
+
+
+
+
+
+
+
+>NAME
++
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+>NAME
+1
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+1
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+>VALUE
+>NAME
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>VALUE
+>NAME
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>FTDI (TM) CHIP</b> Future Technology Devices International Ltd.<p>
+http://www.ftdichip.com
+
+
+<b>Shrink Small Outline Package</b> SSOP-28<p>
+http://www.ftdichip.com/Documents/DataSheets/DS_FT232R_v104.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>QFN 32</b><p>
+Source: http://www.ftdichip.com/Documents/DataSheets/DS_FT232R_v104.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>VALUE
+>NAME
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Shrink Small Outline Package SSOP-28
+http://www.ftdichip.com/Documents/DataSheets/DS_FT232R_v104.pdf
+
+
+
+
+
+QFN 32
+Source: http://www.ftdichip.com/Documents/DataSheets/DS_FT232R_v104.pdf
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Source: http://www.ftdichip.com/Documents/DataSheets/DS_FT232R_v104.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>Pin Headers</b><p>
+Naming:<p>
+MA = male<p>
+# contacts - # rows<p>
+W = angled<p>
+<author>Created by librarian@cadsoft.de</author>
+
+
+<b>PIN HEADER</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1
+>NAME
+6
+>VALUE
+
+
+
+
+
+
+
+
+
+
+PIN HEADER
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>VALUE
+>NAME
+
+
+
+
+
+
+
+
+
+
+<b>PIN HEADER</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<B>ATMEL XMEGA A4 Microcontroller</b><p>
+<B> ATxmega A4 TQFP44, VQFN44 and VFBGA49 </b><p>
+http://www.atmel.com/<p>
+<author>Created by S.Hofmann mc_sho@gmx.de</author>
+
+
+<b>TQFP-44</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>ATxMega a4 Serie</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>Molex Connectors</b><p>
+<author>Created by librarian@cadsoft.de</author>
+
+
+<b>KK® 254 Solid Header, Vertical, with Friction Lock, 4 Circuits, Tin (Sn) Plating</b><p><a href =http://www.molex.com/pdm_docs/sd/022232041_sd.pdf>Datasheet </a>
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+<b>KK® 254 Solid Header, Vertical, with Friction Lock, 4 Circuits, Tin (Sn) Plating</b><p><a href =http://www.molex.com/pdm_docs/sd/022232041_sd.pdf>Datasheet </a>
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+>NAME
+
+
+
+
+
+.100" (2.54mm) Center Header - 4 Pin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>Allegro MicroSystems, Inc</b><p>
+www.allegromicro.com<br>
+<author>Created by librarian@cadsoft.de</author>
+
+
+<b>28 Pin QFN ET</b><p>
+Auto generated by <i>make-symbol-device-package-bsdl.ulp Rev. 32</i><br>
+Source: http://www.allegromicro.com/en/Products/Part_Numbers/4983/4983.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+28 Pin QFN ET
+Auto generated by make-symbol-device-package-bsdl.ulp Rev. 32
+Source: http://www.allegromicro.com/en/Products/Part_Numbers/4983/4983.pdf
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>DMOS Microstepping Driver with Translator</b><p>
+Auto generated by <i>make-symbol-device-package-bsdl.ulp Rev. 32</i><br>
+Source: http://www.allegromicro.com/en/Products/Part_Numbers/4983/4983.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>Linear Devices</b><p>
+Operational amplifiers, comparators, voltage regulators, ADCs, DACs, etc.<p>
+<author>Created by librarian@cadsoft.de</author>
+
+
+<b>TO-92</b>
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+<b>TO-220</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+<b>Small Outline Transistor</b>
+
+
+
+
+
+
+
+
+3
+4
+1
+2
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+<b>TO-263 3-Lead Plastic Surface Mount Package</b> NS Package Number TS3B<p>
+Source. http://cache.national.com/ds/LM/LM2937-2.5.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+TO-92
+
+
+
+
+
+TO-220
+
+
+
+
+
+Small Outline Transistor
+
+
+
+
+
+TO-263 3-Lead Plastic Surface Mount Package NS Package Number TS3B
+Source. http://cache.national.com/ds/LM/LM2937-2.5.pdf
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+GND
+
+
+
+
+
+
+
+Positive <b>VOLTAGE REGULATOR</b><p>
+Source: http://cache.national.com/ds/LM/LM340.pdf
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>Supply Symbols</b><p>
+GND, VCC, 0V, +5V, -5V, etc.<p>
+Please keep in mind, that these devices are necessary for the
+automatic wiring of the supply signals.<p>
+The pin name defined in the symbol is identical to the net which is to be wired automatically.<p>
+In this library the device names are the same as the pin names of the symbols, therefore the correct signal names appear next to the supply symbols in the schematic.<p>
+<author>Created by librarian@cadsoft.de</author>
+
+
+
+
+
+
+
+>VALUE
+
+
+
+
+
+<b>SUPPLY SYMBOL</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>Jumpers</b><p>
+<author>Created by librarian@cadsoft.de</author>
+
+
+<b>JUMPER</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+1
+2
+3
+>VALUE
+
+
+
+
+
+<b>Solder jumper</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+<b>Solder jumper</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JUMPER
+
+
+
+
+
+Solder jumper
+
+
+
+
+
+Solder jumper
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+<b>JUMPER</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+SMD solder <b>JUMPER</b>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+VCC
+GND
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>VALUE
+>NAME
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>VALUE
+>NAME
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>VALUE
+>NAME
+
+
+
+
+
+
+
+
+
+
+
+
+
+>VALUE
+>NAME
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<b>Molex Connectors</b><p>
+<author>Created by librarian@cadsoft.de</author>
+
+
+.100" (2.54mm) Center Headers - 2 Pin
+
+
+
+
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+
+>NAME
+>VALUE
+
+
+
+
+>NAME
+
+
+
+
+
+.100" (2.54mm) Center Header - 2 Pin
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Licensed under the TAPR Open
+Hardware License (www.tapr.org/OHL)
+
+Copyright 2020 Artur Silva, Champalimaud
+Foundation Scientific Hardware Platform
+12V IN
+3.3V
+Imax=250mA
+Ireq=8mA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+MOTOR CONTROLLER
+Motor ref: HT17-275D
+Bipolar Parallel Current: 1.70 A/phase
+Bipolar Parallel Voltage: 2.9V
+5V LDO
+3.3V LDO
+12V INPUT
+A4988
+VBB-> 8-35V
+VDD-> 3-5.5V
+5V
+Imax=1A
+
+Itripmax=Vref/(8*Rs)
+
+3.3V version
+R5 54.9k
+R6 24.9k
+-> 1.287A
+Itripmax=Vref/(8*Rs)
+
+5V version
+R5 95.3k
+R6 24.9k
+-> 1.295A
+Itripmax=Vref/(8*Rs)
+
+5V version
+R5 95.3k
+R6 36k
+-> 1.714A
+Itripmax=Vref/(8*Rs)
+
+3.3V version
+R5 54.9k
+R6 39k
+-> 1.713A
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+3.3V@250mA
+(uc CTS: IN)
+(uc RTS: OUT)
+buttons
+M74VHC1GT50DTT1G
+
+
+
+
+
+UC
+
+
+
+
+INs/OUTs
+digital input/ step / trigger behavior
+software/1 s/step executed
+software/limit reached
+M74VHC1GT50DTT1G
+3.3V
+Imax=250mA
+Ireq=8mA
+
+
+
+
+3.3V LDO I/Os
+Licensed under the TAPR Open
+Hardware License (www.tapr.org/OHL)
+
+Copyright 2020 Artur Silva, Champalimaud
+Foundation Scientific Hardware Platform
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Case A
+USB UART
+
+
+
+
+Licensed under the TAPR Open
+Hardware License (www.tapr.org/OHL)
+
+Copyright 2020 Artur Silva, Champalimaud
+Foundation Scientific Hardware Platform
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Since Version 6.2.2 text objects can contain more than one line,
+which will not be processed correctly with this version.
+
+
+Since Version 8.2, EAGLE supports online libraries. The ids
+of those online libraries will not be understood (or retained)
+with this version.
+
+
+Since Version 8.3, EAGLE supports URNs for individual library
+assets (packages, symbols, and devices). The URNs of those assets
+will not be understood (or retained) with this version.
+
+
+Since Version 8.3, EAGLE supports the association of 3D packages
+with devices in libraries, schematics, and board files. Those 3D
+packages will not be understood (or retained) with this version.
+
+
+Since Version 8.4, EAGLE supports properties for SPICE simulation.
+Probes in schematics and SPICE mapping objects found in parts and library devices
+will not be understood with this version. Update EAGLE to the latest version
+for full support of SPICE simulation.
+
+
+
diff --git a/PCB/harp syringe pump v1.1_Bill of Materials.xlsx b/PCB/harp syringe pump v1.1_Bill of Materials.xlsx
new file mode 100644
index 0000000..6ff0cad
Binary files /dev/null and b/PCB/harp syringe pump v1.1_Bill of Materials.xlsx differ