120 lines
2.8 KiB
C
120 lines
2.8 KiB
C
#ifndef __DOORBELL_COMM_H__
|
|
#define __DOORBELL_COMM_H__
|
|
|
|
#define UDP_SDP_LOCAL_PORT (10000)
|
|
#define UDP_SDP_REMOTE_PORT (52110)
|
|
|
|
#define BK_GENIE_CMD_PORT (7100)
|
|
|
|
#define BK_GENIE_UDP_IMG_PORT (7180)
|
|
#define BK_GENIE_UDP_AUD_PORT (7170)
|
|
|
|
#define BK_GENIE_TCP_IMG_PORT (7150)
|
|
#define BK_GENIE_TCP_AUD_PORT (7140)
|
|
|
|
#define BK_GENIE_UDP_NETWORK_MAX_SIZE (1472)
|
|
|
|
#define BK_GENIE_NETWORK_MAX_SIZE (1024)
|
|
|
|
#define TRANSMISSION_BIG_ENDIAN (BK_FALSE)
|
|
|
|
|
|
#if TRANSMISSION_BIG_ENDIAN == BK_TRUE
|
|
#define CHECK_ENDIAN_UINT32(var) htonl(var)
|
|
#define CHECK_ENDIAN_UINT16(var) htons(var)
|
|
|
|
#define STREAM_TO_UINT16(u16, p) {u16 = (((uint16_t)(*((p) + 1))) + (((uint16_t)(*((p)))) << 8)); (p) += 2;}
|
|
#define STREAM_TO_UINT32(u32, p) {u32 = ((((uint32_t)(*((p) + 3)))) + ((((uint32_t)(*((p) + 2)))) << 8) + ((((uint32_t)(*((p) + 1)))) << 16) + ((((uint32_t)(*((p))))) << 24)); (p) += 4;}
|
|
|
|
|
|
#else
|
|
#define CHECK_ENDIAN_UINT32
|
|
#define CHECK_ENDIAN_UINT16
|
|
|
|
#define STREAM_TO_UINT16(u16, p) {u16 = ((uint16_t)(*(p)) + (((uint16_t)(*((p) + 1))) << 8)); (p) += 2;}
|
|
#define STREAM_TO_UINT32(u32, p) {u32 = (((uint32_t)(*(p))) + ((((uint32_t)(*((p) + 1)))) << 8) + ((((uint32_t)(*((p) + 2)))) << 16) + ((((uint32_t)(*((p) + 3)))) << 24)); (p) += 4;}
|
|
|
|
|
|
#endif
|
|
|
|
#define STREAM_TO_UINT8(u8, p) {u8 = (uint8_t)(*(p)); (p) += 1;}
|
|
|
|
|
|
typedef enum
|
|
{
|
|
DBEVT_WIFI_STATION_CONNECT,
|
|
DBEVT_WIFI_STATION_CONNECTED,
|
|
DBEVT_WIFI_STATION_DISCONNECTED,
|
|
|
|
DBEVT_P2P_CS2_SERVICE_START_REQUEST,
|
|
DBEVT_P2P_CS2_SERVICE_START_RESPONSE,
|
|
|
|
DBEVT_LAN_UDP_SERVICE_START_REQUEST,
|
|
DBEVT_LAN_UDP_SERVICE_START_RESPONSE,
|
|
|
|
DBEVT_LAN_TCP_SERVICE_START_REQUEST,
|
|
DBEVT_LAN_TCP_SERVICE_START_RESPONSE,
|
|
|
|
|
|
DBEVT_WIFI_SOFT_AP_TURNING_ON,
|
|
|
|
DBEVT_REMOTE_DEVICE_CONNECTED,
|
|
DBEVT_REMOTE_DEVICE_DISCONNECTED,
|
|
|
|
DBEVT_START_WIFI_STATION,
|
|
DBEVT_START_AGORA_AGENT_START,
|
|
DBEVT_START_AGORA_AGENT_RSP,
|
|
DBEVT_START_AGORA_AGENT_ON_DEV,
|
|
DBEVT_START_TCP_SERVICE,
|
|
DBEVT_START_BOARDING_EVENT,
|
|
DBEVT_BLE_DISABLE,
|
|
DBEVT_SDP,
|
|
DBEVT_EXIT,
|
|
|
|
DBEVT_IMAGE_TCP_SERVICE_DISCONNECTED,
|
|
DBEVT_NET_PAN_REQUEST,
|
|
} dbevt_t;
|
|
|
|
typedef enum
|
|
{
|
|
DOORBELL_SERVICE_NONE = 0,
|
|
DOORBELL_SERVICE_P2P_CS2 = 1,
|
|
DOORBELL_SERVICE_LAN_UDP = 2,
|
|
DOORBELL_SERVICE_LAN_TCP = 3
|
|
} bk_genie_service_t;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
uint32_t event;
|
|
uint32_t param;
|
|
} bk_genie_msg_t;
|
|
|
|
typedef enum
|
|
{
|
|
DB_TURN_OFF,
|
|
DB_TURN_ON,
|
|
} bk_genie_state_t;
|
|
|
|
|
|
|
|
|
|
bk_err_t bk_genie_send_msg(bk_genie_msg_t *msg);
|
|
|
|
void bk_genie_core_init(void);
|
|
|
|
|
|
typedef struct
|
|
{
|
|
int (*init)(void *param);
|
|
void (*deinit)(void);
|
|
int (*camera_state_changed)(bk_genie_state_t state);
|
|
int (*audio_state_changed)(bk_genie_state_t state);
|
|
const void *camera_transfer_cb;
|
|
const void *audio_transfer_cb;
|
|
} bk_genie_service_interface_t;
|
|
|
|
|
|
|
|
#endif
|