commeownder/main/ble.h

42 lines
1.0 KiB
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 player_id;
uint8_t reset_cmd;
uint8_t cmdr_dmg[MAX_OPPONENTS];
} 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 player_id;
uint8_t reset_cmd;
uint8_t cmdr_dmg[MAX_OPPONENTS];
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 uint8_t g_player_id;
extern volatile int g_reset_requested;
extern int g_reset_cmd_ticks;
void ble_init(void);
void ble_adv_update(void);
void player_id_resolve(void);