2018-03-16 05:11 AM
Hi,
Please forgive as I am new to STM32 devices and tools.
I was suggested to use a STM32 F0 Discovery dev kit (STM32F072RBT6) in order to develop a very simple application: a custom made 3 axles joystick (x,y and throttle).
I have installed STM32CubeMX, SystemWorkbench for STM32 (SW4STM32) and followed all the steps without any problem until the point of creating a Custom HID Class.
1. How do I compile just to check that everything is OK so far? (it should be after all everything was automated)
2. I found a joystick descriptor (please see below) which, I think, fits the purpose. How do I use, configure, insert, edit, etc the current one either on CubeMX or SW4?
3. Is there a demo somewhere that I can look at?
Thanks in advance.
-x-x-x-x-x-
Joystick descriptor:
USAGE_PAGE (Generic Desktop) 05 01
LOGICAL_MINIMUM (0) 15 00 USAGE (Joystick) 09 04COLLECTION (Application) A1 01 USAGE_PAGE (Simulation Controls) 05 02 USAGE (Throttle) 09 BB LOGICAL_MINIMUM (-127) 15 81 LOGICAL_MAXIMUM (127) 25 7F REPORT_SIZE (8) 75 08 REPORT_COUNT (1) 95 01 INPUT (Data,Var,Abs) 81 02 USAGE_PAGE (Generic Desktop) 05 01 USAGE (Pointer) 09 01 COLLECTION (Physical) A1 00 USAGE (X) 09 30 USAGE (Y) 09 31 REPORT_COUNT (2) 95 02 INPUT (Data,Var,Abs) 81 02 END_COLLECTION C0 USAGE (Hat switch) 09 39 LOGICAL_MINIMUM (0) 15 00 LOGICAL_MAXIMUM (3) 25 03 PHYSICAL_MINIMUM (0) 35 00 PHYSICAL_MAXIMUM (270) 46 0E 01 UNIT (Eng Rot:Angular Pos) 65 14 REPORT_SIZE (4) 75 04 REPORT_COUNT (1) 95 01 INPUT (Data,Var,Abs) 81 02 USAGE_PAGE (Button) 05 09 USAGE_MINIMUM (Button 1) 19 01 USAGE_MAXIMUM (Button 4) 29 04 LOGICAL_MINIMUM (0) 15 00 LOGICAL_MAXIMUM (1) 25 01 REPORT_SIZE (1) 75 01 REPORT_COUNT (4) 95 04 UNIT_EXPONENT (0) 55 00 UNIT (None) 65 00 INPUT (Data,Var,Abs) 81 02 END_COLLECTION C0https://community.st.com/tags♯/?tags=joystick
‌https://community.st.com/tags♯/?tags=stm32f072%20discovery
‌https://community.st.com/tags♯/?tags=!stm32f072%20!usb%20!custom_hid
‌#stm32f072-discovery #!stm32f072-!usb-!custom_hid #joystick2018-03-16 06:10 AM
I am new to STM32 devices and tools.
Do you have experience with any other microcontroller(s)? With programming in general?
creating a Custom USB Class is not a beginner project!
Getting Started with
STM32 devices and tools:
2018-03-16 06:19 AM
I've programming for the last 15 years at least but this is my first time with USB.
:(
I've been working monstly with ATMega, PIC and SiLabs EFM8, and back in the old days Z8, Z8000 and MC68000.
2018-03-18 09:14 AM
creating a Custom USB Class is not a beginner project!
Creating an interface for the ST-provided Custom HID class is entirely different from creating a custom USB device class.
In some of the Cube repository's projects exists the CustomHID_Standalone project (example path: STM32Cube_FW_F7_V1.9.0\Projects\STM32756G_EVAL\Applications\USB_Device\CustomHID_Standalone), which can help getting started. I suggest looking at the class code first to see what definitions are needed in usbd_conf.h, then you can implement the interface loosely based on usbd_customhid_if.c.
I'm not an advocate of the STM32 libraries as they are full of poor design choices, but for this purpose it might serve well. In case you need to create a composite device later on, or just need a better USB device stack, I can recommend
.