Source selection buttons and rotary

MCP23017

Source select at startup

This requires the use of the MCP23017. When the MCP23017 (with address=0x00) is detected at startup, then the source selection by means of external input is enabled.

When source=systime and auto_start=1 (see configuration), then the source select is bypassed.
  1. A rotary encoder can be used for selecting the source.
  2. Two buttons <LEFT>/<RIGHT> can be used for selecting the source. Mapping on the rotary encoder behavior:
    • <LEFT>= CCW
    • <RIGHT>=CW
When the appropriate source is selected, then the <SELECT> button must be pressed.

Up to 8 led's can be used for showing the selection. The selection is also showed on all other supported displays.

The mapping for the buttons/rotary encoder is as following:
  • GPA0 -> Rotary encoder Pin A
  • GPA1 -> Rotary encoder Pin B
  • GPA2 -> Button <SELECT>
  • GPA3 -> Button <LEFT>
  • GPA4 -> Button <RIGHT>
  • GPA5 -> Button <START>
  • GPA6 -> Button <STOP>
  • GPA7 -> Button <RESUME>/<RESET>
The GPA pins are active low (connecting the other side of the button to ground).

The source select led's are mapped as following:
  • GPB0 -> led0 [source=ltc]
  • GPB1 -> led1 [source=artnet]
  • GPB2 -> led2 [source=midi]
  • GPB3 -> led3 [source=tcnet]
  • GPB4 -> led4 [source=internal]
  • GPB5 -> led5 [source=rtpmidi]
  • GPB6 -> led6 [source=systime]
  • GPB7 -> led7 - currently not used
The MCP23017 INTA must be connected to GPIO7 (pin 12).

Using the rotary for setting Start/Stop time

When in source select and Internal is selected then press <START> for changing the Start time and/or Frame rate. With pressing <START> there is toggle between editing the Start time and Frame rate.

With <LEFT>/<RIGHT> the cursor can be moved in the Start time. Then with the rotary encoder you can change the digit/tens.

Press <SELECT> for activating the selected/updated Start time and/or Frame rate.

Press <RESUME> for getting out of editing mode.

Skip Forward and Backward

After <STOP> is pressed or triggered, then with buttons <LEFT> or <RIGHT> the seconds are skipped as defined with skip_seconds=.
Comments