-
Notifications
You must be signed in to change notification settings - Fork 0
Development
Cool so you want to enhance the OLED Project?? SWEET! Here is what you need to know.
First the development can run on any x86_64 or Arm v7 Processor. It can also run on any operating system you have, since we are using a docker container to develop the code. It is based on the Ubuntu Python3 Docker container. So you will need to know docker and have vscode installed on your local system. You you can also do remote development with a machine that is running docker. Here is what you need to know:
- Install docker on your system
- Install vscode on your local system
- Install Remote Containers Extension in vscode
Windows:
- Have to install Linux Subsystem for Windows
- This Program is a combination of Rust and Python3. The main files are written in rust and ultimately the whole project is to be written in rust. The goal is to have a light weight program that can run on smaller SOCs like raspberry pi zero Ws and older raspberry pis.
Each module is bundled together with an API and Matrix display screen. Each api runs asynchronously while the previous matrix is running. Unless it is the first Display then you will have to wait for the API to return back before displaying the first module.
- Configuration
- The configuration is in json format. Each Module is consists on its own unique json that is compiled and stored in /etc/ohmyoled/ohmyoled.json. The absence of a section in the json means that the program excludes it.
- Matrix
- All Matrixes use python pillow or PIL to create images and display it. Each matrix uses the data from the API to construct the Matrix and display the appropriate information.
- Api
- Each "section" has the ability to have multiple APIs to pull from and should and more should be added and encouraged! Then each section generates a standardized Object that the Matrix consumes the data.
There is alot more to add here, please feel free to add.