1
mirror of https://github.com/DarkFlippers/unleashed-firmware.git synced 2025-12-13 05:06:30 +04:00

usb: restored previous api

This commit is contained in:
hedger
2025-02-22 20:40:52 +00:00
parent 6c17b785ec
commit 15a5e652e0
16 changed files with 39 additions and 42 deletions

View File

@@ -117,7 +117,7 @@ int32_t ccid_test_app(void* p) {
//setup view
CcidTestApp* app = ccid_test_app_alloc();
const FuriHalUsbInterface* usb_mode_prev = furi_hal_usb_get_config();
FuriHalUsbInterface* usb_mode_prev = furi_hal_usb_get_config();
furi_hal_usb_unlock();
furi_check(furi_hal_usb_set_config(&usb_ccid, &app->ccid_cfg) == true);

View File

@@ -42,7 +42,7 @@ int32_t usb_mouse_app(void* p) {
FuriMessageQueue* event_queue = furi_message_queue_alloc(8, sizeof(UsbMouseEvent));
ViewPort* view_port = view_port_alloc();
const FuriHalUsbInterface* usb_mode_prev = furi_hal_usb_get_config();
FuriHalUsbInterface* usb_mode_prev = furi_hal_usb_get_config();
furi_hal_usb_unlock();
furi_check(furi_hal_usb_set_config(&usb_hid, NULL) == true);

View File

@@ -44,7 +44,7 @@ struct BadUsbApp {
BadUsbScript* bad_usb_script;
BadUsbHidInterface interface;
const FuriHalUsbInterface* usb_if_prev;
FuriHalUsbInterface* usb_if_prev;
};
typedef enum {

View File

@@ -189,7 +189,7 @@ static int32_t u2f_hid_worker(void* context) {
FURI_LOG_D(WORKER_TAG, "Init");
const FuriHalUsbInterface* usb_mode_prev = furi_hal_usb_get_config();
FuriHalUsbInterface* usb_mode_prev = furi_hal_usb_get_config();
furi_check(furi_hal_usb_set_config(&usb_hid_u2f, NULL) == true);
u2f_hid->lock_timer =

View File

@@ -40,7 +40,7 @@ typedef struct {
volatile bool connected;
volatile bool running;
const FuriHalUsbInterface* usb_if_prev;
FuriHalUsbInterface* usb_if_prev;
uint8_t data_buffer[USB_CDC_PKT_LEN];
} CliVcp;

View File

@@ -174,7 +174,7 @@ int32_t hid_usb_app(void* p) {
FURI_LOG_D("HID", "Starting as USB app");
const FuriHalUsbInterface* usb_mode_prev = furi_hal_usb_get_config();
FuriHalUsbInterface* usb_mode_prev = furi_hal_usb_get_config();
furi_hal_usb_unlock();
furi_check(furi_hal_usb_set_config(&usb_hid, NULL) == true);

View File

@@ -7,7 +7,7 @@
typedef struct {
FuriHalUsbHidConfig* hid_cfg;
uint16_t layout[128];
const FuriHalUsbInterface* usb_if_prev;
FuriHalUsbInterface* usb_if_prev;
uint8_t key_hold_cnt;
} JsBadusbInst;

View File

@@ -1489,13 +1489,13 @@ Function,+,furi_hal_usb_ccid_remove_smartcard,void,
Function,+,furi_hal_usb_ccid_set_callbacks,void,"CcidCallbacks*, void*"
Function,+,furi_hal_usb_disable,void,
Function,+,furi_hal_usb_enable,void,
Function,+,furi_hal_usb_get_config,const FuriHalUsbInterface*,
Function,+,furi_hal_usb_get_config,FuriHalUsbInterface*,
Function,-,furi_hal_usb_init,void,
Function,+,furi_hal_usb_is_locked,_Bool,
Function,+,furi_hal_usb_lock,void,
Function,+,furi_hal_usb_reinit,void,
Function,+,furi_hal_usb_set_config,_Bool,"const FuriHalUsbInterface*, void*"
Function,-,furi_hal_usb_set_state_callback,void,"FuriHalUsbStateCallback, void*"
Function,+,furi_hal_usb_set_config,_Bool,"FuriHalUsbInterface*, void*"
Function,+,furi_hal_usb_set_state_callback,void,"FuriHalUsbStateCallback, void*"
Function,+,furi_hal_usb_unlock,void,
Function,+,furi_hal_version_do_i_belong_here,_Bool,
Function,+,furi_hal_version_get_ble_local_device_name_ptr,const char*,
@@ -3208,5 +3208,5 @@ Variable,+,usb_ccid,FuriHalUsbInterface,
Variable,+,usb_cdc_dual,FuriHalUsbInterface,
Variable,+,usb_cdc_single,FuriHalUsbInterface,
Variable,+,usb_hid,FuriHalUsbInterface,
Variable,+,usb_hid_u2f,const FuriHalUsbInterface,
Variable,+,usb_hid_u2f,FuriHalUsbInterface,
Variable,+,usbd_devfs,const usbd_driver,
1 entry status name type params
1489 Function + furi_hal_usb_ccid_set_callbacks void CcidCallbacks*, void*
1490 Function + furi_hal_usb_disable void
1491 Function + furi_hal_usb_enable void
1492 Function + furi_hal_usb_get_config const FuriHalUsbInterface* FuriHalUsbInterface*
1493 Function - furi_hal_usb_init void
1494 Function + furi_hal_usb_is_locked _Bool
1495 Function + furi_hal_usb_lock void
1496 Function + furi_hal_usb_reinit void
1497 Function + furi_hal_usb_set_config _Bool const FuriHalUsbInterface*, void* FuriHalUsbInterface*, void*
1498 Function - + furi_hal_usb_set_state_callback void FuriHalUsbStateCallback, void*
1499 Function + furi_hal_usb_unlock void
1500 Function + furi_hal_version_do_i_belong_here _Bool
1501 Function + furi_hal_version_get_ble_local_device_name_ptr const char*
3208 Variable + usb_cdc_dual FuriHalUsbInterface
3209 Variable + usb_cdc_single FuriHalUsbInterface
3210 Variable + usb_hid FuriHalUsbInterface
3211 Variable + usb_hid_u2f const FuriHalUsbInterface FuriHalUsbInterface
3212 Variable + usbd_devfs const usbd_driver

View File

@@ -1709,13 +1709,13 @@ Function,+,furi_hal_usb_ccid_remove_smartcard,void,
Function,+,furi_hal_usb_ccid_set_callbacks,void,"CcidCallbacks*, void*"
Function,+,furi_hal_usb_disable,void,
Function,+,furi_hal_usb_enable,void,
Function,+,furi_hal_usb_get_config,const FuriHalUsbInterface*,
Function,+,furi_hal_usb_get_config,FuriHalUsbInterface*,
Function,-,furi_hal_usb_init,void,
Function,+,furi_hal_usb_is_locked,_Bool,
Function,+,furi_hal_usb_lock,void,
Function,+,furi_hal_usb_reinit,void,
Function,+,furi_hal_usb_set_config,_Bool,"const FuriHalUsbInterface*, void*"
Function,-,furi_hal_usb_set_state_callback,void,"FuriHalUsbStateCallback, void*"
Function,+,furi_hal_usb_set_config,_Bool,"FuriHalUsbInterface*, void*"
Function,+,furi_hal_usb_set_state_callback,void,"FuriHalUsbStateCallback, void*"
Function,+,furi_hal_usb_unlock,void,
Function,+,furi_hal_version_do_i_belong_here,_Bool,
Function,+,furi_hal_version_get_ble_local_device_name_ptr,const char*,
@@ -3793,8 +3793,6 @@ Variable,+,firmware_api_interface,const ElfApiInterface* const,
Variable,+,furi_hal_i2c_bus_external,FuriHalI2cBus,
Variable,+,furi_hal_i2c_bus_power,FuriHalI2cBus,
Variable,+,furi_hal_i2c_handle_external,const FuriHalI2cBusHandle,
Variable,+,furi_hal_i2c_handle_external,const FuriHalI2cBusHandle,
Variable,+,furi_hal_i2c_handle_power,const FuriHalI2cBusHandle,
Variable,+,furi_hal_i2c_handle_power,const FuriHalI2cBusHandle,
Variable,+,furi_hal_spi_bus_d,FuriHalSpiBus,
Variable,+,furi_hal_spi_bus_handle_display,const FuriHalSpiBusHandle,
@@ -4081,5 +4079,5 @@ Variable,+,usb_ccid,FuriHalUsbInterface,
Variable,+,usb_cdc_dual,FuriHalUsbInterface,
Variable,+,usb_cdc_single,FuriHalUsbInterface,
Variable,+,usb_hid,FuriHalUsbInterface,
Variable,+,usb_hid_u2f,const FuriHalUsbInterface,
Variable,+,usb_hid_u2f,FuriHalUsbInterface,
Variable,+,usbd_devfs,const usbd_driver,
1 entry status name type params
1709 Function + furi_hal_usb_ccid_set_callbacks void CcidCallbacks*, void*
1710 Function + furi_hal_usb_disable void
1711 Function + furi_hal_usb_enable void
1712 Function + furi_hal_usb_get_config const FuriHalUsbInterface* FuriHalUsbInterface*
1713 Function - furi_hal_usb_init void
1714 Function + furi_hal_usb_is_locked _Bool
1715 Function + furi_hal_usb_lock void
1716 Function + furi_hal_usb_reinit void
1717 Function + furi_hal_usb_set_config _Bool const FuriHalUsbInterface*, void* FuriHalUsbInterface*, void*
1718 Function - + furi_hal_usb_set_state_callback void FuriHalUsbStateCallback, void*
1719 Function + furi_hal_usb_unlock void
1720 Function + furi_hal_version_do_i_belong_here _Bool
1721 Function + furi_hal_version_get_ble_local_device_name_ptr const char*
3793 Variable + furi_hal_i2c_bus_external FuriHalI2cBus
3794 Variable + furi_hal_i2c_bus_power FuriHalI2cBus
3795 Variable + furi_hal_i2c_handle_external const FuriHalI2cBusHandle
Variable + furi_hal_i2c_handle_external const FuriHalI2cBusHandle
Variable + furi_hal_i2c_handle_power const FuriHalI2cBusHandle
3796 Variable + furi_hal_i2c_handle_power const FuriHalI2cBusHandle
3797 Variable + furi_hal_spi_bus_d FuriHalSpiBus
3798 Variable + furi_hal_spi_bus_handle_display const FuriHalSpiBusHandle
4079 Variable + usb_cdc_dual FuriHalUsbInterface
4080 Variable + usb_cdc_single FuriHalUsbInterface
4081 Variable + usb_hid FuriHalUsbInterface
4082 Variable + usb_hid_u2f const FuriHalUsbInterface FuriHalUsbInterface
4083 Variable + usbd_devfs const usbd_driver

View File

@@ -32,7 +32,7 @@ typedef struct {
} UsbApiEventDataStateCallback;
typedef struct {
const FuriHalUsbInterface* interface;
FuriHalUsbInterface* interface;
void* context;
} UsbApiEventDataInterface;
@@ -43,7 +43,7 @@ typedef union {
typedef union {
bool bool_value;
const void* void_value;
void* void_value;
} UsbApiEventReturnData;
typedef struct {
@@ -60,7 +60,7 @@ typedef struct {
bool connected;
bool mode_lock;
bool request_pending;
const FuriHalUsbInterface* interface;
FuriHalUsbInterface* interface;
void* interface_context;
FuriHalUsbStateCallback callback;
void* callback_context;
@@ -132,7 +132,7 @@ static void furi_hal_usb_send_message(UsbApiEventMessage* message) {
api_lock_wait_unlock_and_free(message->lock);
}
bool furi_hal_usb_set_config(const FuriHalUsbInterface* new_if, void* ctx) {
bool furi_hal_usb_set_config(FuriHalUsbInterface* new_if, void* ctx) {
UsbApiEventReturnData return_data = {
.bool_value = false,
};
@@ -152,7 +152,7 @@ bool furi_hal_usb_set_config(const FuriHalUsbInterface* new_if, void* ctx) {
return return_data.bool_value;
}
const FuriHalUsbInterface* furi_hal_usb_get_config(void) {
FuriHalUsbInterface* furi_hal_usb_get_config(void) {
UsbApiEventReturnData return_data = {
.void_value = NULL,
};
@@ -326,7 +326,7 @@ static void wkup_evt(usbd_device* dev, uint8_t event, uint8_t ep) {
}
}
static void usb_process_mode_start(const FuriHalUsbInterface* interface, void* context) {
static void usb_process_mode_start(FuriHalUsbInterface* interface, void* context) {
if(usb.interface != NULL) {
usb.interface->deinit(&udev);
}
@@ -344,7 +344,7 @@ static void usb_process_mode_start(const FuriHalUsbInterface* interface, void* c
}
}
static void usb_process_mode_change(const FuriHalUsbInterface* interface, void* context) {
static void usb_process_mode_change(FuriHalUsbInterface* interface, void* context) {
if((interface != usb.interface) || (context != usb.interface_context)) {
if(usb.enabled) {
// Disable current interface
@@ -374,7 +374,7 @@ static void usb_process_mode_reinit(void) {
usb_process_mode_start(usb.interface, usb.interface_context);
}
static bool usb_process_set_config(const FuriHalUsbInterface* interface, void* context) {
static bool usb_process_set_config(FuriHalUsbInterface* interface, void* context) {
if(usb.mode_lock) {
return false;
} else {

View File

@@ -170,7 +170,7 @@ static const struct CcidConfigDescriptor ccid_cfg_desc = {
},
};
static void ccid_init(usbd_device* dev, const FuriHalUsbInterface* intf, void* ctx);
static void ccid_init(usbd_device* dev, FuriHalUsbInterface* intf, void* ctx);
static void ccid_deinit(usbd_device* dev);
static void ccid_on_wakeup(usbd_device* dev);
static void ccid_on_suspend(usbd_device* dev);
@@ -223,7 +223,7 @@ static void* ccid_set_string_descr(char* str) {
return dev_str_desc;
}
static void ccid_init(usbd_device* dev, const FuriHalUsbInterface* intf, void* ctx) {
static void ccid_init(usbd_device* dev, FuriHalUsbInterface* intf, void* ctx) {
UNUSED(intf);
FuriHalUsbCcidConfig* cfg = (FuriHalUsbCcidConfig*)ctx;

View File

@@ -385,7 +385,7 @@ static const struct CdcConfigDescriptorDual
static struct usb_cdc_line_coding cdc_config[IF_NUM_MAX] = {};
static uint8_t cdc_ctrl_line_state[IF_NUM_MAX];
static void cdc_init(usbd_device* dev, const FuriHalUsbInterface* intf, void* ctx);
static void cdc_init(usbd_device* dev, FuriHalUsbInterface* intf, void* ctx);
static void cdc_deinit(usbd_device* dev);
static void cdc_on_wakeup(usbd_device* dev);
static void cdc_on_suspend(usbd_device* dev);
@@ -429,11 +429,11 @@ FuriHalUsbInterface usb_cdc_dual = {
.cfg_descr = (void*)&cdc_cfg_desc_dual,
};
static void cdc_init(usbd_device* dev, const FuriHalUsbInterface* intf, void* ctx) {
static void cdc_init(usbd_device* dev, FuriHalUsbInterface* intf, void* ctx) {
UNUSED(ctx);
usb_dev = dev;
cdc_if_cur = malloc(sizeof(FuriHalUsbInterface));
memcpy((void*)cdc_if_cur, intf, sizeof(FuriHalUsbInterface));
cdc_if_cur = intf;
char* name = (char*)furi_hal_version_get_device_name_ptr();
uint8_t len = (name == NULL) ? (0) : (strlen(name));
@@ -470,7 +470,6 @@ static void cdc_deinit(usbd_device* dev) {
free(cdc_if_cur->str_prod_descr);
free(cdc_if_cur->str_serial_descr);
free((void*)cdc_if_cur);
cdc_if_cur = NULL;
}

View File

@@ -226,7 +226,7 @@ static struct HidReport {
struct HidReportConsumer consumer;
} FURI_PACKED hid_report;
static void hid_init(usbd_device* dev, const FuriHalUsbInterface* intf, void* ctx);
static void hid_init(usbd_device* dev, FuriHalUsbInterface* intf, void* ctx);
static void hid_deinit(usbd_device* dev);
static void hid_on_wakeup(usbd_device* dev);
static void hid_on_suspend(usbd_device* dev);
@@ -374,7 +374,7 @@ static void* hid_set_string_descr(char* str) {
return dev_str_desc;
}
static void hid_init(usbd_device* dev, const FuriHalUsbInterface* intf, void* ctx) {
static void hid_init(usbd_device* dev, FuriHalUsbInterface* intf, void* ctx) {
UNUSED(intf);
FuriHalUsbHidConfig* cfg = (FuriHalUsbHidConfig*)ctx;
if(hid_semaphore == NULL) hid_semaphore = furi_semaphore_alloc(1, 1);

View File

@@ -137,7 +137,7 @@ static const struct HidConfigDescriptor hid_u2f_cfg_desc = {
},
};
static void hid_u2f_init(usbd_device* dev, const FuriHalUsbInterface* intf, void* ctx);
static void hid_u2f_init(usbd_device* dev, FuriHalUsbInterface* intf, void* ctx);
static void hid_u2f_deinit(usbd_device* dev);
static void hid_u2f_on_wakeup(usbd_device* dev);
static void hid_u2f_on_suspend(usbd_device* dev);
@@ -174,7 +174,7 @@ void furi_hal_hid_u2f_set_callback(HidU2fCallback cb, void* ctx) {
}
}
const FuriHalUsbInterface usb_hid_u2f = {
FuriHalUsbInterface usb_hid_u2f = {
.init = hid_u2f_init,
.deinit = hid_u2f_deinit,
.wakeup = hid_u2f_on_wakeup,
@@ -189,7 +189,7 @@ const FuriHalUsbInterface usb_hid_u2f = {
.cfg_descr = (void*)&hid_u2f_cfg_desc,
};
static void hid_u2f_init(usbd_device* dev, const FuriHalUsbInterface* intf, void* ctx) {
static void hid_u2f_init(usbd_device* dev, FuriHalUsbInterface* intf, void* ctx) {
UNUSED(intf);
UNUSED(ctx);
if(hid_u2f_semaphore == NULL) {

View File

@@ -9,7 +9,7 @@ extern "C" {
typedef struct FuriHalUsbInterface FuriHalUsbInterface;
struct FuriHalUsbInterface {
void (*init)(usbd_device* dev, const FuriHalUsbInterface* intf, void* ctx);
void (*init)(usbd_device* dev, FuriHalUsbInterface* intf, void* ctx);
void (*deinit)(usbd_device* dev);
void (*wakeup)(usbd_device* dev);
void (*suspend)(usbd_device* dev);
@@ -27,7 +27,7 @@ struct FuriHalUsbInterface {
extern FuriHalUsbInterface usb_cdc_single;
extern FuriHalUsbInterface usb_cdc_dual;
extern FuriHalUsbInterface usb_hid;
extern const FuriHalUsbInterface usb_hid_u2f;
extern FuriHalUsbInterface usb_hid_u2f;
extern FuriHalUsbInterface usb_ccid;
typedef enum {
@@ -49,13 +49,13 @@ void furi_hal_usb_init(void);
* @param ctx context passed to device mode init function
* @return true - mode switch started, false - mode switch is locked
*/
bool furi_hal_usb_set_config(const FuriHalUsbInterface* new_if, void* ctx);
bool furi_hal_usb_set_config(FuriHalUsbInterface* new_if, void* ctx);
/** Get USB device configuration
*
* @return current USB device mode
*/
const FuriHalUsbInterface* furi_hal_usb_get_config(void);
FuriHalUsbInterface* furi_hal_usb_get_config(void);
/** Lock USB device mode switch
*/