19 lines
1.3 KiB
Markdown
19 lines
1.3 KiB
Markdown
# 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 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. |