`tinydisplay` is a tiny display for TinyGo development.

Overview

tinydisplay

tinydisplay is a tiny display for TinyGo development.
tinydisplay works on windows, macOS and linux.

Usage

First, run ./cmd/tinydisplay.
Next, control the display created by NewClient().
Some examples can be found in ./examples.

package main

import (
	"image/color"
	"time"

	"github.com/sago35/tinydisplay"
)

var (
	black = color.RGBA{0, 0, 0, 255}
	white = color.RGBA{255, 255, 255, 255}
)

func main() {
	display, _ := tinydisplay.NewClient("127.0.0.1", 9812, 320, 240)
	display.FillScreen(black)

	for x := int16(0); x < 100; x++ {
		display.SetPixel(x, x, white)
		display.SetPixel(x, 100-x-1, white)
	}
	for {
		time.Sleep(time.Hour)
	}
}

Server

$ go build ./cmd/tinydisplay

$ ./tinydisplay.exe
tcp:127.0.0.1:9812
320x240

or

$ ./tinydisplay.exe --address localhost --port 3000 --size 640x480
tcp:localhost:3000
640x480

Client

$ go run ./examples/basic

$ go run ./examples/displays

$ go run ./examples/pyportal_boing

$ go run ./examples/tinydraw

$ go run ./examples/unicode_font

Author

sago35 - [email protected]

You might also like...
tinygo-used-files is a CLI tool that lists only the files to be built as specified by buildtag.

tinygo-used-files is a CLI tool that lists only the files to be built as specified by buildtag.

Go/TinyGo driver for Lumissil IS31FL3731 matrix LED driver
Go/TinyGo driver for Lumissil IS31FL3731 matrix LED driver

IS31FL3731 Go/TinyGo driver for Lumissil IS31FL3731 matrix LED driver. PR to include this driver to the official TinyGo driver list What's implemented

A reimplementation of the TinyGo drivers package for communicating with multiples of the same (supported) devices on one individual I2C bus.

tinygo-multi-i2c A reimplementation of the TinyGo drivers package for communicating with multiples of the same (supported) devices on one individual I

Suppress commit to master and development, merge branch to master and development

git-extension masterと名前のつくブランチをマージするのは禁止 masterとdevelopmentブランチに直接commitやmergeするのは禁止 masterブランチを親に新規ブランチを作成するのは禁止 どうしてもmasterやdevelopmentブランチに操作をしたい時は

netstat-nat - Display NAT entries on Linux systems

netstat-nat This is a reimplementation of the netstat-nat tool, written entirely in Go. It uses the same command line flags and almost the same output

Golang beautify data display for Humans

Golang beautify data display for Humans English 简体中文 Install # Stable version go get -u -v gopkg.in/ffmt.v1 # Latest version go get -u -v github.com/

Ostent is a server tool to collect, display and report system metrics.
Ostent is a server tool to collect, display and report system metrics.

Ostent Ostent collects metrics to display and report to InfluxDB, Graphite, Librato. The interactive display UI (demo): System metrics collected and r

Display a message in morse code on your capslock LED, keyboard backlight or using your screen brightness!
Display a message in morse code on your capslock LED, keyboard backlight or using your screen brightness!

halp halp is a command line utility that lets you display messages in morse code on your capslock LED, keyboard backlight (if you have it) or using yo

Display last GitLab project git commit. Page is optimized for an e-paper device.
Display last GitLab project git commit. Page is optimized for an e-paper device.

git-on-epaper A gitlab webhook for push notifications on a project. The webhook serves a HTML that shows the last push on the project with the followi

Golang beautify data display for Humans

Golang beautify data display for Humans English 简体中文 Usage Examples package main import ( ffmt "gopkg.in/ffmt.v1" ) func main() { example() } typ

GopherSay allow you to display a message said by a cute random Gopher.

GopherSay About Welcome in GopherSay! GopherSay is inspired by Cowsay program. GopherSay allow you to display a message said by a cute random Gopher.

A golang CLI to display various stats about Hockey teams and their players

A golang CLI to display various stats about Hockey teams and their players

A simple Go utility to display track information from, and send commands to, spotifyd from Tiling Window Managers like Sway and i3
A simple Go utility to display track information from, and send commands to, spotifyd from Tiling Window Managers like Sway and i3

Untitled Spotifyd Controller A simple Go utility to display track information from, and send commands to, spotifyd from Tiling Window Managers like Sw

A CLI tool to display all dependencies or dependents of an object in a Kubernetes cluster.

