-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSendOnlyWavTrigger.h
87 lines (78 loc) · 2.17 KB
/
SendOnlyWavTrigger.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include "RPU_config.h"
#define CMD_GET_VERSION 1
#define CMD_GET_SYS_INFO 2
#define CMD_TRACK_CONTROL 3
#define CMD_STOP_ALL 4
#define CMD_MASTER_VOLUME 5
#define CMD_TRACK_VOLUME 8
#define CMD_AMP_POWER 9
#define CMD_TRACK_FADE 10
#define CMD_RESUME_ALL_SYNC 11
#define CMD_SAMPLERATE_OFFSET 12
#define CMD_TRACK_CONTROL_EX 13
#define CMD_SET_REPORTING 14
#define CMD_SET_TRIGGER_BANK 15
#define TRK_PLAY_SOLO 0
#define TRK_PLAY_POLY 1
#define TRK_PAUSE 2
#define TRK_RESUME 3
#define TRK_STOP 4
#define TRK_LOOP_ON 5
#define TRK_LOOP_OFF 6
#define TRK_LOAD 7
#define RSP_VERSION_STRING 129
#define RSP_SYSTEM_INFO 130
#define RSP_STATUS 131
#define RSP_TRACK_REPORT 132
#define MAX_MESSAGE_LEN 32
#define MAX_NUM_VOICES 14
#define VERSION_STRING_LEN 21
#define SOM1 0xf0
#define SOM2 0xaa
#define EOM 0x55
#include <HardwareSerial.h>
#ifndef RPU_OS_HARDWARE_REV
#error "Error: SendOnlyWavTrigger needs RPU_config to make determination about default port"
#endif
#if (RPU_OS_HARDWARE_REV<=3)
#define WTSerial Serial
#else
#define WTSerial Serial1
#endif
class SendOnlyWavTrigger
{
public:
SendOnlyWavTrigger() {;}
~SendOnlyWavTrigger() {;}
void start(void);
// void update(void);
// void flush(void);
// void setReporting(bool enable);
// void setAmpPwr(bool enable);
// bool getVersion(char *pDst, int len);
// int getNumTracks(void);
// bool isTrackPlaying(int trk);
// void masterGain(int gain);
void stopAllTracks(void);
void resumeAllInSync(void);
void trackPlaySolo(int trk);
void trackPlaySolo(int trk, bool lock);
void trackPlayPoly(int trk);
void trackPlayPoly(int trk, bool lock);
void trackLoad(int trk);
void trackLoad(int trk, bool lock);
void trackStop(int trk);
void trackPause(int trk);
void trackResume(int trk);
void trackLoop(int trk, bool enable);
void trackGain(int trk, int gain);
void trackFade(int trk, int gain, int time, bool stopFlag);
//void samplerateOffset(int offset);
private:
void trackControl(int trk, int code);
void trackControl(int trk, int code, bool lock);
char version[VERSION_STRING_LEN];
uint16_t numTracks;
uint8_t numVoices;
uint8_t rxLen;
};