profile
viewpoint

mvirkkunen/purple-line 22

libpurple (Pidgin) plugin for LINE by Naver

mvirkkunen/line-protocol 9

LINE instant messenger protocol

mvirkkunen/dwprog 8

Program AVR devices with debugWIRE over just the RESET pin.

mvirkkunen/Flappy-2048-AI 3

Flappy Bird + 2048

mvirkkunen/musicdweb 3

Web interface for musicd

mvirkkunen/ddfloppy 2

Floppy visualizer for ddrescue

mvirkkunen/nicofetch 2

Downloads videos from nicovideo.jp

mvirkkunen/max3421eboard 1

Breakout board for MAX3421E SPI USB host/device controller

mvirkkunen/pars 1

Toy Lisp interpreter

issue commentmvirkkunen/usb-device

Difficulty writing descriptors of unknown size

Figured I'd ping this

Any thoughts or feelings on it or the PR?

electroCutie

comment created time in 14 hours

startedmvirkkunen/usb-device

started time in a day

startedmvirkkunen/rtt-target

started time in 6 days

PullRequestEvent

PR opened mvirkkunen/usbd-serial

[test PRadd basic build CI for PRs
+26 -0

0 comment

1 changed file

pr created time in 7 days

PR opened mvirkkunen/usbd-serial

implement core::fmt::Write

Implements the core::fmt::Write trait to enable things likeserial.write_fmt(format_args!("{}\r\n", val)); (see working example here)

+16 -0

0 comment

1 changed file

pr created time in 7 days

push eventprobe-rs/probe-rs-rtt

Dario Nieuwenhuis

commit sha 6b9d66ebd4654ed28329a41865b7efcf995cdafb

Use 32bit accesses for RTT pointers to fix torn reads/writes.

view details

push time in 7 days

fork TDHolmes/usbd-serial

Work-in progress minimal CDC-ACM (USB serial port) class for usb-device

fork in 7 days

startedmvirkkunen/usb-device

started time in 7 days

fork isgasho/rtt-target

Target side implementation of the RTT (Real-Time Transfer) I/O protocol

fork in 8 days

startedmvirkkunen/rtt-target

started time in 8 days

startedmvirkkunen/rtt-target

started time in 8 days

startedmvirkkunen/rtt-target

started time in 8 days

startedmvirkkunen/rtt-target

started time in 8 days

startedmvirkkunen/rtt-target

started time in 8 days

startedmvirkkunen/vgaout

started time in 9 days

startedmvirkkunen/usb-device

started time in 9 days

issue commentmvirkkunen/usb-device

UsbDevice lifetime preventing accessing from interrupt

I see. Maybe we should change the link in https://github.com/mvirkkunen/usb-device/blob/master/README.md#hardware-driver-crates to list examples in the various hals such as https://github.com/stm32-rs/stm32f1xx-hal/blob/master/examples/usb_serial_interrupt.rs instead?

rukai

comment created time in 10 days

issue commentmvirkkunen/usb-device

UsbDevice lifetime preventing accessing from interrupt

Examples now live in the corresponding hal repositories, so this stm32-usbd-example repo is kinda outdated.

rukai

comment created time in 10 days

issue commentmvirkkunen/usb-device

UsbDevice lifetime preventing accessing from interrupt

Ah, thankyou! I had incorrectly assumed that each example-sfm32f* folder contained the same single example but ported for that board.

Would you accept a PR to add a list of each example to the readme so make it easier to look through the examples for every board at once?

rukai

comment created time in 10 days

issue openedmvirkkunen/usb-device

UsbDevice lifetime preventing accessing from interrupt

To correctly use UsbDevice we should hook poll up to an interrupt to call it regularly.

However, as far as I can see that is impossible with the current API design. Due to lifetimes UsbDevice needs to outlive the UsbBusAllocator passed to UsbDeviceBuilder. Because of that we cant put it in a global storage like: static USB_DEVICE: Mutex<RefCell<Option<UsbDevice<UsbBus<USB>>>>>; And without global storage there is no way to call poll in the interrupt To resolve this UsbDeviceBuilder::new should take a &UsbBusAllocator, UsbBusAllocator, or Arc<UsbBusAllocator> instead of &'a UsbBusAllocator.

Now it is quite possible that my reasoning above is wrong somewhere, i am no master of lifetimes. And it does seem strange to me that something like this would be overlooked...

So if there is a way, please add an example to https://github.com/stm32-rs/stm32-usbd-examples that demonstrates calling poll from an interrupt. Or if you give me enough information I might be able to implement such an example myself.

created time in 10 days

PR opened mvirkkunen/rtt-target

Add RISC-V support

Tested on LonganNano with FTDI-based probe and cargo-embed

+10 -5

0 comment

2 changed files

pr created time in 10 days

startedmvirkkunen/usb-device

started time in 11 days

delete branch probe-rs/probe-rs-rtt

delete branch : staging.tmp

delete time in 13 days

create barnchprobe-rs/probe-rs-rtt

branch : staging.tmp

created branch time in 13 days

delete branch probe-rs/probe-rs-rtt

delete branch : staging.tmp

delete time in 13 days

create barnchprobe-rs/probe-rs-rtt

branch : staging.tmp

created branch time in 13 days

more