#pragma once #include #include #ifdef __cplusplus extern "C" { #endif typedef enum { BleEventTypeConnected, BleEventTypeDisconnected, BleEventTypeStartAdvertising, BleEventTypeStopAdvertising, BleEventTypePinCodeShow, } BleEventType; typedef union { uint32_t pin_code; } BleEventData; typedef struct { BleEventType type; BleEventData data; } BleEvent; typedef void(*BleEventCallback) (BleEvent event, void* context); typedef enum { GapStateIdle, GapStateAdvFast, GapStateAdvLowPower, GapStateConnected, } GapState; bool gap_init(BleEventCallback on_event_cb, void* context); void gap_start_advertising(); void gap_stop_advertising(); GapState gap_get_state(); #ifdef __cplusplus } #endif