Program for Nucleo Board / DMX and MIDI protocols - with nRF24 library (RF communications)
Dependencies: MOD24_NRF DMX_MIDI nRF24
main.cpp@1:5299cd356364, 2022-03-01 (annotated)
- Committer:
- villemejane
- Date:
- Tue Mar 01 08:39:21 2022 +0000
- Revision:
- 1:5299cd356364
- Parent:
- 0:32bfc984f2f7
Program for Nucleo Board / DMX and MIDI protocols - with nRF24 library (RF communications)
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 | 1:5299cd356364 | 27 | initNRF24(); |
villemejane | 0:32bfc984f2f7 | 28 | |
villemejane | 0:32bfc984f2f7 | 29 | // Initialisation périphériques |
villemejane | 0:32bfc984f2f7 | 30 | initDMX(); |
villemejane | 0:32bfc984f2f7 | 31 | initMIDI(); |
villemejane | 0:32bfc984f2f7 | 32 | //initMIDI2(); |
villemejane | 0:32bfc984f2f7 | 33 | //initProjectors(); |
villemejane | 0:32bfc984f2f7 | 34 | //initController(); |
villemejane | 0:32bfc984f2f7 | 35 | |
villemejane | 0:32bfc984f2f7 | 36 | dmx_data[0] = 0; |
villemejane | 0:32bfc984f2f7 | 37 | dmx_data[3] = 255; |
villemejane | 0:32bfc984f2f7 | 38 | dmx_data[4] = 255; |
villemejane | 0:32bfc984f2f7 | 39 | dmx_data[5] = 100; |
villemejane | 0:32bfc984f2f7 | 40 | dmx_data[6] = 50; |
villemejane | 0:32bfc984f2f7 | 41 | |
villemejane | 0:32bfc984f2f7 | 42 | while(1) { |
villemejane | 1:5299cd356364 | 43 | // testNRF24(); |
villemejane | 1:5299cd356364 | 44 | |
villemejane | 1:5299cd356364 | 45 | |
villemejane | 0:32bfc984f2f7 | 46 | /* MIDI */ |
villemejane | 0:32bfc984f2f7 | 47 | |
villemejane | 0:32bfc984f2f7 | 48 | if(isNoteMIDIdetected()){ |
villemejane | 0:32bfc984f2f7 | 49 | //updateProjFromMidi(note_data); |
villemejane | 0:32bfc984f2f7 | 50 | playNoteMIDI2(note_data, velocity_data); |
villemejane | 0:32bfc984f2f7 | 51 | if(note_data == 0x3C){ |
villemejane | 0:32bfc984f2f7 | 52 | dmx_data[4] = 2*velocity_data; |
villemejane | 0:32bfc984f2f7 | 53 | dmx_data[5] = 0; |
villemejane | 0:32bfc984f2f7 | 54 | dmx_data[6] = 0; |
villemejane | 0:32bfc984f2f7 | 55 | } |
villemejane | 0:32bfc984f2f7 | 56 | if(note_data == 0x3E){ |
villemejane | 0:32bfc984f2f7 | 57 | dmx_data[4] = 0; |
villemejane | 0:32bfc984f2f7 | 58 | dmx_data[5] = velocity_data; |
villemejane | 0:32bfc984f2f7 | 59 | dmx_data[6] = 0; |
villemejane | 0:32bfc984f2f7 | 60 | } |
villemejane | 0:32bfc984f2f7 | 61 | resetNoteMIDI(); |
villemejane | 0:32bfc984f2f7 | 62 | } |
villemejane | 0:32bfc984f2f7 | 63 | |
villemejane | 0:32bfc984f2f7 | 64 | if(isCCMIDIdetected()){ |
villemejane | 0:32bfc984f2f7 | 65 | playNoteMIDI2(control_ch,control_value); |
villemejane | 0:32bfc984f2f7 | 66 | if(control_ch == 1){ |
villemejane | 0:32bfc984f2f7 | 67 | dmx_data[4] = 2 * control_value; |
villemejane | 0:32bfc984f2f7 | 68 | dmx_data[12] = 2 * control_value; |
villemejane | 0:32bfc984f2f7 | 69 | } |
villemejane | 0:32bfc984f2f7 | 70 | resetCCMIDI(); |
villemejane | 0:32bfc984f2f7 | 71 | } |
villemejane | 0:32bfc984f2f7 | 72 | |
villemejane | 0:32bfc984f2f7 | 73 | updateDMX(); |
villemejane | 0:32bfc984f2f7 | 74 | wait_us(10000); |
villemejane | 0:32bfc984f2f7 | 75 | |
villemejane | 0:32bfc984f2f7 | 76 | } |
villemejane | 0:32bfc984f2f7 | 77 | } |
villemejane | 0:32bfc984f2f7 | 78 |