You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jan 3, 2020. It is now read-only.
Due to the constantly polling nature of the inputThread() listening for messages from the serial connection one CPU core is fully utilized during the entire runtime of the Firmata class.
#113 proposes a simple optional fix that allows one to specifiy a polling intervall during constuction of the UwpFirmata class.
#115 Is a nicer solution but requires a change to Microsoft.Maker.Serial.ISerial (ms-iot/serial-wiring#20) that introduces (in order to not change existing functionality) a readBlocking() method that puts the current thread to sleep until LoadAsync() is complete
I also experimented with a solution that exposes ISerial::available() and read() (or would introduce availableAsync() etc.) as IAsyncOperation<uint16_t>,
however this would require even more changes to the ISerial interface and is complex to do with the create_task().then() approach.
co_await might make it easy, but I am unsure if using #include <experimental\resumable> is allowed in such a low level library
The text was updated successfully, but these errors were encountered:
Due to the constantly polling nature of the inputThread() listening for messages from the serial connection one CPU core is fully utilized during the entire runtime of the Firmata class.
#113 proposes a simple optional fix that allows one to specifiy a polling intervall during constuction of the UwpFirmata class.
#115 Is a nicer solution but requires a change to Microsoft.Maker.Serial.ISerial (ms-iot/serial-wiring#20) that introduces (in order to not change existing functionality) a readBlocking() method that puts the current thread to sleep until LoadAsync() is complete
I also experimented with a solution that exposes ISerial::available() and read() (or would introduce availableAsync() etc.) as IAsyncOperation<uint16_t>,
however this would require even more changes to the ISerial interface and is complex to do with the create_task().then() approach.
co_await might make it easy, but I am unsure if using
#include <experimental\resumable>
is allowed in such a low level libraryThe text was updated successfully, but these errors were encountered: