Program for Nucleo Board / DMX and MIDI protocols

Dependencies:   DMX_MIDI

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?

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 "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