Program for Nucleo Board / DMX and MIDI protocols - with nRF24 library (RF communications)

Dependencies:   MOD24_NRF DMX_MIDI nRF24

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?

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