RadiantPi.Lumagen 1.1.0

.NET 5.0
NuGet\Install-Package RadiantPi.Lumagen -Version 1.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
dotnet add package RadiantPi.Lumagen --version 1.1.0
<PackageReference Include="RadiantPi.Lumagen" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RadiantPi.Lumagen --version 1.1.0
#r "nuget: RadiantPi.Lumagen, 1.1.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install RadiantPi.Lumagen as a Cake Addin
#addin nuget:?package=RadiantPi.Lumagen&version=1.1.0

// Install RadiantPi.Lumagen as a Cake Tool
#tool nuget:?package=RadiantPi.Lumagen&version=1.1.0

RadiantPi.Lumagen

RadianceProClient enables control of a Lumagen RadiancePro over a RS-232 connection. The library is platform agnostic and works on Windows or Linux, including on a Raspberry Pi.

Run the dotnet command from your project folder to add the RadiantPi.Lumagen assembly:

dotnet add package RadiantPi.Lumagen

Find a description of the latest changes in the release notes.

RadiancePro Setup

RadianceProClient requires the Lumagen RadiancePro to have Echo enabled:

  • MENU → Other → I/O Setup → RS-232 Setup → Echo → On

As well as report mode changes set to Fullv4:

  • MENU → Other → I/O Setup → RS-232 Setup → Report mode changes → Fullv4

Sample: Show Hello World

Use the ShowMessageAsync() to show a message on the display.

// initialize client
using var client = new RadianceProClient(new RadianceProClientConfig {
    PortName = "/dev/ttyUSB0",
    BaudRate = 9600
});

// show message
await client.ShowMessageAsync("Hello World!!!", 5);

Sample: Listen for events

Use DisplayModeChanged to listen to events, such as input or content changes.

// hook-up event handler
client.DisplayModeChanged += ShowDisplayMode;

// wait until the enter key is pressed
Console.ReadLine();

// remove event handler
client.DisplayModeChanged -= ShowDisplayMode;

// function acting on events
void ShowDisplayMode(object? sender, DisplayModeChangedEventArgs args) {
    Console.WriteLine("=== DISPLAY MODE ===");
    Console.WriteLine(JsonSerializer.Serialize(args.DisplayMode, new JsonSerializerOptions {
        WriteIndented = true
    }));
}

License

This application is distributed under the GNU Affero General Public License v3.0 or later.

Copyright (C) 2020-2021 - Steve G. Bjorg

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.0 198 10/26/2021
1.0.0 137 10/26/2021