]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
Added "CW speed" in MIDI and updated MIDI documentation
authorDL1YCF <dl1ycf@darc.de>
Thu, 21 Nov 2019 09:08:37 +0000 (10:08 +0100)
committerDL1YCF <dl1ycf@darc.de>
Thu, 21 Nov 2019 09:08:37 +0000 (10:08 +0100)
midi.h
midi2.c
midi3.c
release/documentation/MIDI-manual.odt
release/documentation/MIDI-manual.pdf

diff --git a/midi.h b/midi.h
index 8d10ab9d2df358c2e44a5d27d4b1b79a72b168bb..999bc0fdcd89d9cbe3a5671486a1f94921fd00c9 100644 (file)
--- a/midi.h
+++ b/midi.h
@@ -61,6 +61,7 @@ enum MIDIaction {
   VFO,                 // CURRVFO:             change VFO frequency
   CWL,                 // CWL:                 Left paddle pressed (use with ONOFF)
   CWR,                 // CWR:                 Right paddle pressed (use with ONOFF)
+  CWSPEED,             // CWSPEED:             Set speed of (iambic) CW keyer
   MIDI_DUP,            // DUP:                 toggle duplex on/off
   FILTER_DOWN,         // FILTERDOWN:          cycle through filters downwards
   FILTER_UP,           // FILTERUP:            cycle through filters upwards
diff --git a/midi2.c b/midi2.c
index e1ba4959aed6eb2418e51a3161b1abef8d0d332b..ce2426541c1a1d26f8101f180b5329b746b290df 100644 (file)
--- a/midi2.c
+++ b/midi2.c
@@ -114,6 +114,7 @@ static struct {
        { VFO,                  "CURRVFO"},
        { CWL,                  "CWL"},
        { CWR,                  "CWR"},
+       { CWSPEED,              "CWSPEED"},
        { MIDI_DUP,             "DUP"},
         { FILTER_DOWN,         "FILTERDOWN"},
         { FILTER_UP,           "FILTERUP"},
diff --git a/midi3.c b/midi3.c
index 80dc87eea7bef1b31f16bd8949b5a2d27f7d011d..45df600e97164294b7d28a93f82e22244a710e54 100644 (file)
--- a/midi3.c
+++ b/midi3.c
@@ -207,6 +207,31 @@ void DoTheMidi(enum MIDIaction action, enum MIDItype type, int val) {
            }
 #endif
            break;
+       /////////////////////////////////////////////////////////// "CWSPEED"
+       case CWSPEED: // knob or wheel
+            switch (type) {
+              case MIDI_KNOB:
+               // speed between 5 and 35 wpm
+                new= (int) (5.0 + (double) val * 0.3);
+                break;
+              case MIDI_WHEEL:
+               // here we allow from 1 to 60 wpm
+                new = cw_keyer_speed + val;
+               if (new <  1) new=1;
+               if (new > 60) new=60;
+                break;
+              default:
+                // do not change
+                // we should not come here anyway
+                new = cw_keyer_speed;
+                break;
+            }
+           cw_keyer_speed=new;
+#ifdef LOCALCW
+           keyer_update();
+#endif
+            g_idle_add(ext_vfo_update, NULL);
+           break;
        /////////////////////////////////////////////////////////// "DUP"
         case MIDI_DUP:
             if(duplex) {
index 6d3868e93d72912ce70a5d49a26788a0903a4d7b..b311ae29bbad7f520a66521fe8490f6680bc85d2 100644 (file)
Binary files a/release/documentation/MIDI-manual.odt and b/release/documentation/MIDI-manual.odt differ
index 9149d49b397657215bfca4898f9e676f81b9a961..ad97f112382b33e0c9e16ba758c7ec617fb31908 100644 (file)
Binary files a/release/documentation/MIDI-manual.pdf and b/release/documentation/MIDI-manual.pdf differ