Hi,
I tried to attach an EventQueue to the USBSerial Packet receive Interrupt and noticed that the attach function expects a reference/lvalue instead of the returned temporary value. For example:
USBSerial serial;
EventQueue queue;
serial.attach(queue.event(myCallbackFunction)); // This doesn't work, because attach expects an lvalue.
This behavior seems inconsistent with the other events, e.g., InterruptIn::fall from the examples in the Docs. A possible workaround is to save the Callback to a local variable and pass that to the attach function.
Callback<void()> cb = queue.event(myCallbackFunction);
serial.attach(cb);
My question is, is this expected behavior, or should I open an Issue regarding this?
Thanks in advance.