|
|
|
|
|
|
|
|
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 1 second for Arduino Serial Monitor |
|
|
|
|
|
|
|
|
// wait up to 4 seconds for Arduino Serial Monitor |
|
|
|
|
|
// Yes, this is a long time, but some Windows systems open |
|
|
|
|
|
// the port very slowly. This wait allows programs for |
|
|
|
|
|
// Arduino Uno to "just work" (without forcing a reboot when |
|
|
|
|
|
// the port is opened), and when no PC is connected the user's |
|
|
|
|
|
// 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) > 4000) break; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |