Program for Nucleo Board / DMX and MIDI protocols

Dependencies:   DMX_MIDI

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?

UserRevisionLine numberNew 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