diff options
-rw-r--r-- | fw/src/usbd_conf.c | 20 | ||||
-rw-r--r-- | fw/src/usbd_conf.h | 32 |
2 files changed, 25 insertions, 27 deletions
diff --git a/fw/src/usbd_conf.c b/fw/src/usbd_conf.c index ccc4b16..b6815e5 100644 --- a/fw/src/usbd_conf.c +++ b/fw/src/usbd_conf.c @@ -2,6 +2,10 @@ #include "stm32f0xx_hal.h"
#include "usbd_def.h"
#include "usbd_core.h"
+#include "usbd_hid.h"
+
+#include <stdbool.h>
+#include <assert.h>
PCD_HandleTypeDef hpcd_USB_FS;
@@ -574,3 +578,19 @@ void USBD_LL_Delay(uint32_t Delay /* ms */) HAL_Delay(Delay);
}
+static USBD_HID_HandleTypeDef *static_hid_handle;
+static bool static_hid_handle_allocated = false;
+
+void *USBD_static_malloc(uint32_t size)
+{
+ assert(!static_hid_handle_allocated);
+ static_hid_handle_allocated = true;
+ return static_hid_handle;
+}
+
+void USBD_static_free(void *p)
+{
+ assert(static_hid_handle_allocated);
+ static_hid_handle_allocated = false;
+}
+
diff --git a/fw/src/usbd_conf.h b/fw/src/usbd_conf.h index c194c70..0f47bad 100644 --- a/fw/src/usbd_conf.h +++ b/fw/src/usbd_conf.h @@ -23,35 +23,10 @@ /* #define for FS and HS identification */
#define DEVICE_FS 0
-/**
- * @}
- */
-
-/** @defgroup USBD_CONF_Exported_Macros USBD_CONF_Exported_Macros
- * @brief Aliases.
- * @{
- */
-
-/* Memory management macros */
-
-/** Alias for memory allocation. */
-#define USBD_malloc malloc
-//(uint32_t *)USBD_static_malloc
-
-/** Alias for memory release. */
-#define USBD_free free
-
-/** Alias for memory set. */
-#define USBD_memset /* Not used */
-
-/** Alias for memory copy. */
-#define USBD_memcpy /* Not used */
-
-/** Alias for delay. */
+#define USBD_malloc (void *)USBD_static_malloc
+#define USBD_free USBD_static_free
#define USBD_Delay HAL_Delay
-/* DEBUG macros */
-
#if (USBD_DEBUG_LEVEL > 0)
#define USBD_UsrLog(...) printf(__VA_ARGS__);\
printf("\n");
@@ -76,6 +51,9 @@ #define USBD_DbgLog(...)
#endif
+void *USBD_static_malloc(uint32_t size);
+void USBD_static_free(void *p);
+
/* Set unset defines */
#include "usbd_def.h"
|