xmos / fwk_io

I/O Framework
Other
3 stars 11 forks source link

Update to C-friendly XUD release #2

Closed keithm-xmos closed 1 year ago

keithm-xmos commented 3 years ago

Interrupt handler versions of XUD_GetData(), XUD_GetSetupData(), and XUD_SetData() exist in lib_xud already as XUD_GetData_Select() and XUD_SetData_Select(), and their counterparts XUD_SetReady_Out() and XUD_SetReady_In(). However, the prototypes for these are only available for XC (surrounded by #if defined(XC)), and there is no equivalent for XUD_GetSetupData().

As a temporary workaround, these were copied into the SDK and modified. Ideally lib_xud will be updated to be fully compatible with standard C.

Waiting on https://github.com/xmos/lib_xud/issues/128

keithm-xmos commented 2 years ago

This is no longer blocked.

keithm-xmos commented 2 years ago

Blocked waiting for https://github.com/xmos/lib_xud/issues/349

keithm-xmos commented 2 years ago

No longer blocked as https://github.com/xmos/lib_xud/issues/349 was a false alarm. However, an initial investigation leads us to believe that this is now a much bigger effort.

The latest XUD doesn't currently work with the minimal TinyUSB port layer. This needs to be investigated and could take some time to debug. And, we should wait until the next lib_xud release.

xmos-jmccarthy commented 2 years ago

For future reference: https://github.com/xmos/xcore_sdk/tree/feature/lib_xud_capi_update

This branch contains a lib_xud submodule updated to the current head of develop, updated sdk CMakeLists.txt, and trivial change for the removal of the function XUD_SetDevAddr(). This was found to build but was not functional. Switching back to the old submodule, but with the new port layer, functioned as expected.

keithm-xmos commented 2 years ago

We have a new XUD release: https://github.com/xmos/lib_xud/releases/tag/v2.2.0