2018-06-20 07:17 AM
Iam trying create custom usb device and host .
STM32F429i-disco is used as usb host.
STM3210-E-Eval is used as device
My current problem is when i configure the device IN endpoint address as 88, it seems not detected by the host.
It was 81 before. I took MSC class eg and modified. I was able to work with 86 endpoint
The problem seems to be with endpoint 8 and above.
Host seems unable to detect.
Please give me some advice. I need to communicate the host with a device using endpoints 88 and 04 finaly.
I was able to communicate with device of address 86 and 02 successfully.
#endpoints #device #usb #stm32f4 #not-detected #host #stm32f1 #stm2018-06-20 07:26 AM
Note that devices are not required to implement all possible endpoints in hardware (in fact only EP0 is required). For example OTG_FS can have as few as 4 endpoints for both directions in some STM32 devices. Refer to the device datasheet and reference manual for accurate information.
2018-06-20 09:27 AM
You are saying that STM32F429i doesnt support endpoints more than 4?
But host will get the endpoint from the device ri8?
So it should be able to configure with that?
2018-06-20 09:34 AM
No, I'm only saying that not all endpoints are implemented in each peripheral. You really should check the available documentation on the number of endpoints supported by each peripheral.
For other device lines where the 'USB' IP is used instead of OTG_FS/HS, the endpoints can be freely assigned to endpoint addresses, but for the OTG cores this isn't possible as far as I know. With these the endpoint addresses are fixed.
2018-06-20 09:42 AM
Ok.. i didnt understand the difference between two things USB_IP OTG_FS/HS and OTG cores.
Could you explain some more.
2018-06-20 10:15 AM
STM32 microcontrollers are available with two different kinds of USB peripheral on the chip, one of them is simply called 'USB', the other is 'OTG_FS' and OTG_HS'. You can see this in the CubeMX. Using the latter (either OTG_FS or OTG_HS) you cannot control which endpoint addresses you can use, they are fixed.
2018-06-20 10:29 AM
ok..So OTG is used for HOST support.
Could you tell which stm board supports 16 endpoints, I need to make host communicate with 8th endpoint
2018-06-20 02:24 PM
In CubeMX select the USB Device under the Peripheral Choice. Note that although the device supports independent endpoint address assignment, the HAL software doesn't support it.
I don't know who writes your requirements, but it's a serious design limitation to have the used endpoints defined by the host software. The host software should read the device configuration and determine the endpoints of the necessary interface by itself.
2018-06-21 12:40 AM
ya that is what i thought. While debugging the host, the endpoint numbers are changed automaticaly to that of host (in case of 8 also). But for 8th endpoint, host is unable to send/receive anything from device
2018-06-21 11:38 PM
Anyone knows any PC usb host/device simulator. I want to test my device/host with working host/device.
The application should be programmable