Dependencies, and readme updates.
This commit is contained in:
@ -2,7 +2,7 @@
|
|||||||
members = [
|
members = [
|
||||||
# Device types
|
# Device types
|
||||||
"node",
|
"node",
|
||||||
"master",
|
"commander",
|
||||||
# Examples
|
# Examples
|
||||||
"examples/playground"
|
"examples/playground"
|
||||||
]
|
]
|
||||||
|
28
README.md
28
README.md
@ -1,19 +1,25 @@
|
|||||||
# Physical
|
# Physical
|
||||||
|
|
||||||
Physical is a library for interacting with the physical world from a computer. This can broadly be broken down into two categories:
|
Physical is a library for interacting with the physical world from a computer. This can broadly be broken down into two
|
||||||
|
categories:
|
||||||
|
|
||||||
* Collecting and digitizing data from the physical world.
|
* Collecting and digitizing data from the physical world.
|
||||||
* Controlling devices that take physical action.
|
* Controlling devices that take physical action.
|
||||||
|
|
||||||
## Concepts
|
## Concepts
|
||||||
|
|
||||||
The main concepts of Physical are:
|
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
|
* Peripheral: A peripheral is a board that hosts physical I/O and usually does analog to digital conversion or
|
||||||
narrow than the definition of a peripheral in embedded systems generally. Peripheral support is done on the basis
|
digital to analog conversion. A peripheral cannot function on its own, it must be connected to a node. This is more
|
||||||
of complete boards, not individual components like an ADC. Abstractions for individual components should be made
|
narrow than the definition of a peripheral in embedded systems generally. Peripheral support is done on the basis
|
||||||
separately, such as in BFHAL.
|
of complete boards, not individual components like an ADC. Abstractions for individual components should be made
|
||||||
* Node: A node hosts peripherals. A node can have a master but does not need one. A node can ignore or even override
|
separately, such as in BFPOWER drivers.
|
||||||
commands from the master computer. In a complex system, nodes are intended to be kept simple, less likely to
|
* Node: A node hosts peripherals. A node can have a commander but does not need one. A node can ignore or even override
|
||||||
encounter an error than the master, and in many cases should check for obvious problems in commands from the master.
|
commands from the commander. In a complex system, nodes are intended to be kept simple, less likely to
|
||||||
* Master: A master hosts nodes. It is possible for a device to be both a node and a master at the same time,
|
encounter an error than the commander, and in some cases should check for obvious problems in commands from the
|
||||||
although it may not be the best idea to make such a setup.
|
commander.
|
||||||
|
* Commander: A commander hosts nodes. It is possible for a device to be both a node and a commander at the same time,
|
||||||
|
although it may not be the best idea to make such a setup. There is no concept of nesting commanders built into
|
||||||
|
Physical. If some kind of abstraction for a computer that commands multiple commanders, which command nodes, is
|
||||||
|
necessary, it should be made for that specific application.
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "physical-master"
|
name = "physical-commander"
|
||||||
description = "A master hosts nodes."
|
description = "A commander hosts nodes."
|
||||||
version.workspace = true
|
version.workspace = true
|
||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
repository.workspace = true
|
repository.workspace = true
|
Reference in New Issue
Block a user