Proposal to improve upon SerialEvent. #1190

Open
RobTillaart opened this Issue Dec 28, 2012 · 0 comments

Projects

None yet

4 participants

@RobTillaart

In the 1.x version of Arduino language the SerialEvent() is supported. Although the opinions agree to disagree about the usefulness I would like to propose an improvement on it.

To fire SerialEvent() there is a call in main() that does something like

SerialEventRun()
{
if (Serial.Available()) SerialEvent();
}

for a Mega this is done for every port.

I would like to propose to pass the number of bytes seen by available() as a parameter to SerialEvent() as then the latter does not need to call the available function keeping the eventhandling shorter.

SerialEventRun()
{
int count = Serial.Available();
if (count) SerialEvent(count);
}

of course the Mega does this four times reusing the var count.

The programmer implementing SerialEvent(int count) can use count and does not need to call available(). Which removes one function call per serialEvent, might add up.

A more elaborated discussion can be found on the forum:

Regards,
Rob

@ffissore ffissore added the New label Feb 27, 2014
@matthijskooijman matthijskooijman removed the New label Sep 11, 2014
@cmaglie cmaglie was assigned by ffissore Jul 1, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment