diff --git a/Source/C16x9/Driver/C16x9.cs b/Source/C16x9/Driver/C16x9.cs index 68da454..d024836 100644 --- a/Source/C16x9/Driver/C16x9.cs +++ b/Source/C16x9/Driver/C16x9.cs @@ -19,7 +19,10 @@ public class C16x9 : IGraphicsDisplay readonly IDigitalOutputPort onOffPort; - readonly IDisplayBuffer displayBuffer; + /// + /// The buffer to hold the display data + /// + public IPixelBuffer PixelBuffer { get; protected set; } /// /// Color mode of display @@ -70,7 +73,7 @@ public C16x9(IDigitalOutputPort onOffPort, II2cBus i2cBus, byte address = (byte) iS31FL3731 = new Is31fl3731(i2cBus, address); iS31FL3731.Initialize(); - displayBuffer = new BufferGray8(Width, Height); + PixelBuffer = new BufferGray8(Width, Height); //enable the display this.onOffPort.State = true; @@ -100,7 +103,7 @@ public C16x9(IMeadowDevice device, IPin onOffPin, II2cBus i2cBus) : /// public void Clear(bool updateDisplay = false) { - displayBuffer.Clear(); + PixelBuffer.Clear(); if (updateDisplay == true) { @@ -122,7 +125,7 @@ public void DrawPixel(int x, int y, Color color) { return; } } - displayBuffer.SetPixel(x, y, color); + PixelBuffer.SetPixel(x, y, color); } /// @@ -143,9 +146,9 @@ public void DrawPixel(int x, int y, bool colored) /// y location in pixels public void InvertPixel(int x, int y) { - var brightness = 255 - displayBuffer.GetPixel(x, y).Color8bppGray; + var brightness = 255 - PixelBuffer.GetPixel(x, y).Color8bppGray; - displayBuffer.SetPixel(x, y, new Color(brightness, brightness, brightness)); + PixelBuffer.SetPixel(x, y, new Color(brightness, brightness, brightness)); } /// @@ -154,9 +157,9 @@ public void InvertPixel(int x, int y) /// /// /// - public void DrawBuffer(int x, int y, IDisplayBuffer displayBuffer) + public void DrawBuffer(int x, int y, IPixelBuffer displayBuffer) { - this.displayBuffer.WriteBuffer(x, y, displayBuffer); + this.PixelBuffer.WriteBuffer(x, y, displayBuffer); } /// @@ -166,7 +169,7 @@ public void DrawBuffer(int x, int y, IDisplayBuffer displayBuffer) /// public void Fill(Color clearColor, bool updateDisplay = false) { - displayBuffer.Fill(clearColor); + PixelBuffer.Fill(clearColor); if(updateDisplay) { @@ -184,7 +187,7 @@ public void Fill(Color clearColor, bool updateDisplay = false) /// public void Fill(int x, int y, int width, int height, Color fillColor) { - displayBuffer.Fill(fillColor, x, y, width, height); + PixelBuffer.Fill(x, y, width, height, fillColor); } /// @@ -199,7 +202,7 @@ public void Show() { for(int y = 0; y < Height; y++) { - iS31FL3731.SetLedPwm(frame, (byte)(x + y * Width), displayBuffer.GetPixel(x, y).Color8bppGray); + iS31FL3731.SetLedPwm(frame, (byte)(x + y * Width), PixelBuffer.GetPixel(x, y).Color8bppGray); } } @@ -226,5 +229,16 @@ public void Show(byte frame) { iS31FL3731.DisplayFrame(frame); } + + /// + /// Write an external buffer to the display buffer + /// + /// X postion to write buffer in pixels + /// Y postion to write buffer in pixels + /// The buffer to write + public void WriteBuffer(int x, int y, IPixelBuffer buffer) + { + PixelBuffer.WriteBuffer(x, y, buffer); + } } } \ No newline at end of file diff --git a/Source/C16x9/Driver/C16x9.csproj b/Source/C16x9/Driver/C16x9.csproj index 37aff16..b280201 100644 --- a/Source/C16x9/Driver/C16x9.csproj +++ b/Source/C16x9/Driver/C16x9.csproj @@ -1,4 +1,4 @@ - + true icon.png @@ -16,9 +16,12 @@ MikroElectronika I2C 16x9 Click LED board - - - - + + + + + + \ No newline at end of file diff --git a/Source/C16x9/Sample/C16x9G_Sample/C16x9_Sample.csproj b/Source/C16x9/Sample/C16x9G_Sample/C16x9_Sample.csproj index 327e17a..efd9030 100644 --- a/Source/C16x9/Sample/C16x9G_Sample/C16x9_Sample.csproj +++ b/Source/C16x9/Sample/C16x9G_Sample/C16x9_Sample.csproj @@ -1,12 +1,12 @@ - + netstandard2.1 true - Exe + Library App - + - + \ No newline at end of file diff --git a/Source/C16x9/Sample/C16x9G_Sample/MeadowApp.cs b/Source/C16x9/Sample/C16x9G_Sample/MeadowApp.cs index 0fa84d2..76384b6 100644 --- a/Source/C16x9/Sample/C16x9G_Sample/MeadowApp.cs +++ b/Source/C16x9/Sample/C16x9G_Sample/MeadowApp.cs @@ -7,7 +7,7 @@ namespace C16x9_Sample { // Change F7FeatherV2 to F7FeatherV1 for V1.x boards - public class MeadowApp : App + public class MeadowApp : App { // diff --git a/Source/C16x9/Sample/C16x9G_Sample/Program.cs b/Source/C16x9/Sample/C16x9G_Sample/Program.cs deleted file mode 100644 index c8dd389..0000000 --- a/Source/C16x9/Sample/C16x9G_Sample/Program.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Meadow; -using System.Threading; - -namespace C16x9_Sample -{ - internal class Program - { - static IApp app; - public static void Main(string[] args) - { - if (args.Length > 0 && args[0] == "--exitOnDebug") return; - - // instantiate and run new meadow app - app = new MeadowApp(); - - Thread.Sleep(Timeout.Infinite); - } - } -} \ No newline at end of file diff --git a/Source/C8x8/Driver/C8x8.csproj b/Source/C8x8/Driver/C8x8.csproj index b3677dd..a7b1442 100644 --- a/Source/C8x8/Driver/C8x8.csproj +++ b/Source/C8x8/Driver/C8x8.csproj @@ -16,9 +16,12 @@ MikroElectronika SPI 8x8 Click LED board - - - - + + + + + + \ No newline at end of file diff --git a/Source/C8x8/Sample/C8x8_Sample/C8x8_Sample.csproj b/Source/C8x8/Sample/C8x8_Sample/C8x8_Sample.csproj index f9777ad..657dce6 100644 --- a/Source/C8x8/Sample/C8x8_Sample/C8x8_Sample.csproj +++ b/Source/C8x8/Sample/C8x8_Sample/C8x8_Sample.csproj @@ -1,12 +1,12 @@ - + netstandard2.1 true - Exe + Library App - + diff --git a/Source/C8x8/Sample/C8x8_Sample/MeadowApp.cs b/Source/C8x8/Sample/C8x8_Sample/MeadowApp.cs index c47419b..c2438ca 100644 --- a/Source/C8x8/Sample/C8x8_Sample/MeadowApp.cs +++ b/Source/C8x8/Sample/C8x8_Sample/MeadowApp.cs @@ -7,7 +7,7 @@ namespace C8x8_Sample { // Change F7FeatherV2 to F7FeatherV1 for V1.x boards - public class MeadowApp : App + public class MeadowApp : App { // @@ -18,12 +18,10 @@ public MeadowApp() Console.WriteLine("Initializing ..."); c8x8 = new C8x8(Device, Device.CreateSpiBus(), Device.Pins.D14); - c8x8.IgnoreOutOfBoundsPixels = true; - - c8x8.Clear(); var graphics = new MicroGraphics(c8x8) { + IgnoreOutOfBoundsPixels = true, Rotation = RotationType._270Degrees }; graphics.CurrentFont = new Font4x8(); diff --git a/Source/C8x8/Sample/C8x8_Sample/Program.cs b/Source/C8x8/Sample/C8x8_Sample/Program.cs deleted file mode 100644 index bb723d7..0000000 --- a/Source/C8x8/Sample/C8x8_Sample/Program.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Meadow; -using System.Threading; - -namespace C8x8_Sample -{ - internal class Program - { - static IApp app; - public static void Main(string[] args) - { - if (args.Length > 0 && args[0] == "--exitOnDebug") return; - - // instantiate and run new meadow app - app = new MeadowApp(); - - Thread.Sleep(Timeout.Infinite); - } - } -} \ No newline at end of file diff --git a/Source/CButton/Driver/CButton.csproj b/Source/CButton/Driver/CButton.csproj index 3db0c22..cc1dea0 100644 --- a/Source/CButton/Driver/CButton.csproj +++ b/Source/CButton/Driver/CButton.csproj @@ -17,7 +17,9 @@ - - + + + + diff --git a/Source/CButton/Sample/CButton_Sample/CButton_Sample.csproj b/Source/CButton/Sample/CButton_Sample/CButton_Sample.csproj index 5682063..c7fe22a 100644 --- a/Source/CButton/Sample/CButton_Sample/CButton_Sample.csproj +++ b/Source/CButton/Sample/CButton_Sample/CButton_Sample.csproj @@ -1,12 +1,12 @@ - + netstandard2.1 true - Exe + Library App - + - + \ No newline at end of file diff --git a/Source/CButton/Sample/CButton_Sample/MeadowApp.cs b/Source/CButton/Sample/CButton_Sample/MeadowApp.cs index 1203141..a60588c 100644 --- a/Source/CButton/Sample/CButton_Sample/MeadowApp.cs +++ b/Source/CButton/Sample/CButton_Sample/MeadowApp.cs @@ -6,7 +6,7 @@ namespace CButton_Sample { // Change F7FeatherV2 to F7FeatherV1 for V1.x boards - public class MeadowApp : App + public class MeadowApp : App { // diff --git a/Source/CButton/Sample/CButton_Sample/Program.cs b/Source/CButton/Sample/CButton_Sample/Program.cs deleted file mode 100644 index c8abdfc..0000000 --- a/Source/CButton/Sample/CButton_Sample/Program.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Meadow; -using System.Threading; - -namespace CButton_Sample -{ - internal class Program - { - static IApp app; - public static void Main(string[] args) - { - if (args.Length > 0 && args[0] == "--exitOnDebug") return; - - // instantiate and run new meadow app - app = new MeadowApp(); - - Thread.Sleep(Timeout.Infinite); - } - } -} \ No newline at end of file diff --git a/Source/CJoystick/Driver/CJoystick.csproj b/Source/CJoystick/Driver/CJoystick.csproj index dcdd1fc..660384d 100644 --- a/Source/CJoystick/Driver/CJoystick.csproj +++ b/Source/CJoystick/Driver/CJoystick.csproj @@ -1,4 +1,4 @@ - + true icon.png @@ -16,8 +16,10 @@ MikroElectronika I2C Joystick MikroBus click board - - - + + + + + diff --git a/Source/CJoystick/Sample/CJoystick_Sample/CJoystick_Sample.csproj b/Source/CJoystick/Sample/CJoystick_Sample/CJoystick_Sample.csproj index 23756db..15a9e34 100644 --- a/Source/CJoystick/Sample/CJoystick_Sample/CJoystick_Sample.csproj +++ b/Source/CJoystick/Sample/CJoystick_Sample/CJoystick_Sample.csproj @@ -1,12 +1,12 @@ - + netstandard2.1 true - Exe + Library App - + diff --git a/Source/CJoystick/Sample/CJoystick_Sample/MeadowApp.cs b/Source/CJoystick/Sample/CJoystick_Sample/MeadowApp.cs index f141c81..7996361 100644 --- a/Source/CJoystick/Sample/CJoystick_Sample/MeadowApp.cs +++ b/Source/CJoystick/Sample/CJoystick_Sample/MeadowApp.cs @@ -7,7 +7,7 @@ namespace CJoystick_Sample { // Change F7FeatherV2 to F7FeatherV1 for V1.x boards - public class MeadowApp : App + public class MeadowApp : App { // diff --git a/Source/CJoystick/Sample/CJoystick_Sample/Program.cs b/Source/CJoystick/Sample/CJoystick_Sample/Program.cs deleted file mode 100644 index 0155af0..0000000 --- a/Source/CJoystick/Sample/CJoystick_Sample/Program.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Meadow; -using System.Threading; - -namespace CJoystick_Sample -{ - internal class Program - { - static IApp app; - public static void Main(string[] args) - { - if (args.Length > 0 && args[0] == "--exitOnDebug") return; - - // instantiate and run new meadow app - app = new MeadowApp(); - - Thread.Sleep(Timeout.Infinite); - } - } -} \ No newline at end of file diff --git a/Source/CTempHum15/Driver/CTempHum15.csproj b/Source/CTempHum15/Driver/CTempHum15.csproj index 0aeaf61..4fff5eb 100644 --- a/Source/CTempHum15/Driver/CTempHum15.csproj +++ b/Source/CTempHum15/Driver/CTempHum15.csproj @@ -16,11 +16,10 @@ MikroElectronika I2C Temp and Hum 15 temperature and humidity click board - - + + - - + - + \ No newline at end of file diff --git a/Source/CTempHum15/Sample/CTempHum15_Sample/CTempHum15_Sample.csproj b/Source/CTempHum15/Sample/CTempHum15_Sample/CTempHum15_Sample.csproj index fd24a01..4f1feef 100644 --- a/Source/CTempHum15/Sample/CTempHum15_Sample/CTempHum15_Sample.csproj +++ b/Source/CTempHum15/Sample/CTempHum15_Sample/CTempHum15_Sample.csproj @@ -1,12 +1,12 @@ - + netstandard2.1 true - Exe + Library App - + diff --git a/Source/CTempHum15/Sample/CTempHum15_Sample/MeadowApp.cs b/Source/CTempHum15/Sample/CTempHum15_Sample/MeadowApp.cs index 1cd02bf..076bcc0 100644 --- a/Source/CTempHum15/Sample/CTempHum15_Sample/MeadowApp.cs +++ b/Source/CTempHum15/Sample/CTempHum15_Sample/MeadowApp.cs @@ -7,7 +7,7 @@ namespace CTempHum15_Sample { // Change F7FeatherV2 to F7FeatherV1 for V1.x boards - public class MeadowApp : App + public class MeadowApp : App { // diff --git a/Source/CTempHum15/Sample/CTempHum15_Sample/Program.cs b/Source/CTempHum15/Sample/CTempHum15_Sample/Program.cs deleted file mode 100644 index 0d138e2..0000000 --- a/Source/CTempHum15/Sample/CTempHum15_Sample/Program.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Meadow; -using System.Threading; - -namespace CTempHum15_Sample -{ - internal class Program - { - static IApp app; - public static void Main(string[] args) - { - if (args.Length > 0 && args[0] == "--exitOnDebug") return; - - // instantiate and run new meadow app - app = new MeadowApp(); - - Thread.Sleep(Timeout.Infinite); - } - } -} \ No newline at end of file diff --git a/Source/mikroBUS.sln b/Source/mikroBUS.sln index 8e98f07..4839cb8 100644 --- a/Source/mikroBUS.sln +++ b/Source/mikroBUS.sln @@ -43,6 +43,22 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CButton", "CButton\Driver\C EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CButton_Sample", "CButton\Sample\CButton_Sample\CButton_Sample.csproj", "{DB85B42B-CC6E-4129-96C1-FDDCC3536DD2}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_External", "_External", "{CA8BDDA7-1C38-469D-9701-096872CD7E72}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Meadow.F7", "..\..\Meadow.Core\source\Meadow.F7\Meadow.F7.csproj", "{80CADD3C-B110-45FC-ACA1-CDFAC24D42A2}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Meadow.Foundation.Core", "..\..\Meadow.Foundation\Source\Meadow.Foundation.Core\Meadow.Foundation.Core.csproj", "{2285DB00-3EAD-4D0A-8829-325C9349C974}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Graphics.MicroGraphics", "..\..\Meadow.Foundation\Source\Meadow.Foundation.Libraries_and_Frameworks\Graphics.MicroGraphics\Driver\Graphics.MicroGraphics.csproj", "{964BABDA-1FF0-40A8-9007-74AE60F69079}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ICs.IOExpanders.Is31fl3731", "..\..\Meadow.Foundation\Source\Meadow.Foundation.Peripherals\ICs.IOExpanders.Is31fl3731\Driver\ICs.IOExpanders.Is31fl3731.csproj", "{FCE851FC-8D77-4EDB-B4F1-C1FA34C00833}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Displays.Max7219", "..\..\Meadow.Foundation\Source\Meadow.Foundation.Peripherals\Displays.Max7219\Driver\Displays.Max7219.csproj", "{D54B1A5E-F66F-42E3-A735-E3EE25309491}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sensors.Hid.As5013", "..\..\Meadow.Foundation\Source\Meadow.Foundation.Peripherals\Sensors.Hid.As5013\Driver\Sensors.Hid.As5013.csproj", "{685A1261-40F6-4266-B09A-60AB20722C85}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sensors.Atmospheric.Sht4x", "..\..\Meadow.Foundation\Source\Meadow.Foundation.Peripherals\Sensors.Atmospheric.Sht4x\Driver\Sensors.Atmospheric.Sht4x.csproj", "{C26B7D6B-5766-4980-A848-57AE5B0FD526}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -109,6 +125,48 @@ Global {DB85B42B-CC6E-4129-96C1-FDDCC3536DD2}.Release|Any CPU.ActiveCfg = Release|Any CPU {DB85B42B-CC6E-4129-96C1-FDDCC3536DD2}.Release|Any CPU.Build.0 = Release|Any CPU {DB85B42B-CC6E-4129-96C1-FDDCC3536DD2}.Release|Any CPU.Deploy.0 = Release|Any CPU + {80CADD3C-B110-45FC-ACA1-CDFAC24D42A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {80CADD3C-B110-45FC-ACA1-CDFAC24D42A2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {80CADD3C-B110-45FC-ACA1-CDFAC24D42A2}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {80CADD3C-B110-45FC-ACA1-CDFAC24D42A2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {80CADD3C-B110-45FC-ACA1-CDFAC24D42A2}.Release|Any CPU.Build.0 = Release|Any CPU + {80CADD3C-B110-45FC-ACA1-CDFAC24D42A2}.Release|Any CPU.Deploy.0 = Release|Any CPU + {2285DB00-3EAD-4D0A-8829-325C9349C974}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2285DB00-3EAD-4D0A-8829-325C9349C974}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2285DB00-3EAD-4D0A-8829-325C9349C974}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {2285DB00-3EAD-4D0A-8829-325C9349C974}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2285DB00-3EAD-4D0A-8829-325C9349C974}.Release|Any CPU.Build.0 = Release|Any CPU + {2285DB00-3EAD-4D0A-8829-325C9349C974}.Release|Any CPU.Deploy.0 = Release|Any CPU + {964BABDA-1FF0-40A8-9007-74AE60F69079}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {964BABDA-1FF0-40A8-9007-74AE60F69079}.Debug|Any CPU.Build.0 = Debug|Any CPU + {964BABDA-1FF0-40A8-9007-74AE60F69079}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {964BABDA-1FF0-40A8-9007-74AE60F69079}.Release|Any CPU.ActiveCfg = Release|Any CPU + {964BABDA-1FF0-40A8-9007-74AE60F69079}.Release|Any CPU.Build.0 = Release|Any CPU + {964BABDA-1FF0-40A8-9007-74AE60F69079}.Release|Any CPU.Deploy.0 = Release|Any CPU + {FCE851FC-8D77-4EDB-B4F1-C1FA34C00833}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FCE851FC-8D77-4EDB-B4F1-C1FA34C00833}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FCE851FC-8D77-4EDB-B4F1-C1FA34C00833}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {FCE851FC-8D77-4EDB-B4F1-C1FA34C00833}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FCE851FC-8D77-4EDB-B4F1-C1FA34C00833}.Release|Any CPU.Build.0 = Release|Any CPU + {FCE851FC-8D77-4EDB-B4F1-C1FA34C00833}.Release|Any CPU.Deploy.0 = Release|Any CPU + {D54B1A5E-F66F-42E3-A735-E3EE25309491}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D54B1A5E-F66F-42E3-A735-E3EE25309491}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D54B1A5E-F66F-42E3-A735-E3EE25309491}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {D54B1A5E-F66F-42E3-A735-E3EE25309491}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D54B1A5E-F66F-42E3-A735-E3EE25309491}.Release|Any CPU.Build.0 = Release|Any CPU + {D54B1A5E-F66F-42E3-A735-E3EE25309491}.Release|Any CPU.Deploy.0 = Release|Any CPU + {685A1261-40F6-4266-B09A-60AB20722C85}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {685A1261-40F6-4266-B09A-60AB20722C85}.Debug|Any CPU.Build.0 = Debug|Any CPU + {685A1261-40F6-4266-B09A-60AB20722C85}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {685A1261-40F6-4266-B09A-60AB20722C85}.Release|Any CPU.ActiveCfg = Release|Any CPU + {685A1261-40F6-4266-B09A-60AB20722C85}.Release|Any CPU.Build.0 = Release|Any CPU + {685A1261-40F6-4266-B09A-60AB20722C85}.Release|Any CPU.Deploy.0 = Release|Any CPU + {C26B7D6B-5766-4980-A848-57AE5B0FD526}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C26B7D6B-5766-4980-A848-57AE5B0FD526}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C26B7D6B-5766-4980-A848-57AE5B0FD526}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {C26B7D6B-5766-4980-A848-57AE5B0FD526}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C26B7D6B-5766-4980-A848-57AE5B0FD526}.Release|Any CPU.Build.0 = Release|Any CPU + {C26B7D6B-5766-4980-A848-57AE5B0FD526}.Release|Any CPU.Deploy.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -129,6 +187,13 @@ Global {7065A24E-4A6D-4C59-ADEF-C5AC63FB40B0} = {12EBAE4F-44EF-4073-99CB-DA025F8E7B84} {DEA6A88D-5A2B-45CE-A430-598ECF1E445E} = {7C2E1186-979B-408D-BA66-7224C048B8CB} {DB85B42B-CC6E-4129-96C1-FDDCC3536DD2} = {2C34DE9C-6860-4963-BF83-013458FFFB40} + {80CADD3C-B110-45FC-ACA1-CDFAC24D42A2} = {CA8BDDA7-1C38-469D-9701-096872CD7E72} + {2285DB00-3EAD-4D0A-8829-325C9349C974} = {CA8BDDA7-1C38-469D-9701-096872CD7E72} + {964BABDA-1FF0-40A8-9007-74AE60F69079} = {CA8BDDA7-1C38-469D-9701-096872CD7E72} + {FCE851FC-8D77-4EDB-B4F1-C1FA34C00833} = {CA8BDDA7-1C38-469D-9701-096872CD7E72} + {D54B1A5E-F66F-42E3-A735-E3EE25309491} = {CA8BDDA7-1C38-469D-9701-096872CD7E72} + {685A1261-40F6-4266-B09A-60AB20722C85} = {CA8BDDA7-1C38-469D-9701-096872CD7E72} + {C26B7D6B-5766-4980-A848-57AE5B0FD526} = {CA8BDDA7-1C38-469D-9701-096872CD7E72} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {BF2FC8CE-57C6-468C-B82D-D8204E6D9360}