Program for Nucleo Board / DMX and MIDI protocols
Dependencies: DMX_MIDI
main.cpp@0:32bfc984f2f7, 2021-12-12 (annotated)
- Committer:
- villemejane
- Date:
- Sun Dec 12 12:43:27 2021 +0000
- Revision:
- 0:32bfc984f2f7
- Child:
- 1:a4b894352be1
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 "nRF24.h" |
villemejane | 0:32bfc984f2f7 | 14 | #include "DMX_MIDI.h" |
villemejane | 0:32bfc984f2f7 | 15 | #include "projecteurs.h" |
villemejane | 0:32bfc984f2f7 | 16 | #include "controleurs.h" |
villemejane | 0:32bfc984f2f7 | 17 | |
villemejane | 0:32bfc984f2f7 | 18 | Serial debug_pc(USBTX, USBRX); |
villemejane | 0:32bfc984f2f7 | 19 | InterruptIn bp_int(USER_BUTTON); |
villemejane | 0:32bfc984f2f7 | 20 | DigitalOut debug_out(D13); |
villemejane | 0:32bfc984f2f7 | 21 | |
villemejane | 0:32bfc984f2f7 | 22 | // Main |
villemejane | 0:32bfc984f2f7 | 23 | int main() { |
villemejane | 0:32bfc984f2f7 | 24 | debug_pc.baud(115200); |
villemejane | 0:32bfc984f2f7 | 25 | debug_pc.printf("Test\r\n"); |
villemejane | 0:32bfc984f2f7 | 26 | |
villemejane | 0:32bfc984f2f7 | 27 | /* Initialisation comm nRF24 - nécessite l'extension MIDI */ |
villemejane | 0:32bfc984f2f7 | 28 | //initNRF24(); |
villemejane | 0:32bfc984f2f7 | 29 | |
villemejane | 0:32bfc984f2f7 | 30 | // Initialisation périphériques |
villemejane | 0:32bfc984f2f7 | 31 | initDMX(); |
villemejane | 0:32bfc984f2f7 | 32 | initMIDI(); |
villemejane | 0:32bfc984f2f7 | 33 | //initMIDI2(); |
villemejane | 0:32bfc984f2f7 | 34 | //initProjectors(); |
villemejane | 0:32bfc984f2f7 | 35 | //initController(); |
villemejane | 0:32bfc984f2f7 | 36 | |
villemejane | 0:32bfc984f2f7 | 37 | dmx_data[0] = 0; |
villemejane | 0:32bfc984f2f7 | 38 | dmx_data[3] = 255; |
villemejane | 0:32bfc984f2f7 | 39 | dmx_data[4] = 255; |
villemejane | 0:32bfc984f2f7 | 40 | dmx_data[5] = 100; |
villemejane | 0:32bfc984f2f7 | 41 | dmx_data[6] = 50; |
villemejane | 0:32bfc984f2f7 | 42 | |
villemejane | 0:32bfc984f2f7 | 43 | while(1) { |
villemejane | 0:32bfc984f2f7 | 44 | /* MIDI */ |
villemejane | 0:32bfc984f2f7 | 45 | |
villemejane | 0:32bfc984f2f7 | 46 | if(isNoteMIDIdetected()){ |
villemejane | 0:32bfc984f2f7 | 47 | //updateProjFromMidi(note_data); |
villemejane | 0:32bfc984f2f7 | 48 | playNoteMIDI2(note_data, velocity_data); |
villemejane | 0:32bfc984f2f7 | 49 | if(note_data == 0x3C){ |
villemejane | 0:32bfc984f2f7 | 50 | dmx_data[4] = 2*velocity_data; |
villemejane | 0:32bfc984f2f7 | 51 | dmx_data[5] = 0; |
villemejane | 0:32bfc984f2f7 | 52 | dmx_data[6] = 0; |
villemejane | 0:32bfc984f2f7 | 53 | } |
villemejane | 0:32bfc984f2f7 | 54 | if(note_data == 0x3E){ |
villemejane | 0:32bfc984f2f7 | 55 | dmx_data[4] = 0; |
villemejane | 0:32bfc984f2f7 | 56 | dmx_data[5] = velocity_data; |
villemejane | 0:32bfc984f2f7 | 57 | dmx_data[6] = 0; |
villemejane | 0:32bfc984f2f7 | 58 | } |
villemejane | 0:32bfc984f2f7 | 59 | resetNoteMIDI(); |
villemejane | 0:32bfc984f2f7 | 60 | } |
villemejane | 0:32bfc984f2f7 | 61 | |
villemejane | 0:32bfc984f2f7 | 62 | if(isCCMIDIdetected()){ |
villemejane | 0:32bfc984f2f7 | 63 | playNoteMIDI2(control_ch,control_value); |
villemejane | 0:32bfc984f2f7 | 64 | if(control_ch == 1){ |
villemejane | 0:32bfc984f2f7 | 65 | dmx_data[4] = 2 * control_value; |
villemejane | 0:32bfc984f2f7 | 66 | dmx_data[12] = 2 * control_value; |
villemejane | 0:32bfc984f2f7 | 67 | } |
villemejane | 0:32bfc984f2f7 | 68 | resetCCMIDI(); |
villemejane | 0:32bfc984f2f7 | 69 | } |
villemejane | 0:32bfc984f2f7 | 70 | |
villemejane | 0:32bfc984f2f7 | 71 | updateDMX(); |
villemejane | 0:32bfc984f2f7 | 72 | wait_us(10000); |
villemejane | 0:32bfc984f2f7 | 73 | |
villemejane | 0:32bfc984f2f7 | 74 | } |
villemejane | 0:32bfc984f2f7 | 75 | } |
villemejane | 0:32bfc984f2f7 | 76 |