Program for Nucleo Board / DMX and MIDI protocols
Dependencies: DMX_MIDI
main.cpp@1:a4b894352be1, 2022-03-01 (annotated)
- Committer:
- villemejane
- Date:
- Tue Mar 01 08:33:38 2022 +0000
- Revision:
- 1:a4b894352be1
- Parent:
- 0:32bfc984f2f7
Program for Nucleo Board / DMX and MIDI protocols
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
villemejane | 0:32bfc984f2f7 | 1 | /****************************************************************************/ |
villemejane | 0:32bfc984f2f7 | 2 | /* Test DMX512 + MOD-24LR / nrf24L01 */ |
villemejane | 0:32bfc984f2f7 | 3 | /****************************************************************************/ |
villemejane | 0:32bfc984f2f7 | 4 | /* LEnsE / Julien VILLEMEJANE / Institut d'Optique Graduate School */ |
villemejane | 0:32bfc984f2f7 | 5 | /****************************************************************************/ |
villemejane | 0:32bfc984f2f7 | 6 | /* Brochage */ |
villemejane | 0:32bfc984f2f7 | 7 | /* TO COMPLETE */ |
villemejane | 0:32bfc984f2f7 | 8 | /****************************************************************************/ |
villemejane | 0:32bfc984f2f7 | 9 | /* Test réalisé sur Nucléo-L476RG */ |
villemejane | 0:32bfc984f2f7 | 10 | /****************************************************************************/ |
villemejane | 0:32bfc984f2f7 | 11 | |
villemejane | 0:32bfc984f2f7 | 12 | #include "mbed.h" |
villemejane | 0:32bfc984f2f7 | 13 | #include "DMX_MIDI.h" |
villemejane | 0:32bfc984f2f7 | 14 | #include "projecteurs.h" |
villemejane | 0:32bfc984f2f7 | 15 | #include "controleurs.h" |
villemejane | 0:32bfc984f2f7 | 16 | |
villemejane | 0:32bfc984f2f7 | 17 | Serial debug_pc(USBTX, USBRX); |
villemejane | 0:32bfc984f2f7 | 18 | InterruptIn bp_int(USER_BUTTON); |
villemejane | 0:32bfc984f2f7 | 19 | DigitalOut debug_out(D13); |
villemejane | 0:32bfc984f2f7 | 20 | |
villemejane | 0:32bfc984f2f7 | 21 | // Main |
villemejane | 0:32bfc984f2f7 | 22 | int main() { |
villemejane | 0:32bfc984f2f7 | 23 | debug_pc.baud(115200); |
villemejane | 0:32bfc984f2f7 | 24 | debug_pc.printf("Test\r\n"); |
villemejane | 0:32bfc984f2f7 | 25 | |
villemejane | 0:32bfc984f2f7 | 26 | // Initialisation périphériques |
villemejane | 0:32bfc984f2f7 | 27 | initDMX(); |
villemejane | 0:32bfc984f2f7 | 28 | initMIDI(); |
villemejane | 0:32bfc984f2f7 | 29 | //initMIDI2(); |
villemejane | 0:32bfc984f2f7 | 30 | //initProjectors(); |
villemejane | 0:32bfc984f2f7 | 31 | //initController(); |
villemejane | 0:32bfc984f2f7 | 32 | |
villemejane | 0:32bfc984f2f7 | 33 | dmx_data[0] = 0; |
villemejane | 0:32bfc984f2f7 | 34 | dmx_data[3] = 255; |
villemejane | 0:32bfc984f2f7 | 35 | dmx_data[4] = 255; |
villemejane | 0:32bfc984f2f7 | 36 | dmx_data[5] = 100; |
villemejane | 0:32bfc984f2f7 | 37 | dmx_data[6] = 50; |
villemejane | 0:32bfc984f2f7 | 38 | |
villemejane | 0:32bfc984f2f7 | 39 | while(1) { |
villemejane | 0:32bfc984f2f7 | 40 | /* MIDI */ |
villemejane | 0:32bfc984f2f7 | 41 | |
villemejane | 0:32bfc984f2f7 | 42 | if(isNoteMIDIdetected()){ |
villemejane | 0:32bfc984f2f7 | 43 | //updateProjFromMidi(note_data); |
villemejane | 0:32bfc984f2f7 | 44 | playNoteMIDI2(note_data, velocity_data); |
villemejane | 0:32bfc984f2f7 | 45 | if(note_data == 0x3C){ |
villemejane | 0:32bfc984f2f7 | 46 | dmx_data[4] = 2*velocity_data; |
villemejane | 0:32bfc984f2f7 | 47 | dmx_data[5] = 0; |
villemejane | 0:32bfc984f2f7 | 48 | dmx_data[6] = 0; |
villemejane | 0:32bfc984f2f7 | 49 | } |
villemejane | 0:32bfc984f2f7 | 50 | if(note_data == 0x3E){ |
villemejane | 0:32bfc984f2f7 | 51 | dmx_data[4] = 0; |
villemejane | 0:32bfc984f2f7 | 52 | dmx_data[5] = velocity_data; |
villemejane | 0:32bfc984f2f7 | 53 | dmx_data[6] = 0; |
villemejane | 0:32bfc984f2f7 | 54 | } |
villemejane | 0:32bfc984f2f7 | 55 | resetNoteMIDI(); |
villemejane | 0:32bfc984f2f7 | 56 | } |
villemejane | 0:32bfc984f2f7 | 57 | |
villemejane | 0:32bfc984f2f7 | 58 | if(isCCMIDIdetected()){ |
villemejane | 0:32bfc984f2f7 | 59 | playNoteMIDI2(control_ch,control_value); |
villemejane | 0:32bfc984f2f7 | 60 | if(control_ch == 1){ |
villemejane | 0:32bfc984f2f7 | 61 | dmx_data[4] = 2 * control_value; |
villemejane | 0:32bfc984f2f7 | 62 | dmx_data[12] = 2 * control_value; |
villemejane | 0:32bfc984f2f7 | 63 | } |
villemejane | 0:32bfc984f2f7 | 64 | resetCCMIDI(); |
villemejane | 0:32bfc984f2f7 | 65 | } |
villemejane | 0:32bfc984f2f7 | 66 | |
villemejane | 0:32bfc984f2f7 | 67 | updateDMX(); |
villemejane | 0:32bfc984f2f7 | 68 | wait_us(10000); |
villemejane | 0:32bfc984f2f7 | 69 | |
villemejane | 0:32bfc984f2f7 | 70 | } |
villemejane | 0:32bfc984f2f7 | 71 | } |
villemejane | 0:32bfc984f2f7 | 72 |