Subversion Repositories svn.mios

Rev

Rev 1200 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1200 Rev 1228
Line 560... Line 560...
560
        will just dump the current values without a load operation.
560
        will just dump the current values without a load operation.
561
561
562
        <LI><I>RetrieveAinValues</I>: the values of AIN EVENTs will be updated according to the current analog values (pot positions)
562
        <LI><I>RetrieveAinValues</I>: the values of AIN EVENTs will be updated according to the current analog values (pot positions)
563
        <LI><I>RetrieveAinserValues</I>: the values of AINSER EVENTs will be updated according to the current analog values (pot positions)
563
        <LI><I>RetrieveAinserValues</I>: the values of AINSER EVENTs will be updated according to the current analog values (pot positions)
564
564
565
        <LI><I>EncFast</I>: speeds up encoder movements according to the EVENT value. E.g. if <I>meta=EncFast range=0:5</I> is assigned to a BUTTON_EVENT, encoders will increment 5 times faster if the button is pressed.
565
        <LI><I>EncFast</I>: speeds up encoder movements according to the EVENT value. E.g. if <I>meta=EncFast:1 range=0:5</I> is assigned to a BUTTON_EVENT, encoder #1 will increment 5 times faster if the button is pressed.
566
566
567
        <LI><I>MidiLearn</I>: can be used to enable MIDI Learn mode from a dedicated button (instead of the <A HREF="midibox_ng_manual_scs.html">SCS</A>).<BR>
567
        <LI><I>MidiLearn</I>: can be used to enable MIDI Learn mode from a dedicated button (instead of the <A HREF="midibox_ng_manual_scs.html">SCS</A>).<BR>
568
        E.g. if <I>meta=MidiLearn range=0:1</I> is assigned to a BUTTON_EVENT, Learn Mode will be enabled when the button is pressed, and disabled once it has been released.<BR>
568
        E.g. if <I>meta=MidiLearn range=0:1</I> is assigned to a BUTTON_EVENT, Learn Mode will be enabled when the button is pressed, and disabled once it has been released.<BR>
569
        With <I>meta=MidiLearn range=0:2</I> NRPNs can be learned as well - in the case, CC#6/38/98/99 will be transformed into a NRPN event.
569
        With <I>meta=MidiLearn range=0:2</I> NRPNs can be learned as well - in the case, CC#6/38/98/99 will be transformed into a NRPN event.
570
        <LI><I>UpdateLcd</I>: allows to force a refresh of the complete LCD content.<BR>
570
        <LI><I>UpdateLcd</I>: allows to force a refresh of the complete LCD content.<BR>
Line 947... Line 947...
947
    <TD CLASS=TABCOLOR2>Expects a 16bit binary value (0|1) to select the MIDI ports over which the event should send and receive:
947
    <TD CLASS=TABCOLOR2>Expects a 16bit binary value (0|1) to select the MIDI ports over which the event should send and receive:
948
       <UL CLASS=CL>
948
       <UL CLASS=CL>
949
          <LI>the first 4 digits enable/disable USB1..USB4
949
          <LI>the first 4 digits enable/disable USB1..USB4
950
          <LI>the next 4 digits enable/disable MIDI1..MIDI4
950
          <LI>the next 4 digits enable/disable MIDI1..MIDI4
951
          <LI>the next 4 digits are reserved, don't use!
951
          <LI>the next 4 digits are reserved, don't use!
952
          <LI>the last 4 digits enable/disable OSC1..OSC4
952
          <LI>the next 4 digits enable/disable OSC1..OSC4
-
 
