This is a specialized container class to hold BLE attribute values. - Removes the use of std::string previously used to store the values. - Allows for setting/getting/notifying values from std::string, std::vector<uint8_t>, Arduino String, const char*, and uint8_t buffers. - Has operators retrieve the value as std::string, Arduino String, std::vector<uint8_t>, uint8_t* or char pointers. - Includes iterators and subscript/random access operator. - Introduces a max length parameter to the creation of server characteristics/descriptors to limit the size of the memory footprint. - Nearly Seamless integration with existing code. - Adds a config option to enable/disable timestamp storage when the value is updated. - Adds a config option to specify the initial size of the value container if not specified in the constructor.
3.9 KiB
Arduino command line and platformio config options
CONFIG_BT_NIMBLE_MAX_CONNECTIONS
Sets the number of simultaneous connections (esp controller max is 9)
- Default value is 3
CONFIG_NIMBLE_CPP_ATT_VALUE_TIMESTAMP_ENABLED
Enable/disable storing the timestamp when an attribute value is updated
This allows for checking the last update time using getTimeStamp() or getValue(time_t*)
If disabled, the timestamp returned from these functions will be 0.
Disabling timestamps will reduce the memory used for each value.
1 = Enabled, 0 = Disabled; Default = Disabled
CONFIG_NIMBLE_CPP_ATT_VALUE_INIT_LENGTH
Set the default allocation size (bytes) for each attribute.
If not specified when the constructor is called. This is also the size used when a remote
characteristic or descriptor is constructed before a value is read/notifed.
Increasing this will reduce reallocations but increase memory footprint.
Default value is 20. Range: 1 : 512 (BLE_ATT_ATTR_MAX_LEN)
CONFIG_BT_NIMBLE_ATT_PREFERRED_MTU
Sets the default MTU size.
- Default value is 255
CONFIG_BT_NIMBLE_SVC_GAP_DEVICE_NAME
Set the default device name
- Default value is "nimble"
CONFIG_BT_NIMBLE_DEBUG
If defined, enables debug log messages from the NimBLE host
- Uses approx. 32kB of flash memory.
CONFIG_NIMBLE_CPP_LOG_LEVEL
Define to set the debug log message level from the NimBLE CPP Wrapper.
If not defined it will use the same value as the Arduino core debug level.
Values: 0 = NONE, 1 = ERROR, 2 = WARNING, 3 = INFO, 4+ = DEBUG
CONFIG_NIMBLE_CPP_ENABLE_RETURN_CODE_TEXT
If defined, NimBLE host return codes will be printed as text in debug log messages.
- Uses approx. 7kB of flash memory.
CONFIG_NIMBLE_CPP_ENABLE_GAP_EVENT_CODE_TEXT
If defined, GAP event codes will be printed as text in debug log messages.
- Uses approx. 1kB of flash memory.
CONFIG_NIMBLE_CPP_ENABLE_ADVERTISMENT_TYPE_TEXT
If defined, advertisment types will be printed as text while scanning in debug log messages.
- Uses approx. 250 bytes of flash memory.
CONFIG_BT_NIMBLE_SVC_GAP_APPEARANCE
Set the default appearance.
- Default value is 0x00
CONFIG_BT_NIMBLE_ROLE_CENTRAL_DISABLED
If defined, NimBLE Client functions will not be included.
- Reduces flash size by approx. 7kB.
CONFIG_BT_NIMBLE_ROLE_OBSERVER_DISABLED
If defined, NimBLE Scan functions will not be included.
- Reduces flash size by approx. 26kB.
CONFIG_BT_NIMBLE_ROLE_PERIPHERAL_DISABLED
If defined NimBLE Server functions will not be included.
- Reduces flash size by approx. 16kB.
CONFIG_BT_NIMBLE_ROLE_BROADCASTER_DISABLED
If defined, NimBLE Advertising functions will not be included.
- Reduces flash size by approx. 5kB.
CONFIG_BT_NIMBLE_MAX_BONDS
Sets the number of devices allowed to store/bond with
- Default value is 3
CONFIG_BT_NIMBLE_MAX_CCCDS
Sets the maximum number of CCCD subscriptions to store
- Default value is 8
CONFIG_BT_NIMBLE_RPA_TIMEOUT
Sets the random address refresh time in seconds.
- Default value is 900
CONFIG_BT_NIMBLE_MSYS1_BLOCK_COUNT
Set the number of msys blocks For prepare write & prepare responses. This may need to be increased if
you are sending large blocks of data with a low MTU. E.g: 512 bytes with 23 MTU will fail.
- Default value is 12
CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_EXTERNAL
Sets the NimBLE stack to use external PSRAM will be loaded
- Must be defined with a value of 1; Default is CONFIG_BT_NIMBLE_MEM_ALLOC_MODE_INTERNAL 1
CONFIG_BT_NIMBLE_PINNED_TO_CORE
Sets the core the NimBLE host stack will run on
- Options: 0 or 1
CONFIG_BT_NIMBLE_TASK_STACK_SIZE
Set the task stack size for the NimBLE core.
- Default is 4096