Skip to content

Commit

Permalink
Merge pull request #52 from WildernessLabs/v1.7.0
Browse files Browse the repository at this point in the history
Release 1.7.0
  • Loading branch information
jorgedevs authored Jan 10, 2024
2 parents 6c31eaf + db4cfe9 commit 816d193
Show file tree
Hide file tree
Showing 75 changed files with 276 additions and 174 deletions.
1 change: 0 additions & 1 deletion .github/workflows/develop-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ jobs:
uses: actions/checkout@v3
with:
path: Meadow.Foundation.Grove
ref: develop

- name: Setup .NET SDK
uses: actions/setup-dotnet@v1
Expand Down
55 changes: 53 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore

# User-specific files
*.rsuser
Expand All @@ -23,6 +23,7 @@ mono_crash.*
[Rr]eleases/
x64/
x86/
[Ww][Ii][Nn]32/
[Aa][Rr][Mm]/
[Aa][Rr][Mm]64/
bld/
Expand Down Expand Up @@ -61,6 +62,9 @@ project.lock.json
project.fragment.lock.json
artifacts/

# ASP.NET Scaffolding
ScaffoldingReadMe.txt

# StyleCop
StyleCopReport.xml

Expand All @@ -86,6 +90,7 @@ StyleCopReport.xml
*.tmp_proj
*_wpftmp.csproj
*.log
*.tlog
*.vspscc
*.vssscc
.builds
Expand Down Expand Up @@ -137,6 +142,11 @@ _TeamCity*
.axoCover/*
!.axoCover/settings.json

# Coverlet is a free, cross platform Code Coverage Tool
coverage*.json
coverage*.xml
coverage*.info

# Visual Studio code coverage results
*.coverage
*.coveragexml
Expand Down Expand Up @@ -284,6 +294,17 @@ node_modules/
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw

# Visual Studio 6 auto-generated project file (contains which files were open etc.)
*.vbp

# Visual Studio 6 workspace and project file (working project files containing files to include in project)
*.dsw
*.dsp

# Visual Studio 6 technical files
*.ncb
*.aps

# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
Expand Down Expand Up @@ -340,6 +361,9 @@ ASALocalRun/
# Local History for Visual Studio
.localhistory/

# Visual Studio History (VSHistory) files
.vshistory/

# BeatPulse healthcheck temp database
healthchecksdb

Expand All @@ -349,5 +373,32 @@ MigrationBackup/
# Ionide (cross platform F# VS Code tools) working folder
.ionide/

//mac
# Fody - auto-generated XML schema
FodyWeavers.xsd

# VS Code files for those working on multiple tools
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace

# Local History for Visual Studio Code
.history/

# Windows Installer files from build outputs
*.cab
*.msi
*.msix
*.msm
*.msp

# JetBrains Rider
**/.idea/
*.sln.iml

