#prism #led #color

libnewton

libnewton, a library for interacting with Prism

1 release (0 unstable)

2.0.0-beta May 24, 2024

#4 in #prism

GPL-3.0 license

40KB
590 lines

🪐 libnewton

A library for interacting with Prism 🌈

Visit https://github.com/taleroangel/prism for more information about the Prism Project

This repository contains most of the implementation of the Prism protocol with all the numeric constants defined inside protobuf files in order to make porting to many programming languages easier

✒️ List of supported programming languages

Current implemented languages and stages:

Language Status
Protobuf 🟢
Rust 🟢

✴️ Base (protobuf)

The base implementtion of libnewton (constants names and values like the InstructionSet, Registers and AddressingMode) are defined in a set of protobuf files found in the protobuf directory, this is the base from which new libraries should be built upon and can be a direct dependency

🦀 Rust

The rust library depends on the protoc-gen-prost crate for generating the protobuf base files rust implementation. These files are commited to source control but can be recompiled using the following command invoked from parent directory:

protoc -I ./protobuf --prost_out=rust/src/proto ./protobuf/*.proto

🔭 Newton

Newton is the name given to the Prism Instruction Interpreter therefore a Newton Interpreter is required in every slave device. Instructions are interpreted in Prism Binary Format which can be assembled from a Prism Assembly Language using this library

Dependencies

~270KB