Git Product home page Git Product logo

go-anime-matrix-io's Introduction

go-anime-matrix-io

"Buy Me A Coffee" CircleCI Banner showing the Go Anime Matrix IO application in dark and light mode

A generated gif-image that displays on your Anime Matrix display

This project, go-anime-matrix-io, is a Go-based utility that fetches system performance data (CPU temperature and fan speeds) and displays it on an ASUS Anime Matrix display. It works by retrieving system sensor data at regular intervals, and generates a GIF that is displayed on the Anime Matrix display. This utility has been tested to work on systems running ASUS hardware with an Anime Matrix display and the asusctl utility installed.

It is using Fyne as GUI framework, and the PixelMix font for the text that renders into the out.gif, which is being displayed on the Anime Matrix display.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Prerequisites

In order to run this project, you must have the following installed:

  • Go (version 1.16 or later)
  • ASUS system with Anime Matrix display
  • asusctl utility from asus-linux.org
  • lm-sensors utility

You can install asusctl and lm-sensors using the package manager for your system. For Ubuntu-based systems, you would use:

sudo apt install lm-sensors

asusctl was installed on my Ubuntu machine while following their build instructions. You can find the instructions for installing asusctl on their GitLab page

Installing

Run from executable

In order to get started the fastest, you could run the following commands to fetch the executable, make it executable and thereafter running it. As followed:

wget https://github.com/jackbillstrom/go-anime-matrix-io/releases/download/v.1.1-beta/go-anime-matrix-io-v1.1-beta # download executable
sudo chmod +x go-anime-matrix-io-v1.1-beta # make executable
./go-anime-matrix-io-v1.1-beta  # run the executable

Run from source code

To get a copy of this project, you can clone it from GitHub using the following command:

git clone https://github.com/jackbillstrom/go-anime-matrix-io.git

After cloning the project, navigate into the project directory:

cd go-anime-matrix-io

You can then build the project using Go:

go build

Usage

Once you have built the project, you can run it using:

./go-anime-matrix-io

What to do if the program crashes

The program is designed to handle crashes gracefully. If the program crashes or is forcefully terminated, it will automatically clear and stop usage of the anime matrix. If the screen does not turn off after the program has crashed, you can run the following command to turn it off:

asusctl anime -e false

TODO

  • ๐Ÿงน Refactor code
  • Add support for other systems (Windows)
  • Add support for other Anime Matrix displays
  • Better error handling
  • Better layout for the matrix display
  • Multiple themes

Contributing

We welcome contributions from the community. If you would like to contribute, please fork the repository and submit a pull request.

License

This project, except the PixelMix font is licensed under the MIT License โ€” See the LICENSE.md file for details.

Credits to Andrew Tyler for the font PixelMix - Personal use

Acknowledgments

Thank you to everyone who has contributed to the development and testing of this project. Your time and efforts are greatly appreciated.

go-anime-matrix-io's People

Contributors

dependabot[bot] avatar jackbillstrom avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.