.. highlight:: cpp Events ====== An event is an asynchronous notification from the MetaWear board represented in the C++ API by the `MblMwEvent `_ struct. Recording Commands ------------------ The board can be programmed to execute MetaWear commands in response to an event firing. To start recording commands, call `mbl_mw_event_record_commands `_. While in a recording state, all MetaWear functions called will instead be recorded on the board and executed when the event is fired. To stop recording, call `mbl_mw_event_end_record `_. This function is asynchronous and will alert the caller when it is completed via a callback function. :: #include "metawear/core/event.h" #include "metawear/core/settings.h" void setup_dc_event(MblMwMetaWearBoard* board) { static auto commands_recorded = [](void) -> void { cout << "Commands Recorded" << endl; }; MblMwLedPattern pattern; mbl_mw_led_load_preset_pattern(&pattern, MBL_MW_LED_PRESET_BLINK); pattern.repeat_count = 10; // Setup disconnect event to blink the blue led 10x when fired MblMwEvent* dc_event = mbl_mw_settings_get_disconnect_event(board); mbl_mw_event_record_commands(dc_event); mbl_mw_led_write_pattern(board, &pattern, MBL_MW_LED_COLOR_BLUE); mbl_mw_led_play(board); mbl_mw_event_end_record(dc_event, commands_recorded); }