# MacOS Stuff
.DS_Store
*.DS_Store
**/.DS_Store
61 changes: 53 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,35 +10,80 @@ The [Meadow.Foundation](http://developer.wildernesslabs.co/Meadow/Meadow.Foundat

Meadow.Foundation makes the task of building connected things easy with Meadow by providing a unified driver and library framework that includes drivers and abstractions for common peripherals such as: sensors, displays, motors, cameras and more. Additionally, it includes utility functions and helpers for common tasks when building connected things.

## Contents

* [Repositories](#repositories)
* [Repository Branches](#repository-branches)
* [Main](#main)
* [Develop](#develop)
* [Branch History](#branch-history)
* [Requesting New Drivers](#requesting-new-drivers)
* [Documentation](#documentation)
* [Using Meadow.Foundation](#using-meadowfoundation)
* [Contributing](#contributing)
* [License](#license)
* [Author Credits](#author-credits)

## Repositories

Meadow.Foundation is currently split into three (3) GitHub repos:
Meadow.Foundation is currently split into multiple GitHub repos:
1. [Meadow.Foundation](https://github.com/WildernessLabs/Meadow.Foundation/) which contains the majority of the peripheral and library source code
2. [Meadow.Foundation.Featherwings](https://github.com/WildernessLabs/Meadow.Foundation.Featherwings/) contains drivers for hardware that conforms to the [Adafruit Featherwing](https://learn.adafruit.com/adafruit-feather/) form factor
3. [Meadow.Foundation.Grove](https://github.com/WildernessLabs/Meadow.Foundation.Grove/) contains drivers for [Seeed Studio Grove](https://www.seeedstudio.com/grove.html) modular hardware peripherals
2. [Meadow.Foundation.CompositeDevices]([https://github.com/WildernessLabs/Meadow.Foundation.Featherwings/](https://github.com/wildernesslabs/meadow.foundation.compositedevices)) contains drivers for devices that combine multiple peripherals or leverage additional onboard microcontrollers
3. [Meadow.Foundation.Featherwings](https://github.com/WildernessLabs/Meadow.Foundation.Featherwings/) contains drivers for hardware that conforms to the [Adafruit Featherwing](https://learn.adafruit.com/adafruit-feather/) form factor
4. [Meadow.Foundation.Grove](https://github.com/WildernessLabs/Meadow.Foundation.Grove/) contains drivers for [Seeed Studio Grove](https://www.seeedstudio.com/grove.html) modular hardware peripherals
5. [Meadow.Foundation.MBus](https://github.com/WildernessLabs/Meadow.Foundation.MBus/) contains drivers for M-Bus peripherals
6. [Meadow.Foundation.MikroBus](https://github.com/WildernessLabs/Meadow.Foundation.mikrobus/) contains drivers for [MikroElektronika](https://www.mikroe.com/click) mikroBUS Click Boards

## Repository Branches

Today, Meadow.Foundation is represented within two branches: `main` and `develop`.

### Main

The `main` branch represents the currently published code from the last official release. Meadow.Foundation projects that depend on other projects within Meadow.Foundation will have local project references. For example, display drivers will contain a project reference to MicroGraphics. Any references outside of Meadow.Foundation rely on the latest published nuget packages. Nuget references are typically only present in the Meadow.Foundation sample projects.

The `main` branch will compile without the need to clone additional projects. This branch is ideally used to review driver structure and run driver samples with the latest published and stable code.

### Develop

The `develop` branch represents the current state of development for the next official release. Code in this branch should be tested and functional. However, changes in this branch may depend on changes in other Meadow projects, such as Meadow Core.

To compile the `develop` branch, you'll need to clone other dependency GitHub repositories at the same folder level as Meadow.Foundation. This includes but is not limited to: Meadow.Core, Meadow.Units, Meadow.Contracts, Meadow.Logging, and Meadow.Modbus. You can review the references in the `_external` solution folder within Meadow.Foundation for the complete list. Typically, all dependency projects should also be on the `develop` branch. This branch is ideal if you want to submit new drivers or propose substantial changes to existing code.

### Branch history

All code changes are committed to the `develop` branch. At the time of release, the references within develop are updated for publishing and then merged to `main`. This ensures a consistent and accurate history across `develop` and `main`. This also allows pull requests targeted to `main` to be easily retargeted to `develop`.

## Requesting New Drivers

If you have a need for a driver that we don't yet support, you have a couple options:

- Use an existing, similar driver as a template for your new driver. We accept pull requests, but don't require them.
- Use an existing, similar driver as a template for your new driver. We accept pull requests, but don't require them.
- Open a new item on the [Issues Tab](https://github.com/WildernessLabs/Meadow.Foundation/issues) and request the driver so we can prioritize it.

# Documentation
## Documentation

You can read more Meadow.Foundation and how to get started in our [developer site](http://developer.wildernesslabs.co/Meadow/Meadow.Foundation/).

## Using
## Using Meadow.Foundation

To use Meadow.Foundation, simply add a Nuget reference to the core library (for core helpers and drivers), or to the specific peripheral driver you'd like to use, and the core will come with it.

```bash
nuget install Meadow.Foundation
```

# License
## Contributing

Meadow.Foundation, is open source and community powered. We love pull requests, so if you've got a driver to add, send it on over! For each peripheral driver, please include:

* **Documentation** - Including a Fritzing breadboard schematic on wiring it up, sourcing info, and API docs. Please see other drivers for examples. Documentation is hosted on the Wilderness Labs [DocFx](https://wildernesslabs.github.io/docfx/) site.
* **Datasheet** - For the peripheral, if applicable.
* **Sample** - Application illustrating usage of the peripheral.

## License

Copyright 2019-2022, Wilderness Labs Inc.
Copyright 2019-2024, Wilderness Labs Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@
<PackageId>Meadow.Foundation.Grove.Sensors.Motion.3-AxisDigitalAccelerometer_16g</PackageId>
<RepositoryUrl>https://github.com/WildernessLabs/Meadow.Foundation.Grove</RepositoryUrl>
<PackageTags>Meadow.Foundation, Motion, Acceleration, Accelerometer</PackageTags>
<Version>0.1.0</Version>
<Version>1.7.0</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Description>Grove I2C 3-Axis digital accelerometer</Description>
<PackageIcon>icon.png</PackageIcon>
</PropertyGroup>
<ItemGroup>
<None Include=".\Readme.md" Pack="true" PackagePath=""/>
<None Include=".\Readme.md" Pack="true" PackagePath="" />
<None Include="..\..\icon.png" Pack="true" PackagePath="" />
<PackageReference Include="Meadow.Foundation.Sensors.Motion.Adxl3xx" Version="1.6.0" />
<PackageReference Include="Meadow.Foundation.Sensors.Motion.Adxl3xx" Version="1.7.0" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<AssemblyName>App</AssemblyName>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Meadow.F7" Version="1.6.0" />
<PackageReference Include="Meadow.F7" Version="1.7.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Driver\3-AxisDigitalAccelerometer16g.csproj" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@
<PackageId>Meadow.Foundation.Grove.Sensors.Motion.3-AxisDigitalAccelerometer1_5g</PackageId>
<RepositoryUrl>https://github.com/WildernessLabs/Meadow.Foundation.Grove</RepositoryUrl>
<PackageTags>Meadow.Foundation, Motion, Acceleration, Accelerometer</PackageTags>
<Version>0.1.0</Version>
<Version>1.7.0</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Description>Grove I2C 3-Axis digital accelerometer</Description>
<PackageIcon>icon.png</PackageIcon>
</PropertyGroup>
<ItemGroup>
<None Include=".\Readme.md" Pack="true" PackagePath=""/>
<None Include=".\Readme.md" Pack="true" PackagePath="" />
<None Include="..\..\icon.png" Pack="true" PackagePath="" />
<PackageReference Include="Meadow.Foundation.Sensors.Motion.Mma7660fc" Version="1.6.0" />
<PackageReference Include="Meadow.Foundation.Sensors.Motion.Mma7660fc" Version="1.7.0" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<AssemblyName>App</AssemblyName>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Meadow.F7" Version="1.6.0" />
<PackageReference Include="Meadow.F7" Version="1.7.0" />
<ProjectReference Include="..\..\Driver\3-AxisDigitalAccelerometer1_5g.csproj" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@
<PackageId>Meadow.Foundation.Grove.Sensors.Motion.3-AxisDigitalCompass</PackageId>
<RepositoryUrl>https://github.com/WildernessLabs/Meadow.Foundation.Grove</RepositoryUrl>
<PackageTags>Meadow.Foundation, Grove, Compass</PackageTags>
<Version>0.1.0</Version>
<Version>1.7.0</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Description>Grove I2C 3-axis digital compass</Description>
<PackageIcon>icon.png</PackageIcon>
</PropertyGroup>
<ItemGroup>
<None Include=".\Readme.md" Pack="true" PackagePath=""/>
<None Include=".\Readme.md" Pack="true" PackagePath="" />
<None Include="..\..\icon.png" Pack="true" PackagePath="" />
<PackageReference Include="Meadow.Foundation.Sensors.Motion.Hmc5883" Version="1.6.0" />
<PackageReference Include="Meadow.Foundation.Sensors.Motion.Hmc5883" Version="1.7.0" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Meadow.F7" Version="1.6.0" />
<PackageReference Include="Meadow.F7" Version="1.7.0" />
<ProjectReference Include="..\..\Driver\3-AxisDigitalCompass.csproj" />
</ItemGroup>
</Project>
4 changes: 2 additions & 2 deletions Source/4-ChannelSpdtRelay/Driver/4-ChannelSpdtRelay.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<PackageId>Meadow.Foundation.Grove.Relays.4ChannelSpdtRelay</PackageId>
<RepositoryUrl>https://github.com/WildernessLabs/Meadow.Foundation.Grove</RepositoryUrl>
<PackageTags>Meadow.Foundation,Grove,relay,relays,spdt</PackageTags>
<Version>0.1.0</Version>
<Version>1.7.0</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Description>Grove I2C 4-Channel SPDT Relay</Description>
<PackageIcon>icon.png</PackageIcon>
Expand All @@ -25,6 +25,6 @@
<None Include="..\..\icon.png" Pack="true" PackagePath="" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Meadow.Foundation" Version="1.6.0" />
<PackageReference Include="Meadow.Foundation" Version="1.7.0" />
</ItemGroup>
</Project>
8 changes: 4 additions & 4 deletions Source/4-ChannelSpdtRelay/Driver/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,15 @@ public override Task Run()

for (int j = 0; j < 4; j++)
{
Resolver.Log.Info($"{(RelayIndex)j} on");
module.Relays[j].IsOn = true;
Resolver.Log.Info($"{(RelayIndex)j} closed");
module.Relays[j].State = RelayState.Closed;
Thread.Sleep(1000);
}

for (int j = 0; j < 4; j++)
{
Resolver.Log.Info($"{(RelayIndex)j} off");
module.Relays[j].IsOn = false;
Resolver.Log.Info($"{(RelayIndex)j} open");
module.Relays[j].State = RelayState.Closed;
Thread.Sleep(1000);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<AssemblyName>App</AssemblyName>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Meadow.F7" Version="1.6.0" />
<PackageReference Include="Meadow.F7" Version="1.7.0" />
<ProjectReference Include="..\..\Driver\4-ChannelSpdtRelay.csproj" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using Meadow;
using Meadow.Devices;
using Meadow.Foundation.Grove.Relays;
using Meadow.Peripherals.Relays;
using System.Threading;
using System.Threading.Tasks;
using static Meadow.Foundation.Grove.Relays.FourChannelSpdtRelay;
Expand Down Expand Up @@ -39,15 +40,15 @@ public override Task Run()

for (int j = 0; j < 4; j++)
{
Resolver.Log.Info($"{(RelayIndex)j} on");
module.Relays[j].IsOn = true;
Resolver.Log.Info($"{(RelayIndex)j} closed");
module.Relays[j].State = RelayState.Closed;
Thread.Sleep(1000);
}

for (int j = 0; j < 4; j++)
{
Resolver.Log.Info($"{(RelayIndex)j} off");
module.Relays[j].IsOn = false;
Resolver.Log.Info($"{(RelayIndex)j} open");
module.Relays[j].State = RelayState.Closed;
Thread.Sleep(1000);
}
}
Expand Down
6 changes: 3 additions & 3 deletions Source/4-DigitDisplay/Driver/4-DigitDisplay.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@
<PackageId>Meadow.Foundation.Grove.Displays.4DigitDisplay</PackageId>
<RepositoryUrl>https://github.com/WildernessLabs/Meadow.Foundation.Grove</RepositoryUrl>
<PackageTags>Meadow.Foundation, Grove, display, digit, digital</PackageTags>
<Version>0.1.0</Version>
<Version>1.7.0</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Description>Grove GPIO 4 digit display</Description>
<PackageIcon>icon.png</PackageIcon>
</PropertyGroup>
<ItemGroup>
<None Include=".\Readme.md" Pack="true" PackagePath=""/>
<None Include=".\Readme.md" Pack="true" PackagePath="" />
<None Include="..\..\icon.png" Pack="true" PackagePath="" />
<PackageReference Include="Meadow.Foundation.Displays.Tm1637" Version="1.6.0" />
<PackageReference Include="Meadow.Foundation.Displays.Tm1637" Version="1.7.0" />
</ItemGroup>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<AssemblyName>App</AssemblyName>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Meadow.F7" Version="1.6.0" />
<PackageReference Include="Meadow.F7" Version="1.7.0" />
<ProjectReference Include="..\..\Driver\4-DigitDisplay.csproj" />
</ItemGroup>
</Project>
Loading

0 comments on commit 816d193

Please sign in to comment.