Having trouble running both serial terminal and full duplex serial at the same time
                    I have found an issue that is perplexing me. I have some working code that breaks when I comment out one line and I'm not sure why. The end goal is a real time midi parser. My current stage is trying to print to the serial terminal the midi recording mode (on or off) while reading in midi data via FullDuplexSerial. Record mode is toggled via a Yamaha sustain pedal. The code below does not toggle to record mode when I hit the pedal. Record is allways off. Here is my code:
But when I comment out the "midi.start( 0, 1, %0000, 31250 )" line it works fine. Like so:
Whats the deal? Thanks!
                            CON
  _clkmode = xtal1 + pll16x
  _xinfreq = 5_000_000
OBJ
  pst   : "Parallax Serial Terminal"
  midi  : "FullDuplexSerial"
VAR
  LONG stack[128]
  LONG midiseq[64]
  BYTE rectog[1]
  BYTE recstate[1]
PUB Main | mbyte, track, counter
  cognew(PetalBounce, @stack)
  pst.Start(115200)
  midi.start( 0, 1, %0000, 31250 )
                 
  repeat                                 
    RecordON
    pst.dec(recstate)
    
PUB MidiRecord: midibyte
  pst.str(string(" testMidiRecord "))                      'indicate the MidiRecord has began
  if (midibyte := midi.rxcheck) <> -1
    return midibyte
PUB RecordON
                  
    repeat while rectog == 0                        
      recstate := 0
      pst.str(string(" rec OFF "))
    repeat while rectog == 1
      recstate := 1
      pst.str(string(" rec ON  "))
    repeat while rectog == 0
      recstate := 1
      pst.str(string(" rec ON  "))
    repeat while rectog == 1
      recstate := 0
      pst.str(string(" rec OFF "))
PUB PetalBounce | counter, val
    repeat                  
      if (val := INA[1]) == 0
        rectog := 1  
        counter := 0
        repeat while counter <> 400
          if INA[1] == 1                    
            counter ++
          if INA[1] == 0            
            counter := 0        
      else
        rectog := 0
But when I comment out the "midi.start( 0, 1, %0000, 31250 )" line it works fine. Like so:
...
PUB Main | mbyte, track, counter
  cognew(PetalBounce, @stack)
  pst.Start(115200)
  'midi.start( 0, 1, %0000, 31250 )
                 
  repeat                                 
    RecordON
    pst.dec(recstate)
...
Whats the deal? Thanks!

 
                            
Comments
Thanks Mike!