Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Publish on crates.io #1

Closed
TeXitoi opened this issue Dec 30, 2019 · 12 comments
Closed

Publish on crates.io #1

TeXitoi opened this issue Dec 30, 2019 · 12 comments

Comments

@TeXitoi
Copy link
Contributor

TeXitoi commented Dec 30, 2019

Hi!

To let you know, I've ported my keyboard using this crate successfully: https://github.com/TeXitoi/keyberon-f4

Let me know if you need any help to publish this crate.

@Disasm
Copy link
Member

Disasm commented Dec 30, 2019

Wow, nice to hear! As for the release, I'd like to have stm32ral released first. I already filed a PR for this: adamgreig/stm32ral#12

Additionally, stm32f4xx-hal lacks proper PLL setup, without it that "f4 pill" will not work due to its 25MHz external crystal. However, since I removed stm32f4xx-hal from the dependency list, I can publish without this requirement.

@TeXitoi
Copy link
Contributor Author

TeXitoi commented Feb 11, 2020

Hi! I now have a keyboard using this driver! (same address)

Any news on publishing? the stm32ral PR should be now OK.

Thanks for the driver :-)

@adamgreig
Copy link
Member

Sadly while stm32ral 0.3.0 has been created, I can't publish it to crates.io because it's over the crate file-size limit. I've emailed crates.io to ask if we can increase it, and if not, we'll have to think of something to make the crate size a bit smaller. But I guess that's blocking releasing this.

@TeXitoi
Copy link
Contributor Author

TeXitoi commented Feb 11, 2020

@adamgreig thanks for the feedback!

@adamgreig
Copy link
Member

stm32ral v0.3.1 is now on crates.io 🎉

@Disasm
Copy link
Member

Disasm commented Feb 12, 2020

@adamgreig thank you!

@Disasm
Copy link
Member

Disasm commented Feb 12, 2020

Published v0.1.0 🎉

@Disasm Disasm closed this as completed Feb 12, 2020
@TeXitoi
Copy link
Contributor Author

TeXitoi commented Feb 14, 2020

Thanks!

@Disasm now I need stm32f4xx-hal integration, do you want I take care of it using your fork, or do you want to do it?

@Disasm
Copy link
Member

Disasm commented Feb 14, 2020

@TeXitoi I can integrate the driver into stm32f4xx-hal in a day or two. If you have time to help with the clock setup part, please do it.

@TeXitoi
Copy link
Contributor Author

TeXitoi commented Feb 14, 2020

do you have any pointers on what you have already looked on the clock setup? I'll try to look at it this weekend.

@Disasm
Copy link
Member

Disasm commented Feb 14, 2020

The patch from my fork works, but the upstream repo has changed since then and now this patch can't be ported easily. Specifically, I'm talking about this change: stm32-rs/stm32f4xx-hal@44ec5ab It's difficult (and sometimes impossible) to have precise both sysclk and PLL48 frequencies, so I think that PLL48 frequency should be more "important" when it's requested by user.

@TeXitoi
Copy link
Contributor Author

TeXitoi commented Feb 14, 2020

OK, I'll try to look at it.

jyelloz added a commit to jyelloz/synopsys-usb-otg that referenced this issue Sep 20, 2021
Replaced endpoint descriptors stack and read/write/configure with delegation to
the existing endpoint implementations.

Added some weird code to pretend the local endpoint RX buffers are &'static mut
memory since the endpoint buffer code should only get executed while the current
peripheral bus is allocated.

The code is still in a state where a device can identify itself to a Linux host
where I've tested a HID device at endpoint stm32-rs#1.

So far I have not succeeded with sending over a HID report to the host though.
jyelloz added a commit to jyelloz/synopsys-usb-otg that referenced this issue Sep 23, 2021
One reason I couldn't get any communications to transmit on nonzero endpoints
was that I forgot to allocate the TX FIFO size/start address for endpoint stm32-rs#1
which the existing implementation does correctly.

Also, there was a huge indentation problem in the poll method where the IEP
handler and OEP buffer stuff were only getting run when RXFLVL was nonzero.

I can now get a device to identify itself on Linux as a HID. I have not
successfully pressed a key yet but it has sent HID reports over the line but I
am not sure why they aren't being processed.
jyelloz added a commit to jyelloz/synopsys-usb-otg that referenced this issue Sep 23, 2021
One reason I couldn't get any communications to transmit on nonzero endpoints
was that I forgot to allocate the TX FIFO size/start address for endpoint stm32-rs#1
which the existing implementation does correctly.

Also, there was a huge indentation problem in the poll method where the IEP
handler and OEP buffer stuff were only getting run when RXFLVL was nonzero.

I can now get a device to identify itself on Linux as a HID. I have not
successfully pressed a key yet but it has sent HID reports over the line but I
am not sure why they aren't being processed.

Either way it's looking a lot closer to the original bus implementation at this
point and the device has become much more reliable at handling plug/unplug
events.

One thing I'm not sure about is how the USB interrupt is basically flooding even
when I believe every event is being handled and there is no time left over for
the idle task.
guineawheek pushed a commit to guineawheek/gd32-synopsys-usb-otg that referenced this issue Sep 4, 2024
Fix for incorrect poll rate on isochronous endpoints
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants