From 7fbc2660931e7ef7e179e0ad4e5dd42c664752ad Mon Sep 17 00:00:00 2001 From: xas Date: Fri, 27 Oct 2023 09:48:28 +0200 Subject: [PATCH 01/10] feat: add M5 CoreInk project --- README.md | 4 +- nanoFramework.CoreInk/M5CoreInk.cs | 210 ++++++++++ .../Properties/AssemblyInfo.cs | 20 + nanoFramework.CoreInk/README.md | 43 ++ .../nanoFramework.CoreInk.nfproj | 83 ++++ nanoFramework.CoreInk/packages.config | 19 + nanoFramework.M5Stack.sln | 372 +++++++++--------- 7 files changed, 568 insertions(+), 183 deletions(-) create mode 100644 nanoFramework.CoreInk/M5CoreInk.cs create mode 100644 nanoFramework.CoreInk/Properties/AssemblyInfo.cs create mode 100644 nanoFramework.CoreInk/README.md create mode 100644 nanoFramework.CoreInk/nanoFramework.CoreInk.nfproj create mode 100644 nanoFramework.CoreInk/packages.config diff --git a/README.md b/README.md index b92a3c3e..71a02c41 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ | nanoFramework.AtomLite | [![Build Status](https://dev.azure.com/nanoframework/nanoFramework.M5Stack/_apis/build/status/nanoFramework.M5Stack?repoName=nanoframework%2FnanoFramework.M5Stack&branchName=main)](https://dev.azure.com/nanoframework/nanoFramework.M5Stack/_build/latest?definitionId=52&repoName=nanoframework%2FnanoFramework.M5Stack&branchName=main) | [![NuGet](https://img.shields.io/nuget/v/nanoFramework.AtomLite.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.AtomLite/) | | nanoFramework.AtomMatrix | [![Build Status](https://dev.azure.com/nanoframework/nanoFramework.M5Stack/_apis/build/status/nanoFramework.M5Stack?repoName=nanoframework%2FnanoFramework.M5Stack&branchName=main)](https://dev.azure.com/nanoframework/nanoFramework.M5Stack/_build/latest?definitionId=52&repoName=nanoframework%2FnanoFramework.M5Stack&branchName=main) | [![NuGet](https://img.shields.io/nuget/v/nanoFramework.AtomMatrix.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.AtomMatrix/) | | nanoFramework.Tough | [![Build Status](https://dev.azure.com/nanoframework/nanoFramework.M5Stack/_apis/build/status/nanoFramework.M5Stack?repoName=nanoframework%2FnanoFramework.M5Stack&branchName=main)](https://dev.azure.com/nanoframework/nanoFramework.M5Stack/_build/latest?definitionId=52&repoName=nanoframework%2FnanoFramework.M5Stack&branchName=main) | [![NuGet](https://img.shields.io/nuget/v/nanoFramework.Tough.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.Tough/) | +| nanoFramework.CoreInk | [![Build Status](https://dev.azure.com/nanoframework/nanoFramework.M5Stack/_apis/build/status/nanoFramework.M5Stack?repoName=nanoframework%2FnanoFramework.M5Stack&branchName=main)](https://dev.azure.com/nanoframework/nanoFramework.M5Stack/_build/latest?definitionId=52&repoName=nanoframework%2FnanoFramework.M5Stack&branchName=main) | [![NuGet](https://img.shields.io/nuget/v/nanoFramework.CoreInk.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.CoreInk/) | ## Usage @@ -31,6 +32,7 @@ These NuGet packages provide a support for M5Stack products: - [Atom Lite](https://docs.m5stack.com/en/core/atom_lite) - [Atom Matrix](https://docs.m5stack.com/en/core/atom_matrix) - [Tough](https://docs.m5stack.com/en/core/tough) +- [CoreInk](https://docs.m5stack.com/en/core/coreink) > Note 1: Before trying to add NuGet packages to your projects and/or before flashing the devices (see next section) using MS Visual Studio (VS), open VS > Tools > Options > NuGet Package Manager > Package Sources and make sure that it contains an entry pointing to , otherwise add it. > Note 2: When invoking VS > Project > Manage NuGet Packages make sure that in the Package source drop-down menu (right upper corner) "nuget.org" is selected. @@ -62,7 +64,7 @@ For the M5Core2, Tough and Fire: nanoff --target M5Core2 --update --serialport COM3 ``` -For the Atom Lite and Matrix: +For the Atom Lite, Matrix and CoreInk: ```shell nanoff --target ESP32_PICO --update --serialport COM3 diff --git a/nanoFramework.CoreInk/M5CoreInk.cs b/nanoFramework.CoreInk/M5CoreInk.cs new file mode 100644 index 00000000..f27cd7bb --- /dev/null +++ b/nanoFramework.CoreInk/M5CoreInk.cs @@ -0,0 +1,210 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. + +using Iot.Device.Button; +using Iot.Device.Buzzer; +using Iot.Device.Rtc; +using nanoFramework.Hardware.Esp32; +using System; +using System.Device.Adc; +using System.Device.Gpio; +using System.Device.I2c; + +namespace nanoFramework.M5Stack +{ + /// + /// M5 CoreInk board + /// + public static class M5CoreInk + { + private readonly static I2cDevice _device; + private static AdcController _adc; + private static Buzzer _buzzer; + private static GpioPin _led; + private static GpioButton _button; + private static GpioButton _left; + private static GpioButton _center; + private static GpioButton _right; + private static GpioButton _power; + private static GpioController _gpio; + private static Pcf8563 _rtc; + + #region properties + + /// + /// Gets the upper button. + /// + public static GpioButton RollerLeft + { + get + { + _left ??= new(37, GpioController, false, PinMode.Input); + + return _left; + } + } + + /// + /// Gets the upper button. + /// + public static GpioButton RollerRight + { + get + { + _right ??= new(39, GpioController, false, PinMode.Input); + + return _right; + } + } + + /// + /// Gets the upper button. + /// + public static GpioButton RollerButton + { + get + { + _center ??= new(38, GpioController, false, PinMode.Input); + + return _center; + } + } + + /// + /// Gets the upper button. + /// + public static GpioButton Button + { + get + { + _button ??= new(5, GpioController, false); + + return _button; + } + } + + /// + /// Gets the power button. + /// + public static GpioButton Power + { + get + { + _power ??= new(27, GpioController, false); + + return _power; + } + } + + /// + /// Gets the green led. + /// + public static GpioPin Led + { + get + { + _led ??= GpioController.OpenPin(10, PinMode.Output); + + return _led; + } + } + + /// + /// Gets the Buzzer. + /// + public static Buzzer Buzzer + { + get + { + // SetPinFunction already made in the static constructor + _buzzer ??= new(2); + + return _buzzer; + } + } + + /// + /// Gets the main . + /// + public static GpioController GpioController + { + get + { + _gpio ??= new(); + + return _gpio; + } + } + + public static Pcf8563 RTC + { + get + { + _rtc ??= new(_device); + + return _rtc; + } + } + + #endregion + + static M5CoreInk() + { + Configuration.SetPinFunction(2, DeviceFunction.PWM1); + Configuration.SetPinFunction(18, DeviceFunction.SPI1_CLOCK); + Configuration.SetPinFunction(23, DeviceFunction.SPI1_MOSI); + + // RTC settings + Configuration.SetPinFunction(21, DeviceFunction.I2C1_DATA); + Configuration.SetPinFunction(22, DeviceFunction.I2C1_CLOCK); + I2cConnectionSettings settings = new(1, Pcf8563.DefaultI2cAddress); + _device = I2cDevice.Create(settings); + } + + /// + /// Gets an ADC channel + /// + /// The GPIO pin number + /// An AdcChannel + public static AdcChannel GetAdcGpio(int gpioNumber) + { + _adc ??= new(); + + switch (gpioNumber) + { + case 35: + Configuration.SetPinFunction(35, DeviceFunction.ADC1_CH7); + return _adc.OpenChannel(7); + case 36: + Configuration.SetPinFunction(36, DeviceFunction.ADC1_CH0); + return _adc.OpenChannel(0); + case 2: + Configuration.SetPinFunction(2, DeviceFunction.ADC1_CH12); + return _adc.OpenChannel(12); + case 12: + Configuration.SetPinFunction(12, DeviceFunction.ADC1_CH15); + return _adc.OpenChannel(15); + case 15: + Configuration.SetPinFunction(15, DeviceFunction.ADC1_CH13); + return _adc.OpenChannel(13); + case 25: + Configuration.SetPinFunction(25, DeviceFunction.ADC1_CH18); + return _adc.OpenChannel(18); + case 26: + Configuration.SetPinFunction(26, DeviceFunction.ADC1_CH19); + return _adc.OpenChannel(19); + case 13: + Configuration.SetPinFunction(13, DeviceFunction.ADC1_CH14); + return _adc.OpenChannel(14); + case 0: + Configuration.SetPinFunction(0, DeviceFunction.ADC1_CH11); + return _adc.OpenChannel(11); + case 34: + Configuration.SetPinFunction(34, DeviceFunction.ADC1_CH6); + return _adc.OpenChannel(6); + default: + throw new ArgumentException(nameof(gpioNumber)); + } + } + } +} diff --git a/nanoFramework.CoreInk/Properties/AssemblyInfo.cs b/nanoFramework.CoreInk/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..16ba8b8c --- /dev/null +++ b/nanoFramework.CoreInk/Properties/AssemblyInfo.cs @@ -0,0 +1,20 @@ +using System.Reflection; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("nanoFramework.CoreInk")] +[assembly: AssemblyCompany("nanoFramework Contributors")] +[assembly: AssemblyCopyright("Copyright(c).NET Foundation and Contributors")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +///////////////////////////////////////////////////////////////// +// This attribute is mandatory when building Interop libraries // +// update this whenever the native assembly signature changes // +[assembly: AssemblyNativeVersion("0.0.0.0")] +///////////////////////////////////////////////////////////////// diff --git a/nanoFramework.CoreInk/README.md b/nanoFramework.CoreInk/README.md new file mode 100644 index 00000000..bd245995 --- /dev/null +++ b/nanoFramework.CoreInk/README.md @@ -0,0 +1,43 @@ +![nanoFramework logo](https://raw.githubusercontent.com/nanoframework/Home/main/resources/logo/nanoFramework-repo-logo.png) + +----- + +# Welcome to the .NET **nanoFramework** M5 CoreInk repository + +## Firmware + +The CoreInk can be flashed through `nanoff` flashing tool with the command line: + +```shell +nanoff --target ESP32_PICO --update --serialport COM3 +``` + +## Implementation + +The static class `M5CoreInk` provides pre-configured properties for ready-to-go use of the core. + +Here's a list of the current implementation + +| Component | Property name | Implemented | Tested | +|:-|---|---|---| +| Left wheel button1 | RollerLeft | :heavy_check_mark: | :heavy_check_mark: | +| Middle wheel button1 | RollerButton | :heavy_check_mark: | :heavy_check_mark: | +| Right wheel button1 | RollerRight | :heavy_check_mark: | :heavy_check_mark: | +| Button (top position) | Button | :heavy_check_mark: | :heavy_check_mark: | +| Power button | Power | :heavy_check_mark: | :x: | +| Green led | Led | :heavy_check_mark: | :heavy_check_mark: | +| Buzzer | Buzzer | :heavy_check_mark: | :x: | +| BM8563 | RTC | :heavy_check_mark: | :heavy_check_mark: | +| ADC/DAC pins | GetAdcGpio() | :heavy_check_mark: | :x: | +| Screen | :x: | :x: | :x: | +| EXT-PORT | :x: | :x: | :x: | + +## Notes + +1 The implementation define the buttons as `PinMode.Input` as defined in the [specifications](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/esp32_datasheet_en_v3.9.pdf) Table.26 + +``` +GPIO pins 34-39 are input-only. +These pins do not feature an output driver or internal pull-up/pull-down circuitry. +The pin names are: SENSOR_VP (GPIO36), SENSOR_CAPP (GPIO37), SENSOR_CAPN (GPIO38), SENSOR_VN (GPIO39), VDET_1 (GPIO34), VDET_2 (GPIO35). +``` \ No newline at end of file diff --git a/nanoFramework.CoreInk/nanoFramework.CoreInk.nfproj b/nanoFramework.CoreInk/nanoFramework.CoreInk.nfproj new file mode 100644 index 00000000..86b72166 --- /dev/null +++ b/nanoFramework.CoreInk/nanoFramework.CoreInk.nfproj @@ -0,0 +1,83 @@ + + + + $(MSBuildExtensionsPath)\nanoFramework\v1.0\ + + + + Debug + AnyCPU + {11A8DD76-328B-46DF-9F39-F559912D0360};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + de7ee9f2-38a0-42b6-945d-6215199ef35f + Library + Properties + 512 + nanoFramework.M5Stack + nanoFramework.CoreInk + v1.0 + + + + + + + + + ..\packages\nanoFramework.Iot.Device.Button.1.2.329\lib\Iot.Device.Button.dll + + + ..\packages\nanoFramework.Iot.Device.Buzzer.1.2.403\lib\Iot.Device.Buzzer.dll + + + ..\packages\nanoFramework.Iot.Device.Common.NumberHelper.1.2.325\lib\Iot.Device.Common.NumberHelper.dll + + + ..\packages\nanoFramework.Iot.Device.Rtc.1.2.403\lib\Iot.Device.Rtc.dll + + + ..\packages\nanoFramework.CoreLibrary.1.14.2\lib\mscorlib.dll + + + ..\packages\nanoFramework.Hardware.Esp32.1.6.8\lib\nanoFramework.Hardware.Esp32.dll + + + ..\packages\nanoFramework.Runtime.Events.1.11.6\lib\nanoFramework.Runtime.Events.dll + + + ..\packages\nanoFramework.System.Device.Adc.1.1.6\lib\System.Device.Adc.dll + + + ..\packages\nanoFramework.System.Device.Gpio.1.1.28\lib\System.Device.Gpio.dll + + + ..\packages\nanoFramework.System.Device.I2c.1.1.11\lib\System.Device.I2c.dll + + + ..\packages\nanoFramework.System.Device.Model.1.2.325\lib\System.Device.Model.dll + + + ..\packages\nanoFramework.System.Device.Pwm.1.1.6\lib\System.Device.Pwm.dll + + + ..\packages\nanoFramework.System.Device.Spi.1.3.37\lib\System.Device.Spi.dll + + + ..\packages\nanoFramework.System.Math.1.5.29\lib\System.Math.dll + + + ..\packages\UnitsNet.nanoFramework.Frequency.5.35.0\lib\UnitsNet.Frequency.dll + + + ..\packages\UnitsNet.nanoFramework.Temperature.5.35.0\lib\UnitsNet.Temperature.dll + + + + + + + + + + + + \ No newline at end of file diff --git a/nanoFramework.CoreInk/packages.config b/nanoFramework.CoreInk/packages.config new file mode 100644 index 00000000..5320ba28 --- /dev/null +++ b/nanoFramework.CoreInk/packages.config @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nanoFramework.M5Stack.sln b/nanoFramework.M5Stack.sln index 28c3a238..1526a985 100644 --- a/nanoFramework.M5Stack.sln +++ b/nanoFramework.M5Stack.sln @@ -1,182 +1,190 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.0.32126.317 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.M5Core", "nanoFramework.M5Core\nanoFramework.M5Core.nfproj", "{2C78D035-DBDA-4C38-AB58-8ADC22D763C3}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{0A689EB3-86E0-448E-99F4-3D644EC3D8C5}" - ProjectSection(SolutionItems) = preProject - nanoFramework.AtomLite.nuspec = nanoFramework.AtomLite.nuspec - nanoFramework.AtomMatrix.nuspec = nanoFramework.AtomMatrix.nuspec - nanoFramework.M5Core.nuspec = nanoFramework.M5Core.nuspec - nanoFramework.M5Core2.nuspec = nanoFramework.M5Core2.nuspec - nanoFramework.M5StickC.nuspec = nanoFramework.M5StickC.nuspec - nanoFramework.M5StickCPlus.nuspec = nanoFramework.M5StickCPlus.nuspec - nanoFramework.Tough.nuspec = nanoFramework.Tough.nuspec - NuGet.Config = NuGet.Config - version.json = version.json - EndProjectSection -EndProject -Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "M5CoreTestApp", "Tests\M5CoreTestApp\M5CoreTestApp.nfproj", "{90A94170-2C6B-4B22-BAA5-8212AC22219B}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{5972CDE6-43B4-42F0-9276-6B70B7EF6437}" -EndProject -Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "M5StackCommon", "M5StackCommon\M5StackCommon.shproj", "{00E23322-2401-4087-ABAE-24F90C8A0422}" -EndProject -Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.M5StickC", "nanoFramework.M5StickC\nanoFramework.M5StickC.nfproj", "{33FD3FBA-95B3-4228-BC7B-9A6F6CED7E4B}" -EndProject -Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.M5StickCPlus", "nanoFramework.M5StickCPlus\nanoFramework.M5StickCPlus.nfproj", "{3D7119D0-557F-480F-A1CB-3540C71101AB}" -EndProject -Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "nanoFramework.M5StickCommon", "nanoFramework.M5StickCommon\nanoFramework.M5StickCommon.shproj", "{1F49B255-573D-4D02-87DA-08C4A95744B0}" -EndProject -Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "M5StickTestApp", "Tests\M5StickTestApp\M5StickTestApp.nfproj", "{48E3FD52-1D13-422D-AF3F-B6AEA2C72800}" -EndProject -Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.M5Core2", "nanoFramework.M5Core2\nanoFramework.M5Core2.nfproj", "{08C2EFD2-2812-456E-9D27-606AE88B3C1B}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Shared projects", "Shared projects", "{FFF3F871-7600-480E-B378-95AD0F9FC0F1}" -EndProject -Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "nanoFramework.M5StackCore", "nanoFramework.M5StackCore\nanoFramework.M5StackCore.shproj", "{E2A94F3C-EE7F-4075-A98A-A19CABE82C0F}" -EndProject -Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "M5Core2TestApp", "Tests\M5Core2TestApp\M5Core2TestApp.nfproj", "{20266750-53F3-46D5-8626-1438AC985033}" -EndProject -Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.AtomLite", "nanoFramework.AtomLite\nanoFramework.AtomLite.nfproj", "{C20734A9-C944-4B2A-9CEA-A9B3F855B132}" -EndProject -Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "AtomLiteTestApp", "Tests\AtomLiteTestApp\AtomLiteTestApp.nfproj", "{7533C164-9D3E-461B-BEED-888C91AC640B}" -EndProject -Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.AtomMatrix", "nanoFramework.AtomMatrix\nanoFramework.AtomMatrix.nfproj", "{C47BE27B-028D-493A-85DD-7D5C24EE6EB7}" -EndProject -Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "AtomMatrixTestApp", "Tests\AtomMatrixTestApp\AtomMatrixTestApp.nfproj", "{88F1D73A-1ADF-4444-A031-024E570945CC}" -EndProject -Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "AtomCommon", "AtomCommon\AtomCommon.shproj", "{79F09006-AB5D-4E3E-AD12-2EFBEE536CA9}" -EndProject -Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "FireTestApp", "Tests\FireTestApp\FireTestApp.nfproj", "{5FF00F7C-8ED8-4468-9959-497CE8C5B1AF}" -EndProject -Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.Fire", "nanoFramework.Fire\nanoFramework.Fire.nfproj", "{2550D7FC-BBA7-4173-9071-8606DD600A2C}" -EndProject -Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.Tough", "nanoFramework.Tough\nanoFramework.Tough.nfproj", "{E867A53E-3849-4AD3-832E-92D126999074}" -EndProject -Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "ToughTestApp", "Tests\ToughTestApp\ToughTestApp.nfproj", "{F5BF3DA4-B92E-46C6-A135-37E6A7E002A1}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {2C78D035-DBDA-4C38-AB58-8ADC22D763C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2C78D035-DBDA-4C38-AB58-8ADC22D763C3}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2C78D035-DBDA-4C38-AB58-8ADC22D763C3}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {2C78D035-DBDA-4C38-AB58-8ADC22D763C3}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2C78D035-DBDA-4C38-AB58-8ADC22D763C3}.Release|Any CPU.Build.0 = Release|Any CPU - {2C78D035-DBDA-4C38-AB58-8ADC22D763C3}.Release|Any CPU.Deploy.0 = Release|Any CPU - {90A94170-2C6B-4B22-BAA5-8212AC22219B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {90A94170-2C6B-4B22-BAA5-8212AC22219B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {90A94170-2C6B-4B22-BAA5-8212AC22219B}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {90A94170-2C6B-4B22-BAA5-8212AC22219B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {90A94170-2C6B-4B22-BAA5-8212AC22219B}.Release|Any CPU.Build.0 = Release|Any CPU - {90A94170-2C6B-4B22-BAA5-8212AC22219B}.Release|Any CPU.Deploy.0 = Release|Any CPU - {33FD3FBA-95B3-4228-BC7B-9A6F6CED7E4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {33FD3FBA-95B3-4228-BC7B-9A6F6CED7E4B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {33FD3FBA-95B3-4228-BC7B-9A6F6CED7E4B}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {33FD3FBA-95B3-4228-BC7B-9A6F6CED7E4B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {33FD3FBA-95B3-4228-BC7B-9A6F6CED7E4B}.Release|Any CPU.Build.0 = Release|Any CPU - {33FD3FBA-95B3-4228-BC7B-9A6F6CED7E4B}.Release|Any CPU.Deploy.0 = Release|Any CPU - {3D7119D0-557F-480F-A1CB-3540C71101AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3D7119D0-557F-480F-A1CB-3540C71101AB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3D7119D0-557F-480F-A1CB-3540C71101AB}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {3D7119D0-557F-480F-A1CB-3540C71101AB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3D7119D0-557F-480F-A1CB-3540C71101AB}.Release|Any CPU.Build.0 = Release|Any CPU - {3D7119D0-557F-480F-A1CB-3540C71101AB}.Release|Any CPU.Deploy.0 = Release|Any CPU - {48E3FD52-1D13-422D-AF3F-B6AEA2C72800}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {48E3FD52-1D13-422D-AF3F-B6AEA2C72800}.Debug|Any CPU.Build.0 = Debug|Any CPU - {48E3FD52-1D13-422D-AF3F-B6AEA2C72800}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {48E3FD52-1D13-422D-AF3F-B6AEA2C72800}.Release|Any CPU.ActiveCfg = Release|Any CPU - {48E3FD52-1D13-422D-AF3F-B6AEA2C72800}.Release|Any CPU.Build.0 = Release|Any CPU - {48E3FD52-1D13-422D-AF3F-B6AEA2C72800}.Release|Any CPU.Deploy.0 = Release|Any CPU - {08C2EFD2-2812-456E-9D27-606AE88B3C1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {08C2EFD2-2812-456E-9D27-606AE88B3C1B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {08C2EFD2-2812-456E-9D27-606AE88B3C1B}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {08C2EFD2-2812-456E-9D27-606AE88B3C1B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {08C2EFD2-2812-456E-9D27-606AE88B3C1B}.Release|Any CPU.Build.0 = Release|Any CPU - {08C2EFD2-2812-456E-9D27-606AE88B3C1B}.Release|Any CPU.Deploy.0 = Release|Any CPU - {20266750-53F3-46D5-8626-1438AC985033}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {20266750-53F3-46D5-8626-1438AC985033}.Debug|Any CPU.Build.0 = Debug|Any CPU - {20266750-53F3-46D5-8626-1438AC985033}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {20266750-53F3-46D5-8626-1438AC985033}.Release|Any CPU.ActiveCfg = Release|Any CPU - {20266750-53F3-46D5-8626-1438AC985033}.Release|Any CPU.Build.0 = Release|Any CPU - {20266750-53F3-46D5-8626-1438AC985033}.Release|Any CPU.Deploy.0 = Release|Any CPU - {C20734A9-C944-4B2A-9CEA-A9B3F855B132}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C20734A9-C944-4B2A-9CEA-A9B3F855B132}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C20734A9-C944-4B2A-9CEA-A9B3F855B132}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {C20734A9-C944-4B2A-9CEA-A9B3F855B132}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C20734A9-C944-4B2A-9CEA-A9B3F855B132}.Release|Any CPU.Build.0 = Release|Any CPU - {C20734A9-C944-4B2A-9CEA-A9B3F855B132}.Release|Any CPU.Deploy.0 = Release|Any CPU - {7533C164-9D3E-461B-BEED-888C91AC640B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7533C164-9D3E-461B-BEED-888C91AC640B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7533C164-9D3E-461B-BEED-888C91AC640B}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {7533C164-9D3E-461B-BEED-888C91AC640B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7533C164-9D3E-461B-BEED-888C91AC640B}.Release|Any CPU.Build.0 = Release|Any CPU - {7533C164-9D3E-461B-BEED-888C91AC640B}.Release|Any CPU.Deploy.0 = Release|Any CPU - {C47BE27B-028D-493A-85DD-7D5C24EE6EB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C47BE27B-028D-493A-85DD-7D5C24EE6EB7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C47BE27B-028D-493A-85DD-7D5C24EE6EB7}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {C47BE27B-028D-493A-85DD-7D5C24EE6EB7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C47BE27B-028D-493A-85DD-7D5C24EE6EB7}.Release|Any CPU.Build.0 = Release|Any CPU - {C47BE27B-028D-493A-85DD-7D5C24EE6EB7}.Release|Any CPU.Deploy.0 = Release|Any CPU - {88F1D73A-1ADF-4444-A031-024E570945CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {88F1D73A-1ADF-4444-A031-024E570945CC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {88F1D73A-1ADF-4444-A031-024E570945CC}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {88F1D73A-1ADF-4444-A031-024E570945CC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {88F1D73A-1ADF-4444-A031-024E570945CC}.Release|Any CPU.Build.0 = Release|Any CPU - {88F1D73A-1ADF-4444-A031-024E570945CC}.Release|Any CPU.Deploy.0 = Release|Any CPU - {5FF00F7C-8ED8-4468-9959-497CE8C5B1AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5FF00F7C-8ED8-4468-9959-497CE8C5B1AF}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5FF00F7C-8ED8-4468-9959-497CE8C5B1AF}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {5FF00F7C-8ED8-4468-9959-497CE8C5B1AF}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5FF00F7C-8ED8-4468-9959-497CE8C5B1AF}.Release|Any CPU.Build.0 = Release|Any CPU - {5FF00F7C-8ED8-4468-9959-497CE8C5B1AF}.Release|Any CPU.Deploy.0 = Release|Any CPU - {2550D7FC-BBA7-4173-9071-8606DD600A2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2550D7FC-BBA7-4173-9071-8606DD600A2C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2550D7FC-BBA7-4173-9071-8606DD600A2C}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {2550D7FC-BBA7-4173-9071-8606DD600A2C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2550D7FC-BBA7-4173-9071-8606DD600A2C}.Release|Any CPU.Build.0 = Release|Any CPU - {2550D7FC-BBA7-4173-9071-8606DD600A2C}.Release|Any CPU.Deploy.0 = Release|Any CPU - {E867A53E-3849-4AD3-832E-92D126999074}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E867A53E-3849-4AD3-832E-92D126999074}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E867A53E-3849-4AD3-832E-92D126999074}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {E867A53E-3849-4AD3-832E-92D126999074}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E867A53E-3849-4AD3-832E-92D126999074}.Release|Any CPU.Build.0 = Release|Any CPU - {E867A53E-3849-4AD3-832E-92D126999074}.Release|Any CPU.Deploy.0 = Release|Any CPU - {F5BF3DA4-B92E-46C6-A135-37E6A7E002A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F5BF3DA4-B92E-46C6-A135-37E6A7E002A1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F5BF3DA4-B92E-46C6-A135-37E6A7E002A1}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {F5BF3DA4-B92E-46C6-A135-37E6A7E002A1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F5BF3DA4-B92E-46C6-A135-37E6A7E002A1}.Release|Any CPU.Build.0 = Release|Any CPU - {F5BF3DA4-B92E-46C6-A135-37E6A7E002A1}.Release|Any CPU.Deploy.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {90A94170-2C6B-4B22-BAA5-8212AC22219B} = {5972CDE6-43B4-42F0-9276-6B70B7EF6437} - {00E23322-2401-4087-ABAE-24F90C8A0422} = {FFF3F871-7600-480E-B378-95AD0F9FC0F1} - {1F49B255-573D-4D02-87DA-08C4A95744B0} = {FFF3F871-7600-480E-B378-95AD0F9FC0F1} - {48E3FD52-1D13-422D-AF3F-B6AEA2C72800} = {5972CDE6-43B4-42F0-9276-6B70B7EF6437} - {E2A94F3C-EE7F-4075-A98A-A19CABE82C0F} = {FFF3F871-7600-480E-B378-95AD0F9FC0F1} - {20266750-53F3-46D5-8626-1438AC985033} = {5972CDE6-43B4-42F0-9276-6B70B7EF6437} - {7533C164-9D3E-461B-BEED-888C91AC640B} = {5972CDE6-43B4-42F0-9276-6B70B7EF6437} - {88F1D73A-1ADF-4444-A031-024E570945CC} = {5972CDE6-43B4-42F0-9276-6B70B7EF6437} - {79F09006-AB5D-4E3E-AD12-2EFBEE536CA9} = {FFF3F871-7600-480E-B378-95AD0F9FC0F1} - {5FF00F7C-8ED8-4468-9959-497CE8C5B1AF} = {5972CDE6-43B4-42F0-9276-6B70B7EF6437} - {F5BF3DA4-B92E-46C6-A135-37E6A7E002A1} = {5972CDE6-43B4-42F0-9276-6B70B7EF6437} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {DD82D7FF-B798-48A4-8506-2FBA0001D32F} - EndGlobalSection - GlobalSection(SharedMSBuildProjectFiles) = preSolution - M5StackCommon\M5StackCommon.projitems*{00e23322-2401-4087-abae-24f90c8a0422}*SharedItemsImports = 13 - nanoFramework.M5StickCommon\nanoFramework.M5StickCommon.projitems*{1f49b255-573d-4d02-87da-08c4a95744b0}*SharedItemsImports = 13 - AtomCommon\AtomCommon.projitems*{79f09006-ab5d-4e3e-ad12-2efbee536ca9}*SharedItemsImports = 13 - nanoFramework.M5StackCore\nanoFramework.M5StackCore.projitems*{e2a94f3c-ee7f-4075-a98a-a19cabe82c0f}*SharedItemsImports = 13 - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.32126.317 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.M5Core", "nanoFramework.M5Core\nanoFramework.M5Core.nfproj", "{2C78D035-DBDA-4C38-AB58-8ADC22D763C3}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{0A689EB3-86E0-448E-99F4-3D644EC3D8C5}" + ProjectSection(SolutionItems) = preProject + nanoFramework.AtomLite.nuspec = nanoFramework.AtomLite.nuspec + nanoFramework.AtomMatrix.nuspec = nanoFramework.AtomMatrix.nuspec + nanoFramework.M5Core.nuspec = nanoFramework.M5Core.nuspec + nanoFramework.M5Core2.nuspec = nanoFramework.M5Core2.nuspec + nanoFramework.M5StickC.nuspec = nanoFramework.M5StickC.nuspec + nanoFramework.M5StickCPlus.nuspec = nanoFramework.M5StickCPlus.nuspec + nanoFramework.Tough.nuspec = nanoFramework.Tough.nuspec + NuGet.Config = NuGet.Config + version.json = version.json + EndProjectSection +EndProject +Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "M5CoreTestApp", "Tests\M5CoreTestApp\M5CoreTestApp.nfproj", "{90A94170-2C6B-4B22-BAA5-8212AC22219B}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{5972CDE6-43B4-42F0-9276-6B70B7EF6437}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "M5StackCommon", "M5StackCommon\M5StackCommon.shproj", "{00E23322-2401-4087-ABAE-24F90C8A0422}" +EndProject +Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.M5StickC", "nanoFramework.M5StickC\nanoFramework.M5StickC.nfproj", "{33FD3FBA-95B3-4228-BC7B-9A6F6CED7E4B}" +EndProject +Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.M5StickCPlus", "nanoFramework.M5StickCPlus\nanoFramework.M5StickCPlus.nfproj", "{3D7119D0-557F-480F-A1CB-3540C71101AB}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "nanoFramework.M5StickCommon", "nanoFramework.M5StickCommon\nanoFramework.M5StickCommon.shproj", "{1F49B255-573D-4D02-87DA-08C4A95744B0}" +EndProject +Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "M5StickTestApp", "Tests\M5StickTestApp\M5StickTestApp.nfproj", "{48E3FD52-1D13-422D-AF3F-B6AEA2C72800}" +EndProject +Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.M5Core2", "nanoFramework.M5Core2\nanoFramework.M5Core2.nfproj", "{08C2EFD2-2812-456E-9D27-606AE88B3C1B}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Shared projects", "Shared projects", "{FFF3F871-7600-480E-B378-95AD0F9FC0F1}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "nanoFramework.M5StackCore", "nanoFramework.M5StackCore\nanoFramework.M5StackCore.shproj", "{E2A94F3C-EE7F-4075-A98A-A19CABE82C0F}" +EndProject +Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "M5Core2TestApp", "Tests\M5Core2TestApp\M5Core2TestApp.nfproj", "{20266750-53F3-46D5-8626-1438AC985033}" +EndProject +Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.AtomLite", "nanoFramework.AtomLite\nanoFramework.AtomLite.nfproj", "{C20734A9-C944-4B2A-9CEA-A9B3F855B132}" +EndProject +Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "AtomLiteTestApp", "Tests\AtomLiteTestApp\AtomLiteTestApp.nfproj", "{7533C164-9D3E-461B-BEED-888C91AC640B}" +EndProject +Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.AtomMatrix", "nanoFramework.AtomMatrix\nanoFramework.AtomMatrix.nfproj", "{C47BE27B-028D-493A-85DD-7D5C24EE6EB7}" +EndProject +Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "AtomMatrixTestApp", "Tests\AtomMatrixTestApp\AtomMatrixTestApp.nfproj", "{88F1D73A-1ADF-4444-A031-024E570945CC}" +EndProject +Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "AtomCommon", "AtomCommon\AtomCommon.shproj", "{79F09006-AB5D-4E3E-AD12-2EFBEE536CA9}" +EndProject +Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "FireTestApp", "Tests\FireTestApp\FireTestApp.nfproj", "{5FF00F7C-8ED8-4468-9959-497CE8C5B1AF}" +EndProject +Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.Fire", "nanoFramework.Fire\nanoFramework.Fire.nfproj", "{2550D7FC-BBA7-4173-9071-8606DD600A2C}" +EndProject +Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.Tough", "nanoFramework.Tough\nanoFramework.Tough.nfproj", "{E867A53E-3849-4AD3-832E-92D126999074}" +EndProject +Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "ToughTestApp", "Tests\ToughTestApp\ToughTestApp.nfproj", "{F5BF3DA4-B92E-46C6-A135-37E6A7E002A1}" +EndProject +Project("{11A8DD76-328B-46DF-9F39-F559912D0360}") = "nanoFramework.CoreInk", "nanoFramework.CoreInk\nanoFramework.CoreInk.nfproj", "{DE7EE9F2-38A0-42B6-945D-6215199EF35F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {2C78D035-DBDA-4C38-AB58-8ADC22D763C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2C78D035-DBDA-4C38-AB58-8ADC22D763C3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2C78D035-DBDA-4C38-AB58-8ADC22D763C3}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {2C78D035-DBDA-4C38-AB58-8ADC22D763C3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2C78D035-DBDA-4C38-AB58-8ADC22D763C3}.Release|Any CPU.Build.0 = Release|Any CPU + {2C78D035-DBDA-4C38-AB58-8ADC22D763C3}.Release|Any CPU.Deploy.0 = Release|Any CPU + {90A94170-2C6B-4B22-BAA5-8212AC22219B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {90A94170-2C6B-4B22-BAA5-8212AC22219B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {90A94170-2C6B-4B22-BAA5-8212AC22219B}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {90A94170-2C6B-4B22-BAA5-8212AC22219B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {90A94170-2C6B-4B22-BAA5-8212AC22219B}.Release|Any CPU.Build.0 = Release|Any CPU + {90A94170-2C6B-4B22-BAA5-8212AC22219B}.Release|Any CPU.Deploy.0 = Release|Any CPU + {33FD3FBA-95B3-4228-BC7B-9A6F6CED7E4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {33FD3FBA-95B3-4228-BC7B-9A6F6CED7E4B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {33FD3FBA-95B3-4228-BC7B-9A6F6CED7E4B}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {33FD3FBA-95B3-4228-BC7B-9A6F6CED7E4B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {33FD3FBA-95B3-4228-BC7B-9A6F6CED7E4B}.Release|Any CPU.Build.0 = Release|Any CPU + {33FD3FBA-95B3-4228-BC7B-9A6F6CED7E4B}.Release|Any CPU.Deploy.0 = Release|Any CPU + {3D7119D0-557F-480F-A1CB-3540C71101AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3D7119D0-557F-480F-A1CB-3540C71101AB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3D7119D0-557F-480F-A1CB-3540C71101AB}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {3D7119D0-557F-480F-A1CB-3540C71101AB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3D7119D0-557F-480F-A1CB-3540C71101AB}.Release|Any CPU.Build.0 = Release|Any CPU + {3D7119D0-557F-480F-A1CB-3540C71101AB}.Release|Any CPU.Deploy.0 = Release|Any CPU + {48E3FD52-1D13-422D-AF3F-B6AEA2C72800}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {48E3FD52-1D13-422D-AF3F-B6AEA2C72800}.Debug|Any CPU.Build.0 = Debug|Any CPU + {48E3FD52-1D13-422D-AF3F-B6AEA2C72800}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {48E3FD52-1D13-422D-AF3F-B6AEA2C72800}.Release|Any CPU.ActiveCfg = Release|Any CPU + {48E3FD52-1D13-422D-AF3F-B6AEA2C72800}.Release|Any CPU.Build.0 = Release|Any CPU + {48E3FD52-1D13-422D-AF3F-B6AEA2C72800}.Release|Any CPU.Deploy.0 = Release|Any CPU + {08C2EFD2-2812-456E-9D27-606AE88B3C1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {08C2EFD2-2812-456E-9D27-606AE88B3C1B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {08C2EFD2-2812-456E-9D27-606AE88B3C1B}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {08C2EFD2-2812-456E-9D27-606AE88B3C1B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {08C2EFD2-2812-456E-9D27-606AE88B3C1B}.Release|Any CPU.Build.0 = Release|Any CPU + {08C2EFD2-2812-456E-9D27-606AE88B3C1B}.Release|Any CPU.Deploy.0 = Release|Any CPU + {20266750-53F3-46D5-8626-1438AC985033}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {20266750-53F3-46D5-8626-1438AC985033}.Debug|Any CPU.Build.0 = Debug|Any CPU + {20266750-53F3-46D5-8626-1438AC985033}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {20266750-53F3-46D5-8626-1438AC985033}.Release|Any CPU.ActiveCfg = Release|Any CPU + {20266750-53F3-46D5-8626-1438AC985033}.Release|Any CPU.Build.0 = Release|Any CPU + {20266750-53F3-46D5-8626-1438AC985033}.Release|Any CPU.Deploy.0 = Release|Any CPU + {C20734A9-C944-4B2A-9CEA-A9B3F855B132}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C20734A9-C944-4B2A-9CEA-A9B3F855B132}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C20734A9-C944-4B2A-9CEA-A9B3F855B132}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {C20734A9-C944-4B2A-9CEA-A9B3F855B132}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C20734A9-C944-4B2A-9CEA-A9B3F855B132}.Release|Any CPU.Build.0 = Release|Any CPU + {C20734A9-C944-4B2A-9CEA-A9B3F855B132}.Release|Any CPU.Deploy.0 = Release|Any CPU + {7533C164-9D3E-461B-BEED-888C91AC640B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7533C164-9D3E-461B-BEED-888C91AC640B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7533C164-9D3E-461B-BEED-888C91AC640B}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {7533C164-9D3E-461B-BEED-888C91AC640B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7533C164-9D3E-461B-BEED-888C91AC640B}.Release|Any CPU.Build.0 = Release|Any CPU + {7533C164-9D3E-461B-BEED-888C91AC640B}.Release|Any CPU.Deploy.0 = Release|Any CPU + {C47BE27B-028D-493A-85DD-7D5C24EE6EB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C47BE27B-028D-493A-85DD-7D5C24EE6EB7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C47BE27B-028D-493A-85DD-7D5C24EE6EB7}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {C47BE27B-028D-493A-85DD-7D5C24EE6EB7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C47BE27B-028D-493A-85DD-7D5C24EE6EB7}.Release|Any CPU.Build.0 = Release|Any CPU + {C47BE27B-028D-493A-85DD-7D5C24EE6EB7}.Release|Any CPU.Deploy.0 = Release|Any CPU + {88F1D73A-1ADF-4444-A031-024E570945CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {88F1D73A-1ADF-4444-A031-024E570945CC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {88F1D73A-1ADF-4444-A031-024E570945CC}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {88F1D73A-1ADF-4444-A031-024E570945CC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {88F1D73A-1ADF-4444-A031-024E570945CC}.Release|Any CPU.Build.0 = Release|Any CPU + {88F1D73A-1ADF-4444-A031-024E570945CC}.Release|Any CPU.Deploy.0 = Release|Any CPU + {5FF00F7C-8ED8-4468-9959-497CE8C5B1AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5FF00F7C-8ED8-4468-9959-497CE8C5B1AF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5FF00F7C-8ED8-4468-9959-497CE8C5B1AF}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {5FF00F7C-8ED8-4468-9959-497CE8C5B1AF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5FF00F7C-8ED8-4468-9959-497CE8C5B1AF}.Release|Any CPU.Build.0 = Release|Any CPU + {5FF00F7C-8ED8-4468-9959-497CE8C5B1AF}.Release|Any CPU.Deploy.0 = Release|Any CPU + {2550D7FC-BBA7-4173-9071-8606DD600A2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2550D7FC-BBA7-4173-9071-8606DD600A2C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2550D7FC-BBA7-4173-9071-8606DD600A2C}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {2550D7FC-BBA7-4173-9071-8606DD600A2C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2550D7FC-BBA7-4173-9071-8606DD600A2C}.Release|Any CPU.Build.0 = Release|Any CPU + {2550D7FC-BBA7-4173-9071-8606DD600A2C}.Release|Any CPU.Deploy.0 = Release|Any CPU + {E867A53E-3849-4AD3-832E-92D126999074}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E867A53E-3849-4AD3-832E-92D126999074}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E867A53E-3849-4AD3-832E-92D126999074}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {E867A53E-3849-4AD3-832E-92D126999074}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E867A53E-3849-4AD3-832E-92D126999074}.Release|Any CPU.Build.0 = Release|Any CPU + {E867A53E-3849-4AD3-832E-92D126999074}.Release|Any CPU.Deploy.0 = Release|Any CPU + {F5BF3DA4-B92E-46C6-A135-37E6A7E002A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F5BF3DA4-B92E-46C6-A135-37E6A7E002A1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F5BF3DA4-B92E-46C6-A135-37E6A7E002A1}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {F5BF3DA4-B92E-46C6-A135-37E6A7E002A1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F5BF3DA4-B92E-46C6-A135-37E6A7E002A1}.Release|Any CPU.Build.0 = Release|Any CPU + {F5BF3DA4-B92E-46C6-A135-37E6A7E002A1}.Release|Any CPU.Deploy.0 = Release|Any CPU + {DE7EE9F2-38A0-42B6-945D-6215199EF35F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DE7EE9F2-38A0-42B6-945D-6215199EF35F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DE7EE9F2-38A0-42B6-945D-6215199EF35F}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {DE7EE9F2-38A0-42B6-945D-6215199EF35F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DE7EE9F2-38A0-42B6-945D-6215199EF35F}.Release|Any CPU.Build.0 = Release|Any CPU + {DE7EE9F2-38A0-42B6-945D-6215199EF35F}.Release|Any CPU.Deploy.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {90A94170-2C6B-4B22-BAA5-8212AC22219B} = {5972CDE6-43B4-42F0-9276-6B70B7EF6437} + {00E23322-2401-4087-ABAE-24F90C8A0422} = {FFF3F871-7600-480E-B378-95AD0F9FC0F1} + {1F49B255-573D-4D02-87DA-08C4A95744B0} = {FFF3F871-7600-480E-B378-95AD0F9FC0F1} + {48E3FD52-1D13-422D-AF3F-B6AEA2C72800} = {5972CDE6-43B4-42F0-9276-6B70B7EF6437} + {E2A94F3C-EE7F-4075-A98A-A19CABE82C0F} = {FFF3F871-7600-480E-B378-95AD0F9FC0F1} + {20266750-53F3-46D5-8626-1438AC985033} = {5972CDE6-43B4-42F0-9276-6B70B7EF6437} + {7533C164-9D3E-461B-BEED-888C91AC640B} = {5972CDE6-43B4-42F0-9276-6B70B7EF6437} + {88F1D73A-1ADF-4444-A031-024E570945CC} = {5972CDE6-43B4-42F0-9276-6B70B7EF6437} + {79F09006-AB5D-4E3E-AD12-2EFBEE536CA9} = {FFF3F871-7600-480E-B378-95AD0F9FC0F1} + {5FF00F7C-8ED8-4468-9959-497CE8C5B1AF} = {5972CDE6-43B4-42F0-9276-6B70B7EF6437} + {F5BF3DA4-B92E-46C6-A135-37E6A7E002A1} = {5972CDE6-43B4-42F0-9276-6B70B7EF6437} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {DD82D7FF-B798-48A4-8506-2FBA0001D32F} + EndGlobalSection + GlobalSection(SharedMSBuildProjectFiles) = preSolution + M5StackCommon\M5StackCommon.projitems*{00e23322-2401-4087-abae-24f90c8a0422}*SharedItemsImports = 13 + nanoFramework.M5StickCommon\nanoFramework.M5StickCommon.projitems*{1f49b255-573d-4d02-87da-08c4a95744b0}*SharedItemsImports = 13 + AtomCommon\AtomCommon.projitems*{79f09006-ab5d-4e3e-ad12-2efbee536ca9}*SharedItemsImports = 13 + nanoFramework.M5StackCore\nanoFramework.M5StackCore.projitems*{e2a94f3c-ee7f-4075-a98a-a19cabe82c0f}*SharedItemsImports = 13 + EndGlobalSection +EndGlobal From 23dea6f6200ea1410a89d937143e8a176bcddc33 Mon Sep 17 00:00:00 2001 From: xas Date: Wed, 10 Jul 2024 15:22:10 +0200 Subject: [PATCH 02/10] feat: CoreInk - add ePaper initialization * add nuget properties * add key.snk file * add packages.lock * add azure pipelines line --- azure-pipelines.yml | 6 +- nanoFramework.CoreInk.nuspec | 46 +++++++ nanoFramework.CoreInk/M5CoreInk.cs | 46 +++++++ nanoFramework.CoreInk/key.snk | Bin 0 -> 596 bytes .../nanoFramework.CoreInk.nfproj | 62 ++++++--- nanoFramework.CoreInk/packages.config | 35 ++--- nanoFramework.CoreInk/packages.lock.json | 121 ++++++++++++++++++ 7 files changed, 280 insertions(+), 36 deletions(-) create mode 100644 nanoFramework.CoreInk.nuspec create mode 100644 nanoFramework.CoreInk/key.snk create mode 100644 nanoFramework.CoreInk/packages.lock.json diff --git a/azure-pipelines.yml b/azure-pipelines.yml index fef9c78f..f6ddf469 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -89,7 +89,11 @@ steps: - template: azure-pipelines-templates/class-lib-package.yml@templates parameters: nugetPackageName: 'nanoFramework.Tough' - + +- template: azure-pipelines-templates/class-lib-package.yml@templates + parameters: + nugetPackageName: 'nanoFramework.CoreInk' + - template: azure-pipelines-templates/class-lib-publish.yml@templates # create GitHub release from main branche diff --git a/nanoFramework.CoreInk.nuspec b/nanoFramework.CoreInk.nuspec new file mode 100644 index 00000000..807ef49d --- /dev/null +++ b/nanoFramework.CoreInk.nuspec @@ -0,0 +1,46 @@ + + + + nanoFramework.CoreInk + $version$ + nanoFramework.CoreInk + nanoframework + false + LICENSE.md + + + docs\README.md + false + https://github.com/nanoframework/nanoFramework.M5Stack + images\nf-logo.png + + Copyright (c) .NET Foundation and Contributors + This package includes the nanoFramework.CoreInk assembly for .NET nanoFramework C# projects. + nanoFramework C# csharp netmf netnf m5stack CoreInk + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nanoFramework.CoreInk/M5CoreInk.cs b/nanoFramework.CoreInk/M5CoreInk.cs index f27cd7bb..da4084cf 100644 --- a/nanoFramework.CoreInk/M5CoreInk.cs +++ b/nanoFramework.CoreInk/M5CoreInk.cs @@ -3,12 +3,14 @@ using Iot.Device.Button; using Iot.Device.Buzzer; +using Iot.Device.EPaper.Drivers.Jd796xx; using Iot.Device.Rtc; using nanoFramework.Hardware.Esp32; using System; using System.Device.Adc; using System.Device.Gpio; using System.Device.I2c; +using System.Device.Spi; namespace nanoFramework.M5Stack { @@ -18,6 +20,7 @@ namespace nanoFramework.M5Stack public static class M5CoreInk { private readonly static I2cDevice _device; + private static SpiDevice _spi; private static AdcController _adc; private static Buzzer _buzzer; private static GpioPin _led; @@ -28,6 +31,11 @@ public static class M5CoreInk private static GpioButton _power; private static GpioController _gpio; private static Pcf8563 _rtc; + private static Gdew0154m09 _screen; + + private const int ScreenBusyPin = 4; + private const int ScreenResetPin = 0; + private const int ScreenDCPin = 15; #region properties @@ -136,6 +144,9 @@ public static GpioController GpioController } } + /// + /// Gets the internal clock. + /// public static Pcf8563 RTC { get @@ -146,6 +157,19 @@ public static Pcf8563 RTC } } + /// + /// Get the ePaper screen. + /// + public static Gdew0154m09 Screen + { + get + { + InitializeScreen(); + + return _screen; + } + } + #endregion static M5CoreInk() @@ -206,5 +230,27 @@ public static AdcChannel GetAdcGpio(int gpioNumber) throw new ArgumentException(nameof(gpioNumber)); } } + + /// + /// Initialize the eInk screen. + /// + /// An instance of the driver. + private static void InitializeScreen() + { + if (_screen == null) + { + var spiConnectionSettings = new SpiConnectionSettings(busId: 1, chipSelectLine: 9) + { + ClockFrequency = Gdew0154m09.SpiClockFrequency, + Mode = Gdew0154m09.SpiMode, + ChipSelectLineActiveState = PinValue.Low, + Configuration = SpiBusConfiguration.HalfDuplex, + DataFlow = DataFlow.MsbFirst, + }; + + _spi = new SpiDevice(spiConnectionSettings); + _screen = new Gdew0154m09(_spi, ScreenResetPin, ScreenBusyPin, ScreenDCPin, _gpio); + } + } } } diff --git a/nanoFramework.CoreInk/key.snk b/nanoFramework.CoreInk/key.snk new file mode 100644 index 0000000000000000000000000000000000000000..67c9bb0ad77fd9cfb31a5fe1f8e4f6537f8883f8 GIT binary patch literal 596 zcmV-a0;~N80ssI2Bme+XQ$aES1ONa50096IAgVrqn?0oVUK<}}z@wqRV>QE=V9G(P zv&4>n;N)r`28$iZ}__~(k83t)%SuJd!((DT{8XK)X~rK64E`*F3l z_5^K&AM;wi;^44^3SyC?622Htvk|)gU+)k0iCdaqB2%u@FR*KYku>(Zol_KusD7d= zA40qu=-~L94PXsGJ#eO@FlCr&O~0PO!6o-*GQq`zy7)g4B)IFgLhI0vfH=+L6i;`a zn(iWy{`8{{oj}vGf9S9M=48~NC!$coEAg@m^H3NXd_JrnT}HOd0AR%m^g zLg4+2jC7g-iYgo9N=!v@nv=I99O}eXu|AyULz5*Z*LDuQt4pP~UX|Zf`1Y#v4}kU8;^ac8l5!?oeMbz%wA_dHw*Ud81*FK}w1r zw3t~`4#bY+anQY5XU!i9#lc>IiLAxX~!c5@{0(|Buf%3XVh2FE%G?X~1 z7e5uWO?|rx0b=vcr3gpq3{-d$I8fk&Qrx<8j#tO3HOsxjGMJn4IT0*|11Oqu{gBd3 z&+6?KA|)R~alAn@8a!Y9Eq$TwFM@mu$U=dJ?PzCQY8jWLBlv^YEFIb8Fvhr*vMTOc zG+a5pRFEs9BT_>6MCF{WdN&DTsp^F!N=e1<>cRNkafH_Fr3`v9f%5G2(}LQ$j`vCM iwz?1qR;-^j3D_^H<{zl%^r6ivhR`zlIvhi1+jkY8izavg literal 0 HcmV?d00001 diff --git a/nanoFramework.CoreInk/nanoFramework.CoreInk.nfproj b/nanoFramework.CoreInk/nanoFramework.CoreInk.nfproj index 86b72166..ce26ce8c 100644 --- a/nanoFramework.CoreInk/nanoFramework.CoreInk.nfproj +++ b/nanoFramework.CoreInk/nanoFramework.CoreInk.nfproj @@ -1,5 +1,6 @@ + $(MSBuildExtensionsPath)\nanoFramework\v1.0\ @@ -14,70 +15,93 @@ 512 nanoFramework.M5Stack nanoFramework.CoreInk + $(DefineConstants);COREINK + bin\$(Configuration)\nanoFramework.CoreInk.xml v1.0 + true + true + + + + + - ..\packages\nanoFramework.Iot.Device.Button.1.2.329\lib\Iot.Device.Button.dll + ..\packages\nanoFramework.Iot.Device.Button.1.2.570\lib\Iot.Device.Button.dll - ..\packages\nanoFramework.Iot.Device.Buzzer.1.2.403\lib\Iot.Device.Buzzer.dll + ..\packages\nanoFramework.Iot.Device.Buzzer.1.2.573\lib\Iot.Device.Buzzer.dll - ..\packages\nanoFramework.Iot.Device.Common.NumberHelper.1.2.325\lib\Iot.Device.Common.NumberHelper.dll + ..\packages\nanoFramework.Iot.Device.Common.NumberHelper.1.2.418\lib\Iot.Device.Common.NumberHelper.dll + + + ..\packages\nanoFramework.Iot.Device.ePaper.1.0.406\lib\Iot.Device.ePaper.dll - ..\packages\nanoFramework.Iot.Device.Rtc.1.2.403\lib\Iot.Device.Rtc.dll + ..\packages\nanoFramework.Iot.Device.Rtc.1.2.573\lib\Iot.Device.Rtc.dll - ..\packages\nanoFramework.CoreLibrary.1.14.2\lib\mscorlib.dll + ..\packages\nanoFramework.CoreLibrary.1.15.5\lib\mscorlib.dll + + + ..\packages\nanoFramework.Graphics.Core.1.2.10\lib\nanoFramework.Graphics.Core.dll - ..\packages\nanoFramework.Hardware.Esp32.1.6.8\lib\nanoFramework.Hardware.Esp32.dll + ..\packages\nanoFramework.Hardware.Esp32.1.6.15\lib\nanoFramework.Hardware.Esp32.dll - ..\packages\nanoFramework.Runtime.Events.1.11.6\lib\nanoFramework.Runtime.Events.dll + ..\packages\nanoFramework.Runtime.Events.1.11.18\lib\nanoFramework.Runtime.Events.dll - ..\packages\nanoFramework.System.Device.Adc.1.1.6\lib\System.Device.Adc.dll + ..\packages\nanoFramework.System.Device.Adc.1.1.11\lib\System.Device.Adc.dll - ..\packages\nanoFramework.System.Device.Gpio.1.1.28\lib\System.Device.Gpio.dll + ..\packages\nanoFramework.System.Device.Gpio.1.1.41\lib\System.Device.Gpio.dll - ..\packages\nanoFramework.System.Device.I2c.1.1.11\lib\System.Device.I2c.dll + ..\packages\nanoFramework.System.Device.I2c.1.1.16\lib\System.Device.I2c.dll - ..\packages\nanoFramework.System.Device.Model.1.2.325\lib\System.Device.Model.dll + ..\packages\nanoFramework.System.Device.Model.1.2.418\lib\System.Device.Model.dll - ..\packages\nanoFramework.System.Device.Pwm.1.1.6\lib\System.Device.Pwm.dll + ..\packages\nanoFramework.System.Device.Pwm.1.1.10\lib\System.Device.Pwm.dll - ..\packages\nanoFramework.System.Device.Spi.1.3.37\lib\System.Device.Spi.dll + ..\packages\nanoFramework.System.Device.Spi.1.3.52\lib\System.Device.Spi.dll - ..\packages\nanoFramework.System.Math.1.5.29\lib\System.Math.dll + ..\packages\nanoFramework.System.Math.1.5.43\lib\System.Math.dll + + + ..\packages\nanoFramework.System.Threading.1.1.32\lib\System.Threading.dll - ..\packages\UnitsNet.nanoFramework.Frequency.5.35.0\lib\UnitsNet.Frequency.dll + ..\packages\UnitsNet.nanoFramework.Frequency.5.52.0\lib\UnitsNet.Frequency.dll - ..\packages\UnitsNet.nanoFramework.Temperature.5.35.0\lib\UnitsNet.Temperature.dll + ..\packages\UnitsNet.nanoFramework.Temperature.5.52.0\lib\UnitsNet.Temperature.dll - - - + + + This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}. + + + + + \ No newline at end of file diff --git a/nanoFramework.CoreInk/packages.config b/nanoFramework.CoreInk/packages.config index 5320ba28..c9bd9f35 100644 --- a/nanoFramework.CoreInk/packages.config +++ b/nanoFramework.CoreInk/packages.config @@ -1,19 +1,22 @@  - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/nanoFramework.CoreInk/packages.lock.json b/nanoFramework.CoreInk/packages.lock.json new file mode 100644 index 00000000..a31b405e --- /dev/null +++ b/nanoFramework.CoreInk/packages.lock.json @@ -0,0 +1,121 @@ +{ + "version": 1, + "dependencies": { + ".NETnanoFramework,Version=v1.0": { + "nanoFramework.CoreLibrary": { + "type": "Direct", + "requested": "[1.15.5, 1.15.5]", + "resolved": "1.15.5", + "contentHash": "u2+GvAp1uxLrGdILACAZy+EVKOs28EQ52j8Lz7599egXZ3GBGejjnR2ofhjMQwzrJLlgtyrsx8nSLngDfJNsAg==" + }, + "nanoFramework.Graphics.Core": { + "type": "Direct", + "requested": "[1.2.10, 1.2.10]", + "resolved": "1.2.10", + "contentHash": "2eaJQauTEGdBDw6HfSeFT/82lAmD1qC9Ch5XZmouQHrBRIRa02I/U8dTA/k6Z1NhouNcyYK35BD++4uDodcq0w==" + }, + "nanoFramework.Hardware.Esp32": { + "type": "Direct", + "requested": "[1.6.15, 1.6.15]", + "resolved": "1.6.15", + "contentHash": "6rHNyfZ2mHEq5Kwwx4Xpf3IezTQxfSrI159CKiG4MxQZi8E0VPrRLbyUIXDrNBiz0/VCmeBAKpqv9foJmixCLA==" + }, + "nanoFramework.Iot.Device.Button": { + "type": "Direct", + "requested": "[1.2.570, 1.2.570]", + "resolved": "1.2.570", + "contentHash": "+hpvBLPJj+gSLNAdCIIAe4Iz7TVrOo24urx6ieIsxmtoYHTxsiGVACcLWJMFjb+fA2LDN2u/+9Mi/BLeFGeJmg==" + }, + "nanoFramework.Iot.Device.Buzzer": { + "type": "Direct", + "requested": "[1.2.573, 1.2.573]", + "resolved": "1.2.573", + "contentHash": "AF6yIW6IGl+/OvSOth5G6ZgBgbA2pJtjqTS6yinH179s+jouRJ+vKw0LGe68FoQL5xwwLNXmvCfIpO1ig1oSiA==" + }, + "nanoFramework.Iot.Device.Common.NumberHelper": { + "type": "Direct", + "requested": "[1.2.418, 1.2.418]", + "resolved": "1.2.418", + "contentHash": "5TOMt78stlBGnIyXI9Up66Dpww+lwJrGE1uAo1RMMsIKRRTP94Mhzq1kZdcHC8E+FqZCfdGRGQaY6dOPJ0j2aA==" + }, + "nanoFramework.Iot.Device.ePaper": { + "type": "Direct", + "requested": "[1.0.406, 1.0.406]", + "resolved": "1.0.406", + "contentHash": "AU/cecALiK0mMtjJN1tm2qgbjZUdoKpi88/Z8dR9peOahagxeQzI0DZCslZbMywdirOdMkfFqDRvDhAwpE1LhQ==" + }, + "nanoFramework.Iot.Device.Rtc": { + "type": "Direct", + "requested": "[1.2.573, 1.2.573]", + "resolved": "1.2.573", + "contentHash": "FbSUCj8PIoUn78BZ0yv1LLkXrySLhg7jIq7nmj1DyKkv6taLXqS9GWqC2+iGhj8LydTm9Tn8N6uqMwnqZdLEMg==" + }, + "nanoFramework.Runtime.Events": { + "type": "Direct", + "requested": "[1.11.18, 1.11.18]", + "resolved": "1.11.18", + "contentHash": "t0XpUkdyBBBv/0S4oGx3yUJG1iPYWc38odvZW8mVoioSxZOJrRkRHpNfwYxTxtP4LIEyyesOPEH42d05FHfHzA==" + }, + "nanoFramework.System.Device.Adc": { + "type": "Direct", + "requested": "[1.1.11, 1.1.11]", + "resolved": "1.1.11", + "contentHash": "BlFm2MR2Os6ab++EnW6RiZ4860F1ge48mSBbqsqVXnP5xvkfE03Hop4TyqTHWQbLFKcubCc5CMkH9xxuABR6UQ==" + }, + "nanoFramework.System.Device.Gpio": { + "type": "Direct", + "requested": "[1.1.41, 1.1.41]", + "resolved": "1.1.41", + "contentHash": "5QnpdfvjxOvka2S5IHSdKudWmkH+CDQ3TFFuXOGuNlgZJFsAx0/k5zuwgJYkxIyGbL8kdcjBWLyDNdihjA1pUg==" + }, + "nanoFramework.System.Device.I2c": { + "type": "Direct", + "requested": "[1.1.16, 1.1.16]", + "resolved": "1.1.16", + "contentHash": "33YPnlZVjFwx0mOhdKTOggx+TvbjTD3WZ6rkSB33ytF9fHoqfvS1AYr4+ScUHW4z2yE7vxVWBol5mI7iEg4Aiw==" + }, + "nanoFramework.System.Device.Model": { + "type": "Direct", + "requested": "[1.2.418, 1.2.418]", + "resolved": "1.2.418", + "contentHash": "Pnl/YJzaQXlls0Cmg4E9r27mpW5+/paVrn1mYYEe0/CqWLOOfJ63FPVJ0eOxN3DRixA2RkNa5wDZjD3r9ARuKw==" + }, + "nanoFramework.System.Device.Pwm": { + "type": "Direct", + "requested": "[1.1.10, 1.1.10]", + "resolved": "1.1.10", + "contentHash": "vk/Dr8No2ec+eBwwufxDK0Rm6BRnOoevjaqEXbvpFz2BK3UPiC4OhUWH3Rwel34rywg1mXozAAY9ZwvN2gnxlA==" + }, + "nanoFramework.System.Device.Spi": { + "type": "Direct", + "requested": "[1.3.52, 1.3.52]", + "resolved": "1.3.52", + "contentHash": "chtkrJp424LMitA6Fw/QzzhIrYL9PdEaln+A7o5QR99VijDoOILdMvgeeVBnIpkicUH7aY9Vj+3F2TlIGQH/+g==" + }, + "nanoFramework.System.Math": { + "type": "Direct", + "requested": "[1.5.43, 1.5.43]", + "resolved": "1.5.43", + "contentHash": "JEOEGHoIpknJFwPjjz77sT5mej2PiT7JTv59jabzFf+d8XYy8Z4SH+NdX00Xc/yDS8LIPuWb7+C245XGUUx99A==" + }, + "nanoFramework.System.Threading": { + "type": "Direct", + "requested": "[1.1.32, 1.1.32]", + "resolved": "1.1.32", + "contentHash": "6o7Y4gH15FLuo2FWGLecABiCD57V5QMf5g/hEneV64VmhoXI8Bk7r6BDBPTfAePs738xbc1ECpA5dJmbSmtilg==" + }, + "UnitsNet.nanoFramework.Frequency": { + "type": "Direct", + "requested": "[5.52.0, 5.52.0]", + "resolved": "5.52.0", + "contentHash": "Y9hkdgHIYVz2yOVvNPX5bf1t6OFTiYMHjDkWLo/iK+Zqch9A7jrspovOq9ZDmM9b1mCchcNIekmkMQTht6X5Zw==" + }, + "UnitsNet.nanoFramework.Temperature": { + "type": "Direct", + "requested": "[5.52.0, 5.52.0]", + "resolved": "5.52.0", + "contentHash": "maxrXou1rbNybKSXzLlc0sGeNA5TpZ6vqHsbJeH9NMoOThGNUO1hKADzuICDIAbXurPgGy2RNlPSQDAmDM9QOw==" + } + } + } +} \ No newline at end of file From c8850e7604e78fb95edc57116dcc6c490bd7c016 Mon Sep 17 00:00:00 2001 From: xas Date: Fri, 11 Oct 2024 14:21:16 +0200 Subject: [PATCH 03/10] fix: update nuget properties --- .../Properties/AssemblyInfo.cs | 6 -- .../nanoFramework.CoreInk.nfproj | 26 ++++---- nanoFramework.CoreInk/packages.config | 21 +++--- nanoFramework.CoreInk/packages.lock.json | 66 ++++++++++--------- 4 files changed, 60 insertions(+), 59 deletions(-) diff --git a/nanoFramework.CoreInk/Properties/AssemblyInfo.cs b/nanoFramework.CoreInk/Properties/AssemblyInfo.cs index 16ba8b8c..83edea41 100644 --- a/nanoFramework.CoreInk/Properties/AssemblyInfo.cs +++ b/nanoFramework.CoreInk/Properties/AssemblyInfo.cs @@ -12,9 +12,3 @@ // to COM components. If you need to access a type in this assembly from // COM, set the ComVisible attribute to true on that type. [assembly: ComVisible(false)] - -///////////////////////////////////////////////////////////////// -// This attribute is mandatory when building Interop libraries // -// update this whenever the native assembly signature changes // -[assembly: AssemblyNativeVersion("0.0.0.0")] -///////////////////////////////////////////////////////////////// diff --git a/nanoFramework.CoreInk/nanoFramework.CoreInk.nfproj b/nanoFramework.CoreInk/nanoFramework.CoreInk.nfproj index ce26ce8c..b3c82ecb 100644 --- a/nanoFramework.CoreInk/nanoFramework.CoreInk.nfproj +++ b/nanoFramework.CoreInk/nanoFramework.CoreInk.nfproj @@ -33,28 +33,28 @@ - ..\packages\nanoFramework.Iot.Device.Button.1.2.570\lib\Iot.Device.Button.dll + ..\packages\nanoFramework.Iot.Device.Button.1.2.631\lib\Iot.Device.Button.dll - ..\packages\nanoFramework.Iot.Device.Buzzer.1.2.573\lib\Iot.Device.Buzzer.dll + ..\packages\nanoFramework.Iot.Device.Buzzer.1.2.656\lib\Iot.Device.Buzzer.dll - ..\packages\nanoFramework.Iot.Device.Common.NumberHelper.1.2.418\lib\Iot.Device.Common.NumberHelper.dll + ..\packages\nanoFramework.Iot.Device.Common.NumberHelper.1.2.628\lib\Iot.Device.Common.NumberHelper.dll - ..\packages\nanoFramework.Iot.Device.ePaper.1.0.406\lib\Iot.Device.ePaper.dll + ..\packages\nanoFramework.Iot.Device.ePaper.1.0.487\lib\Iot.Device.ePaper.dll - ..\packages\nanoFramework.Iot.Device.Rtc.1.2.573\lib\Iot.Device.Rtc.dll + ..\packages\nanoFramework.Iot.Device.Rtc.1.2.656\lib\Iot.Device.Rtc.dll ..\packages\nanoFramework.CoreLibrary.1.15.5\lib\mscorlib.dll - ..\packages\nanoFramework.Graphics.Core.1.2.10\lib\nanoFramework.Graphics.Core.dll + ..\packages\nanoFramework.Graphics.Core.1.2.21\lib\nanoFramework.Graphics.Core.dll - ..\packages\nanoFramework.Hardware.Esp32.1.6.15\lib\nanoFramework.Hardware.Esp32.dll + ..\packages\nanoFramework.Hardware.Esp32.1.6.19\lib\nanoFramework.Hardware.Esp32.dll ..\packages\nanoFramework.Runtime.Events.1.11.18\lib\nanoFramework.Runtime.Events.dll @@ -69,7 +69,7 @@ ..\packages\nanoFramework.System.Device.I2c.1.1.16\lib\System.Device.I2c.dll - ..\packages\nanoFramework.System.Device.Model.1.2.418\lib\System.Device.Model.dll + ..\packages\nanoFramework.System.Device.Model.1.2.628\lib\System.Device.Model.dll ..\packages\nanoFramework.System.Device.Pwm.1.1.10\lib\System.Device.Pwm.dll @@ -84,10 +84,10 @@ ..\packages\nanoFramework.System.Threading.1.1.32\lib\System.Threading.dll - ..\packages\UnitsNet.nanoFramework.Frequency.5.52.0\lib\UnitsNet.Frequency.dll + ..\packages\UnitsNet.nanoFramework.Frequency.5.59.0\lib\UnitsNet.Frequency.dll - ..\packages\UnitsNet.nanoFramework.Temperature.5.52.0\lib\UnitsNet.Temperature.dll + ..\packages\UnitsNet.nanoFramework.Temperature.5.59.0\lib\UnitsNet.Temperature.dll @@ -100,8 +100,8 @@ This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105.The missing file is {0}. - - + + - + \ No newline at end of file diff --git a/nanoFramework.CoreInk/packages.config b/nanoFramework.CoreInk/packages.config index c9bd9f35..cbee0e4c 100644 --- a/nanoFramework.CoreInk/packages.config +++ b/nanoFramework.CoreInk/packages.config @@ -1,22 +1,23 @@  - - - - - - - + + + + + + + - + - - + + + \ No newline at end of file diff --git a/nanoFramework.CoreInk/packages.lock.json b/nanoFramework.CoreInk/packages.lock.json index a31b405e..f0a12623 100644 --- a/nanoFramework.CoreInk/packages.lock.json +++ b/nanoFramework.CoreInk/packages.lock.json @@ -10,45 +10,45 @@ }, "nanoFramework.Graphics.Core": { "type": "Direct", - "requested": "[1.2.10, 1.2.10]", - "resolved": "1.2.10", - "contentHash": "2eaJQauTEGdBDw6HfSeFT/82lAmD1qC9Ch5XZmouQHrBRIRa02I/U8dTA/k6Z1NhouNcyYK35BD++4uDodcq0w==" + "requested": "[1.2.21, 1.2.21]", + "resolved": "1.2.21", + "contentHash": "R6HEmaa1fVdwaQsAAh3xfP8WkElnMXq2HqLvDKe4cFP2XljJ+MLYfA//llKhjC5ZvaGp2ldx4orUBKLNyKtPDQ==" }, "nanoFramework.Hardware.Esp32": { "type": "Direct", - "requested": "[1.6.15, 1.6.15]", - "resolved": "1.6.15", - "contentHash": "6rHNyfZ2mHEq5Kwwx4Xpf3IezTQxfSrI159CKiG4MxQZi8E0VPrRLbyUIXDrNBiz0/VCmeBAKpqv9foJmixCLA==" + "requested": "[1.6.19, 1.6.19]", + "resolved": "1.6.19", + "contentHash": "dvLEvudRQ/89GtX8i/flOwb81vCMVvI3PpQ+B07b/TUz4tAvpwA7iw6ye5224Z/8j3CQBhefiZtU/jv6K7HRyw==" }, "nanoFramework.Iot.Device.Button": { "type": "Direct", - "requested": "[1.2.570, 1.2.570]", - "resolved": "1.2.570", - "contentHash": "+hpvBLPJj+gSLNAdCIIAe4Iz7TVrOo24urx6ieIsxmtoYHTxsiGVACcLWJMFjb+fA2LDN2u/+9Mi/BLeFGeJmg==" + "requested": "[1.2.631, 1.2.631]", + "resolved": "1.2.631", + "contentHash": "UswUKk9sKD07uOyZZvUgC3KvuAxYTmQC28Fpo+a4ew6gU2+maZw8RvDx4Hbzsfq/wBQPApOhtQhMT5jT585guw==" }, "nanoFramework.Iot.Device.Buzzer": { "type": "Direct", - "requested": "[1.2.573, 1.2.573]", - "resolved": "1.2.573", - "contentHash": "AF6yIW6IGl+/OvSOth5G6ZgBgbA2pJtjqTS6yinH179s+jouRJ+vKw0LGe68FoQL5xwwLNXmvCfIpO1ig1oSiA==" + "requested": "[1.2.656, 1.2.656]", + "resolved": "1.2.656", + "contentHash": "iLNlBzHiPgr0hhss+/pMAGWIxK8mM+pLOwaki0iXE0CRIakloTDySfpwjJlV0FAf9+dlkhxzm3oiT5+ZAWoa3g==" }, "nanoFramework.Iot.Device.Common.NumberHelper": { "type": "Direct", - "requested": "[1.2.418, 1.2.418]", - "resolved": "1.2.418", - "contentHash": "5TOMt78stlBGnIyXI9Up66Dpww+lwJrGE1uAo1RMMsIKRRTP94Mhzq1kZdcHC8E+FqZCfdGRGQaY6dOPJ0j2aA==" + "requested": "[1.2.628, 1.2.628]", + "resolved": "1.2.628", + "contentHash": "n1Na6YBFFqNv32AU+rfmAYFObeqEtf5q5uTxjCT1x+ThWDbi8eespjp/4OvXoU7C+HldXz8/uS4UZ8lswXfOfg==" }, "nanoFramework.Iot.Device.ePaper": { "type": "Direct", - "requested": "[1.0.406, 1.0.406]", - "resolved": "1.0.406", - "contentHash": "AU/cecALiK0mMtjJN1tm2qgbjZUdoKpi88/Z8dR9peOahagxeQzI0DZCslZbMywdirOdMkfFqDRvDhAwpE1LhQ==" + "requested": "[1.0.487, 1.0.487]", + "resolved": "1.0.487", + "contentHash": "x20Pt6HFJFk8j8czvz2BilY2E5GE6Oa5h6ZFGNvCVPICnDFA8e0urneiG0LBZ3VuKUyXECAxbThGj2RS6tuVLQ==" }, "nanoFramework.Iot.Device.Rtc": { "type": "Direct", - "requested": "[1.2.573, 1.2.573]", - "resolved": "1.2.573", - "contentHash": "FbSUCj8PIoUn78BZ0yv1LLkXrySLhg7jIq7nmj1DyKkv6taLXqS9GWqC2+iGhj8LydTm9Tn8N6uqMwnqZdLEMg==" + "requested": "[1.2.656, 1.2.656]", + "resolved": "1.2.656", + "contentHash": "W/sCNUrO1GBrrisMVfIiXQwdlLBeTdbAilyxwxNprVVXsbPHR0qw6oyo/pvJNh4LxIlC3MuPfoeky9Ac5miztw==" }, "nanoFramework.Runtime.Events": { "type": "Direct", @@ -76,9 +76,9 @@ }, "nanoFramework.System.Device.Model": { "type": "Direct", - "requested": "[1.2.418, 1.2.418]", - "resolved": "1.2.418", - "contentHash": "Pnl/YJzaQXlls0Cmg4E9r27mpW5+/paVrn1mYYEe0/CqWLOOfJ63FPVJ0eOxN3DRixA2RkNa5wDZjD3r9ARuKw==" + "requested": "[1.2.628, 1.2.628]", + "resolved": "1.2.628", + "contentHash": "39q4OScnVtMHlGdz9ZleiwllJtE+G6OZE0Xd/qn3gEvrR4XmLCwYZ+JdVxtDU7bK5JLrJA984NKeq+l5ZW0X4A==" }, "nanoFramework.System.Device.Pwm": { "type": "Direct", @@ -104,17 +104,23 @@ "resolved": "1.1.32", "contentHash": "6o7Y4gH15FLuo2FWGLecABiCD57V5QMf5g/hEneV64VmhoXI8Bk7r6BDBPTfAePs738xbc1ECpA5dJmbSmtilg==" }, + "Nerdbank.GitVersioning": { + "type": "Direct", + "requested": "[3.6.143, 3.6.143]", + "resolved": "3.6.143", + "contentHash": "N24MtdLq4PmdJ2woTQd9515q0I1jeO/DlimYCB/GoRd510Fc9dk9H6YaN8MPPrVF8RHrIalCUfWbWvcoarYeoQ==" + }, "UnitsNet.nanoFramework.Frequency": { "type": "Direct", - "requested": "[5.52.0, 5.52.0]", - "resolved": "5.52.0", - "contentHash": "Y9hkdgHIYVz2yOVvNPX5bf1t6OFTiYMHjDkWLo/iK+Zqch9A7jrspovOq9ZDmM9b1mCchcNIekmkMQTht6X5Zw==" + "requested": "[5.59.0, 5.59.0]", + "resolved": "5.59.0", + "contentHash": "zqlqhLHCUL8B8i5N2s//k93cAJ4RLcQi46EaBBlqGJFHVvOequz+zO8HfnUHYQFBELNeLxkJNZWx/qczRdCAng==" }, "UnitsNet.nanoFramework.Temperature": { "type": "Direct", - "requested": "[5.52.0, 5.52.0]", - "resolved": "5.52.0", - "contentHash": "maxrXou1rbNybKSXzLlc0sGeNA5TpZ6vqHsbJeH9NMoOThGNUO1hKADzuICDIAbXurPgGy2RNlPSQDAmDM9QOw==" + "requested": "[5.59.0, 5.59.0]", + "resolved": "5.59.0", + "contentHash": "LDXMzn1y0OSSvXA+A+4iPI+P9co5QmlP/4AQdqxlNOvIZHVAN7j98HPUVSXzK8OfeUpF8lhwn41LqHDeeFNZtQ==" } } } From 63d1bf4aa9488ed0e92336b2a06ad07a17f758c2 Mon Sep 17 00:00:00 2001 From: xas Date: Fri, 11 Oct 2024 14:29:19 +0200 Subject: [PATCH 04/10] fix: update CoreInk nuspec --- nanoFramework.CoreInk.nuspec | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/nanoFramework.CoreInk.nuspec b/nanoFramework.CoreInk.nuspec index 807ef49d..9a0a5492 100644 --- a/nanoFramework.CoreInk.nuspec +++ b/nanoFramework.CoreInk.nuspec @@ -18,18 +18,19 @@ This package includes the nanoFramework.CoreInk assembly for .NET nanoFramework C# projects. nanoFramework C# csharp netmf netnf m5stack CoreInk - - - - - + + + + + - - - - - - + + + + + + + From f39bbd2d91ba22ae32cbcae04858e593eeeb4a6d Mon Sep 17 00:00:00 2001 From: xas Date: Fri, 11 Oct 2024 14:41:39 +0200 Subject: [PATCH 05/10] fix: update CoreInk nuspec --- nanoFramework.CoreInk.nuspec | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/nanoFramework.CoreInk.nuspec b/nanoFramework.CoreInk.nuspec index 9a0a5492..ea6fc368 100644 --- a/nanoFramework.CoreInk.nuspec +++ b/nanoFramework.CoreInk.nuspec @@ -19,18 +19,16 @@ nanoFramework C# csharp netmf netnf m5stack CoreInk - + - + + - - + - - From d7c3a7aa517d35075be6c85e668c1835ea83a939 Mon Sep 17 00:00:00 2001 From: Laurent Ellerbach Date: Sat, 12 Oct 2024 15:59:40 +0200 Subject: [PATCH 06/10] Update azure-pipelines.yml --- azure-pipelines.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index f6ddf469..3f670e3a 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -93,7 +93,6 @@ steps: - template: azure-pipelines-templates/class-lib-package.yml@templates parameters: nugetPackageName: 'nanoFramework.CoreInk' - - template: azure-pipelines-templates/class-lib-publish.yml@templates # create GitHub release from main branche From b0417b71a7d8bef6b7f9d826befe7e8888aba343 Mon Sep 17 00:00:00 2001 From: Laurent Ellerbach Date: Sat, 12 Oct 2024 16:05:21 +0200 Subject: [PATCH 07/10] Update nanoFramework.CoreInk/M5CoreInk.cs --- nanoFramework.CoreInk/M5CoreInk.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nanoFramework.CoreInk/M5CoreInk.cs b/nanoFramework.CoreInk/M5CoreInk.cs index da4084cf..39a1592b 100644 --- a/nanoFramework.CoreInk/M5CoreInk.cs +++ b/nanoFramework.CoreInk/M5CoreInk.cs @@ -15,7 +15,7 @@ namespace nanoFramework.M5Stack { /// - /// M5 CoreInk board + /// M5 CoreInk board. /// public static class M5CoreInk { From cc8dd785550bc1306264801beab45aac6a237270 Mon Sep 17 00:00:00 2001 From: Laurent Ellerbach Date: Sat, 12 Oct 2024 16:05:30 +0200 Subject: [PATCH 08/10] Update nanoFramework.CoreInk/M5CoreInk.cs --- nanoFramework.CoreInk/M5CoreInk.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nanoFramework.CoreInk/M5CoreInk.cs b/nanoFramework.CoreInk/M5CoreInk.cs index 39a1592b..bdb3da25 100644 --- a/nanoFramework.CoreInk/M5CoreInk.cs +++ b/nanoFramework.CoreInk/M5CoreInk.cs @@ -188,7 +188,7 @@ static M5CoreInk() /// /// Gets an ADC channel /// - /// The GPIO pin number + /// The GPIO pin number. /// An AdcChannel public static AdcChannel GetAdcGpio(int gpioNumber) { From ba9c062aa9e714e6641630478e84cc81f61ce527 Mon Sep 17 00:00:00 2001 From: Laurent Ellerbach Date: Sat, 12 Oct 2024 16:05:37 +0200 Subject: [PATCH 09/10] Update nanoFramework.CoreInk/README.md --- nanoFramework.CoreInk/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nanoFramework.CoreInk/README.md b/nanoFramework.CoreInk/README.md index bd245995..3c66c0c6 100644 --- a/nanoFramework.CoreInk/README.md +++ b/nanoFramework.CoreInk/README.md @@ -36,7 +36,7 @@ Here's a list of the current implementation 1 The implementation define the buttons as `PinMode.Input` as defined in the [specifications](https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/docs/datasheet/core/esp32_datasheet_en_v3.9.pdf) Table.26 -``` +```text GPIO pins 34-39 are input-only. These pins do not feature an output driver or internal pull-up/pull-down circuitry. The pin names are: SENSOR_VP (GPIO36), SENSOR_CAPP (GPIO37), SENSOR_CAPN (GPIO38), SENSOR_VN (GPIO39), VDET_1 (GPIO34), VDET_2 (GPIO35). From 9f7e3f4740c2dcb1e2da184e3c913fdb50b805c3 Mon Sep 17 00:00:00 2001 From: Laurent Ellerbach Date: Sat, 12 Oct 2024 16:05:51 +0200 Subject: [PATCH 10/10] Update nanoFramework.CoreInk/M5CoreInk.cs --- nanoFramework.CoreInk/M5CoreInk.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nanoFramework.CoreInk/M5CoreInk.cs b/nanoFramework.CoreInk/M5CoreInk.cs index bdb3da25..31bfb27d 100644 --- a/nanoFramework.CoreInk/M5CoreInk.cs +++ b/nanoFramework.CoreInk/M5CoreInk.cs @@ -186,7 +186,7 @@ static M5CoreInk() } /// - /// Gets an ADC channel + /// Gets an ADC channel. /// /// The GPIO pin number. /// An AdcChannel