kube-lineage A CLI tool to display all dependencies or dependents of an object in a Kubernetes cluster. Usage $ kube-lineage clusterrole system:metric

A go driver for the adafruit I2C 7 Segment display

A go driver for the adafruit I2C 7 Segment display

Frontend to display data from huskyCI analyses
Frontend to display data from huskyCI analyses

How does it work? The main goal of this project is to provide a front-end for every huskyCI user to check the stats of the analyses done. If you don't

gh cli extension to display a dashboard of PRs - configurable with a beautiful UI.
gh cli extension to display a dashboard of PRs - configurable with a beautiful UI.

gh-prs A gh cli extension to display a dashboard with pull requests by filters you care about. Installation Installation requires a minimum version (2

Epaper - Driver and example program for tri-color 7.5" 880x528 waveshare eink display

epaper Driver and example program for tri-color 7.5" 880x528 waveshare eink display It's a work in progress, which lacks a lot of safeguarding (meanin

A CLI to adjust display brightness using xrandr. Made because Ubuntu desktop was baking my eyeballs in low light.

bright This is a simple program to set monitor brightness using xrandr. I made this because Ubuntu does not come with a built-in way to change monitor

Comments
  • Fix gob.Register

    Fix gob.Register

    This PR corrects the following errors

    $ go run ./examples/basic/
    panic: gob: name not registered for interface: "*image.RGBA"
    
    goroutine 35 [running]:
    github.com/sago35/tinydisplay.(*Client).update(0x0?)
            /home/sago35/dev/src/github.com/sago35/tinydisplay/client.go:144 +0xd3
    github.com/sago35/tinydisplay.(*Client).Tick(0xc000200300)
            /home/sago35/dev/src/github.com/sago35/tinydisplay/client.go:48 +0x5b
    created by github.com/sago35/tinydisplay.NewClient
            /home/sago35/dev/src/github.com/sago35/tinydisplay/client.go:41 +0x1a5
    exit status 2
    
    opened by sago35 1
Releases(0.3.0)
Owner
sago35
sago35
The note-tinygo Go library for communicating with Blues Wireless Notecard via serial or I²C

Blues Wireless The note-tinygo Go library for communicating with Blues Wireless Notecard via serial or I²C. This library allows you to control a Notec

Blues Inc 3 Nov 29, 2021
Tiny, blazing fast WebAssembly compute

Sat, the tiny WebAssembly compute module Sat (as in satellite) is an experiment, and isn't ready for production use. Please try it out and give feedba

Suborbital 320 Jan 5, 2023
TinyGo drivers for sensors and other devices that use I2C, SPI, GPIO, ADC, and UART interfaces.

TinyGo Drivers This package provides a collection of hardware drivers for devices such as sensors and displays that can be used together with TinyGo.

TinyGo 449 Jan 8, 2023
Cross-platform Bluetooth API for Go and TinyGo.

Go Bluetooth is a cross-platform package for using Bluetooth Low Energy hardware from the Go programming language.

TinyGo 468 Jan 6, 2023
Toy Shader in TinyGo for Game Boy Advance.

toyshader.gba Toy Shader in TinyGo for Game Boy Advance. Releases v0.2: 80x80 screen with 3x2 pixel block version for drawing speed. v0.1: 240x160 pix

Nobuhiro Hatano 14 Oct 29, 2022
2048 using the fantasy console WASM-4 and TinyGo

w4-2048 ?? Play ?? With music ?? ?? With sound and music Game logic initially based on https://github.com/chhabraamit/2048 Controls Arrow keys X Z Res

Peter Hellberg 6 Jul 9, 2022
TinyGo attitude estimation simulation applet.

tiny-ahrsim TinyGo attitude estimation simulation applet. Instructions Requirements Go installed (golang.org) git installed (git-scm.com) TinyGo insta

Patricio Whittingslow 17 Oct 26, 2022
software keyboard for TinyGo

tinykb tinykb is a software keyboard for TinyGo. To use tinykb, it is necessary to implement the driver.Displayer interface. It is still an alpha vers

sago35 2 Jan 14, 2022
TinyGo Hands-on-From L Chika to Application with Go

TinyGo Hands-on-From L Chika to Application with Go

sago35 26 Nov 10, 2022
The note-tinygo Go library for communicating with Blues Wireless Notecard via serial or I²C

Blues Wireless The note-tinygo Go library for communicating with Blues Wireless Notecard via serial or I²C. This library allows you to control a Notec

Blues Inc 3 Nov 29, 2021