From ac61cde5d2e1b0e7a80e2a88679cf247c0e4cec9 Mon Sep 17 00:00:00 2001 From: Jens True Date: Wed, 5 Jan 2022 09:25:53 +0000 Subject: [PATCH] Added LEDNotifier to list projects --- .gitignore | 1 + content/project/lednotifier/featured.jpg | Bin 0 -> 31671 bytes content/project/lednotifier/index.md | 44 +++++++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 content/project/lednotifier/featured.jpg create mode 100644 content/project/lednotifier/index.md diff --git a/.gitignore b/.gitignore index b925633..ea32925 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ public/ assets/jsconfig.json _vendor .hugo_build.lock +hugo \ No newline at end of file diff --git a/content/project/lednotifier/featured.jpg b/content/project/lednotifier/featured.jpg new file mode 100644 index 0000000000000000000000000000000000000000..71c38af0a4d202db364c0ff49dd62e0ff7a99d27 GIT binary patch literal 31671 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 Hf9L)$fEx-5 literal 0 HcmV?d00001 diff --git a/content/project/lednotifier/index.md b/content/project/lednotifier/index.md new file mode 100644 index 0000000..5778194 --- /dev/null +++ b/content/project/lednotifier/index.md @@ -0,0 +1,44 @@ +--- +title: "LED Notifier" +summary: "Commandline app to change the color of a USB LED notifier." +date: 2022-01-04T20:56:05+02:00 +categories: ["C#"] + +image: + preview_only: false + +url_code: "https://github.com/furyfire/LEDNotifier" +--- +# LED Notifier +Setting the color of a simple USB LED Notifier. Implemented in C# and .NET 6.0 + + +# Device +The device itself was purchased years ago from a chinese site. + + +| Field | Value | +|----------------|----------| +| Vendor ID | 0x1294 | +| Product ID | 0x1320 | +| Product Name | EMAIL | + +It enumerates as a USB HID device and supports a limited set of colors. + +- Off +- Blue +- Red +- Green +- Aqua +- Purple +- Yellow +- White + +# Implementation +I opted to use C# for a basic Windows implementation. + + - Using VS2022 + - To interface with the HID device I used the HIDSharp library. (https://www.zer7.com/software/hidsharp) + + +