include/mios32/mios32_midi.h File Reference

Data Structures

union  mios32_midi_package_t

Defines

#define MIOS32_MIDI_DEFAULT_PORT   USB0
#define MIOS32_MIDI_DEBUG_PORT   USB0
#define MIOS32_MIDI_SYSEX_DEBUG   0x0d
#define MIOS32_MIDI_SYSEX_DISACK   0x0e
#define MIOS32_MIDI_SYSEX_ACK   0x0f
#define MIOS32_MIDI_SYSEX_DISACK_LESS_BYTES_THAN_EXP   0x01
#define MIOS32_MIDI_SYSEX_DISACK_MORE_BYTES_THAN_EXP   0x02
#define MIOS32_MIDI_SYSEX_DISACK_WRONG_CHECKSUM   0x03
#define MIOS32_MIDI_SYSEX_DISACK_WRITE_FAILED   0x04
#define MIOS32_MIDI_SYSEX_DISACK_WRITE_ACCESS   0x05
#define MIOS32_MIDI_SYSEX_DISACK_MIDI_TIMEOUT   0x06
#define MIOS32_MIDI_SYSEX_DISACK_WRONG_DEBUG_CMD   0x07
#define MIOS32_MIDI_SYSEX_DISACK_WRONG_ADDR_RANGE   0x08
#define MIOS32_MIDI_SYSEX_DISACK_ADDR_NOT_ALIGNED   0x09
#define MIOS32_MIDI_SYSEX_DISACK_BS_NOT_AVAILABLE   0x0a
#define MIOS32_MIDI_SYSEX_DISACK_OVERRUN   0x0b
#define MIOS32_MIDI_SYSEX_DISACK_FRAME_ERROR   0x0c
#define MIOS32_MIDI_SYSEX_DISACK_UNKNOWN_QUERY   0x0d
#define MIOS32_MIDI_SYSEX_DISACK_INVALID_COMMAND   0x0e
#define MIOS32_MIDI_SYSEX_DISACK_PROG_ID_NOT_ALLOWED   0x0f
#define MIOS32_MIDI_SYSEX_DISACK_UNSUPPORTED_DEBUG   0x10

Enumerations

enum  mios32_midi_port_t {
  DEFAULT = 0x00, MIDI_DEBUG = 0x01, USB0 = 0x10, USB1 = 0x11,
  USB2 = 0x12, USB3 = 0x13, USB4 = 0x14, USB5 = 0x15,
  USB6 = 0x16, USB7 = 0x17, UART0 = 0x20, UART1 = 0x21,
  UART2 = 0x22, UART3 = 0x23, IIC0 = 0x30, IIC1 = 0x31,
  IIC2 = 0x32, IIC3 = 0x33, IIC4 = 0x34, IIC5 = 0x35,
  IIC6 = 0x36, IIC7 = 0x37, OSC0 = 0x40, OSC1 = 0x41,
  OSC2 = 0x42, OSC3 = 0x43, OSC4 = 0x44, OSC5 = 0x45,
  OSC6 = 0x46, OSC7 = 0x47, SPIM0 = 0x50, SPIM1 = 0x51,
  SPIM2 = 0x52, SPIM3 = 0x53, SPIM4 = 0x54, SPIM5 = 0x55,
  SPIM6 = 0x56, SPIM7 = 0x57
}
enum  mios32_midi_event_t {
  NoteOff = 0x8, NoteOn = 0x9, PolyPressure = 0xa, CC = 0xb,
  ProgramChange = 0xc, Aftertouch = 0xd, PitchBend = 0xe
}
enum  mios32_midi_chn_t {
  Chn1, Chn2, Chn3, Chn4,
  Chn5, Chn6, Chn7, Chn8,
  Chn9, Chn10, Chn11, Chn12,
  Chn13, Chn14, Chn15, Chn16
}
enum  mios32_midi_sysex_cmd_state_t { MIOS32_MIDI_SYSEX_CMD_STATE_BEGIN, MIOS32_MIDI_SYSEX_CMD_STATE_CONT, MIOS32_MIDI_SYSEX_CMD_STATE_END }

Functions

