Browse Source

add debug timimg

Tobias Simetsreiter 4 years ago
parent
commit
5395beb355
2 changed files with 33 additions and 7 deletions
  1. 30 3
      main.py
  2. 3 4
      midipins/__init__.py

+ 30 - 3
main.py

@@ -11,13 +11,14 @@ from midipins import StatePin, PitchWheel
 import midipins
 
 DEBUG = 0
+midiout = None
 
 def main():
     global DEBUG
+    global midiout
 
 
     led = machine.Pin(2 , machine.Pin.OUT)
-    led.value(1)
     adc_pin = 0
     adc = ADC(adc_pin)
 
@@ -52,7 +53,7 @@ def main():
     if not DEBUG:
         print("\nDetaching Terminal for MIDI....")
         uos.dupterm(None, 1)
-        uart = UART(DEBUG, baudrate=115200)
+        uart = UART(0, baudrate=115200)
         midiout = MidiOut(uart)
         midiout.all_notes_off()
         midiout.all_sound_off()
@@ -62,13 +63,39 @@ def main():
         # midiout.control_change(constants_min.LEGATO_ONOFF, 127)
 
     # # Send all sound off to prevent hanging notes
+    TNULL =  time.ticks_ms()
+    TONE = None
     while True:
         time.sleep_ms(1)
-        modeswitch.poll(lambda v:midiout.program_change(v))
+        led.value(0 if DEBUG else 1)
+        modeswitch.poll(set_mode)
         volume.poll(lambda v:midiout.volume(v))
+        if DEBUG:
+            TONE = time.ticks_ms()
+            print("Poll done:", TONE - TNULL)
+            TNULL = TONE
         # wheel.poll(lambda v:midiout.channel_message(constants_min.PROGRAM_CHANGE,(v+1)))
         # wheel.poll(midiout.pitch_bend)
 
+
+def set_mode(val):
+    global DEBUG
+    global midiout
+    if val == 4:
+        import uos
+        uos.dupterm(None, 1)
+        DEBUG = 0
+    elif val == 5:
+        import machine
+        import uos
+        uart = machine.UART(0, 115200)
+        uos.dupterm(uart, 1)
+        DEBUG = 1
+    if val < 5:
+        midiout.program_change(val)
+    midipins.DEBUG = DEBUG
+
+
 def midi_note(midiout, val, note=64, led = None):
     if led:
         led.value(val)

+ 3 - 4
midipins/__init__.py

@@ -38,7 +38,7 @@ class PitchWheel():
     def poll(self, cb=None):
         val = self.value()
         if val != None:
-            if DEBUG != 1 and cb != None:
+            if cb != None:
                 cb(val)
 
 class StatePin():
@@ -55,7 +55,6 @@ class StatePin():
             self.state = val
             if DEBUG == 1:
                 print(self, val)
-            else:
-                if cb != None:
-                    cb(val)
+            if cb != None:
+                cb(val)