Files
TAIXIN/sdk/app/walkie-talkie/walkie_talkie.h

107 lines
2.6 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef _PHOTO_TRAN_PROTOCOL_
#define _PHOTO_TRAN_PROTOCOL_
#include "osal/string.h"
typedef struct
{
uint32_t type; //0:连接请求 1:开始图传 2:cfg
uint16_t w;
uint16_t h;
uint32_t packet_len; //分包长度
uint32_t ip_grp; //IP比例,如25则表示1个I帧24个P帧
uint32_t frame_rate; //帧率
uint32_t dev_magic; //设备特征码
}connect_cfg_head;
typedef struct
{
uint8_t framenum; //0~255,每帧+1
uint8_t cnt; //当前包需要分多少数据包
uint8_t pack; //当前包num
uint8_t frmtype; //当前是I帧还是P帧
}data_head;
typedef struct
{
uint8_t framenum; //当前帧num
uint8_t type; //0:当前帧接收完整 1:请求屏/app发送状态msg 2:当前帧数据缺失
}status_msg;
typedef struct
{
uint32_t time; //发送完成的时间
uint32_t dev_magic; //设备特征码
uint8_t framenum; //当前帧num
uint8_t status; //0:wait client status 1:sending status to client 2:get client status 3:frame lost
uint8_t timeout; //超时多久后发送状态请求
uint8_t lost_num; //当前获取状态后,丢包情况
uint8_t lost_packet[100]; //如果有丢包,分别是哪些包
}frame_msg;
typedef struct
{
uint8_t *addr;
uint32_t len;
uint32_t timeinf;
uint16_t num;
uint16_t type;
uint16_t devid;
uint16_t framerate;
uint16_t w;
uint16_t h;
}decode_msg;
typedef struct
{
uint32_t ipaddr;
uint32_t tcpfd;
uint32_t udp_status_fd;
uint32_t udp_data_fd;
uint32_t udp_status_task;
void* udp_read_status_ev;
uint32_t udp_data_task;
uint32_t dev_id;
uint32_t frame_rate;
uint8_t *psram_photo;
uint16_t w;
uint16_t h;
}dev_map;
typedef struct
{
int32_t tx_data;
int32_t rx_data;
uint8_t speed;
uint8_t frame_tx_lost;
uint8_t frame_tx_success;
uint8_t frame_rx_lost;
uint8_t frame_rx_success;
uint8_t mcs;
uint8_t frmtype;
uint8_t have_init;
uint8_t run_state;
uint8_t run_task;
struct os_mutex run_state_mutex;
}walkie_msg;
#ifdef SYS_APP_WALKIE_TALKIE
extern walkie_msg walkmsg;
extern uint8_t apsta_mode;
void user_protocol_task_decrease(void);
void user_protocol_task_increase(void);
void user_protocol2(uint16_t status_port,uint16_t data_port);
void user_protocol2_deinit(void);
void user_protocol3(uint16_t status_port,uint16_t data_port);
void user_protocol3_deinit(void);
void user_protocol_deinit(void);
void user_protocol_reinit(void);
#endif
#define OPEN_DBG 0
#define MODEFORDEV 0 //0:AP 1:STA
#define NET_W 320
#define NET_H 240
#endif