diff --git a/bindings/javascript/cbindings.js b/bindings/javascript/cbindings.js index 25fd8f65..5ff393a8 100644 --- a/bindings/javascript/cbindings.js +++ b/bindings/javascript/cbindings.js @@ -1575,6 +1575,12 @@ var Lib = ffi.Library(LIBMETAWEAR_PATH, { */ 'mbl_mw_settings_set_whitelist_filter_mode': [ref.types.void, [ref.refType(MetaWearBoard), WhitelistFilter]], +/** + * Retrieves the firmware build id, used for identifying custom firmware build variants + * @param board Calling object + */ + 'mbl_mw_settings_get_firmware_build_id': [ref.types.uint8, [ref.refType(MetaWearBoard)]], + /** * Sets the advertisement name * @param board Board to modify diff --git a/bindings/python/mbientlab/metawear/cbindings.py b/bindings/python/mbientlab/metawear/cbindings.py index 3ece2973..ea5b8fc2 100644 --- a/bindings/python/mbientlab/metawear/cbindings.py +++ b/bindings/python/mbientlab/metawear/cbindings.py @@ -1375,6 +1375,9 @@ def init_libmetawear(libmetawear): libmetawear.mbl_mw_settings_set_whitelist_filter_mode.restype = None libmetawear.mbl_mw_settings_set_whitelist_filter_mode.argtypes = [c_void_p, c_int] + libmetawear.mbl_mw_settings_get_firmware_build_id.restype = c_ubyte + libmetawear.mbl_mw_settings_get_firmware_build_id.argtypes = [c_void_p] + libmetawear.mbl_mw_settings_set_device_name.restype = None libmetawear.mbl_mw_settings_set_device_name.argtypes = [c_void_p, POINTER(c_ubyte), c_ubyte] diff --git a/project_version.mk b/project_version.mk index de9553cd..8aca7534 100644 --- a/project_version.mk +++ b/project_version.mk @@ -1,4 +1,4 @@ -VERSION=0.19.0 +VERSION=0.19.1 VERSION_MAJOR=0 VERSION_MINOR=19 -VERSION_STEP=0 +VERSION_STEP=1 diff --git a/src/metawear/core/cpp/settings.cpp b/src/metawear/core/cpp/settings.cpp index 094ec555..a74ad241 100644 --- a/src/metawear/core/cpp/settings.cpp +++ b/src/metawear/core/cpp/settings.cpp @@ -265,3 +265,11 @@ void create_settings_uri(const MblMwDataSignal* signal, stringstream& uri) { break; } } + +uint8_t mbl_mw_settings_get_firmware_build_id(const MblMwMetaWearBoard *board) { + auto info = &board->module_info.at(MBL_MW_MODULE_SETTINGS); + if (info->extra.size() > 1) { + return info->extra[1]; + } + return 0; +} diff --git a/src/metawear/core/settings.h b/src/metawear/core/settings.h index b36ea117..51379301 100644 --- a/src/metawear/core/settings.h +++ b/src/metawear/core/settings.h @@ -158,6 +158,11 @@ METAWEAR_API MblMwDataSignal* mbl_mw_settings_get_whitelist_data_signal(MblMwMet * @param mode Whitelist filter mode */ METAWEAR_API void mbl_mw_settings_set_whitelist_filter_mode(const MblMwMetaWearBoard *board, MblMwWhitelistFilter mode); +/** + * Retrieves the firmware build id, used for identifying custom firmware build variants + * @param board Calling object + */ +METAWEAR_API uint8_t mbl_mw_settings_get_firmware_build_id(const MblMwMetaWearBoard *board); /** * Reads the current power status if available. The callback function will be called with: diff --git a/src/metawear/sensor/cpp/utils.cpp b/src/metawear/sensor/cpp/utils.cpp index 30bc0db8..d3dbfaa5 100644 --- a/src/metawear/sensor/cpp/utils.cpp +++ b/src/metawear/sensor/cpp/utils.cpp @@ -22,7 +22,7 @@ char* copy_string_index(const char* src, std::uint8_t i) { } char* copy_string(const char* src) { - char* buffer = (char*)std::malloc(strlen(src)+1); + char* buffer = (char*)std::malloc(strlen(src) + 1); strcpy(buffer, src); return buffer; }