Initial proof of concept
This commit is contained in:
23
README.md
Normal file
23
README.md
Normal file
@ -0,0 +1,23 @@
|
||||
# Physical
|
||||
|
||||
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.
|
||||
* Controlling devices that take physical action.
|
||||
|
||||
## Concepts
|
||||
|
||||
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. Peripheral support is focused on complete
|
||||
boards, not individual components like an ADC. Although common abstractions for components specific to physical
|
||||
can be provided in this repository, general component abstractions / drivers should be made separately, such as in
|
||||
BFPOWER drivers.
|
||||
* Node: A node hosts peripherals. A node can have a commander but does not need one. A node can ignore or even override
|
||||
commands from the commander. In a complex system, nodes are intended to be kept simple, less likely to
|
||||
encounter an error than the commander, and in some cases should check for obvious problems in commands from the
|
||||
commander. Node can also communicate with other nodes.
|
||||
* Commander: A commander hosts nodes. It performs long running computations and directs nodes based on the results.
|
Reference in New Issue
Block a user