diff --git a/Cargo.toml b/Cargo.toml index 5063055..07aeec2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,16 +15,20 @@ readme = "README.md" license = "MIT" [workspace.dependencies] +##### no-std ##### +# General utility thiserror = "1.0.*" -uom = "0.33.*" +# Units of measurement +uom = "0.34.*" # Logging -log = "0.4.*" -env_logger = "0.10.*" +tracing = "0.1.*" +# Serialization +parity-scale-codec = "3.4.*" + +##### std ##### # Async futures-lite = "1.12.*" -async-io = "1.12.*" -# Serialization -parity-scale-codec = "3.2.*" +async-io = "1.13.*" [package] name = "physical" @@ -38,5 +42,4 @@ license.workspace = true [dependencies] thiserror.workspace = true uom.workspace = true -log.workspace = true parity-scale-codec.workspace = true \ No newline at end of file diff --git a/README.md b/README.md index 85099d5..51b089d 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,11 @@ Physical is a library for interacting with the physical world from a computer. T The main concepts of Physical are: * Peripheral: A peripheral is a board that hosts physical I/O and usually does analog to digital conversion or digital to analog conversion. A peripheral cannot function on its own, it must be connected to a node. This is more - narrow than the - definition of a peripheral in embedded systems generally. -* Node: A node hosts peripherals. A node can have a master but does not need one. -* Master: A master hosts nodes. It is possible for a device to be both a node and a master at the same time. \ No newline at end of file + narrow than the definition of a peripheral in embedded systems generally. Peripheral support is done on the basis + of complete boards, not individual components like an ADC. Abstractions for individual components should be made + separately, such as in BFHAL. +* Node: A node hosts peripherals. A node can have a master but does not need one. A node can ignore or even override + commands from the master computer. In a complex system, nodes are intended to be kept simple, less likely to + encounter an error than the master, and in many cases should check for obvious problems in commands from the master. +* Master: A master hosts nodes. It is possible for a device to be both a node and a master at the same time, + although it may not be the best idea to make such a setup. \ No newline at end of file diff --git a/master/Cargo.toml b/master/Cargo.toml index 7a225ff..0e4d485 100644 --- a/master/Cargo.toml +++ b/master/Cargo.toml @@ -11,6 +11,6 @@ license.workspace = true [dependencies] physical = { path = ".." } -env_logger.workspace = true +tracing.workspace = true futures-lite.workspace = true async-io.workspace = true \ No newline at end of file diff --git a/rustfmt.toml b/rustfmt.toml new file mode 100644 index 0000000..3d362b7 --- /dev/null +++ b/rustfmt.toml @@ -0,0 +1,3 @@ +format_strings=true +wrap_comments=true +comment_width=100 \ No newline at end of file