Subversion Repositories svn.mios

Rev

Rev 1200 | Blame | Compare with Previous | Last modification | View Log | RSS feed

HEADER 3 MIOS32 C Interface

<P CLASS=INFO>TODO: describe software architecture<P>

<H2>Toolchain</H2>

<P CLASS=INFO>Informations about the precompiled gcc toolchain and installation instructions can be found on following Wiki pages:
<UL CLASS=CL>
  <LI><A HREF="http://www.midibox.org/dokuwiki/doku.php?id=windows_mios32_toolchain_core" TARGET="_blank">Windows</A>
  <LI><A HREF="http://www.midibox.org/dokuwiki/doku.php?id=macos_mios32_toolchain_core" TARGET="_blank">MacOS</A>
  <LI><A HREF="http://www.midibox.org/dokuwiki/doku.php?id=linux_mios32_toolchain_core" TARGET="_blank">Linux</A>
</UL>
</P>

<H2>Tutorials</H2>

<UL CLASS=CL>
 
<TABLE CLASS=BOX WIDTH="100%" ALIGN=CENTER BORDER CELLSPACING=2 CELLPADDING=3 >

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F001_forwarding_midi%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F001_forwarding_midi%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#001: Forwarding MIDI Events</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F002_parsing_midi%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F002_parsing_midi%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#002: Parsing MIDI Events</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F003_debug_messages%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F003_debug_messages%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#003: Debug Message</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F004_sending_midi%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F004_sending_midi%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#004: Sending MIDI</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F005_polling_j5_pins%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F005_polling_j5_pins%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#005: Polling J5 Pins</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F006_rtos_tasks%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F006_rtos_tasks%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#006: Usage of RTOS Tasks</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F007_mios32_timer%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F007_mios32_timer%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#007: MIOS32 Timer</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F008_j5_outputs%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F008_j5_outputs%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#008: J5 Outputs</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F009_dout%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F009_dout%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#009: Controlling up to 128 LEDs with DOUTX4 Modules</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F010_din%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F010_din%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#010: Scanning up to 128 buttons connected to DINX4 Modules</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F011_ain%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F011_ain%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#011: Scanning 12 analog pots</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F012b_ainser_muxed%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F012b_ainser_muxed%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#012b: Scanning up to 64 analog pots (or even more)</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F013_mf%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F013_mf%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#013: Controlling Motorfaders</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F014_enc_relative%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F014_enc_relative%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#014: Sending relative MIDI events with rotary encoders</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F014b_enc_j5_relative%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F014b_enc_j5_relative%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#014b: Sending relative MIDI events with rotary encoders connected to J5</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F015_enc_absolute%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F015_enc_absolute%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#015: Sending absolute MIDI events with rotary encoders</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F015b_enc_j5_absolute%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F015b_enc_j5_absolute%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#015b: Sending absolute MIDI events with rotary encoders connected to J5</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F016_aout%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F016_aout%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#016: Using AOUTs and a Notestack</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F017_sequencer%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F017_sequencer%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#017: A simple Sequencer</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F018_arpeggiator%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F018_arpeggiator%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#018: A simple Arpeggiator</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F019_midi_player%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F019_midi_player%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#019: A MIDI Player plays from SD Card</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F020_lcd%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F020_lcd%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#020: LCD Output</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F021_glcd%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F021_glcd%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#021: Graphical LCD Output</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F022_glcd_touchpanel%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F022_glcd_touchpanel%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#022: Graphical LCD with Touchpanel</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F023_mutex%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F023_mutex%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#023: Exclusive access to LCD device (using a Mutex)</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F024_i2s_synth%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F024_i2s_synth%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#024: I2S Synthesizer</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F025_sysex_and_eeprom%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F025_sysex_and_eeprom%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#025: SysEx Parser and EEPROM Emulation</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F026_dpot%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F026_dpot%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#026: Digital potentiometers</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F027_scs%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F027_scs%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#027: Standard Control Surface</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F028_osc%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F028_osc%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#028: Simple OSC Server and Client</SPAN></TD>
  </TR>

  <TR>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F029_keyboard_velocity%2FREADME.txt">README</A></SPAN></TD>
    <TD WIDTH=30><SPAN CLASS=BIG><A HREF="http://svnmios.midibox.org/listing.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Ftutorials%2F029_keyboard_velocity%2F">CODE</A></SPAN></TD>
    <TD><SPAN CLASS=NORM>#029: Fast Scan Matrix for velocity sensitive Keyboard</SPAN></TD>
  </TR>


</TABLE>


<H2>MIOS32 Flowchart</H2>

<center><a href="mios32/mios32_flowchart.png"><img src="mios32/mios32_flowchart.png" width="550"></a></center>

<H2>Doxygen Doc</H2>
<P CLASS=DESC>An automatically generated documentation about the APIs is available under: <A HREF="http://midibox.org/mios32/manual" TARGET="_blank">http://midibox.org/mios32/manual</A></P>

FOOTER