Belasoft.Meadow.GraphicsConsole
1.0.3
dotnet add package Belasoft.Meadow.GraphicsConsole --version 1.0.3
NuGet\Install-Package Belasoft.Meadow.GraphicsConsole -Version 1.0.3
<PackageReference Include="Belasoft.Meadow.GraphicsConsole" Version="1.0.3" />
paket add Belasoft.Meadow.GraphicsConsole --version 1.0.3
#r "nuget: Belasoft.Meadow.GraphicsConsole, 1.0.3"
// Install Belasoft.Meadow.GraphicsConsole as a Cake Addin #addin nuget:?package=Belasoft.Meadow.GraphicsConsole&version=1.0.3 // Install Belasoft.Meadow.GraphicsConsole as a Cake Tool #tool nuget:?package=Belasoft.Meadow.GraphicsConsole&version=1.0.3
Welcome to Belasoft Graphics Console for Meadow
This library enables you to setup on or more consoles on a graphic display attached to a meadow board from Wilderness Labs.
You can have the whole display being a console, part of the display being a console, or you can even have more than one console on the same display.
Demos on how to use the GraphicsConsole can be found here
Sometimes it's nice to have a console that can show messages, events, commands etc. so that you have an idea of what is going on in your program. A console is like having a small window to a log while it's being written. That can be quite usefull in certain situations and for me, I would have a hard time coding on the meadow without having a console. That's why I made it - but of course it depends on the individual needs and what you are developing.
Anyway, I hope you will find it usefull - Happy coding ☺
Examples of the Console in action
Video showing one Console on St7789 display
Video showing two Consoles on St7789 display
Video showing three Consoles on St7789 display
Installation steps
Add the Nuget package to your project:
Link to Nuget package: https://www.nuget.org/packages/Belasoft.Meadow.GraphicsConsole
In the top of your MeadowApp.cs file add a using for the Belasoft.MeadowLibrary:
using Belasoft.MeadowLibrary;
Setup a display with MicroGraphics, for example the St7789:
var display = new St7789 ( spiBus: MeadowApp.Device.CreateSpiBus(), chipSelectPin: Device.Pins.A03, dcPin: Device.Pins.A04, resetPin: Device.Pins.A05, width: 240, height: 240, colorMode: ColorMode.Format16bppRgb565 ); var graphics = new MicroGraphics(display) { Stroke = 1, CurrentFont = new Font8x12(), Rotation = RotationType._270Degrees };
Setup a Console:
GraphicsConsole gc = new GraphicsConsole(graphics, false); gc.YTop = 0; gc.YBottom = graphics.Height / 2; gc.Indent = 0; gc.IndentRight = 0; gc.BorderColor = Color.Violet; gc.SetBorder(); Thread t = new Thread(gc.Start); t.Start();
Begin writing texts to the console:
gc.WriteLine("Initializing", Color.Red, ScaleFactor.X2, true); gc.WriteLine("System starting...", Color.OrangeRed, ScaleFactor.X2, true); gc.WriteLine("Warming up...", Color.Orange, ScaleFactor.X2, true); gc.WriteLine("Comm ready", Color.Yellow, ScaleFactor.X2, true); gc.WriteLine("GO", Color.Green, ScaleFactor.X3, true);
Important notes
NB: If writing to the graphics display from different threads, it's important to use the GraphicsWriter that ensures that two or more threads are not writing at the same time. And of course you should not write inside a console area 😃
Use the GraphicsWriter this way:
GraphicsWriter gWriter = new GraphicsWriter(graphics);
gWriter.DrawText(X, Y, Text, Color, Meadow.Foundation.Graphics.ScaleFactor.X2);
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Meadow.F7 (>= 1.1.0)
- Meadow.Foundation (>= 1.1.0)
- Meadow.Foundation.Displays.TftSpi (>= 1.1.0)
- System.Text.Json (>= 7.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Corrected readme