NOP0 / rustmatic

PLC programming in Rust!
Apache License 2.0
35 stars 2 forks source link

WIP: Some Core Abstractions #1

Closed Michael-F-Bryan closed 4 years ago

Michael-F-Bryan commented 4 years ago

This is a strawman design I've come up with, feel free to criticise or question it. The idea is we'll have a device-agnostic rustmatic-core crate which defines varioius interfaces used by the rest of the project, then each system is broken into its own crate which depends on rustmatic-core.

At the top-level we'll have some sort of main() crate which wires the various systems up and polls the runtime indefinitely.

NOP0 commented 4 years ago

This definitely looks great. It's far beyond what I've could have come up with, given current abilities and time available. I'll just merge it and work from there.

Have you given any thought about analog inputs/outputs? One could perhaps use the enum from "variable" for this? I.e. the runtime supports data types, regardless of input/output/variable, and input/output drivers need to adapt to this?