MAX_CARLINK_A270S/MXC_A27-PCB4.5-270S/app/carlink/common/carlink_common.h

94 lines
2.0 KiB
C
Raw Normal View History

2025-01-21 16:49:37 +08:00
#ifndef __CARLINK_COMMON_H
#define __CARLINK_COMMON_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdbool.h>
typedef enum
{
CARLINK_CARPLAY = 0x00,
CARLINK_CARLIFE,
CARLINK_ANDROID_CARLIFE,
CARLINK_ANDROID_MIRROR = 3,
CARLINK_IOS_CARLIFE,
CARLINK_ANDROID_AUTO = 5,
CARLINK_ECLINK = 0x06,
CARLINK_CARPLAY_WIRELESS,
CARLINK_AUTO_WIRELESS,
CARLINK_ECLINK_WIRELESS,
}CARLink_TYPE;
#define CARLINK_VIDEO_WIDTH 800
#define CARLINK_VIDEO_HEIGHT 380
enum CARLINK_EVENT_TYPE
{
CARLINK_EVENT_NONE = 0,
CARLINK_EVENT_BT_CONNECT,
CARLINK_EVENT_BT_IAP_READY,
CARLINK_EVENT_BT_AA_RFCOMM_READY,
CARLINK_EVENT_BT_DISCONNECT,
CARLINK_EVENT_WIFI_DISCONNECT,
CARLINK_EVENT_WIFI_CONNECT,
CARLINK_EVENT_INIT_DONE,
CARLINK_EVENT_MSG_SESSION_CONNECT,
CARLINK_EVENT_MSG_SESSION_STOP,
CARLINK_EVENT_MSG_DISABLE_BT,
CARLINK_EVENT_KEY_EVENT
};
struct carlink_event
{
enum CARLINK_EVENT_TYPE type;
CARLink_TYPE link_type;
bool disable_filter;
union {
int len;
void* data;
uint8_t para[32];
}u;
};
struct ICalinkEventCallbacks
{
void (*onEvent)(void* ctx, const struct carlink_event *ev);
void (*rfcomm_data_read)(void* ctx, const void* buf, int len);
void* cb_ctx;
};
void carlink_notify_event(struct carlink_event *ev);
void carlink_notify_event_isr(struct carlink_event *ev);
void carlink_register_event_callbacks(const struct ICalinkEventCallbacks *pcb);
void carlink_rfcomm_data_read_hook(void* buf, int len);
int carlink_iap_data_write(unsigned char *data, int len);
int carlink_auto_rfcomm_data_write(unsigned char *data, int len);
int carlink_bt_wifi_init();
int carlink_wlan_tcp_ip_is_ready();
void carlink_bt_open();
void carlink_bt_close();
void carlink_restart_bt_wifi();
const char *carlink_get_bt_mac();
const char *carlink_get_wifi_p2p_name();
const char *carlink_get_wifi_ssid();
const char *carlink_get_wifi_passwd();
const char *carlink_get_wifi_mac();
void carlink_get_ap_ip_addr(char ip[4]);
int carlink_common_init();
#ifdef __cplusplus
}
#endif
#endif