We start with a simple S-O-S distress call in Morse Code. Details on Morse Code can be found on amateur radio sites and Wikipedia.

//Sending out an SOS
//slow deliberate message
define dotTime 120ms

loop                   //S:
@+dotTime chn1 = 100%  
@+dotTime chn1 = 0%
@+dotTime chn1 = 100%
@+dotTime chn1 = 0%
@+dotTime chn1 = 100%
@+dotTime chn1 = 0%

@+dotTime @+dotTime @+dotTime @+dotTime //time between letters
                       //O:
@+dotTime                     chn1 = 100%  
@+dotTime @+dotTime @+dotTime chn1 = 0%
@+dotTime                     chn1 = 100%
@+dotTime @+dotTime @+dotTime chn1 = 0%
@+dotTime                     chn1 = 100%
@+dotTime @+dotTime @+dotTime chn1 = 0%

@+dotTime @+dotTime @+dotTime @+dotTime //time between letters
                      //S:
@+dotTime chn1 = 100% 
@+dotTime chn1 = 0%
@+dotTime chn1 = 100%
@+dotTime chn1 = 0%
@+dotTime chn1 = 100%
@+dotTime chn1 = 0%

repeatDelays
@+500ms              //min delay between repeats
          go to repeatDelays with 50% chance //more delay

//falls through and repeats

We create random but fake Morse Code messages with dots, dashes and pauses.  Better than a roomful of monkeys with typewriters, this will spell something sometime somehow maybe. Since it’s random, you can have two telegraph offices talking to each other on the same Morsel.

Two variations possible. One is on/off instantly. The other has incandescent fading on/off. For incandescent, replace all chn1 = … as follows:

     chn1 = fade from 0% to 100% for 40ms  //replaces chn1=100%
     chn1 = fade from 100% to 0% for 80ms  //replaces chn1=0%

 

//Simplest Morse Code keyer

define dotTime 75ms

makeDotOrDash chn1=100%         //begin another symbol
 @+dotTime                      //dot lighted for dotTime
                                //the dot may become a dash...
              go to isDashDone with 50% chance //stretch dot into dash?
 @+dotTime @+dotTime            //yes, stretched to 3x
isDashDone                      //done with dot or dash
                                //the dot or dash turns off 1 dotTime
              chn1 = 0%         //turn off light
 @+dotTime                      //for dotTime
                                //the dot or dash could turn of 2 more dotTimes
              go to isLetterDone with 80% chance //end of a letter?
 @+dotTime @+dotTime             //yes, "off" stretched 3x
isLetterDone
                                 //the letter may be the end of a word
              go to wordIsNotDone with 80% chance //end of a word?
 @+100ms                         //yes, "off" stretched more
wordIsNotDone
                                 //the word may be the end of a message: Operator takes break
              go to didNotScratchItch with 98% chance //unlikely operator pause?
 @+1s                            //yes, operator paused
dayDream
 @+0.225s                        //add dream time
              go to daydream with 80% chance //operator still daydreaming?
didNotScratchItch 
 go to makeDotOrDash

Two Telegraph Offices Talking

We originally wrote, “Maybe we need to make a version where one office talks while the other listens.” But the thought nagged us until we had to do it. It’ wasn’t hard. We found a spot where the telegraph keyer daydreams. That’s where the other office starts.

We copied and pasted the first office, changed the Go To labels and changed chn1 to chn2. It took a few minutes to fix it up and check it out. 

//Simplest Morse Code 
//FIRST TELEGRAPH OFFICE

define dotTime 75ms


firstOffice

makeDotOrDash chn1=100%         //begin another symbol
 @+dotTime                      //dot lighted for dotTime
                                //the dot may become a dash...
              go to isDashDone with 50% chance //stretch dot into dash?
 @+dotTime @+dotTime            //yes, stretched to 3x
isDashDone                      //done with dot or dash
                                //the dot or dash turns off 1 dotTime
              chn1 = 0%         //turn off light
 @+dotTime                      //for dotTime
                                //the dot or dash could turn of 2 more dotTimes
              go to isLetterDone with 80% chance //end of a letter?
 @+dotTime @+dotTime             //yes, "off" stretched 3x
isLetterDone
                                 //the letter may be the end of a word
              go to wordIsNotDone with 80% chance //end of a word?
 @+100ms                         //yes, "off" stretched more
wordIsNotDone
                                 //the word may be the end of a message: Operator takes break
              go to didNotScratchItch with 98% chance //unlikely operator pause?
 @+1s                            //yes, operator paused
dayDream
 @+0.225s                        //add dream time
              go to daydream with 80% chance //operator still daydreaming?
//LONG DAYDREAM SAME AS WAITING FOR OTHER OPERATOR
 GO TO SECONDOFFICE 

didNotScratchItch 
 go to makeDotOrDash




//SECOND TELEGRAPH OFFICE ON CHANNEL 2

secondOffice

makeDotOrDash2 chn2=100%         //begin another symbol
 @+dotTime                      //dot lighted for dotTime
                                //the dot may become a dash...
              go to isDashDone2 with 50% chance //stretch dot into dash?
 @+dotTime @+dotTime            //yes, stretched to 3x
isDashDone2                      //done with dot or dash
                                //the dot or dash turns off 1 dotTime
              chn2 = 0%         //turn off light
 @+dotTime                      //for dotTime
                                //the dot or dash could turn of 2 more dotTimes
              go to isLetterDone2 with 80% chance //end of a letter?
 @+dotTime @+dotTime             //yes, "off" stretched 3x
isLetterDone2
                                 //the letter may be the end of a word
              go to wordIsNotDone2 with 80% chance //end of a word?
 @+100ms                         //yes, "off" stretched more
wordIsNotDone2
                                 //the word may be the end of a message: Operator takes break
              go to didNotScratchItch2 with 98% chance //unlikely operator pause?
 @+1s                            //yes, operator paused
dayDream2
 @+0.225s                        //add dream time
              go to daydream2 with 80% chance //operator still daydreaming?
//LONG DAYDREAM SAME AS WAITING FOR OTHER OPERATOR
 GO TO FIRSTOFFICE

didNotScratchItch2 
 go to makeDotOrDash2

The Go To the other office changes are in upper case. Note that case is ignored by Sequence Composer.

 

No action

Mouse Gestures

Back

Forward

Scroll up

Scroll down

Switch to previous tab

Switch to next tab

Close all tabs except current

Close current tab

Open new tab

Close all tabs

Refresh current tab

Stop loading

Scroll to bottom

Scroll to top

Reopen closed tab

Go to home page