Skip to content

Commit

Permalink
Merge pull request #40 from WildernessLabs/v1.6.0
Browse files Browse the repository at this point in the history
Release 1.6.0
  • Loading branch information
adrianstevens authored Dec 7, 2023
2 parents 55acfd5 + 49952ca commit f2ca97b
Show file tree
Hide file tree
Showing 11 changed files with 57 additions and 36 deletions.
Binary file modified Design/banner.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Design/juego-samples.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Design/juego-store.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Juego.Samples_Screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
47 changes: 32 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,17 @@

Open-source, Meadow-powered, multigame handheld console with DPads, speakers and a colored display.

#### Are you brand new to Meadow?

If you've never deployed a Meadow app before, you'll want to check out the [Getting Started Guide](https://developer.wildernesslabs.co/Meadow/Getting_Started/) which will get your development environment up and running and validate that you can build and deploy.

## Contents
* [Purchasing or Building](#purchasing-or-building)
* [Getting Started](#getting-started)
* [Hardware Specifications](#hardware-specifications)
* [Building Locally](#building-locally)
* [Additional Samples](#additional-samples)
* [Juego Hack Kit Version](#juego-hack-kit-version)
* [Support](#support)

## Purchasing or Building

Expand All @@ -24,7 +29,7 @@ Open-source, Meadow-powered, multigame handheld console with DPads, speakers and
</tr>
<tr>
<td>
You can get a Juego board from the <strong>Wilderness Labs store</strong> very soon.
You can get a Juego board from the <strong><a href="https://store.wildernesslabs.co/collections/frontpage/products/juego">Wilderness Labs store</a></strong>.
</td>
<td>
You can also build a simpler Juego using a monocolor display and push buttons.
Expand All @@ -34,7 +39,19 @@ Open-source, Meadow-powered, multigame handheld console with DPads, speakers and

## Getting Started

To make using the hardware even simpler, we've created a Nuget package that instantiates and encapsulates the onboard hardware into a `Juego` class.
### Playing Juego

Do you have a brand new Juego and you just wanna play some games? Check out the [Juego.Samples repo](https://github.com/WildernessLabs/Juego.Samples) with some games you can play out of the box:

[![Screenshot of the Juego.Samples repo readme showing several games that can be played.](Design/juego-samples.png)](https://github.com/WildernessLabs/Juego.Samples)

#### Are you brand new to Meadow?

If you've never deployed a Meadow app before, you'll want to check out the [Getting Started Guide](https://developer.wildernesslabs.co/Meadow/Getting_Started/) which will get your development environment up and running and validate that you can build and deploy.

### Using the Juego Hardware in your own App

To make using the hardware even simpler, we've created a [NuGet package](https://www.nuget.org/packages/Meadow.Juego) that instantiates and encapsulates the onboard hardware into a `Juego` class.

1. Add the ProjectLab Nuget package your project:
- `dotnet add package Meadow.Juego`, or
Expand Down Expand Up @@ -131,19 +148,14 @@ public class MeadowApp : App<F7CoreComputeV2>

You can find the schematics and other design files in the [Hardware folder](Source/Hardware).

## Building locally

When using the develop branch, you'll need to clone additional Meadow repos:
## Additional Samples

- [Meadow.Core](https://github.com/WildernessLabs/Meadow.Core)
- [Meadow.Units](https://github.com/WildernessLabs/Meadow.Units)
- [Meadow.Contracts](https://github.com/WildernessLabs/Meadow.Contracts)
- [Meadow.Foundation](https://github.com/WildernessLabs/Meadow.Foundation)
- [Meadow.Logging](https://github.com/WildernessLabs/Meadow.Logging)
Be sure to clone all these repos including `Juego` at the same folder level and set all repos to the `develop` branch.

Also, make sure you are running the latest version of Meadow OS on your Juego v2 board.
1. **[Setup your Meadow Build Environment](http://developer.wildernesslabs.co/Meadow/Getting_Started/Deploying_Meadow/)** - If you haven't deployed a Meadow app before, you'll need to setup your IDE extension(s), deploy Meadow.OS, etc.
2. **[Run the Demo App](Source/Juego_Demo/)** - Deploy the Juego demonstration app to see the built in peripherals at work.
3. **[Check out the Juego.Samples repo](https://github.com/WildernessLabs/Juego.Samples)** - We recommend cloning the [Juego.Samples](https://github.com/WildernessLabs/Juego.Samples) repo. There you'll find a bunch of awesome samples that you can run right out-of-the box!
<a href="https://github.com/WildernessLabs/Juego.Samples">
<img src="Design/juego-samples.png" alt="juego, iot, project, samples" style="margin-top:10px;margin-bottom:10px" />
</a>

## Juego Hack Kit Version

Expand Down Expand Up @@ -180,3 +192,8 @@ Includes five games:
</tr>
</table>

## Support

Having trouble building/running these projects?
* File an [issue](https://github.com/WildernessLabs/Meadow.Desktop.Samples/issues) with a repro case to investigate, and/or
* Join our [public Slack](http://slackinvite.wildernesslabs.co/), where we have an awesome community helping, sharing and building amazing things using Meadow.
10 changes: 5 additions & 5 deletions Source/Juego/Juego.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
<None Include="icon.png" Pack="true" PackagePath="" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Meadow.F7" Version="1.5.0" />
<PackageReference Include="Meadow.Foundation.Audio.MicroAudio" Version="1.5.0" />
<PackageReference Include="Meadow.Foundation.Displays.TftSpi" Version="1.5.0" />
<PackageReference Include="Meadow.Foundation.ICs.IOExpanders.Mcp23xxx" Version="1.5.0" />
<PackageReference Include="Meadow.Foundation.Sensors.Motion.Bmi270" Version="1.5.0" />
<PackageReference Include="Meadow.F7" Version="1.6.0" />
<PackageReference Include="Meadow.Foundation.Audio.MicroAudio" Version="1.6.0" />
<PackageReference Include="Meadow.Foundation.Displays.TftSpi" Version="1.6.0" />
<PackageReference Include="Meadow.Foundation.ICs.IOExpanders.Mcp23xxx" Version="1.6.0" />
<PackageReference Include="Meadow.Foundation.Sensors.Motion.Bmi270" Version="1.6.0" />
</ItemGroup>
</Project>
6 changes: 5 additions & 1 deletion Source/Juego_Demo/MeadowApp.cs
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,11 @@ public async override Task Run()
Resolver.Log.Info("Run...");

displayController?.Update();
juego.MotionSensor?.StartUpdating(TimeSpan.FromMilliseconds(250));

if (juego.MotionSensor is { })
{
juego.MotionSensor.StartUpdating(TimeSpan.FromMilliseconds(250));
}

await audioLeft.PlaySystemSound(SystemSoundEffect.PowerUp);
await audioRight.PlayGameSound(GameSoundEffect.LevelComplete);
Expand Down
10 changes: 5 additions & 5 deletions Source/Juego_Prototype/Games/FrogIt/FrogItGame.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ public FrogItGame(int cellSize = 8, int width = 128)

public void Reset()
{
gameStart = DateTime.Now;
gameStart = DateTime.UtcNow;
ResetFrog();
Lives = 3;

Expand All @@ -84,14 +84,14 @@ void ResetFrog()

double lastTime;
int count = 0;
Stopwatch sw = new Stopwatch();
readonly Stopwatch sw = new Stopwatch();
public void Update()
{
if(count == 0)
if (count == 0)
{
sw.Start();
}
else if(count == 100)
else if (count == 100)
{
sw.Stop();
Resolver.Log.Info($"100 frames took {sw.Elapsed}");
Expand All @@ -101,7 +101,7 @@ public void Update()
count++;

lastTime = GameTime;
GameTime = (DateTime.Now - gameStart).TotalSeconds;
GameTime = (DateTime.UtcNow - gameStart).TotalSeconds;

switch (lastInput)
{
Expand Down
6 changes: 3 additions & 3 deletions Source/Juego_Prototype/Games/Lander/LanderGame.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public LanderGame(int cellSize = 8, int width = 128)

public void Reset()
{
gameStart = DateTime.Now;
gameStart = DateTime.UtcNow;

Lives = 3;

Expand All @@ -70,9 +70,9 @@ void GenerateGame()
public void Update()
{
lastTime = GameTime;
GameTime = (DateTime.Now - gameStart).TotalSeconds;
GameTime = (DateTime.UtcNow - gameStart).TotalSeconds;

switch(lastInput)
switch (lastInput)
{
case UserInput.Up:

Expand Down
2 changes: 1 addition & 1 deletion Source/Juego_Prototype/Games/Snake/SnakeGame.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ public partial class SnakeGame : IGame

public bool PlaySound { get; private set; }

Random rand = new Random((int)DateTime.Now.Ticks);
readonly Random rand = new Random((int)DateTime.UtcNow.Ticks);

enum CellType : byte
{
Expand Down
12 changes: 6 additions & 6 deletions Source/Juego_Prototype/Juego_Prototype.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@
<EmbeddedResource Include="menu.json" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Meadow.F7" Version="1.5.0" />
<PackageReference Include="Meadow.Foundation" Version="1.5.0" />
<PackageReference Include="Meadow.Foundation.Displays.TextDisplayMenu" Version="1.5.0" />
<PackageReference Include="Meadow.Foundation.Displays.Sh1106" Version="1.5.0" />
<PackageReference Include="Meadow.Foundation.Displays.Ssd130x" Version="1.5.0" />
<PackageReference Include="Meadow.Foundation.Displays.TftSpi" Version="1.5.0" />
<PackageReference Include="Meadow.F7" Version="1.6.0" />
<PackageReference Include="Meadow.Foundation" Version="1.6.0" />
<PackageReference Include="Meadow.Foundation.Displays.TextDisplayMenu" Version="1.6.0" />
<PackageReference Include="Meadow.Foundation.Displays.Sh1106" Version="1.6.0" />
<PackageReference Include="Meadow.Foundation.Displays.Ssd130x" Version="1.6.0" />
<PackageReference Include="Meadow.Foundation.Displays.TftSpi" Version="1.6.0" />
</ItemGroup>
<ItemGroup>
<None Update="meadow.config.yaml">
Expand Down

0 comments on commit f2ca97b

Please sign in to comment.