I wrote a Morse library, the key feature of which (to differentiate it from the many others) is that it doesn't block while sending; for example, you can check on a sensor value while a long message is being played on a speaker. On github.
In ultra-brief, you can use it like this:
#define PIN_STATUS 13
LEDMorseSender sender(PIN_STATUS);
void setup() {
sender.setup();
sender.startSending();
}
void loop() {
// do other work, while you...
sender.continueSending();
}
I wrote it for use in a cyclocomputer (trip meter, histogram of speeds over a ride) project, also on github.