Library for DMX and MIDI protocol
Dependents: Arts_DMX512_carteV3_MIDI Arts_DMX512_carteV3_MIDI_nRF
Diff: controleurs.h
- Revision:
- 0:9cf6898e6b66
diff -r 000000000000 -r 9cf6898e6b66 controleurs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/controleurs.h Sun Dec 12 12:41:49 2021 +0000 @@ -0,0 +1,86 @@ +/****************************************************************************/ +/* DMX_MIDI module library */ +/****************************************************************************/ +/* LEnsE / Julien VILLEMEJANE / Institut d'Optique Graduate School */ +/****************************************************************************/ +/* Library - controleurs.h file */ +/* MIDI notes are from 0 to 127 */ +/* and MIDI CC controls are from 128 to 512 */ +/* MIDI controls are defined as follow : */ +/* * CTL_M(char) : effect on spot ; */ +/* + bit 7 : Dimmer */ +/* + bit 6 : RED */ +/* + bit 5 : GREEN */ +/* + bit 4 : BLUE */ +/* + bit 3 : WHITE */ +/* + bit 2 : AMBER */ +/* + bit 1 : UV */ +/* + bit 0 : not used yet */ +/* * CTL_L(char) : effect on spot ; */ +/* + bit 7 : Pan */ +/* + bit 6 : Tilt */ +/* + bit 5 : Speed */ +/* + bit 4 : Strobe */ +/* + bit 3 : not used yet */ +/* + bit 2 : not used yet */ +/* + bit 1 : not used yet */ +/* + bit 0 : not used yet */ +/* * C1 to C16 (char) : value to affect to each type of CTL_M or L */ +/* */ +/* */ +/****************************************************************************/ +/* Tested on Nucleo-L476RG / 16th nov 2021 */ +/****************************************************************************/ +/* Next upgrade : include CC controls */ + +#include "mbed.h" +#include "DMX_MIDI.h" + +#define MIDI_CONTROLS_NB 128 +#define MIDI_NOTES_NB 128 +#define MIDI_NOTES_GROUPS 16 +#define MIDI_NOTES_CHAN 18 + +#define MIDI_CTL_CTL_M 0 +#define MIDI_CTL_CTL_L 1 +#define MIDI_CTL_DIM 2 +#define MIDI_CTL_RED 3 +#define MIDI_CTL_GREEN 4 +#define MIDI_CTL_BLUE 5 +#define MIDI_CTL_WHITE 6 +#define MIDI_CTL_AMBER 7 +#define MIDI_CTL_UV 8 +#define MIDI_CTL_M0 9 +#define MIDI_CTL_PAN 10 +#define MIDI_CTL_TILT 11 +#define MIDI_CTL_SPEED 12 +#define MIDI_CTL_STROBE 13 +#define MIDI_CTL_L3 14 +#define MIDI_CTL_L2 15 +#define MIDI_CTL_L1 16 +#define MIDI_CTL_L0 17 + +#define MIDI_CTL_DIM_MASK 0b10000000 +#define MIDI_CTL_RED_MASK 0b01000000 +#define MIDI_CTL_GREEN_MASK 0b00100000 +#define MIDI_CTL_BLUE_MASK 0b00010000 +#define MIDI_CTL_WHITE_MASK 0b00001000 +#define MIDI_CTL_AMBER_MASK 0b00000100 +#define MIDI_CTL_UV_MASK 0b00000010 +#define MIDI_CTL_M0_MASK 0b00000001 +#define MIDI_CTL_PAN_MASK 0b10000000 +#define MIDI_CTL_TILT_MASK 0b01000000 +#define MIDI_CTL_SPEED_MASK 0b00100000 +#define MIDI_CTL_STROBE_MASK 0b00010000 +#define MIDI_CTL_L3_MASK 0b00001000 +#define MIDI_CTL_L2_MASK 0b00000100 +#define MIDI_CTL_L1_MASK 0b00000010 +#define MIDI_CTL_L0_MASK 0b00000001 + +/* Global variables */ +/* controls : [number of possible notes values in MIDI][number of groups of light][number of commands] */ +extern char notes[MIDI_NOTES_NB][MIDI_NOTES_GROUPS][MIDI_NOTES_CHAN]; + +/* Functions */ +/* initialisation of controls */ +void initController(void); \ No newline at end of file