| void begin(long) { | void begin(long) { | ||||
| uint32_t millis_begin = systick_millis_count; | uint32_t millis_begin = systick_millis_count; | ||||
| while (!(*this)) { | while (!(*this)) { | ||||
| // wait up to 4 seconds for Arduino Serial Monitor | |||||
| // wait up to 2.5 seconds for Arduino Serial Monitor | |||||
| // Yes, this is a long time, but some Windows systems open | // Yes, this is a long time, but some Windows systems open | ||||
| // the port very slowly. This wait allows programs for | // the port very slowly. This wait allows programs for | ||||
| // Arduino Uno to "just work" (without forcing a reboot when | // Arduino Uno to "just work" (without forcing a reboot when | ||||
| // the port is opened), and when no PC is connected the user's | // the port is opened), and when no PC is connected the user's | ||||
| // sketch still gets to run normally after this wait time. | // sketch still gets to run normally after this wait time. | ||||
| if ((uint32_t)(systick_millis_count - millis_begin) > 4000) break; | |||||
| if ((uint32_t)(systick_millis_count - millis_begin) > 2500) break; | |||||
| } | } | ||||
| } | } | ||||
| void end() { /* TODO: flush output and shut down USB port */ }; | void end() { /* TODO: flush output and shut down USB port */ }; |