Loading...
Searching...
No Matches
furi_hal_usb_cdc.h
1#pragma once
2
3#include <stdint.h>
4#include "usb_cdc.h"
5
6#define CDC_DATA_SZ 64
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12typedef enum {
13 CdcStateDisconnected,
14 CdcStateConnected,
15} CdcState;
16
17typedef enum {
18 CdcCtrlLineDTR = (1 << 0),
19 CdcCtrlLineRTS = (1 << 1),
20} CdcCtrlLine;
21
22typedef struct {
23 void (*tx_ep_callback)(void* context);
24 void (*rx_ep_callback)(void* context);
25 void (*state_callback)(void* context, CdcState state);
26 void (*ctrl_line_callback)(void* context, CdcCtrlLine ctrl_lines);
27 void (*config_callback)(void* context, struct usb_cdc_line_coding* config);
29
30void furi_hal_cdc_set_callbacks(uint8_t if_num, CdcCallbacks* cb, void* context);
31
32struct usb_cdc_line_coding* furi_hal_cdc_get_port_settings(uint8_t if_num);
33
34uint8_t furi_hal_cdc_get_ctrl_line_state(uint8_t if_num);
35
36void furi_hal_cdc_send(uint8_t if_num, uint8_t* buf, uint16_t len);
37
38int32_t furi_hal_cdc_receive(uint8_t if_num, uint8_t* buf, uint16_t max_len);
39
40#ifdef __cplusplus
41}
42#endif
Definition furi_hal_usb_cdc.h:22