1. Home
  2. Docs
  3. Code Overview
  4. BOS & Module Parameters

BOS & Module Parameters

BOS Parameters

BOS parameters are used to adjust BOS settings and tune backend behavior to suit various scenarios. They are stored in the emulated EEPROM and loaded on startup. BOS parameters can be accessed in code as struct members of BOS struct. For example:


You can then store the new value in the emulated EEPROM using:

EE_WriteVariable(_EE_PARAMS_BASE, ((uint16_t)BOS.trace<<8) | (uint16_t)BOS.response);

BOS parameters EEPROM storage and addresses are available in this article or in BOS_eeprom.h.

You can read/write BOS parameters in the CLI using set/get commands:

set bos.response none
get bos.debounce

When you set BOS parameters in the CLI, they get automatically stored in the emulated EEPROM. Type help params in the CLI to displays a list of available parameters and their CLI values.

Here’s a list of current BOS parameters:

DescriptionParameter in CodeCode ValuesParameter in CLICLI ValuesDefault Value
Enable response for all messages and remote CLI commands, or for messages only (not for remote commands), or for remote commands only or generate no remote response at all.BOS.responseBOS_RESPONSE_ALL, BOS_RESPONSE_MSG, BOS_RESPONSE_CLI, BOS_RESPONSE_NONEbos.responseall, message, noneBOS_RESPONSE_ALL
Enable TRACE mode for all messages and their responses, or for messages only or for responses only or turn TRACE mode completely off. When TRACE mode is ON, it helps you visualize message routes in the array (i.e., trace them) by blinking the indicator LED on each module passing the message or it response.BOS..traceTRACE_BOTH, TRACE_MESSAGE, TRACE_RESPONSE, TRACE_NONEbos.traceall, message, response, noneTRACE_BOTH
CLI baudrate. Default is 921600. This affects all ports. If you change this value, you must connect to a CLI port on each startup to restore other array ports into default baudrate.BOS.clibaudrate32-bit integer (default is 921600)bos.clibaudrate32-bit integer (default is 921600)921600
Control debounce time for BOS port buttons/switches. This adjusts button noise rejection behavior.BOS..buttons. debounce1 ... 65536 msecbos.debounce1 ... 65536 msec30
Control single-click time for BOS port buttons/switches. This adjusts button noise rejection and single-click behavior.BOS..buttons. singleClickTime1 ... 65536 msecbos.singleclicktime1 ... 65536 msec50
Control minimum inter-click time for BOS port buttons/switches. This adjusts button single-click behavior.BOS.buttons. minInterClickTime1 ... 255 msecbos.mininterclicktime1 ... 255 msec5
Control maximum inter-click time for BOS port buttons/switches. This adjusts button double-click behaviorBOS..buttons. maxInterClickTime1 ... 255 msecbos.maxinterclicktime1 ... 255 msec250

Module Factory Reset

You can restore module factory settings (i.e., default BOS parameters, default time and date, etc.) using two methods:

  1. Using CLI command default params  . Note, this only restores BOS parameters to their default settings, and does not erase other EEPROM contents.
  2. By connecting TXD (top) of first module port with RXD (bottom) to the last module port during startup. This will completely erase the emulated EEPROM and restore BOS parameters to their default settings.

Note: You can boot up the module in a lower baud rate (115200) by connecting TXD (top) of first module port with RXD (bottom) of second module port during startup. Once you connect to the CLI via one of the module ports, the baud rate for other ports is restored to default settings (921600) so that they’re compatible with other modules. All ports are restored back to normal baud rate once you power cycle and boot up normally.

Module Parameters

Still working on it.

How can we help?