Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update 1.9.0 #680

Merged
merged 4 commits into from
Feb 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 19 additions & 18 deletions docs/Meadow/Meadow.OS/Cellular/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ It's important to note that the `Csq` property returns a cached value obtained f
```csharp
var cell = Device.NetworkAdapters.Primary<ICellNetworkAdapter>();

double csq = cellAdapter.GetSignalQuality();
double csq = cell.GetSignalQuality();
Console.WriteLine("Cell Signal Quality: " + csq);
```

Expand All @@ -237,28 +237,29 @@ using Meadow.Foundation.Sensors.Location.Gnss;
using Meadow.Peripherals.Sensors.Location.Gnss;
using Meadow.Foundation.Sensors.Gnss;
...
void ProcessGnssPosition(object sender, IGnssResult location)
{
Resolver.Log.Info("*********************************************");
Resolver.Log.Info(location.ToString());
Resolver.Log.Info("*********************************************");
}
void ProcessGnssPosition(object sender, IGnssResult location)
{
Resolver.Log.Info("*********************************************");
Resolver.Log.Info(location.ToString());
Resolver.Log.Info("*********************************************");
}
...
IGnssResult[] resultTypes = new IGnssResult[]
{
new GnssPositionInfo(),
new ActiveSatellites(),
new CourseOverGround(),
new SatellitesInView(new Satellite[0])
};
IGnssResult[] resultTypes = new IGnssResult[]
{
new GnssPositionInfo(),
new ActiveSatellites(),
new CourseOverGround(),
new SatellitesInView(new Satellite[0])
};

ICellNetworkAdapter cell = networkAdapter as ICellNetworkAdapter;
ICellNetworkAdapter cell = networkAdapter as ICellNetworkAdapter;

var bg95M3 = new Bg95M3(cellAdapter, TimeSpan.FromMinutes(30), resultTypes);
var bg95M3 = new Bg95M3(cellAdapter, TimeSpan.FromMinutes(30), resultTypes);

bg95M3.GnssDataReceived += ProcessGnssPosition;
bg95M3.GnssDataReceived += ProcessGnssPosition;

bg95M3.StartUpdating();
bg95M3.StartUpdating();
...
```

For a more comprehensive example, you can refer to the [BG95-M3 GNSS sample](https://github.com/WildernessLabs/Meadow.Foundation/blob/develop/Source/Meadow.Foundation.Peripherals/Sensors.Gnss.Bg95M3/Samples/Bg95M3_Sample/MeadowApp.cs) available in the Meadow.Foundation repository.
Expand Down
55 changes: 55 additions & 0 deletions docs/Meadow/Release_Notes/v1/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,61 @@ title: Meadow v1.* Releases
subtitle: Release Notes
---

## v1.9.0

Another big update for Meadow! We’ve added SPI DMA which reduces CPU load when communicating with SPI devices and can lead to a 30% increase in drawing performance with SPI displays!

We’re also shipping a big stability improvement by improving how the OS manages and switches between threads.

Note - starting with v1.9.0.0 and CLI v2.0, you’ll need to [create a free Wilderness Labs account](https://identity.wildernesslabs.co/signin/register) to download new versions of the Meadow OS.

### Meadow.OS

* .NET threads are now using the round-robin OS scheduler. This should better match traditional .NET execution behavior and resolve issues of apps “livelocking” because of a tight loop preventing progress under the First-In, First-Out (FIFO) scheduler.
* SPI DMA has been enabled for all SPI data transfers. Use of it should be transparent, providing approximately 3x throughput speed for SPI peripheral devices.
* Changes to the threading on the coprocessor were made, resulting in greater stability for network requests
* Several low-level fixes & improvements

### Meadow.Core

* Support has been added for F7 multi-platform targeting. One app assembly can now contain IApp instances for multiple F7 hardware targets. (add link to docs)
* `IPixelDisplayProvider` interface added for Meadow.Desktop platforms
* SensorService now auto-registers any `ISleepAwarePeripherals` it knows about
* Improvements to Core interrupt handling in F7 platforms
* Interrupts events changed from containing a DateTime to a system tick (for performance reasons)
* OtA Downloads now report progress via an event
* Added “reason” to network disconnection events on F7 platforms
* Added preliminary support for Raspberry Pi 5

### Meadow.Foundation

* FT232H/FTDI Driver refactored to support multiple devices at one time and to use the same driver (FT2xxx) for all modes
* Improved partial update logic in MicroGraphics and TftSpi display drivers
* BME688 gas resistance fix
* SCD40 events fix

#### Breaking changes

* Renamed `IGraphicsDisplay` to `IPixelDisplay` and moved to `Meadow.Contracts` and changed namespace to `Meadow.Displays `
* Moved `IPixelBuffer` to `Meadow.Contracts` and namespace changed to `Meadow.Displays`

### Meadow.Cloud

* Bug fix for Azure Event Grid data serialization
* For over-the-air updates, we exposed a new event, `OnUpdateProgress` that is triggered periodically showing the update’s download progress expressed in bytes.

### Meadow.Desktop

* We have added support for `Meadow.Desktop` as a target. This allows a single app to target Windows, Mac or desktop Linux with auto-platform detection and simulated `IPixelDisplay`.

### IoT Accelerators

* Our GNSS Tracker got a big update with its v2 hardware iteration (which is packed with more sensors than its predecessor), including a revamped demo application displaying accurate atmospheric sensor data along with battery and solar input voltage.

### Meadow.Tooling

* [CLI v2.0](https://developer.wildernesslabs.co/Meadow/Meadow_Tools/Meadow_CLI/) has shipped! This is a massive rework of the command line tool used to communicate with Meadow devices and manage firmware. Note, with this new release, you will need to [create a free Wilderness Labs account](https://identity.wildernesslabs.co/signin/register) and sign in before downloading firmware updates.

## v1.8.0

### Meadow.OS & Meadow.Core
Expand Down
Loading