gap.h 771 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma once
  2. #include <stdint.h>
  3. #include <stdbool.h>
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. typedef enum {
  8. BleEventTypeConnected,
  9. BleEventTypeDisconnected,
  10. BleEventTypeStartAdvertising,
  11. BleEventTypeStopAdvertising,
  12. BleEventTypePinCodeShow,
  13. } BleEventType;
  14. typedef union {
  15. uint32_t pin_code;
  16. } BleEventData;
  17. typedef struct {
  18. BleEventType type;
  19. BleEventData data;
  20. } BleEvent;
  21. typedef void(*BleEventCallback) (BleEvent event, void* context);
  22. typedef enum {
  23. GapStateIdle,
  24. GapStateAdvFast,
  25. GapStateAdvLowPower,
  26. GapStateConnected,
  27. } GapState;
  28. bool gap_init(BleEventCallback on_event_cb, void* context);
  29. void gap_start_advertising();
  30. void gap_stop_advertising();
  31. GapState gap_get_state();
  32. #ifdef __cplusplus
  33. }
  34. #endif