953
          <LI>the last 4 digits enable/disable SPI1..SPI4 (requires that the spi_midi flag has been enabled in the <A HREF="mios32_bootstrap_newbies.html">MIOS32 Bootloader configuration</A>.
953
       </UL>
954
       </UL>
954
       Example: following binary value (which is the default value)
955
       Example: following binary value (which is the default value)
955
<TT><PRE style="margin-left:50px; font-size:8pt">ports=1000100000001000</PRE></TT>
956
<TT><PRE style="margin-left:50px; font-size:8pt">ports=10001000000010000000</PRE></TT>
956
       will enable USB1, MIDI1 (IN1 and OUT1) and OSC1, and following binary:
957
       will enable USB1, MIDI1 (IN1 and OUT1) and OSC1, and following binary:
957
<TT><PRE style="margin-left:50px; font-size:8pt">ports=0000110000000000</PRE></TT>
958
<TT><PRE style="margin-left:50px; font-size:8pt">ports=00001100000000000000</PRE></TT>
958
       will only enable MIDI1 and MIDI2
959
       will only enable MIDI1 and MIDI2
-
 
960
<TT><PRE style="margin-left:50px; font-size:8pt">ports=00000000000000001000</PRE></TT>
-
 
961
       will enable SPI1
959
    </TD>
962
    </TD>
960
  </TR>
963
  </TR>
961
964
962
  <TR>
965
  <TR>
963
    <TD CLASS=TABCOLOR2 WIDTH=150><I>lcd_pos=&lt;lcd&gt;:&lt;X&gt;:&lt;Y&gt;</I></TD>
966
    <TD CLASS=TABCOLOR2 WIDTH=150><I>lcd_pos=&lt;lcd&gt;:&lt;X&gt;:&lt;Y&gt;</I></TD>
Line 1050... Line 1053...
1050
<TT><PRE style="margin-left:50px; font-size:8pt; font-size:8pt">
1053
<TT><PRE style="margin-left:50px; font-size:8pt; font-size:8pt">
1051
EVENT_ENC    id=  1  fwd_id=LED_MATRIX:1  fwd_to_lcd=1 \
1054
EVENT_ENC    id=  1  fwd_id=LED_MATRIX:1  fwd_to_lcd=1 \
1052
                     type=CC chn= 1 cc= 16  range=map1  lcd_pos=1:1:1  label="^std_enc"
1055
                     type=CC chn= 1 cc= 16  range=map1  lcd_pos=1:1:1  label="^std_enc"
1053
</PRE></TT>
1056
</PRE></TT>
1054
1057
-
 
1058
<P CLASS=DESC>Up to 255 maps can be defined (<I>MAP1</I> .. <I>MAP255</I>).
-
 
1059
-
 
1060
Four different types are available:
-
 
1061
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=5 CELLPADDING=0>
-
 
1062
  <TR>
-
 
1063
    <TH WIDTH=150>MAP</TD>
-
 
1064
    <TH>Description</TD>
-
 
1065
  </TR>
-
 
1066
  <TR>
-
 
1067
    <TD CLASS=TABCOLOR2 WIDTH=150><I>MAP&lt;n&gt; or MAP&lt;n&gt;/BYTE</I></TD>
-
 
1068
    <TD CLASS=TABCOLOR2>Up to 128 values can be specified, the value range is 0..255 (8bit)<BR>
-
 
1069
Example:
-
 
1070
<TT><PRE style="margin-left:50px; font-size:8pt">
-
 
1071
MAP1/BYTE 1 2 4 8 32 64
-
 
1072
</PRE></TT>
-
 
1073
</TD>
-
 
1074
  </TR>
-
 
1075
  <TR>
-
 
1076
    <TD CLASS=TABCOLOR2 WIDTH=150><I>MAP&lt;n&gt;/HWORD</I></TD>
-
 
1077
    <TD CLASS=TABCOLOR2>Up to 64 values can be specified, the value range is 0..16383 (16bit)<BR>
-
 
1078
Example:
-
 
1079
<TT><PRE style="margin-left:50px; font-size:8pt">
-
 
1080
MAP1/HWORD 1 2 4 8 32 64 128 256 512 1024 4096 8192
-
 
1081
</PRE></TT>
-
 
1082
</TD>
-
 
1083
  </TR>
-
 
1084
  <TR>
-
 
1085
    <TD CLASS=TABCOLOR2 WIDTH=150><I>MAP&lt;n&gt;/BYTEI</I></TD>
1055
<P CLASS=DESC>Up to 255 maps can be defined (<I>MAP1</I> .. <I>MAP255</I>), each map can specify up to 128 values, the value range is 0..255 (8bit)
1086
    <TD CLASS=TABCOLOR2>Applies linear interpolation between data points. This allows to quickly define curves without the need to enter the values for the complete range. E.g. with MAP/BYTE it is required to enter 128 values to create a curve for a CC controller, with MAP/BYTEI it's mostly sufficient to define the same with 3..4 data points. MBNG will interpolate the values between these points. Up to 64 datapoints can be specified, the value range is 0..255 (8bit).<BR>
-
 
1087
Example:
-
 
1088
<TT><PRE style="margin-left:50px; font-size:8pt">
-
 
1089
# using an interpolation map to define the velocity curve
-
 
1090
MAP1/BYTEI  0:0  64:30  96:80  127:127
-
 
1091
</PRE></TT>
-
 
1092
</TD>
-
 
1093
  </TR>
-
 
1094
  <TR>
-
 
1095
    <TD CLASS=TABCOLOR2 WIDTH=150><I>MAP&lt;n&gt;/HWORDI</I></TD>
-
 
1096
    <TD CLASS=TABCOLOR2>Applies linear interpolation between data points. Up to 32 datapoints can be specified, the value range is 0..65535 (16bit).<BR>
-
 
1097
Example:
-
 
1098
<TT><PRE style="margin-left:50px; font-size:8pt">
-
 
1099
# pot is working at 12bit resolution (0..4095)
-
 
1100
# 0..2048 should send CC value 127..0 downwards,
-
 
1101
# and 2049..4095 (the second half) should send 0..127 upwards.
-
 
1102
MAP1/HWORDI 0:127  2048:0    4095:127
-
 
1103
</PRE></TT>
-
 
1104
</TD>
-
 
1105
  </TR>
-
 
1106
</TABLE>
-
 
1107
1056
1108
1057
<P CLASS=DESC>The various control elements use maps the following way:
1109
<P CLASS=DESC>The various control elements use maps the following way:
1058
<UL CLASS=CL>
1110
<UL CLASS=CL>
1059
  <LI><I>EVENT_ENC</I>: send a mapped value with <I>enc_mode=Absolute</I> - <A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fmapenc.ngc" TARGET="_blank">configuration example</A>
1111
  <LI><I>EVENT_ENC</I>: send a mapped value with <I>enc_mode=Absolute</I> - <A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fmapenc.ngc" TARGET="_blank">configuration example</A>
1060
  <LI><I>EVENT_AIN</I> and <I>EVENT_AINSER</I>: send a mapped value - <A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fmapain.ngc" TARGET="_blank">configuration example</A>
1112
  <LI><I>EVENT_AIN</I> and <I>EVENT_AINSER</I>: send a mapped value - <A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fmapain.ngc" TARGET="_blank">configuration example</A>
1061
  <LI><I>EVENT_MF</I>: send a mapped value - <A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fmapmf.ngc" TARGET="_blank">configuration example</A>
1113
  <LI><I>EVENT_MF</I>: send a mapped value - <A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fmapmf.ngc" TARGET="_blank">configuration example</A>
1062
  <LI><I>EVENT_BUTTON</I>: with <I>button_mode=Toggle</I> a single button can cycle between the map values - <A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fmapbtn.ngc" TARGET="_blank">configuration example</A>
1114
  <LI><I>EVENT_BUTTON</I>: with <I>button_mode=Toggle</I> a single button can cycle between the map values - <A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fmapbtn.ngc" TARGET="_blank">configuration example</A>
1063
  <LI><I>EVENT_SENDER</I> and <I>EVENT_RECEIVER</I>: the sent/received value will be mapped - <A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fmapmidi.ngc" TARGET="_blank">configuration example</A>
1115
  <LI><I>EVENT_SENDER</I> and <I>EVENT_RECEIVER</I>: the sent/received value will be mapped - <A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Fmapmidi.ngc" TARGET="_blank">configuration example</A>
1064
</UL>
1116
</UL>
1065
-
 
1066
<P CLASS=DESC>Other EVENTs don't support mapped ranges yet. It could make sense for EVENT_CV to map output voltages (problem: maps only work at 8bit resolution), or for EVENT_BUTTON_MATRIX to map a Note key - this could be provided in future versions.</P>
-
 
1067
1117
1068
1118
1069
<H2> <IMG SRC="images/bullet.gif" ALT=""> SYSEX_VAR </H2>
1119
<H2> <IMG SRC="images/bullet.gif" ALT=""> SYSEX_VAR </H2>
1070
1120
1071
<P CLASS=DESC>This command specifies the default values of various SysEx variables, which are available for <I>EVENT_* stream="..."</I>:
1121
<P CLASS=DESC>This command specifies the default values of various SysEx variables, which are available for <I>EVENT_* stream="..."</I>:
Line 1390... Line 1440...
1390
    <TD CLASS=TABCOLOR2 WIDTH=150><I>num_sr=&lt;1..32&gt;</I></TD>
1440
    <TD CLASS=TABCOLOR2 WIDTH=150><I>num_sr=&lt;1..32&gt;</I></TD>
1391
    <TD CLASS=TABCOLOR2>By default 32 DIN and DOUT shift registers are scanned, which result into an update rate of ca. 420 uS on a STM32F4 based core.<BR>
1441
    <TD CLASS=TABCOLOR2>By default 32 DIN and DOUT shift registers are scanned, which result into an update rate of ca. 420 uS on a STM32F4 based core.<BR>
1392
    With (for example) <I>SRIO sr_num=8</I> only up to 8 DIN and 8 DOUT SRs will be scanned anymore, but the update rate is reduced to ca. 110..120 uS (a little bit more than a quarter due to SR handling overhead).</TD>
1442
    With (for example) <I>SRIO sr_num=8</I> only up to 8 DIN and 8 DOUT SRs will be scanned anymore, but the update rate is reduced to ca. 110..120 uS (a little bit more than a quarter due to SR handling overhead).</TD>
1393
  </TR>
1443
  </TR>
1394
  <TR>
1444
  <TR>
1395
    <TD CLASS=TABCOLOR2 WIDTH=150><I>debounce_cycles=&lt;0..255&gt;</I></TD>
1445
    <TD CLASS=TABCOLOR2 WIDTH=150><I>debounce_cycles=&lt;0..65535&gt;</I></TD>
1396
    <TD CLASS=TABCOLOR2>This command allows to enable a debouncing mechanism for digital inputs (buttons). The number specifies the dead time in SRIO cycles at which button events will be rejected.<BR>
1446
    <TD CLASS=TABCOLOR2>This command allows to enable a debouncing mechanism for digital inputs (buttons). The number specifies the dead time in SRIO cycles at which button events will be rejected.<BR>
1397
The time of a SRIO cycle depends on the num_sr configuration, typically it's around 420 uS for 32 SRs, which means that with debounce_cycles=20 the debouncing dead time is 8.4 mS.</TD>
1447
The time of a SRIO cycle depends on the num_sr configuration, typically it's around 420 uS for 32 SRs, which means that with debounce_cycles=20 the debouncing dead time is 8.4 mS.</TD>
1398
  </TR>
1448
  </TR>
1399
</TABLE>
1449
</TABLE>
1400
1450