s32 MIOS32_MIDI_Init (u32 mode)
s32 MIOS32_MIDI_CheckAvailable (mios32_midi_port_t port)
s32 MIOS32_MIDI_RS_OptimisationSet (mios32_midi_port_t port, u8 enable)
s32 MIOS32_MIDI_RS_OptimisationGet (mios32_midi_port_t port)
s32 MIOS32_MIDI_RS_Reset (mios32_midi_port_t port)
s32 MIOS32_MIDI_SendPackage_NonBlocking (mios32_midi_port_t port, mios32_midi_package_t package)
s32 MIOS32_MIDI_SendPackage (mios32_midi_port_t port, mios32_midi_package_t package)
s32 MIOS32_MIDI_SendEvent (mios32_midi_port_t port, u8 evnt0, u8 evnt1, u8 evnt2)
s32 MIOS32_MIDI_SendNoteOff (mios32_midi_port_t port, mios32_midi_chn_t chn, u8 note, u8 vel)
s32 MIOS32_MIDI_SendNoteOn (mios32_midi_port_t port, mios32_midi_chn_t chn, u8 note, u8 vel)
s32 MIOS32_MIDI_SendPolyPressure (mios32_midi_port_t port, mios32_midi_chn_t chn, u8 note, u8 val)
s32 MIOS32_MIDI_SendCC (mios32_midi_port_t port, mios32_midi_chn_t chn, u8 cc_number, u8 val)
s32 MIOS32_MIDI_SendProgramChange (mios32_midi_port_t port, mios32_midi_chn_t chn, u8 prg)
s32 MIOS32_MIDI_SendAftertouch (mios32_midi_port_t port, mios32_midi_chn_t chn, u8 val)
s32 MIOS32_MIDI_SendPitchBend (mios32_midi_port_t port, mios32_midi_chn_t chn, u16 val)
s32 MIOS32_MIDI_SendSysEx (mios32_midi_port_t port, u8 *stream, u32 count)
s32 MIOS32_MIDI_SendMTC (mios32_midi_port_t port, u8 val)
s32 MIOS32_MIDI_SendSongPosition (mios32_midi_port_t port, u16 val)
s32 MIOS32_MIDI_SendSongSelect (mios32_midi_port_t port, u8 val)
s32 MIOS32_MIDI_SendTuneRequest (mios32_midi_port_t port)
s32 MIOS32_MIDI_SendClock (mios32_midi_port_t port)
s32 MIOS32_MIDI_SendTick (mios32_midi_port_t port)
s32 MIOS32_MIDI_SendStart (mios32_midi_port_t port)
s32 MIOS32_MIDI_SendStop (mios32_midi_port_t port)
s32 MIOS32_MIDI_SendContinue (mios32_midi_port_t port)
s32 MIOS32_MIDI_SendActiveSense (mios32_midi_port_t port)
s32 MIOS32_MIDI_SendReset (mios32_midi_port_t port)
s32 MIOS32_MIDI_SendDebugStringHeader (mios32_midi_port_t port, char command, char first_byte)
s32 MIOS32_MIDI_SendDebugStringBody (mios32_midi_port_t port, char *str_from_second_byte, u32 len)
s32 MIOS32_MIDI_SendDebugStringFooter (mios32_midi_port_t port)
s32 MIOS32_MIDI_SendDebugMessage (const char *format,...)
s32 MIOS32_MIDI_SendDebugString (const char *str)
s32 MIOS32_MIDI_SendDebugHexDump (const u8 *src, u32 len)
s32 MIOS32_MIDI_ReceivePackage (mios32_midi_port_t port, mios32_midi_package_t package, void *_callback_package)
s32 MIOS32_MIDI_Receive_Handler (void *callback_event)
s32 MIOS32_MIDI_Periodic_mS (void)
s32 MIOS32_MIDI_DirectTxCallback_Init (s32(*callback_tx)(mios32_midi_port_t port, mios32_midi_package_t package))
s32 MIOS32_MIDI_DirectRxCallback_Init (s32(*callback_rx)(mios32_midi_port_t port, u8 midi_byte))
s32 MIOS32_MIDI_SendByteToRxCallback (mios32_midi_port_t port, u8 midi_byte)
s32 MIOS32_MIDI_SendPackageToRxCallback (mios32_midi_port_t port, mios32_midi_package_t midi_package)
s32 MIOS32_MIDI_DefaultPortSet (mios32_midi_port_t port)
mios32_midi_port_t MIOS32_MIDI_DefaultPortGet (void)
s32 MIOS32_MIDI_DebugPortSet (mios32_midi_port_t port)
mios32_midi_port_t MIOS32_MIDI_DebugPortGet (void)
s32 MIOS32_MIDI_DeviceIDSet (u8 device_id)
u8 MIOS32_MIDI_DeviceIDGet (void)
s32 MIOS32_MIDI_SysExCallback_Init (s32(*callback_sysex)(mios32_midi_port_t port, u8 sysex_byte))
s32 MIOS32_MIDI_DebugCommandCallback_Init (s32(*callback_debug_command)(mios32_midi_port_t port, char c))
s32 MIOS32_MIDI_FilebrowserCommandCallback_Init (s32(*callback_filebrowser_command)(mios32_midi_port_t port, char c))
s32 MIOS32_MIDI_TimeOutCallback_Init (s32(*callback_timeout)(mios32_midi_port_t port))

