Dependencies, and readme updates.

This commit is contained in:
2023-03-25 08:58:21 -07:00
parent 02212e99ab
commit 2cc2b45f19
4 changed files with 20 additions and 14 deletions

View File

@ -2,7 +2,7 @@
members = [ members = [
# Device types # Device types
"node", "node",
"master", "commander",
# Examples # Examples
"examples/playground" "examples/playground"
] ]

View File

@ -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.

View File

@ -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