* USB-CDC: accepting the next data packet only if we process previous data * USB-CDC: use USB FS packet size * HAL-console: puts method * Check: print assertion data * FuriHal: rx stream free space aware CDC confirmation. * Bootloader: pull down USB lines, leave the rest to the firmware or bootloader * F6: cleanup and move USB code to usb-glue folder, add USB suspend/resume events to VCP, cleanup target.mk, fix missing motd message in cli when using minicom. * F5: cleanup the rest of USB glue code, adjust LPM and Power info data in descriptor. Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
		
			
				
	
	
		
			74 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#pragma once
 | 
						|
 | 
						|
#include <stdio.h>
 | 
						|
#include <stdlib.h>
 | 
						|
#include <string.h>
 | 
						|
#include "stm32wbxx.h"
 | 
						|
#include "stm32wbxx_hal.h"
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
 extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
#define USBD_MAX_NUM_INTERFACES     1U
 | 
						|
#define USBD_MAX_NUM_CONFIGURATION  1U
 | 
						|
#define USBD_MAX_STR_DESC_SIZ       512U
 | 
						|
#define USBD_DEBUG_LEVEL            0U
 | 
						|
#define USBD_LPM_ENABLED            0U
 | 
						|
#define USBD_SELF_POWERED           0U
 | 
						|
 | 
						|
/****************************************/
 | 
						|
/* #define for FS and HS identification */
 | 
						|
#define DEVICE_FS 0
 | 
						|
 | 
						|
/* Memory management macros */
 | 
						|
 | 
						|
/** Alias for memory allocation. */
 | 
						|
#define USBD_malloc         (void *)USBD_static_malloc
 | 
						|
 | 
						|
/** Alias for memory release. */
 | 
						|
#define USBD_free           USBD_static_free
 | 
						|
 | 
						|
/** Alias for memory set. */
 | 
						|
#define USBD_memset         memset
 | 
						|
 | 
						|
/** Alias for memory copy. */
 | 
						|
#define USBD_memcpy         memcpy
 | 
						|
 | 
						|
/** Alias for delay. */
 | 
						|
#define USBD_Delay          HAL_Delay
 | 
						|
 | 
						|
/* DEBUG macros */
 | 
						|
 | 
						|
#if (USBD_DEBUG_LEVEL > 0)
 | 
						|
#define USBD_UsrLog(...)    printf(__VA_ARGS__);\
 | 
						|
                            printf("\n");
 | 
						|
#else
 | 
						|
#define USBD_UsrLog(...)
 | 
						|
#endif
 | 
						|
 | 
						|
#if (USBD_DEBUG_LEVEL > 1)
 | 
						|
 | 
						|
#define USBD_ErrLog(...)    printf("ERROR: ") ;\
 | 
						|
                            printf(__VA_ARGS__);\
 | 
						|
                            printf("\n");
 | 
						|
#else
 | 
						|
#define USBD_ErrLog(...)
 | 
						|
#endif
 | 
						|
 | 
						|
#if (USBD_DEBUG_LEVEL > 2)
 | 
						|
#define USBD_DbgLog(...)    printf("DEBUG : ") ;\
 | 
						|
                            printf(__VA_ARGS__);\
 | 
						|
                            printf("\n");
 | 
						|
#else
 | 
						|
#define USBD_DbgLog(...)
 | 
						|
#endif
 | 
						|
 | 
						|
void *USBD_static_malloc(uint32_t size);
 | 
						|
void USBD_static_free(void *p);
 | 
						|
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 |