Skip to content

Commit e79fcdf

Browse files
authored
Adding M5Stack CoreS3 (#430)
1 parent 4612a5b commit e79fcdf

17 files changed

Lines changed: 1864 additions & 2 deletions

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
| nanoFramework.M5Stick | [![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.M5StickC.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.M5StickC/) |
1515
| nanoFramework.M5StickCPlus | [![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.M5StickCPlus.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.M5StickCPlus/) |
1616
| nanoFramework.M5Core2 | [![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.M5Core2.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.M5Core2/) |
17+
| nanoFramework.M5CoreS3 | [![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.M5CoreS3.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.M5CoreS3/) |
1718
| nanoFramework.Fire | [![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.Fire.svg?label=NuGet&style=flat&logo=nuget)](https://www.nuget.org/packages/nanoFramework.Fire/) |
1819
| 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/) |
1920
| 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/) |
@@ -28,6 +29,7 @@ These NuGet packages provide a support for M5Stack products:
2829
- [M5StickC](https://docs.m5stack.com/en/core/m5stickc)
2930
- [M5StickCPlus](https://docs.m5stack.com/en/core/m5stickc_plus)
3031
- [M5Core2](https://docs.m5stack.com/en/core/core2)
32+
- [CoreS3](https://docs.m5stack.com/en/core/CoreS3)
3133
- [Fire](https://docs.m5stack.com/en/core/fire)
3234
- [Atom Lite](https://docs.m5stack.com/en/core/atom_lite)
3335
- [Atom Matrix](https://docs.m5stack.com/en/core/atom_matrix)
@@ -64,6 +66,14 @@ For the M5Core2, Tough and Fire:
6466
nanoff --target M5Core2 --update --serialport COM3
6567
```
6668

69+
For the CoreS3:
70+
71+
```shell
72+
nanoff --target ESP32_S3_OCTAL --update --serialport COM3
73+
```
74+
75+
For the CoreS3, the package provides board bring-up helpers for the internal I2C bus on GPIO12/GPIO11, the onboard power routing needed by the CoreS3 peripherals, and managed-screen initialization for the ILI9342C through `nanoFramework.Graphics.Ili9342`. The test application in `Tests/M5CoreS3TestApp` shows the expected initialization sequence and demonstrates the screen, the BMI270, the BMM150 through the BMI270 auxiliary bus, the BM8563-compatible RTC support from `Iot.Device.Rtc`, and the LTR-553ALS-WA ambient light and proximity sensor. Because CoreS3 shares GPIO35 between LCD D/C and the SPI MISO line, this managed screen support is focused on the display path and does not try to coordinate LCD and SD-card bus sharing.
76+
6777
For the Atom Lite, Matrix and CoreInk:
6878

6979
```shell
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="Current" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<PropertyGroup Label="Globals">
4+
<NanoFrameworkProjectSystemPath>$(MSBuildExtensionsPath)\nanoFramework\v1.0\</NanoFrameworkProjectSystemPath>
5+
</PropertyGroup>
6+
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.Default.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.Default.props')" />
7+
<PropertyGroup>
8+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
9+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
10+
<ProjectTypeGuids>{11A8DD76-328B-46DF-9F39-F559912D0360};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
11+
<ProjectGuid>{B3A0FB0D-44A3-4B09-A9A7-DF8BA963A4C1}</ProjectGuid>
12+
<OutputType>Exe</OutputType>
13+
<AppDesignerFolder>Properties</AppDesignerFolder>
14+
<FileAlignment>512</FileAlignment>
15+
<RootNamespace>M5CoreS3TestApp</RootNamespace>
16+
<AssemblyName>M5CoreS3TestApp</AssemblyName>
17+
<TargetFrameworkVersion>v1.0</TargetFrameworkVersion>
18+
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
19+
<RestoreLockedMode Condition="'$(TF_BUILD)' == 'True' or '$(ContinuousIntegrationBuild)' == 'True'">true</RestoreLockedMode>
20+
</PropertyGroup>
21+
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.props" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.props')" />
22+
<ItemGroup>
23+
<Compile Include="Program.cs" />
24+
<Compile Include="Properties\AssemblyInfo.cs" />
25+
</ItemGroup>
26+
<ItemGroup>
27+
<Reference Include="Iot.Device.Aw9523x">
28+
<HintPath>..\..\packages\nanoFramework.Iot.Device.Aw9523x.1.0.8\lib\Iot.Device.Aw9523x.dll</HintPath>
29+
</Reference>
30+
<Reference Include="Iot.Device.Axp2101">
31+
<HintPath>..\..\packages\nanoFramework.Iot.Device.Axp2101.1.0.33\lib\Iot.Device.Axp2101.dll</HintPath>
32+
</Reference>
33+
<Reference Include="Iot.Device.Bmi270">
34+
<HintPath>..\..\packages\nanoFramework.Iot.Device.Bmi270.1.0.9\lib\Iot.Device.Bmi270.dll</HintPath>
35+
</Reference>
36+
<Reference Include="Iot.Device.Bmm150">
37+
<HintPath>..\..\packages\nanoFramework.Iot.Device.Bmm150.1.2.991\lib\Iot.Device.Bmm150.dll</HintPath>
38+
</Reference>
39+
<Reference Include="Iot.Device.Common.NumberHelper">
40+
<HintPath>..\..\packages\nanoFramework.Iot.Device.Common.NumberHelper.1.2.862\lib\Iot.Device.Common.NumberHelper.dll</HintPath>
41+
</Reference>
42+
<Reference Include="Iot.Device.Ltr553AlsWa">
43+
<HintPath>..\..\packages\nanoFramework.Iot.Device.Ltr553AlsWa.1.0.10\lib\Iot.Device.Ltr553AlsWa.dll</HintPath>
44+
</Reference>
45+
<Reference Include="Iot.Device.Rtc">
46+
<HintPath>..\..\packages\nanoFramework.Iot.Device.Rtc.1.2.991\lib\Iot.Device.Rtc.dll</HintPath>
47+
</Reference>
48+
<Reference Include="mscorlib">
49+
<HintPath>..\..\packages\nanoFramework.CoreLibrary.1.17.12\lib\mscorlib.dll</HintPath>
50+
</Reference>
51+
<Reference Include="nanoFramework.Graphics">
52+
<HintPath>..\..\packages\nanoFramework.Graphics.1.2.52\lib\nanoFramework.Graphics.dll</HintPath>
53+
</Reference>
54+
<Reference Include="nanoFramework.Graphics.Core">
55+
<HintPath>..\..\packages\nanoFramework.Graphics.Core.1.2.52\lib\nanoFramework.Graphics.Core.dll</HintPath>
56+
</Reference>
57+
<Reference Include="nanoFramework.Hardware.Esp32, Version=1.6.37.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
58+
<HintPath>..\..\packages\nanoFramework.Hardware.Esp32.1.6.37\lib\nanoFramework.Hardware.Esp32.dll</HintPath>
59+
</Reference>
60+
<Reference Include="nanoFramework.ResourceManager">
61+
<HintPath>..\..\packages\nanoFramework.ResourceManager.1.2.32\lib\nanoFramework.ResourceManager.dll</HintPath>
62+
</Reference>
63+
<Reference Include="nanoFramework.Runtime.Events">
64+
<HintPath>..\..\packages\nanoFramework.Runtime.Events.1.11.32\lib\nanoFramework.Runtime.Events.dll</HintPath>
65+
</Reference>
66+
<Reference Include="nanoFramework.Runtime.Native">
67+
<HintPath>..\..\packages\nanoFramework.Runtime.Native.1.7.11\lib\nanoFramework.Runtime.Native.dll</HintPath>
68+
</Reference>
69+
<Reference Include="nanoFramework.System.Collections">
70+
<HintPath>..\..\packages\nanoFramework.System.Collections.1.5.75\lib\nanoFramework.System.Collections.dll</HintPath>
71+
</Reference>
72+
<Reference Include="nanoFramework.System.Text">
73+
<HintPath>..\..\packages\nanoFramework.System.Text.1.3.42\lib\nanoFramework.System.Text.dll</HintPath>
74+
</Reference>
75+
<Reference Include="nanoFramework.UnitsNet.ElectricCurrent">
76+
<HintPath>..\..\packages\nanoFramework.UnitsNet.ElectricCurrent.5.76.15\lib\netnano1.0\nanoFramework.UnitsNet.ElectricCurrent.dll</HintPath>
77+
</Reference>
78+
<Reference Include="nanoFramework.UnitsNet.ElectricPotential">
79+
<HintPath>..\..\packages\nanoFramework.UnitsNet.ElectricPotential.5.76.15\lib\netnano1.0\nanoFramework.UnitsNet.ElectricPotential.dll</HintPath>
80+
</Reference>
81+
<Reference Include="nanoFramework.UnitsNet.Power">
82+
<HintPath>..\..\packages\nanoFramework.UnitsNet.Power.5.76.15\lib\netnano1.0\nanoFramework.UnitsNet.Power.dll</HintPath>
83+
</Reference>
84+
<Reference Include="nanoFramework.UnitsNet.Temperature">
85+
<HintPath>..\..\packages\nanoFramework.UnitsNet.Temperature.5.76.15\lib\netnano1.0\nanoFramework.UnitsNet.Temperature.dll</HintPath>
86+
</Reference>
87+
<Reference Include="System.Buffers.Binary.BinaryPrimitives">
88+
<HintPath>..\..\packages\nanoFramework.System.Buffers.Binary.BinaryPrimitives.1.2.862\lib\System.Buffers.Binary.BinaryPrimitives.dll</HintPath>
89+
</Reference>
90+
<Reference Include="System.Device.Adc, Version=1.1.24.44037, Culture=neutral, PublicKeyToken=c07d481e9758c731">
91+
<HintPath>..\..\packages\nanoFramework.System.Device.Adc.1.1.24\lib\System.Device.Adc.dll</HintPath>
92+
</Reference>
93+
<Reference Include="System.Device.Gpio">
94+
<HintPath>..\..\packages\nanoFramework.System.Device.Gpio.1.1.57\lib\System.Device.Gpio.dll</HintPath>
95+
</Reference>
96+
<Reference Include="System.Device.I2c, Version=1.1.29.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
97+
<HintPath>..\..\packages\nanoFramework.System.Device.I2c.1.1.29\lib\System.Device.I2c.dll</HintPath>
98+
</Reference>
99+
<Reference Include="System.Device.Model, Version=1.2.0.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
100+
<HintPath>..\..\packages\nanoFramework.System.Device.Model.1.2.862\lib\System.Device.Model.dll</HintPath>
101+
</Reference>
102+
<Reference Include="System.IO.FileSystem">
103+
<HintPath>..\..\packages\nanoFramework.System.IO.FileSystem.1.1.87\lib\System.IO.FileSystem.dll</HintPath>
104+
</Reference>
105+
<Reference Include="System.IO.Ports, Version=1.1.132.0, Culture=neutral, PublicKeyToken=c07d481e9758c731">
106+
<HintPath>..\..\packages\nanoFramework.System.IO.Ports.1.1.132\lib\System.IO.Ports.dll</HintPath>
107+
</Reference>
108+
<Reference Include="System.IO.Streams">
109+
<HintPath>..\..\packages\nanoFramework.System.IO.Streams.1.1.96\lib\System.IO.Streams.dll</HintPath>
110+
</Reference>
111+
<Reference Include="System.Math">
112+
<HintPath>..\..\packages\nanoFramework.System.Math.1.5.116\lib\System.Math.dll</HintPath>
113+
</Reference>
114+
<Reference Include="System.Numerics">
115+
<HintPath>..\..\packages\nanoFramework.System.Numerics.1.2.862\lib\System.Numerics.dll</HintPath>
116+
</Reference>
117+
<Reference Include="System.Threading, Version=1.1.52.34401, Culture=neutral, PublicKeyToken=c07d481e9758c731">
118+
<HintPath>..\..\packages\nanoFramework.System.Threading.1.1.52\lib\System.Threading.dll</HintPath>
119+
</Reference>
120+
</ItemGroup>
121+
<ItemGroup>
122+
<None Include="packages.config" />
123+
</ItemGroup>
124+
<ItemGroup>
125+
<ProjectReference Include="..\..\nanoFramework.M5CoreS3\nanoFramework.M5CoreS3.nfproj" />
126+
</ItemGroup>
127+
<ItemGroup>
128+
<Content Include="packages.lock.json" />
129+
</ItemGroup>
130+
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />
131+
<ProjectExtensions>
132+
<ProjectCapabilities>
133+
<ProjectConfigurationsDeclaredAsItems />
134+
</ProjectCapabilities>
135+
</ProjectExtensions>
136+
</Project>

0 commit comments

Comments
 (0)