Boards¶
Support for a board is loaded by including feather/feather.h
- this
will pull in support for the appropriate board. The boards that are
currently supported are
- Feather M0-based boards; this has been tested with the Feather M0 basic and the Feather M0 with RFM95 LoRa radio.
- The Feather M4 Express.
It may work on other M0 or M4-based boards, but these haven’t been tested.
The Board
abstract base class¶
The Board
class defines a few virtual methods common to all Feathers:
double voltage()
returns the current battery voltage as read from the onboard voltage divider.setup(int baudrate, bool wait)
starts the serial console at the given baudrate; ifwait
istrue
, it will wait for a serial connection before continuing with the boot process. It will also load support for the%f
verb inprintf
, and seed the random number generator.uint32_t random()
returns a random number; for boards that support a true random number generator, it will be a cryptographically valid random number generator; otherwise, it’s a best-effort random number generated by repeatedly sampling the unused analog pin.seed
uses a random number fromBoard::random
to seed the Arduino random number generator.
Feather M0¶
The FeatherM0
class is instantiated using one of three constructors:
- The default constructor,
FeatherM0()
, is a wrapper forFeatherM0(INPUT, UNUSED_ANALOG)
. FeatherM0(int pin9Mode)
is a wrapper forFeatherM0(pin9Mode, UNUSED_ANALOG)
.FeatherM0(int pin9Mode, int unusedAnalog)
explicitly defines the pin 9 mode and the unused analog port.
The Feather M0’s voltage divider is on pin 9; in order to be read, it has to be
put in the INPUT
mode. Afterwards, it will be reset to whatever the pin9Mode
is. For example, when using the OLED featherwing (described later), it should be
set to INPUT_PULLUP
.
The unused analog pin is used for the random number generator as described above.
Feather M4¶
The FeatherM4
class is instantiated using a default constructor. It has a
true random number generator that is used for the seeding process and for
returning random numbers.