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 @@ + + + + + + + CF_hardware_sofware_logo + + + + CF_hardware_sofware_logo + + + + + + + + + Hardware and + Software + Platform + + + 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 @@ + + + + + + + + + + + +Hardware and SoftwarePlatform 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 @@ + + + + + - + + + + + + + + + + + + + + - + + + - - + + - - - - + + + + Step state Direction state @@ -88,28 +146,30 @@ Protocol state - + + + - - + + - - + + Step Volume - + - + @@ -152,6 +212,5 @@ - - + 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