# modules/midi_router/midi_router.c File Reference

`#include <mios32.h>`
`#include <string.h>`
`#include <osc_client.h>`
`#include "app.h"`
`#include "tasks.h"`
`#include "midi_router.h"`
`#include "midi_port.h"`

## Defines
#define | NUM_SYSEX_BUFFERS (MIDI_PORT_NUM_IN_PORTS-1)
## Functions
s32 | MIDI_ROUTER_Init (u32 mode)
s32 | MIDI_ROUTER_Receive (mios32_midi_port_t port, mios32_midi_package_t midi_package)
s32 | MIDI_ROUTER_ReceiveSysEx (mios32_midi_port_t port, u8 midi_in)
s32 | MIDI_ROUTER_MIDIClockInGet (mios32_midi_port_t port)
s32 | MIDI_ROUTER_MIDIClockInSet (mios32_midi_port_t port, u8 enable)
s32 | MIDI_ROUTER_MIDIClockOutGet (mios32_midi_port_t port)
s32 | MIDI_ROUTER_MIDIClockOutSet (mios32_midi_port_t port, u8 enable)
s32 | MIDI_ROUTER_SendMIDIClockEvent (u8 evnt0, u32 bpm_tick)
s32 | MIDI_ROUTER_TerminalHelp (void *_output_function)
s32 | MIDI_ROUTER_TerminalParseLine (char *input, void *_output_function)
s32 | MIDI_ROUTER_TerminalPrintConfig (void *_output_function)
## Variables
midi_router_node_entry_t | midi_router_node [MIDI_ROUTER_NUM_NODES]
u32 | midi_router_mclk_in
u32 | midi_router_mclk_out

## Define Documentation

#define NUM_SYSEX_BUFFERS (MIDI_PORT_NUM_IN_PORTS-1)

## Function Documentation

s32 MIDI_ROUTER_Init | ( | u32 | mode | ) |

s32 MIDI_ROUTER_MIDIClockInGet | ( | mios32_midi_port_t | port | ) |

s32 MIDI_ROUTER_MIDIClockInSet | ( | mios32_midi_port_t | port,
|  | u8 | enable |
| ) |  |  |

s32 MIDI_ROUTER_MIDIClockOutGet | ( | mios32_midi_port_t | port | ) |

s32 MIDI_ROUTER_MIDIClockOutSet | ( | mios32_midi_port_t | port,
|  | u8 | enable |
| ) |  |  |

s32 MIDI_ROUTER_Receive | ( | mios32_midi_port_t | port,
|  | mios32_midi_package_t | midi_package |
| ) |  |  |

Here is the call graph for this function:

s32 MIDI_ROUTER_ReceiveSysEx | ( | mios32_midi_port_t | port,
|  | u8 | midi_in |
| ) |  |  |

Here is the call graph for this function:

s32 MIDI_ROUTER_SendMIDIClockEvent | ( | u8 | evnt0,
|  | u32 | bpm_tick |
| ) |  |  |

Here is the call graph for this function:

s32 MIDI_ROUTER_TerminalHelp | ( | void * | _output_function | ) |

s32 MIDI_ROUTER_TerminalParseLine | ( | char * | input,
|  | void * | _output_function |
| ) |  |  |

Here is the call graph for this function:

s32 MIDI_ROUTER_TerminalPrintConfig | ( | void * | _output_function | ) |

Here is the call graph for this function:

## Variable Documentation

u32 midi_router_mclk_in

u32 midi_router_mclk_out

midi_router_node_entry_t midi_router_node[MIDI_ROUTER_NUM_NODES]

Initial value:

     {

      { USB0,  0, UART0, 17 },
      { USB0,  0, UART0, 17 },
      { USB0,  0, UART0, 17 },
      { USB0,  0, UART0, 17 },
      { USB0,  0, UART0, 17 },
      { USB0,  0, UART0, 17 },
      { USB0,  0, UART0, 17 },
      { USB0,  0, UART0, 17 },
      { USB0,  0, UART0, 17 },
      { USB0,  0, UART0, 17 },
      { USB0,  0, UART0, 17 },
      { USB0,  0, UART0, 17 },
      { USB0,  0, UART0, 17 },
      { USB0,  0, UART0, 17 },
      { USB0,  0, UART0, 17 },
      { USB0,  0, UART0, 17 },
    }