36 lines
840 B
C
36 lines
840 B
C
#pragma once
|
|
#include <stdint.h>
|
|
#include "config.h"
|
|
#include "host/ble_hs.h"
|
|
|
|
typedef struct __attribute__((packed)) {
|
|
uint8_t magic[2];
|
|
uint8_t game_id[2];
|
|
char name[PLAYER_NAME_LEN];
|
|
int16_t life;
|
|
uint8_t poison;
|
|
uint8_t eliminated;
|
|
uint8_t reset_cmd;
|
|
} ble_payload_t;
|
|
|
|
typedef struct {
|
|
ble_addr_t addr;
|
|
char name[PLAYER_NAME_LEN + 1];
|
|
int16_t life;
|
|
uint8_t poison;
|
|
uint8_t eliminated;
|
|
uint8_t reset_cmd;
|
|
uint32_t last_seen;
|
|
int active;
|
|
} ble_peer_t;
|
|
|
|
extern volatile int g_ble_scanning;
|
|
extern volatile int g_ble_initialized;
|
|
extern uint8_t g_own_addr_type;
|
|
extern uint8_t g_own_addr[6];
|
|
extern volatile int g_reset_requested;
|
|
extern int g_reset_cmd_ticks;
|
|
|
|
void ble_init(void);
|
|
void ble_adv_update(void);
|