pure sdk for main

This commit is contained in:
divadiow
2025-08-27 09:51:58 +01:00
parent f0d033f1c9
commit 0571416e7c
3283 changed files with 1577720 additions and 1 deletions
+70
View File
@@ -0,0 +1,70 @@
#ifndef __CLASS_UVC_H__
#define __CLASS_UVC_H__
#ifdef __cplusplus
extern "C" {
#endif
#include <rtthread.h>
extern struct VIDEO_COMMIT commit;
extern UVC_SLEST uvc_select;
extern UVC_PROCESS uvc_proc;
extern UVC_PROCESS_INFO uvc_proc_info;
extern UVC_DES uvc_des;
extern UAC_DES uac_des;
extern volatile UVCDEV uvc;
extern UACDEV uac;
extern MICDEV usb_mic;
extern SPKDEV usb_spk;
extern EP_DES videostream;
extern int usbspk_open;
extern void select_uvc_intfs(UVC_DES *ud,UVCDEV *uvc);
extern void split_uac_intfs(UAC_DES *ud,UACDEV *uac);
extern void printf_uvc_vsdesc(UVC_DES *ud);
extern void uvc_ep_init(struct hgusb20_dev *p_dev);
extern void get_uvc_process_support(UVC_DES *ud, UVC_PROCESS *uvc_p);
extern void set_uvc_process_ctlval(UVC_PROCESS_INFO *uvc_p_info);
extern void get_uvc_process_info(struct hgusb20_dev *p_dev, UVC_PROCESS *uvc_p, UVC_PROCESS_INFO *uvc_p_info);
extern void analysis_uvc_desc(uint8 *desc,uint32 desclen);
extern bool usb_host_set_configuration(struct hgusb20_dev *p_dev, uint8 cfg_value);
extern int uvc_default_dpi();
extern void usb_host_enum_finish_init(uint32_t uvc_format);
extern bool enum_set_resolution(struct hgusb20_dev *p_dev,uint8 resolution);
extern rt_uint8_t drv_get_specific_pipe(rt_uint8_t index, rt_uint8_t in_or_out);
extern void drv_free_specific_pipe(rt_uint8_t index, rt_uint8_t in_or_out);
void select_mic_intfs(UACDEV *uac, MICDEV *mic);
void select_spk_intfs(UACDEV *uac, SPKDEV *spk);
void usbmic_stream_enable(struct hgusb20_dev *p_dev, MICDEV *mic, uint8 enable);
void usbspk_stream_enable(struct hgusb20_dev *p_dev, SPKDEV *spk, uint8 enable);
void get_uac_vol(struct hgusb20_dev *p_dev, UACDEV *uac, uint8 audio_dev);
int set_uac_mute(struct hgusb20_dev *p_dev, UACDEV *uac, uint8 audio_dev, uint8 enable);
int set_uac_volume(struct hgusb20_dev *p_dev, UACDEV *uac, uint8 audio_dev, int16 volume);
void usbmic_ep_init(struct hgusb20_dev *p_dev, MICDEV *mic);
void usbspk_ep_init(struct hgusb20_dev *p_dev, SPKDEV *spk);
void usbmic_audio_init(void);
void usbspk_audio_init(void);
void usbtx_sema_init();
void usbspk_tx_thread(void *dev);
struct usb_uvc {
struct dev_obj dev;
void *device;
struct rt_thread recv_task;
rt_uint8_t *at_cmd_buff;
rt_uint32_t state;
upipe_t pipe_uvc_in;
upipe_t pipe_uac_in;
upipe_t pipe_cdc_in;
upipe_t pipe_cdc_out;
rt_uint8_t retry;
};
#ifdef __cplusplus
}
#endif
#endif