FRMS serves as both an internal framework for testing reactor designs as well as a scalable customer facing application for monitoring and control.
The project makes heavy use of low-cost yet powerful embedded systems capable of running full Linux kernels.
Examples include the [BeagleBone Black](https://beagleboard.org/black) which was heavily used in development of FRMS as well as the popular [Raspberry Pi 4](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/).
For more information about the hardware used in the reactors see [here](wiki/reactor.md#hardware).
In its current state, FRMS is very bare bones and exists mostly as a proof of concept.
The project uses a make alternative called [task](https://github.com/go-task/task) written in go for building and testing.
After using `git clone git@github.com:fl-src/FRMS.git` to clone the repository, you can then build binaries of the two commands `server` and `reactor` for testing.
The binaries will be put into the `bin/` folder and will be labeled with the platform and architecture they were built for.
**WARNING**: The reactor binary currently relies on the Linux [i2c-tools](https://archive.kernel.org/oldwiki/i2c.wiki.kernel.org/index.php/I2C_Tools.html) to interact with the i2c bus.
This may cause undefined behavior when run on a device without the tools installed. More information about this design choice can be found [here](wiki/reactor.md#i2c)