mirror of
https://github.com/esp8266/Arduino.git
synced 2025-07-30 16:24:09 +03:00
Initial Arduino IDE based on Processing.
This commit is contained in:
48
build/shared/lib/avrlib/ccrma/midi.c
Executable file
48
build/shared/lib/avrlib/ccrma/midi.c
Executable file
@ -0,0 +1,48 @@
|
||||
// Midi.c
|
||||
//
|
||||
// Midi output routines for the atmel atmega163 (and others)
|
||||
//
|
||||
// depends on avrlib for buffer
|
||||
//
|
||||
|
||||
#include "uart.h"
|
||||
#include "midi.h"
|
||||
#include "debug.h"
|
||||
|
||||
|
||||
void midiInit() {
|
||||
uartInit();
|
||||
uartSetBaudRate(MIDI_BAUD_RATE);
|
||||
}
|
||||
|
||||
u08 midiNoteOnOut(u08 note, u08 vel, u08 channel) {
|
||||
uartSendByte(MIDI_NOTE_ON | (channel & MIDI_CHANNEL_MASK));
|
||||
uartSendByte(MIDI_DATA_MASK & note);
|
||||
uartSendByte(MIDI_DATA_MASK & vel);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
u08 midiNoteOffOut(u08 note, u08 vel, u08 channel) {
|
||||
uartSendByte(MIDI_NOTE_OFF | (channel & MIDI_CHANNEL_MASK));
|
||||
uartSendByte(MIDI_DATA_MASK & note);
|
||||
uartSendByte(MIDI_DATA_MASK & vel);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
u08 midiControlChangeOut(u08 controller, u08 value, u08 channel) {
|
||||
uartSendByte(MIDI_CONTROL_CHANGE | (channel & MIDI_CHANNEL_MASK));
|
||||
uartSendByte(MIDI_DATA_MASK & controller);
|
||||
uartSendByte(MIDI_DATA_MASK & value);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
u08 midiProgramChangeOut(u08 program, u08 channel) {
|
||||
uartSendByte(MIDI_PROGRAM_CHANGE | (channel & MIDI_CHANNEL_MASK));
|
||||
uartSendByte(MIDI_DATA_MASK & program);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user