From ced15877e489d6140acd76886d7a432e6d2ac2d2 Mon Sep 17 00:00:00 2001 From: Adrian Stevens Date: Tue, 27 Feb 2024 18:39:31 -0800 Subject: [PATCH 1/5] Rename Ft232h to Ftxxxx --- .../Samples/HMI_Sample/HMI_Sample.csproj | 12 ++- .../WinForms_Sample/WinForms_Sample.csproj | 8 +- .../Driver/ICs.IOExpanders.Ft232h.csproj | 27 ------ .../Native/Windows/Win32/libmpsse.dll | Bin 20992 -> 0 bytes .../Native/Windows/x64/libmpsse.dll | Bin 26624 -> 0 bytes ...MPSSE_and_MCU_Host_Bus_Emulation_Modes.pdf | Bin .../Datasheet}/D2XX_Programmers_Guide.pdf | Bin .../Datasheet}/ftd2xx.h | 0 .../Driver/AssemblyInfo.cs | 0 .../Driver/Drivers/Ft2232.cs} | 12 +-- .../Driver/Drivers/Ft232h.cs} | 10 ++- .../Driver/Drivers/Ft4232.cs | 29 ++++++ .../Driver/Exceptions.cs | 0 .../Driver/FtdiExpander.DigitalOutputPort.cs | 0 .../Driver/FtdiExpander.Ft232hI2cBus.cs | 0 .../Driver/FtdiExpander.Ft232hSpiBus.cs | 0 .../Driver/FtdiExpander.Ft23xxI2cBus.cs} | 4 +- .../Driver/FtdiExpander.I2CBus.cs | 0 .../Driver/FtdiExpander.PinDefinitions.cs | 0 .../Driver/FtdiExpander.SpiBus.cs | 0 .../Driver/FtdiExpander.cs | 0 .../Driver/FtdiExpanderCollection.cs | 0 .../Driver/I2CClockRate.cs | 0 .../Driver/ICs.IOExpanders.Ftxxxx.csproj | 28 ++++++ .../Driver/Native.Ftd2xx.cs | 0 .../Driver/Native.I2CTransferOptions.cs | 0 .../Driver/Native.cs | 0 .../Driver/Readme.md | 0 .../Ft232h_Sample/Ft232h_Sample.csproj} | 6 +- .../Samples/Ft232h_Sample}/Program.cs | 41 +-------- .../FT232.Unit.Tests/FT232.Unit.Tests.csproj | 0 .../Tests/FT232.Unit.Tests/UnitTest1.cs | 0 .../Tests/FT232.Unit.Tests/Usings.cs | 0 .../readme.md | 0 Source/Meadow.Foundation.sln | 84 +++++++++--------- 35 files changed, 130 insertions(+), 131 deletions(-) delete mode 100644 Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/ICs.IOExpanders.Ft232h.csproj delete mode 100644 Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Native/Windows/Win32/libmpsse.dll delete mode 100644 Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Native/Windows/x64/libmpsse.dll rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h/Data Sheets => ICs.IOExpanders.Ftxxxx/Datasheet}/AN_108_Command_Processor_for_MPSSE_and_MCU_Host_Bus_Emulation_Modes.pdf (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h/Data Sheets => ICs.IOExpanders.Ftxxxx/Datasheet}/D2XX_Programmers_Guide.pdf (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h/Data Sheets => ICs.IOExpanders.Ftxxxx/Datasheet}/ftd2xx.h (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Driver/AssemblyInfo.cs (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h/Driver/Ft2232Expander.cs => ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft2232.cs} (76%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h/Driver/Ft232hExpander.cs => ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft232h.cs} (83%) create mode 100644 Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft4232.cs rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Driver/Exceptions.cs (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Driver/FtdiExpander.DigitalOutputPort.cs (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Driver/FtdiExpander.Ft232hI2cBus.cs (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Driver/FtdiExpander.Ft232hSpiBus.cs (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h/Driver/FtdiExpander.Ft23xxxI2cBus.cs => ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.Ft23xxI2cBus.cs} (98%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Driver/FtdiExpander.I2CBus.cs (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Driver/FtdiExpander.PinDefinitions.cs (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Driver/FtdiExpander.SpiBus.cs (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Driver/FtdiExpander.cs (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Driver/FtdiExpanderCollection.cs (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Driver/I2CClockRate.cs (100%) create mode 100644 Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/ICs.IOExpanders.Ftxxxx.csproj rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Driver/Native.Ftd2xx.cs (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Driver/Native.I2CTransferOptions.cs (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Driver/Native.cs (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Driver/Readme.md (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h/Samples/Ft232h_Windows_Sample/Ft232h_Windows_Sample.csproj => ICs.IOExpanders.Ftxxxx/Samples/Ft232h_Sample/Ft232h_Sample.csproj} (56%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h/Samples/Ft232h_Windows_Sample => ICs.IOExpanders.Ftxxxx/Samples/Ft232h_Sample}/Program.cs (72%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Tests/FT232.Unit.Tests/FT232.Unit.Tests.csproj (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Tests/FT232.Unit.Tests/UnitTest1.cs (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/Tests/FT232.Unit.Tests/Usings.cs (100%) rename Source/Meadow.Foundation.Peripherals/{ICs.IOExpanders.Ft232h => ICs.IOExpanders.Ftxxxx}/readme.md (100%) diff --git a/Source/Meadow.Foundation.Libraries_and_Frameworks/Graphics.MicroLayout/Samples/HMI_Sample/HMI_Sample.csproj b/Source/Meadow.Foundation.Libraries_and_Frameworks/Graphics.MicroLayout/Samples/HMI_Sample/HMI_Sample.csproj index 9d5ddb995e..fbd41be25a 100644 --- a/Source/Meadow.Foundation.Libraries_and_Frameworks/Graphics.MicroLayout/Samples/HMI_Sample/HMI_Sample.csproj +++ b/Source/Meadow.Foundation.Libraries_and_Frameworks/Graphics.MicroLayout/Samples/HMI_Sample/HMI_Sample.csproj @@ -8,9 +8,15 @@ - - - + + + + + + + + + diff --git a/Source/Meadow.Foundation.Peripherals/Displays.WinForms/Samples/WinForms_Sample/WinForms_Sample.csproj b/Source/Meadow.Foundation.Peripherals/Displays.WinForms/Samples/WinForms_Sample/WinForms_Sample.csproj index 0255f024c0..57b092e083 100644 --- a/Source/Meadow.Foundation.Peripherals/Displays.WinForms/Samples/WinForms_Sample/WinForms_Sample.csproj +++ b/Source/Meadow.Foundation.Peripherals/Displays.WinForms/Samples/WinForms_Sample/WinForms_Sample.csproj @@ -7,7 +7,11 @@ 10.0 - - + + + + + + \ No newline at end of file diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/ICs.IOExpanders.Ft232h.csproj b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/ICs.IOExpanders.Ft232h.csproj deleted file mode 100644 index 34d361026a..0000000000 --- a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/ICs.IOExpanders.Ft232h.csproj +++ /dev/null @@ -1,27 +0,0 @@ - - - 1.9.0 - Readme.md - enable - 10.0 - Apache-2.0 - true - icon.png - Wilderness Labs, Inc - netstandard2.1 - Library - Ft232h - Wilderness Labs, Inc - http://developer.wildernesslabs.co/Meadow/Meadow.Foundation/ - Meadow.Foundation.ICs.IOExpanders.Ft232h - https://github.com/WildernessLabs/Meadow.Foundation - Meadow.Foundation,IOExpanders,expander,IO,Ft232h - true - Ft232h USB IOExpander for GPIO, I2C, SPI on Windows - - - - - - - diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Native/Windows/Win32/libmpsse.dll b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Native/Windows/Win32/libmpsse.dll deleted file mode 100644 index e35567c25bbfdd5525d8144518ba2f9eaa09ef96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20992 zcmeHv3s_Xw+3p@@z!67h6i8@d5@IwMjb?^nxX%nK8?TsA1T=~SVQ?S_WM;OPHZ<6g z$gnew|EW1OIVOKnV`E$G$?Z3owh4#@%oR<3W1?+|C4a_3TZ{xSn#_5>wfDe?X#e(k z&UyMgr<1I`_xjfD`@Z$AZ++{6IS=gOlpM#Y5CQ>?Yr>m;ne6#D9tw_|bjKT$xYx$N zcW0Ag*?V`ca+JH`YMj*@oyD8tN{Xwhs@-uL>~T(^Dz3aLF6;i>xJ}ii_PG-$MoyQj zUVi!JZzG@Hb|@H@z4O8$HR8+O`RSnv?ETas1$*yd^pEYY92(E^Z#^^@@3&OX9Gb-5 z`&s^R9Y103w^T2(_sa4T2i1K&No+jFEmMSZ+r;-b1oL!pVRueYXgDqflvs)CnuoUz z!N%e`_8rD?5mNH-o7)8fDHFdiE)yC;Au2cgmZEie9OpxM-D-}@pyV2k>q72pesvu8 zAnJR`Cb4r(x=hfm8r5gWzvp_HL7(fkZ*}9{oP-DQN3zO%
`(DYnqX|cN)Vov}G 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 J|NnB}e*xk7Oo#vg diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Data Sheets/AN_108_Command_Processor_for_MPSSE_and_MCU_Host_Bus_Emulation_Modes.pdf b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Datasheet/AN_108_Command_Processor_for_MPSSE_and_MCU_Host_Bus_Emulation_Modes.pdf similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Data Sheets/AN_108_Command_Processor_for_MPSSE_and_MCU_Host_Bus_Emulation_Modes.pdf rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Datasheet/AN_108_Command_Processor_for_MPSSE_and_MCU_Host_Bus_Emulation_Modes.pdf diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Data Sheets/D2XX_Programmers_Guide.pdf b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Datasheet/D2XX_Programmers_Guide.pdf similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Data Sheets/D2XX_Programmers_Guide.pdf rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Datasheet/D2XX_Programmers_Guide.pdf diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Data Sheets/ftd2xx.h b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Datasheet/ftd2xx.h similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Data Sheets/ftd2xx.h rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Datasheet/ftd2xx.h diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/AssemblyInfo.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/AssemblyInfo.cs similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/AssemblyInfo.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/AssemblyInfo.cs diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/Ft2232Expander.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft2232.cs similarity index 76% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/Ft2232Expander.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft2232.cs index fef53e9d97..c45592a293 100644 --- a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/Ft2232Expander.cs +++ b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft2232.cs @@ -3,9 +3,12 @@ namespace Meadow.Foundation.ICs.IOExpanders; -public class Ft2232Expander : FtdiExpander +/// +/// Represents an FT2232 USB IO expander +/// +public class Ft2232 : FtdiExpander { - internal Ft2232Expander() + internal Ft2232() { } @@ -13,7 +16,6 @@ internal Ft2232Expander() public override II2cBus CreateI2cBus(int channel = 0, I2cBusSpeed busSpeed = I2cBusSpeed.Standard) { // TODO: depends on part - // TODO: make sure no SPI is in use var bus = new Ft23xxxI2cBus(this, busSpeed); bus.Configure(); return bus; @@ -22,8 +24,6 @@ public override II2cBus CreateI2cBus(int channel = 0, I2cBusSpeed busSpeed = I2c /// public override ISpiBus CreateSpiBus(int channel, SpiClockConfiguration configuration) { - // TODO: make sure no SPI is in use - throw new NotSupportedException(); } -} +} \ No newline at end of file diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/Ft232hExpander.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft232h.cs similarity index 83% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/Ft232hExpander.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft232h.cs index c55211e98d..bd38999f12 100644 --- a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/Ft232hExpander.cs +++ b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft232h.cs @@ -2,9 +2,12 @@ namespace Meadow.Foundation.ICs.IOExpanders; -public class Ft232hExpander : FtdiExpander +/// +/// Represents an FT232H USB IO expander +/// +public class Ft232h : FtdiExpander { - internal Ft232hExpander() + internal Ft232h() { } @@ -22,9 +25,8 @@ public override II2cBus CreateI2cBus(int channel = 0, I2cBusSpeed busSpeed = I2c public override ISpiBus CreateSpiBus(int channel, SpiClockConfiguration configuration) { // TODO: make sure no SPI is in use - var bus = new Ft232hSpiBus(this, configuration); bus.Configure(); return bus; } -} +} \ No newline at end of file diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft4232.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft4232.cs new file mode 100644 index 0000000000..f633a53401 --- /dev/null +++ b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft4232.cs @@ -0,0 +1,29 @@ +using Meadow.Hardware; +using System; + +namespace Meadow.Foundation.ICs.IOExpanders; + +/// +/// Represents an FT4232 USB IO expander +/// +public class Ft4232 : FtdiExpander +{ + internal Ft4232() + { + } + + /// + public override II2cBus CreateI2cBus(int channel = 0, I2cBusSpeed busSpeed = I2cBusSpeed.Standard) + { + // TODO: depends on part + var bus = new Ft23xxxI2cBus(this, busSpeed); + bus.Configure(); + return bus; + } + + /// + public override ISpiBus CreateSpiBus(int channel, SpiClockConfiguration configuration) + { + throw new NotSupportedException(); + } +} \ No newline at end of file diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/Exceptions.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Exceptions.cs similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/Exceptions.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Exceptions.cs diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.DigitalOutputPort.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.DigitalOutputPort.cs similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.DigitalOutputPort.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.DigitalOutputPort.cs diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.Ft232hI2cBus.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.Ft232hI2cBus.cs similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.Ft232hI2cBus.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.Ft232hI2cBus.cs diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.Ft232hSpiBus.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.Ft232hSpiBus.cs similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.Ft232hSpiBus.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.Ft232hSpiBus.cs diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.Ft23xxxI2cBus.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.Ft23xxI2cBus.cs similarity index 98% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.Ft23xxxI2cBus.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.Ft23xxI2cBus.cs index 216e5f4523..62b8f7f9b4 100644 --- a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.Ft23xxxI2cBus.cs +++ b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.Ft23xxI2cBus.cs @@ -5,9 +5,9 @@ namespace Meadow.Foundation.ICs.IOExpanders; public abstract partial class FtdiExpander { - public class Ft23xxxI2cBus : I2CBus, II2cBus + public class Ft23xxI2cBus : I2CBus, II2cBus { - internal Ft23xxxI2cBus(FtdiExpander expander, I2cBusSpeed busSpeed) + internal Ft23xxI2cBus(FtdiExpander expander, I2cBusSpeed busSpeed) : base(expander, busSpeed) { } diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.I2CBus.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.I2CBus.cs similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.I2CBus.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.I2CBus.cs diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.PinDefinitions.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.PinDefinitions.cs similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.PinDefinitions.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.PinDefinitions.cs diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.SpiBus.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.SpiBus.cs similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.SpiBus.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.SpiBus.cs diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.cs similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpander.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.cs diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpanderCollection.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpanderCollection.cs similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/FtdiExpanderCollection.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpanderCollection.cs diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/I2CClockRate.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/I2CClockRate.cs similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/I2CClockRate.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/I2CClockRate.cs diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/ICs.IOExpanders.Ftxxxx.csproj b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/ICs.IOExpanders.Ftxxxx.csproj new file mode 100644 index 0000000000..3d0462a313 --- /dev/null +++ b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/ICs.IOExpanders.Ftxxxx.csproj @@ -0,0 +1,28 @@ + + + + 1.9.0 + Readme.md + enable + 10.0 + Apache-2.0 + true + icon.png + Wilderness Labs, Inc + netstandard2.1 + Library + Ft2xxx + Wilderness Labs, Inc + http://developer.wildernesslabs.co/Meadow/Meadow.Foundation/ + Meadow.Foundation.ICs.IOExpanders.Ft232h + https://github.com/WildernessLabs/Meadow.Foundation + Meadow.Foundation,IOExpanders,expander,IO,Ft232h,ft2232,ft4232 + true + Ft2xxx family of USB IOExpanders for GPIO, I2C, SPI on Windows + + + + + + + \ No newline at end of file diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/Native.Ftd2xx.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Native.Ftd2xx.cs similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/Native.Ftd2xx.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Native.Ftd2xx.cs diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/Native.I2CTransferOptions.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Native.I2CTransferOptions.cs similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/Native.I2CTransferOptions.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Native.I2CTransferOptions.cs diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/Native.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Native.cs similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/Native.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Native.cs diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/Readme.md b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Readme.md similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Driver/Readme.md rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Readme.md diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Samples/Ft232h_Windows_Sample/Ft232h_Windows_Sample.csproj b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Samples/Ft232h_Sample/Ft232h_Sample.csproj similarity index 56% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Samples/Ft232h_Windows_Sample/Ft232h_Windows_Sample.csproj rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Samples/Ft232h_Sample/Ft232h_Sample.csproj index fb9aa90c24..0f8aa6074a 100644 --- a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Samples/Ft232h_Windows_Sample/Ft232h_Windows_Sample.csproj +++ b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Samples/Ft232h_Sample/Ft232h_Sample.csproj @@ -14,13 +14,9 @@
- - - - - + diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Samples/Ft232h_Windows_Sample/Program.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Samples/Ft232h_Sample/Program.cs similarity index 72% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Samples/Ft232h_Windows_Sample/Program.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Samples/Ft232h_Sample/Program.cs index ef7baf3c25..052e70ad28 100644 --- a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Samples/Ft232h_Windows_Sample/Program.cs +++ b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Samples/Ft232h_Sample/Program.cs @@ -10,24 +10,10 @@ var count = FtdiExpanderCollection.Devices.Count(); var expander = FtdiExpanderCollection.Devices[0]; -//await TestBME280(ft232); -//await TestIli9341(ft232h); //await TestGpio(FtdiExpanderCollection.Devices); //await TestI2C(FtdiExpanderCollection.Devices[0]); await TestSPI(FtdiExpanderCollection.Devices[0]); - -//async Task TestBME280(Ft232h expander) -//{ -// var bme = new Bme280(expander.CreateI2cBus()); - -// while (true) -// { -// var reading = await bme.Read(); -// Debug.WriteLine($"Temp: {reading.Temperature.Value.Fahrenheit}F Humidity: {reading.Humidity.Value.Percent}%"); -// await Task.Delay(1000); -// } -//} async Task TestSPI(FtdiExpander expander) { var mcp = new Mcp3201( @@ -50,13 +36,12 @@ async Task TestSPI(FtdiExpander expander) await Task.Delay(1000); } - } async Task TestI2C(FtdiExpander expander) { var sensor = new Veml7700(expander.CreateI2cBus()); - //var sensor = new Pct2075(expander.CreateI2cBus()); + while (true) { Debug.WriteLine("Reading..."); @@ -109,26 +94,4 @@ async Task TestGpio(IEnumerable expanders) await Task.Delay(1000); s = !s; } -} - -//async Task TestIli9341(Ft232h expander) -//{ -// var ili = new Ili9341( -// expander.CreateSpiBus(), -// expander.CreateDigitalOutputPort(expander.Pins.C0), -// expander.CreateDigitalOutputPort(expander.Pins.C2), -// expander.CreateDigitalOutputPort(expander.Pins.C1), -// 480, -// 320 -// ); - -// while (true) -// { -// ili.Fill(Color.Red); -// await Task.Delay(1000); -// ili.Fill(Color.Green); -// await Task.Delay(1000); -// ili.Fill(Color.Blue); -// await Task.Delay(1000); -// } -//} +} \ No newline at end of file diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Tests/FT232.Unit.Tests/FT232.Unit.Tests.csproj b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Tests/FT232.Unit.Tests/FT232.Unit.Tests.csproj similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Tests/FT232.Unit.Tests/FT232.Unit.Tests.csproj rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Tests/FT232.Unit.Tests/FT232.Unit.Tests.csproj diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Tests/FT232.Unit.Tests/UnitTest1.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Tests/FT232.Unit.Tests/UnitTest1.cs similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Tests/FT232.Unit.Tests/UnitTest1.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Tests/FT232.Unit.Tests/UnitTest1.cs diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Tests/FT232.Unit.Tests/Usings.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Tests/FT232.Unit.Tests/Usings.cs similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Tests/FT232.Unit.Tests/Usings.cs rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Tests/FT232.Unit.Tests/Usings.cs diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/readme.md b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/readme.md similarity index 100% rename from Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/readme.md rename to Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/readme.md diff --git a/Source/Meadow.Foundation.sln b/Source/Meadow.Foundation.sln index 9cbe211900..4523e93c07 100644 --- a/Source/Meadow.Foundation.sln +++ b/Source/Meadow.Foundation.sln @@ -1055,8 +1055,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sw18AB_Sample", "Meadow.Fou EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sht4x_Sample", "Meadow.Foundation.Peripherals\Sensors.Atmospheric.Sht4x\Samples\Sht4x_Sample\Sht4x_Sample.csproj", "{831C87F3-4925-4311-83A4-C07CE4CD109E}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MQTTnet", "..\..\MQTTnet\Source\MQTTnet\MQTTnet.csproj", "{810BF526-53F8-4DFB-A32A-A67CB5FFF785}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sensors.Light.AnalogLightSensor_Sample", "Meadow.Foundation.Core.Samples\Sensors.Light.AnalogLightSensor_Sample\Sensors.Light.AnalogLightSensor_Sample.csproj", "{5A2538C7-D110-4DFB-A77B-C328CDDF7848}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Thermistor", "Thermistor", "{FF251CAE-8D0B-45E2-BAA4-FE2991D527F7}" @@ -1117,22 +1115,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Meadow.Modbus", "..\..\Mead EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Meadow.F7", "..\..\Meadow.Core\source\implementations\f7\Meadow.F7\Meadow.F7.csproj", "{404AAC33-B6F1-4EA3-A246-FD9D8A95E93F}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ft232h", "Ft232h", "{4E0052C2-559D-4509-9C42-C6451B1F1FFC}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ICs.IOExpanders.Ft232h", "Meadow.Foundation.Peripherals\ICs.IOExpanders.Ft232h\Driver\ICs.IOExpanders.Ft232h.csproj", "{BEF5B037-DAB7-43C6-8A5C-EB749573C815}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{67B5150B-2FDE-4EA8-93EE-8BB31D5D7789}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Ft232h_Windows_Sample", "Meadow.Foundation.Peripherals\ICs.IOExpanders.Ft232h\Samples\Ft232h_Windows_Sample\Ft232h_Windows_Sample.csproj", "{B9B842A3-BAFF-4F9D-BA76-8B22D6CEBEB9}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WinForms", "WinForms", "{BBF136B7-361C-4FC2-AACA-6B6ED79BDCF1}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Displays.WinForms", "Meadow.Foundation.Peripherals\Displays.WinForms\Driver\Displays.WinForms.csproj", "{2DFB37A0-07FE-479F-8B30-D2B5F7E209D2}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Gtk", "Gtk", "{14ACE12B-5B23-4FF3-B3C2-BFECB21064A6}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Displays.Gtk", "Meadow.Foundation.Peripherals\Displays.Gtk\Driver\Displays.Gtk.csproj", "{768E2B04-FBE8-4464-B5DE-F5AA010E9D33}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Epd5in65f_Sample", "Meadow.Foundation.Peripherals\Displays.ePaperWaveShare\Samples\Epd5in65f_Sample\Epd5in65f_Sample.csproj", "{16A387A9-80AA-4080-85F6-10F53D6EC99E}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Pmsa003i", "Pmsa003i", "{AD6DD7B6-B896-44B9-904E-9330C2C842C7}" @@ -1457,6 +1443,20 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{FC2E EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Pct2075_Sample", "Meadow.Foundation.Peripherals\Sensors.Temperature.Pct2075\Samples\Pct2075_Sample\Pct2075_Sample.csproj", "{2B29B1A8-8903-4335-A5CC-6FFBD9069C2D}" EndProject +Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Displays.WinForms", "Meadow.Foundation.Peripherals\Displays.WinForms\Driver\Displays.WinForms.csproj", "{FAE78BFF-B2D4-4AAD-9E45-A52A4AB6AC28}" +EndProject +Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "Displays.Gtk", "Meadow.Foundation.Peripherals\Displays.Gtk\Driver\Displays.Gtk.csproj", "{07DE237C-5288-4577-9443-D2B7D43D3775}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ftxxxx", "Ftxxxx", "{FB4CEFDD-BEE3-4858-8A53-D92C4D1B6297}" +EndProject +Project("{9344BDBB-3E7F-41FC-A0DD-8665D75EE146}") = "MQTTnet", "..\..\MQTTnet\Source\MQTTnet\MQTTnet.csproj", "{6768E5DB-C1BA-43FB-A7FF-668982CF3CC6}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{5DCA2786-ED9A-47E9-8A07-6F3FF2B73A53}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICs.IOExpanders.Ftxxxx", "Meadow.Foundation.Peripherals\ICs.IOExpanders.Ftxxxx\Driver\ICs.IOExpanders.Ftxxxx.csproj", "{D0167772-53C1-4ECB-A486-E36D354FC887}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ft232h_Sample", "Meadow.Foundation.Peripherals\ICs.IOExpanders.Ftxxxx\Samples\Ft232h_Sample\Ft232h_Sample.csproj", "{BE8B85B9-5FC3-439F-86A8-4D4E028B9DC3}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -2865,10 +2865,6 @@ Global {831C87F3-4925-4311-83A4-C07CE4CD109E}.Release|Any CPU.ActiveCfg = Release|Any CPU {831C87F3-4925-4311-83A4-C07CE4CD109E}.Release|Any CPU.Build.0 = Release|Any CPU {831C87F3-4925-4311-83A4-C07CE4CD109E}.Release|Any CPU.Deploy.0 = Release|Any CPU - {810BF526-53F8-4DFB-A32A-A67CB5FFF785}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {810BF526-53F8-4DFB-A32A-A67CB5FFF785}.Debug|Any CPU.Build.0 = Debug|Any CPU - {810BF526-53F8-4DFB-A32A-A67CB5FFF785}.Release|Any CPU.ActiveCfg = Release|Any CPU - {810BF526-53F8-4DFB-A32A-A67CB5FFF785}.Release|Any CPU.Build.0 = Release|Any CPU {5A2538C7-D110-4DFB-A77B-C328CDDF7848}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5A2538C7-D110-4DFB-A77B-C328CDDF7848}.Debug|Any CPU.Build.0 = Debug|Any CPU {5A2538C7-D110-4DFB-A77B-C328CDDF7848}.Debug|Any CPU.Deploy.0 = Debug|Any CPU @@ -2973,24 +2969,6 @@ Global {404AAC33-B6F1-4EA3-A246-FD9D8A95E93F}.Release|Any CPU.ActiveCfg = Release|Any CPU {404AAC33-B6F1-4EA3-A246-FD9D8A95E93F}.Release|Any CPU.Build.0 = Release|Any CPU {404AAC33-B6F1-4EA3-A246-FD9D8A95E93F}.Release|Any CPU.Deploy.0 = Release|Any CPU - {BEF5B037-DAB7-43C6-8A5C-EB749573C815}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BEF5B037-DAB7-43C6-8A5C-EB749573C815}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BEF5B037-DAB7-43C6-8A5C-EB749573C815}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {BEF5B037-DAB7-43C6-8A5C-EB749573C815}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BEF5B037-DAB7-43C6-8A5C-EB749573C815}.Release|Any CPU.Build.0 = Release|Any CPU - {BEF5B037-DAB7-43C6-8A5C-EB749573C815}.Release|Any CPU.Deploy.0 = Release|Any CPU - {B9B842A3-BAFF-4F9D-BA76-8B22D6CEBEB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {B9B842A3-BAFF-4F9D-BA76-8B22D6CEBEB9}.Debug|Any CPU.Build.0 = Debug|Any CPU - {B9B842A3-BAFF-4F9D-BA76-8B22D6CEBEB9}.Release|Any CPU.ActiveCfg = Release|Any CPU - {B9B842A3-BAFF-4F9D-BA76-8B22D6CEBEB9}.Release|Any CPU.Build.0 = Release|Any CPU - {2DFB37A0-07FE-479F-8B30-D2B5F7E209D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2DFB37A0-07FE-479F-8B30-D2B5F7E209D2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2DFB37A0-07FE-479F-8B30-D2B5F7E209D2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2DFB37A0-07FE-479F-8B30-D2B5F7E209D2}.Release|Any CPU.Build.0 = Release|Any CPU - {768E2B04-FBE8-4464-B5DE-F5AA010E9D33}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {768E2B04-FBE8-4464-B5DE-F5AA010E9D33}.Debug|Any CPU.Build.0 = Debug|Any CPU - {768E2B04-FBE8-4464-B5DE-F5AA010E9D33}.Release|Any CPU.ActiveCfg = Release|Any CPU - {768E2B04-FBE8-4464-B5DE-F5AA010E9D33}.Release|Any CPU.Build.0 = Release|Any CPU {16A387A9-80AA-4080-85F6-10F53D6EC99E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {16A387A9-80AA-4080-85F6-10F53D6EC99E}.Debug|Any CPU.Build.0 = Debug|Any CPU {16A387A9-80AA-4080-85F6-10F53D6EC99E}.Debug|Any CPU.Deploy.0 = Debug|Any CPU @@ -3521,6 +3499,26 @@ Global {2B29B1A8-8903-4335-A5CC-6FFBD9069C2D}.Release|Any CPU.ActiveCfg = Release|Any CPU {2B29B1A8-8903-4335-A5CC-6FFBD9069C2D}.Release|Any CPU.Build.0 = Release|Any CPU {2B29B1A8-8903-4335-A5CC-6FFBD9069C2D}.Release|Any CPU.Deploy.0 = Release|Any CPU + {FAE78BFF-B2D4-4AAD-9E45-A52A4AB6AC28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FAE78BFF-B2D4-4AAD-9E45-A52A4AB6AC28}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FAE78BFF-B2D4-4AAD-9E45-A52A4AB6AC28}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FAE78BFF-B2D4-4AAD-9E45-A52A4AB6AC28}.Release|Any CPU.Build.0 = Release|Any CPU + {07DE237C-5288-4577-9443-D2B7D43D3775}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {07DE237C-5288-4577-9443-D2B7D43D3775}.Debug|Any CPU.Build.0 = Debug|Any CPU + {07DE237C-5288-4577-9443-D2B7D43D3775}.Release|Any CPU.ActiveCfg = Release|Any CPU + {07DE237C-5288-4577-9443-D2B7D43D3775}.Release|Any CPU.Build.0 = Release|Any CPU + {6768E5DB-C1BA-43FB-A7FF-668982CF3CC6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6768E5DB-C1BA-43FB-A7FF-668982CF3CC6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6768E5DB-C1BA-43FB-A7FF-668982CF3CC6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6768E5DB-C1BA-43FB-A7FF-668982CF3CC6}.Release|Any CPU.Build.0 = Release|Any CPU + {D0167772-53C1-4ECB-A486-E36D354FC887}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D0167772-53C1-4ECB-A486-E36D354FC887}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D0167772-53C1-4ECB-A486-E36D354FC887}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D0167772-53C1-4ECB-A486-E36D354FC887}.Release|Any CPU.Build.0 = Release|Any CPU + {BE8B85B9-5FC3-439F-86A8-4D4E028B9DC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BE8B85B9-5FC3-439F-86A8-4D4E028B9DC3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BE8B85B9-5FC3-439F-86A8-4D4E028B9DC3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BE8B85B9-5FC3-439F-86A8-4D4E028B9DC3}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -4047,7 +4045,6 @@ Global {BBC875BB-E04F-4F9E-A7CC-023B0B1D2BC4} = {5F4B9D7E-81B4-4562-BEDC-3499A8DDE648} {3102742F-8C87-4C84-B257-1A49DDB3D6BD} = {5F4B9D7E-81B4-4562-BEDC-3499A8DDE648} {831C87F3-4925-4311-83A4-C07CE4CD109E} = {4657A98F-6D05-48EB-864D-E3D0DCA658C5} - {810BF526-53F8-4DFB-A32A-A67CB5FFF785} = {65C50059-6C22-43E9-88DE-AD73F7F108C8} {5A2538C7-D110-4DFB-A77B-C328CDDF7848} = {7EBB4434-F29C-4316-BEDC-F28F07CE4AC8} {FF251CAE-8D0B-45E2-BAA4-FE2991D527F7} = {DBC6C89D-A932-4F99-9382-7405A0045988} {CB8A3C9C-C1EA-4877-ABFC-76DF58FA7BA6} = {FF251CAE-8D0B-45E2-BAA4-FE2991D527F7} @@ -4078,14 +4075,8 @@ Global {E718B06A-FEAF-4E11-9344-E81272E214AA} = {F9B62A9D-4DDC-4646-9B43-06D471E0F82C} {DD749A41-50A3-4DB4-A84F-4372BDFCB742} = {65C50059-6C22-43E9-88DE-AD73F7F108C8} {404AAC33-B6F1-4EA3-A246-FD9D8A95E93F} = {65C50059-6C22-43E9-88DE-AD73F7F108C8} - {4E0052C2-559D-4509-9C42-C6451B1F1FFC} = {86B81B21-8C90-4A99-B113-FA71F8A6CD8D} - {BEF5B037-DAB7-43C6-8A5C-EB749573C815} = {4E0052C2-559D-4509-9C42-C6451B1F1FFC} - {67B5150B-2FDE-4EA8-93EE-8BB31D5D7789} = {4E0052C2-559D-4509-9C42-C6451B1F1FFC} - {B9B842A3-BAFF-4F9D-BA76-8B22D6CEBEB9} = {67B5150B-2FDE-4EA8-93EE-8BB31D5D7789} {BBF136B7-361C-4FC2-AACA-6B6ED79BDCF1} = {2B794146-DFEE-475A-B919-7D3ED48587B8} - {2DFB37A0-07FE-479F-8B30-D2B5F7E209D2} = {BBF136B7-361C-4FC2-AACA-6B6ED79BDCF1} {14ACE12B-5B23-4FF3-B3C2-BFECB21064A6} = {2B794146-DFEE-475A-B919-7D3ED48587B8} - {768E2B04-FBE8-4464-B5DE-F5AA010E9D33} = {14ACE12B-5B23-4FF3-B3C2-BFECB21064A6} {16A387A9-80AA-4080-85F6-10F53D6EC99E} = {7311794D-7D2F-47E8-A5B0-C216CBD64A13} {AD6DD7B6-B896-44B9-904E-9330C2C842C7} = {78E463DA-0FA1-4AAE-A281-D3297C9388C9} {A3F37EFB-9686-4074-9962-5F731C52D919} = {AD6DD7B6-B896-44B9-904E-9330C2C842C7} @@ -4248,6 +4239,13 @@ Global {3C999A94-227A-470F-935E-966E375E40BB} = {7471C6BF-1995-4E56-91E9-86DAAA46C386} {FC2EEFA9-030B-4EF0-AFB7-1CC61876D1EE} = {7471C6BF-1995-4E56-91E9-86DAAA46C386} {2B29B1A8-8903-4335-A5CC-6FFBD9069C2D} = {FC2EEFA9-030B-4EF0-AFB7-1CC61876D1EE} + {FAE78BFF-B2D4-4AAD-9E45-A52A4AB6AC28} = {BBF136B7-361C-4FC2-AACA-6B6ED79BDCF1} + {07DE237C-5288-4577-9443-D2B7D43D3775} = {14ACE12B-5B23-4FF3-B3C2-BFECB21064A6} + {FB4CEFDD-BEE3-4858-8A53-D92C4D1B6297} = {86B81B21-8C90-4A99-B113-FA71F8A6CD8D} + {6768E5DB-C1BA-43FB-A7FF-668982CF3CC6} = {65C50059-6C22-43E9-88DE-AD73F7F108C8} + {5DCA2786-ED9A-47E9-8A07-6F3FF2B73A53} = {FB4CEFDD-BEE3-4858-8A53-D92C4D1B6297} + {D0167772-53C1-4ECB-A486-E36D354FC887} = {FB4CEFDD-BEE3-4858-8A53-D92C4D1B6297} + {BE8B85B9-5FC3-439F-86A8-4D4E028B9DC3} = {5DCA2786-ED9A-47E9-8A07-6F3FF2B73A53} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {AF7CA16F-8C38-4546-87A2-5DAAF58A1520} From a9f562712b1af29825f49941a7ecf0bc74da283e Mon Sep 17 00:00:00 2001 From: Adrian Stevens Date: Tue, 27 Feb 2024 19:01:42 -0800 Subject: [PATCH 2/5] Project cleanup --- .../Samples/HMI_Sample/HMI_Sample.csproj | 12 +++--------- .../Samples/WinForms_Sample/WinForms_Sample.csproj | 8 ++------ 2 files changed, 5 insertions(+), 15 deletions(-) diff --git a/Source/Meadow.Foundation.Libraries_and_Frameworks/Graphics.MicroLayout/Samples/HMI_Sample/HMI_Sample.csproj b/Source/Meadow.Foundation.Libraries_and_Frameworks/Graphics.MicroLayout/Samples/HMI_Sample/HMI_Sample.csproj index fbd41be25a..9d5ddb995e 100644 --- a/Source/Meadow.Foundation.Libraries_and_Frameworks/Graphics.MicroLayout/Samples/HMI_Sample/HMI_Sample.csproj +++ b/Source/Meadow.Foundation.Libraries_and_Frameworks/Graphics.MicroLayout/Samples/HMI_Sample/HMI_Sample.csproj @@ -8,15 +8,9 @@ - - - - - - - - - + + + diff --git a/Source/Meadow.Foundation.Peripherals/Displays.WinForms/Samples/WinForms_Sample/WinForms_Sample.csproj b/Source/Meadow.Foundation.Peripherals/Displays.WinForms/Samples/WinForms_Sample/WinForms_Sample.csproj index 57b092e083..0255f024c0 100644 --- a/Source/Meadow.Foundation.Peripherals/Displays.WinForms/Samples/WinForms_Sample/WinForms_Sample.csproj +++ b/Source/Meadow.Foundation.Peripherals/Displays.WinForms/Samples/WinForms_Sample/WinForms_Sample.csproj @@ -7,11 +7,7 @@ 10.0 - - - - - - + + \ No newline at end of file From 9747f00aa21629f5bb5a6a0c77e1e7a95cc17d6a Mon Sep 17 00:00:00 2001 From: Adrian Stevens Date: Tue, 27 Feb 2024 19:13:24 -0800 Subject: [PATCH 3/5] Cleanup --- .../Samples/Ili9488Charts_Sample/Ili9488Charts_Sample.csproj | 2 +- .../Samples/MAX7219_Sample/MAX7219_Sample.csproj | 2 +- .../ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft2232.cs | 2 +- .../ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft4232.cs | 2 +- .../ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.cs | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/Meadow.Foundation.Libraries_and_Frameworks/Graphics.MicroLayout/Samples/Ili9488Charts_Sample/Ili9488Charts_Sample.csproj b/Source/Meadow.Foundation.Libraries_and_Frameworks/Graphics.MicroLayout/Samples/Ili9488Charts_Sample/Ili9488Charts_Sample.csproj index a4d891f8a5..95c0965525 100644 --- a/Source/Meadow.Foundation.Libraries_and_Frameworks/Graphics.MicroLayout/Samples/Ili9488Charts_Sample/Ili9488Charts_Sample.csproj +++ b/Source/Meadow.Foundation.Libraries_and_Frameworks/Graphics.MicroLayout/Samples/Ili9488Charts_Sample/Ili9488Charts_Sample.csproj @@ -11,7 +11,7 @@ - + diff --git a/Source/Meadow.Foundation.Libraries_and_Frameworks/Graphics.MicroLayout/Samples/MAX7219_Sample/MAX7219_Sample.csproj b/Source/Meadow.Foundation.Libraries_and_Frameworks/Graphics.MicroLayout/Samples/MAX7219_Sample/MAX7219_Sample.csproj index dbb5969ce5..f10c615d58 100644 --- a/Source/Meadow.Foundation.Libraries_and_Frameworks/Graphics.MicroLayout/Samples/MAX7219_Sample/MAX7219_Sample.csproj +++ b/Source/Meadow.Foundation.Libraries_and_Frameworks/Graphics.MicroLayout/Samples/MAX7219_Sample/MAX7219_Sample.csproj @@ -11,7 +11,7 @@ - + diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft2232.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft2232.cs index c45592a293..8213b72e1a 100644 --- a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft2232.cs +++ b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft2232.cs @@ -16,7 +16,7 @@ internal Ft2232() public override II2cBus CreateI2cBus(int channel = 0, I2cBusSpeed busSpeed = I2cBusSpeed.Standard) { // TODO: depends on part - var bus = new Ft23xxxI2cBus(this, busSpeed); + var bus = new Ft23xxI2cBus(this, busSpeed); bus.Configure(); return bus; } diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft4232.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft4232.cs index f633a53401..d328e21bd8 100644 --- a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft4232.cs +++ b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/Drivers/Ft4232.cs @@ -16,7 +16,7 @@ internal Ft4232() public override II2cBus CreateI2cBus(int channel = 0, I2cBusSpeed busSpeed = I2cBusSpeed.Standard) { // TODO: depends on part - var bus = new Ft23xxxI2cBus(this, busSpeed); + var bus = new Ft23xxI2cBus(this, busSpeed); bus.Configure(); return bus; } diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.cs b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.cs index ed4f640a9a..a35b131989 100644 --- a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.cs +++ b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Driver/FtdiExpander.cs @@ -50,7 +50,7 @@ internal static FtdiExpander Create( { FtdiExpander expander = deviceType switch { - FtDeviceType.Ft232H => new Ft232hExpander + FtDeviceType.Ft232H => new Ft232h { Index = index, Flags = flags, @@ -60,7 +60,7 @@ internal static FtdiExpander Create( Description = description, Handle = handle }, - FtDeviceType.Ft2232 => new Ft2232Expander + FtDeviceType.Ft2232 => new Ft2232 { Index = index, Flags = flags, From 2bc22089d304efad666675359d5ba53b5961f934 Mon Sep 17 00:00:00 2001 From: Adrian Stevens Date: Tue, 27 Feb 2024 19:15:00 -0800 Subject: [PATCH 4/5] Re-add native libraries --- .../Native/Windows/Win32/libmpsse.dll | 4095 +++++++++++++++++ .../Native/Windows/x64/libmpsse.dll | 4095 +++++++++++++++++ 2 files changed, 8190 insertions(+) create mode 100644 Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Native/Windows/Win32/libmpsse.dll create mode 100644 Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Native/Windows/x64/libmpsse.dll diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Native/Windows/Win32/libmpsse.dll b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Native/Windows/Win32/libmpsse.dll new file mode 100644 index 0000000000..b8da8ce973 --- /dev/null +++ b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Native/Windows/Win32/libmpsse.dll @@ -0,0 +1,4095 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Meadow.Foundation/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Native/Windows/Win32/libmpsse.dll at develop · WildernessLabs/Meadow.Foundation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ Skip to content + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + +
+ + +
+
+ + + + + + +
+
+
+

+ Global navigation +

+
+
+
+
+ +
+
+
+ +
+ + +
+ + + + +
+
+
+ + +

© 2024 GitHub, Inc.

+ +
+
+
+ +
+ +
+
+ + + +
+
+ + + + +
+
+
+

+ Navigate back to +

+
+
+ +
+
+
+ + + + +
+
+ + +
+ +
+
+ + + + + + + + + + Notifications + + + + +
+ + + + + + + +
+
+
+

+ Account menu +

+
+
+ + + adrianstevens + + + + Adrian Stevens + +
+ + + Create new... + + + + + + +
+
+
+
+ +
+
+
+ +
+ + + +
+
+
+ +
+
+ +
+
+ +
+ +
+ + + + + +
+
+
+ + + +
+ + + + +
+ +
+ + + + + + + + +
+ + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ +
+ + + + WildernessLabs  /   + Meadow.Foundation  /   + +
+
+ + + +
+ + +
+
+ Clear Command Palette +
+
+ + + +
+
+ Tip: + Type # to search pull requests +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type # to search issues +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type # to search discussions +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type ! to search projects +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type @ to search teams +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type @ to search people and organizations +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type > to activate command mode +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Go to your accessibility settings to change your keyboard shortcuts +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type author:@me to search your content +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type is:pr to filter to pull requests +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type is:issue to filter to issues +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type is:project to filter to projects +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type is:open to filter to open content +
+
+ Type ? for help and tips +
+
+
+ +
+ +
+
+ We’ve encountered an error and some results aren't available at this time. Type a new search or try again later. +
+
+ + No results matched your search + + + + + + + + + + +
+ + + + + Search for issues and pull requests + + # + + + + Search for issues, pull requests, discussions, and projects + + # + + + + Search for organizations, repositories, and users + + @ + + + + Search for projects + + ! + + + + Search for files + + / + + + + Activate command mode + + > + + + + Search your issues, pull requests, and discussions + + # author:@me + + + + Search your issues, pull requests, and discussions + + # author:@me + + + + Filter to pull requests + + # is:pr + + + + Filter to issues + + # is:issue + + + + Filter to discussions + + # is:discussion + + + + Filter to projects + + # is:project + + + + Filter to open issues, pull requests, and discussions + + # is:open + + + + + + + + + + + + + + + + +
+
+
+ +
+ + + + + + + + + + +
+ + +
+
+
+ + + + + + + + + + + + + + + + + + +
+ Open in github.dev + Open in a new github.dev tab + Open in codespace + + + + + + + + + + + + + + +

Files

t
+
+ + + + +
+ +
+ +
+
+ +
+ +
+

Footer

+ + + + +
+
+ + + + + © 2024 GitHub, Inc. + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + diff --git a/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Native/Windows/x64/libmpsse.dll b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Native/Windows/x64/libmpsse.dll new file mode 100644 index 0000000000..cb185179b7 --- /dev/null +++ b/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ftxxxx/Native/Windows/x64/libmpsse.dll @@ -0,0 +1,4095 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Meadow.Foundation/Source/Meadow.Foundation.Peripherals/ICs.IOExpanders.Ft232h/Native/Windows/x64/libmpsse.dll at develop · WildernessLabs/Meadow.Foundation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ Skip to content + + + + + + + + + + + + + + + + +
+
+ + + + + + + + + + +
+ + +
+
+ + + + + + +
+
+
+

+ Global navigation +

+
+
+
+
+ +
+
+
+ +
+ + +
+ + + + +
+
+
+ + +

© 2024 GitHub, Inc.

+ +
+
+
+ +
+ +
+
+ + + +
+
+ + + + +
+
+
+

+ Navigate back to +

+
+
+ +
+
+
+ + + + +
+
+ + +
+ +
+
+ + + + + + + + + + Notifications + + + + +
+ + + + + + + +
+
+
+

+ Account menu +

+
+
+ + + adrianstevens + + + + Adrian Stevens + +
+ + + Create new... + + + + + + +
+
+
+
+ +
+
+
+ +
+ + + +
+
+
+ +
+
+ +
+
+ +
+ +
+ + + + + +
+
+
+ + + +
+ + + + +
+ +
+ + + + + + + + +
+ + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ +
+ + + + WildernessLabs  /   + Meadow.Foundation  /   + +
+
+ + + +
+ + +
+
+ Clear Command Palette +
+
+ + + +
+
+ Tip: + Type # to search pull requests +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type # to search issues +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type # to search discussions +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type ! to search projects +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type @ to search teams +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type @ to search people and organizations +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type > to activate command mode +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Go to your accessibility settings to change your keyboard shortcuts +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type author:@me to search your content +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type is:pr to filter to pull requests +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type is:issue to filter to issues +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type is:project to filter to projects +
+
+ Type ? for help and tips +
+
+
+ +
+
+ Tip: + Type is:open to filter to open content +
+
+ Type ? for help and tips +
+
+
+ +
+ +
+
+ We’ve encountered an error and some results aren't available at this time. Type a new search or try again later. +
+
+ + No results matched your search + + + + + + + + + + +
+ + + + + Search for issues and pull requests + + # + + + + Search for issues, pull requests, discussions, and projects + + # + + + + Search for organizations, repositories, and users + + @ + + + + Search for projects + + ! + + + + Search for files + + / + + + + Activate command mode + + > + + + + Search your issues, pull requests, and discussions + + # author:@me + + + + Search your issues, pull requests, and discussions + + # author:@me + + + + Filter to pull requests + + # is:pr + + + + Filter to issues + + # is:issue + + + + Filter to discussions + + # is:discussion + + + + Filter to projects + + # is:project + + + + Filter to open issues, pull requests, and discussions + + # is:open + + + + + + + + + + + + + + + + +
+
+
+ +
+ + + + + + + + + + +
+ + +
+
+
+ + + + + + + + + + + + + + + + + + +
+ Open in github.dev + Open in a new github.dev tab + Open in codespace + + + + + + + + + + + + + + +

Files

t
+
+ + + + +
+ +
+ +
+
+ +
+ +
+

Footer

+ + + + +
+
+ + + + + © 2024 GitHub, Inc. + +
+ + +
+
+ + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + + From 557dfea9172754020a7c4467daebffaf315d8a91 Mon Sep 17 00:00:00 2001 From: Chris Tacke Date: Wed, 28 Feb 2024 09:07:49 -0600 Subject: [PATCH 5/5] Update main-ci.yml --- .github/workflows/main-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main-ci.yml b/.github/workflows/main-ci.yml index 30a0fd6344..46c7ebcb88 100644 --- a/.github/workflows/main-ci.yml +++ b/.github/workflows/main-ci.yml @@ -3,6 +3,7 @@ name: Main Build on: workflow_dispatch: pull_request: + branches: [ main ] push: branches: [ main ]