Variables

const u8 mios32_midi_pcktype_num_bytes [16]
const u8 mios32_midi_expected_bytes_common [8]
 Number if expected bytes for a common MIDI event - 1.
const u8 mios32_midi_expected_bytes_system [16]
 Number if expected bytes for a system MIDI event - 1.
const u8 mios32_midi_sysex_header [5]
 should only be used by MIOS32 internally and by the Bootloader!

Define Documentation

#define MIOS32_MIDI_DEBUG_PORT   USB0
#define MIOS32_MIDI_DEFAULT_PORT   USB0
#define MIOS32_MIDI_SYSEX_ACK   0x0f
#define MIOS32_MIDI_SYSEX_DEBUG   0x0d
#define MIOS32_MIDI_SYSEX_DISACK   0x0e
#define MIOS32_MIDI_SYSEX_DISACK_ADDR_NOT_ALIGNED   0x09
#define MIOS32_MIDI_SYSEX_DISACK_BS_NOT_AVAILABLE   0x0a
#define MIOS32_MIDI_SYSEX_DISACK_FRAME_ERROR   0x0c
#define MIOS32_MIDI_SYSEX_DISACK_INVALID_COMMAND   0x0e
#define MIOS32_MIDI_SYSEX_DISACK_LESS_BYTES_THAN_EXP   0x01
#define MIOS32_MIDI_SYSEX_DISACK_MIDI_TIMEOUT   0x06
#define MIOS32_MIDI_SYSEX_DISACK_MORE_BYTES_THAN_EXP   0x02
#define MIOS32_MIDI_SYSEX_DISACK_OVERRUN   0x0b
#define MIOS32_MIDI_SYSEX_DISACK_PROG_ID_NOT_ALLOWED   0x0f
#define MIOS32_MIDI_SYSEX_DISACK_UNKNOWN_QUERY   0x0d
#define MIOS32_MIDI_SYSEX_DISACK_UNSUPPORTED_DEBUG   0x10
#define MIOS32_MIDI_SYSEX_DISACK_WRITE_ACCESS   0x05
#define MIOS32_MIDI_SYSEX_DISACK_WRITE_FAILED   0x04
#define MIOS32_MIDI_SYSEX_DISACK_WRONG_ADDR_RANGE   0x08
#define MIOS32_MIDI_SYSEX_DISACK_WRONG_CHECKSUM   0x03
#define MIOS32_MIDI_SYSEX_DISACK_WRONG_DEBUG_CMD   0x07

Enumeration Type Documentation

Enumerator:
Chn1 
Chn2 
Chn3 
Chn4 
Chn5 
Chn6 
Chn7 
Chn8 
Chn9 
Chn10 
Chn11 
Chn12 
Chn13 
Chn14 
Chn15 
Chn16 
Enumerator:
NoteOff 
NoteOn 
PolyPressure 
CC 
ProgramChange 
Aftertouch 
PitchBend 
Enumerator:
DEFAULT 
MIDI_DEBUG 
USB0 
USB1 
USB2 
USB3 
USB4 
USB5 
USB6 
USB7 
UART0 
UART1 
UART2 
UART3 
IIC0 
IIC1 
IIC2 
IIC3 
IIC4 
IIC5 
IIC6 
IIC7 
OSC0 
OSC1 
OSC2 
OSC3 
OSC4 
OSC5 
OSC6 
OSC7 
SPIM0 
SPIM1 
SPIM2 
SPIM3 
SPIM4 
SPIM5 
SPIM6 
SPIM7 
Enumerator:
MIOS32_MIDI_SYSEX_CMD_STATE_BEGIN 
MIOS32_MIDI_SYSEX_CMD_STATE_CONT 
MIOS32_MIDI_SYSEX_CMD_STATE_END 

Function Documentation

s32 MIOS32_MIDI_SysExCallback_Init ( s32(*)(mios32_midi_port_t port, u8 sysex_byte)  callback_sysex  ) 

Generated on 22 Jan 2016 for MIOS32 by  doxygen 1.6.1