From e2fbfdfaccec24b56aac3af12852d0ecbe61f91f Mon Sep 17 00:00:00 2001 From: Vinzenz Schroeter Date: Sat, 11 May 2024 23:44:18 +0200 Subject: [PATCH] add screenshot to README.md --- README.md | 5 +++++ example_render.png | Bin 0 -> 12665 bytes 2 files changed, 5 insertions(+) create mode 100644 example_render.png diff --git a/README.md b/README.md index b66c004..54782ca 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ An emulator for the CCCB airport display. +![example render](example_render.png) + In CCCB, there is a big LED matrix screen you can send images to via UDP. This project aims to build a working an application that can receive packages in the same binary format and display the contents to the user. Use cases: @@ -9,6 +11,9 @@ Use cases: - test your project when outside of CCCB - test your project while other people are using the display +Uses the [servicepoint](https://github.com/cccb/servicepoint) library for reading the packets. Currently only works with my [fork](https://github.com/kaesaecracker/servicepoint). +The screenshot above shows the output of two example projects running in parallel (game_of_life and random_brightness). + ## Legal stuff The included font is https://int10h.org/oldschool-pc-fonts/fontlist/font?ibm_bios (included in the download from https://int10h.org/oldschool-pc-fonts/download/). The font is CC BY-SA 4.0. diff --git a/example_render.png b/example_render.png new file mode 100644 index 0000000000000000000000000000000000000000..4975bbd86898360ef9baf0d919764af6df34d64f GIT binary patch literal 12665 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