DigiXBee class

The parent class for all Digi XBee and XBee3 wifi and cellular modules.

All of the various cellular XBee's and XBee3's are supported. The wifi S6B is also supported.

Base classes

class loggerModem
The loggerModem class provides an internet connection for the logger and supplies an Arduino Client instance to use to publish data.

Derived classes

class DigiXBee3GBypass
The loggerModem subclass for Digi Cellular XBee's based on u-blox SARA U201 chips and operated in bypass mode.
class DigiXBeeCellularTransparent
The class for any of Digi Cellular XBee or XBee3 modules operating in Digi's "transparent" mode.
class DigiXBeeLTEBypass
The class for any of Digi's cellular LTE-M XBee3 modules operating in Digi's "bypass" mode.
class DigiXBeeWifi
The class for the Digi XBee S6B wifi module operating in Digi's "transparent" mode.

Constructors, destructors, conversion operators

DigiXBee(int8_t powerPin, int8_t statusPin, bool useCTSStatus, int8_t modemResetPin, int8_t modemSleepRqPin)
Construct a new Digi XBee object.
~DigiXBee() virtual
Destroy the Digi XBee object - no action taken.

Protected functions

bool modemSleepFxn(void) -> bool override
Perform the parts of the modem sleep process that are unique to a specific module, as opposed to the parts of setup that are common to all modem modules.
bool modemWakeFxn(void) -> bool override
Perform the parts of the modem wake up process that are unique to a specific module, as opposed to the parts of setup that are common to all modem modules.

Function documentation

DigiXBee::DigiXBee(int8_t powerPin, int8_t statusPin, bool useCTSStatus, int8_t modemResetPin, int8_t modemSleepRqPin)

Construct a new Digi XBee object.

Parameters
powerPin The digital pin number of the mcu pin controlling power to the modem (active HIGH).
statusPin The digital pin number of the mcu pin connected to the modem status output pin.
useCTSStatus True to use the CTS_N/DIO7 pin of the XBee as a status indicator rather than the true status (ON/SLEEP_N/DIO9) pin. This inverts the loggerModem::_statusLevel.
modemResetPin The digital pin number of the pin on the mcu attached the the hard or panic reset pin of the modem.
modemSleepRqPin The digital pin number of a pin on the mcu used to request the modem enter its lowest possible power state.

Should be set to a negative number if the modem should be continuously powered or the power cannot be controlled by the MCU. Should be set to a negative number if the modem status pin cannot be read. This can be either the pin named ON/SLEEP_N/DIO9 or CTS_N/DIO7 pin in Digi's hardware reference. Should be set to a negative number if the modem reset pin is not connected to the MCU. This shold be the pin called RESET_N in Digi's hardware reference. Should be set to a negative number if there is no pin usable for deep sleep modes or it is not accessible to the MCU. This shold be the pin called DTR_N/SLEEP_RQ/DIO8 in Digi's hardware reference.


bool DigiXBee::modemSleepFxn(void) override protected

Perform the parts of the modem sleep process that are unique to a specific module, as opposed to the parts of setup that are common to all modem modules.

Returns bool True if the unique part of the sleep function ran sucessfully.

bool DigiXBee::modemWakeFxn(void) override protected

Perform the parts of the modem wake up process that are unique to a specific module, as opposed to the parts of setup that are common to all modem modules.

Returns bool True if the unique part of the wake function ran sucessfully - does NOT indicate that the modem is now responsive.