No description
  • HTML 48.7%
  • C# 47.2%
  • PowerShell 2.7%
  • CSS 1.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
CheapNud 7a86912a52
All checks were successful
Build & Test / Build and Test (push) Successful in 2m25s
Drop the GitHub PR review workflow
2026-08-20 23:06:14 +02:00
.forgejo/workflows Add the forge PR review workflow 2026-08-20 23:06:13 +02:00
.github/workflows Drop the GitHub PR review workflow 2026-08-20 23:06:14 +02:00
CheapGlyphForge.Core upgrade to .net 11 preview 2026-07-12 03:30:51 +02:00
CheapGlyphForge.GlyphInterface.Binding update nothing glyph sdks, unified aar replaces interface jar 2026-07-23 18:32:47 +02:00
CheapGlyphForge.GlyphMatrix.Binding update nothing glyph sdks, unified aar replaces interface jar 2026-07-23 18:32:47 +02:00
CheapGlyphForge.MAUI fix sequence timer lifecycle, pin ci sdk to preview 1 2026-07-16 13:52:15 +02:00
.gitattributes Add .gitattributes, .gitignore, README.md, and LICENSE.txt. 2025-07-19 04:34:48 +02:00
.gitignore gitignore nul 2025-11-02 01:07:13 +01:00
BindingAnalysis.txt added script for generating binding output 2025-07-19 15:51:07 +02:00
BindingExplorer.ps1 added script for generating binding output 2025-07-19 15:51:07 +02:00
CheapGlyphForge.slnx migrate solution to slnx format 2026-07-12 03:24:21 +02:00
global.json upgrade to .net 11 preview 2026-07-12 03:30:51 +02:00
LICENSE.txt Add .gitattributes, .gitignore, README.md, and LICENSE.txt. 2025-07-19 04:34:48 +02:00
README.md readme condense 2025-11-02 15:11:57 +01:00
TODO.md fill todo tracker 2026-07-23 18:32:47 +02:00

CheapGlyphForge

A .NET 10 MAUI Blazor application for Nothing Phone Glyph LED control and development.

🚧 Work in Progress

⚠️ Pull requests are not being accepted at this time.

Overview

CheapGlyphForge provides C# wrappers around Nothing Phone Glyph SDKs, supporting both Glyph Interface (individual LED zones) and Glyph Matrix (25x25 LED grid).

Features

  • Glyph Interface & Matrix control with async/await APIs
  • Cross-platform MAUI Blazor app with MudBlazor UI
  • Hardware simulator for development without physical devices
  • Real-time visualization and pattern designer

Device Support

Device Device ID Glyph Interface Glyph Matrix Zones
Phone (1) 20111 A, B, C, D (4 zones)
Phone (2) 22111 A, B, C, D, E (5 zones)
Phone (2a) 23111 A, B, C (3 zones)
Phone (2a) Plus 23113 A, B, C (3 zones)
Phone (3) 24111 25x25 matrix only

Technology Stack

  • .NET 10.0 RC2 with C# 13
  • MAUI + Blazor Server + MudBlazor 8.13.0
  • Android API 36 (34+), Windows 10.0.17763.0+, iOS/macOS 15.0+ (simulator)

Project Structure

  • Core - Platform-agnostic interfaces (IGlyphInterfaceService, IGlyphMatrixService) and models
  • MAUI - Blazor app with simulator and Android native service implementations
  • Bindings - Android Java bindings for Glyph Interface and Matrix SDKs

Quick Start

// Glyph Interface (individual zones)
await glyphService.Initialize();
await glyphService.ToggleChannel(GlyphChannel.A, intensity: 255);
await glyphService.AnimateChannel(GlyphChannel.B, period: 1000, cycles: 5);

// Glyph Matrix (25x25 grid)
await matrixService.SetPixel(x: 12, y: 12, intensity: 255);
await matrixService.DrawShape(MatrixShape.Circle, centerX: 12, centerY: 12, size: 10);

Simulator Features

  • Glyph Designer - Device-specific LED visualizations with intensity controls and quick patterns
  • Matrix Playground - 25x25 grid with click-to-edit pixels and shape generation
  • Combined Preview - Sequence playback with timing controls

Requirements

  • .NET 10.0 SDK (RC2 build 10.0.100-rc.2.25502.107+)
  • Visual Studio 2022 17.12+ or Rider 2024.3+
  • Workloads: dotnet workload install android maui-android maui-windows

Building

git clone https://github.com/CheapNud/CheapGlyphForge.git
cd CheapGlyphForge
dotnet build CheapGlyphForge.MAUI/CheapGlyphForge.MAUI.csproj -f net10.0-android36.0 -c Release

CI/CD

Build Status

GitHub Actions builds Android (APK format), Windows, and iOS/macOS (currently disabled).

Known Issues

  • .NET 10 RC2 + Android API 36 bundletool error (using APK format workaround)
  • Device detection placeholder implementation
  • Matrix visualization at 35% scale in top-right quadrant

Architecture

  • Interface-based design with dependency injection
  • Platform abstraction: Android uses native bindings, others use simulator
  • Java bindings wrap Nothing SDKs with C# Task-based async patterns
  • Blazor + MudBlazor UI with code-behind and conditional compilation

License

This project is not affiliated with Nothing Technology Limited.

The Nothing Phone Glyph SDKs are proprietary to Nothing Technology Limited.


Repository: https://github.com/CheapNud/CheapGlyphForge Author: CheapNud