TinyTrainable
 
Loading...
Searching...
No Matches
Output.h
Go to the documentation of this file.
1
3
4#ifndef OUTPUT_H
5#define OUTPUT_H
6
7// include Arduino library
8#include <Arduino.h>
9
10// Forwards declaration of class TinyTrainable
11// this is to avoid a circular include when TinyTrainable includes this class
12class TinyTrainable;
13
16class Output {
17public:
19 virtual ~Output() {}
20
21 virtual void setupOutputTest() {}
22
23 virtual void playOutput(int classification) {}
24
25 // methods for buzzer
26 virtual void setupOutputBuzzer(int outputPin) {}
27 virtual void getBuzzerParam(int object, int buzzerParamArray[]) {}
28 // for frequencies
29 virtual void setBuzzerFrequency(int object, int frequency) {}
30 virtual void setBuzzerFrequency(int object, int freqMin, int freqMax) {}
31 virtual void setBuzzerFrequency(int object, int *arrayFrequencies,
32 int arrayFreqCount) {}
33 virtual void setBuzzerDuration(int object, int duration) {}
34 virtual void setBuzzerDuration(int object, int durationMin, int durationMax) {
35 }
36 virtual void setBuzzerDuration(int object, int *arrayDurations,
37 int arrayDurationCount) {}
38
39 // functions for output LED
40 virtual void setupOutputLED(int object, int outputPin) {}
41
42 // functions for output MIDI
43 virtual void setupOutputMIDI(byte midiChannel) {}
44 virtual void setMIDINote(int object, int note) {}
45 virtual void sendMIDINoteOn(byte channel, byte note, byte velocity) {}
46 virtual void sendMIDINoteOff(byte channel, byte note) {}
47 virtual void sendMIDIAllNotesOff(byte channel) {}
48
49 // methods for output printer
50 virtual void setupOutputPrinter() {}
51 virtual void setPrinterBaudRate(int rate) {}
52 virtual void setPrinterBegin() {}
53 virtual void setPrinterPause(int pause) {}
54 virtual void setPrinterSleep() {}
55 virtual void setPrinterWake() {}
56 virtual void setPrinterTest() {}
57
58 // methods for output screen
59 virtual void setupOutputScreen() {}
60 virtual void screenDrawWelcome() {}
61
62 // methods for output serial
63 virtual void setupOutputSerial() {}
64
65 // methods for output servo
66 virtual void setupOutputServo(int outputPin) {}
67 virtual void setServoTempo(int object, int tempo) {}
68 virtual int bpmToMs(int tempo) { return 0; }
69 virtual void setServoMaxAngle(int angle) {}
70 virtual void setServoMinAngle(int angle) {}
71 virtual int getServoMaxAngle() { return 0; }
72 virtual int getServoMinAngle() { return 0; }
73 virtual void moveServo(int classification) {}
74
76 TinyTrainable *tiny = nullptr;
77};
78
79#endif
Output base class.
Definition: Output.h:16
virtual ~Output()
Output destructor.
Definition: Output.h:19
virtual void setupOutputBuzzer(int outputPin)
Definition: Output.h:26
virtual void setPrinterPause(int pause)
Definition: Output.h:53
virtual void setBuzzerDuration(int object, int *arrayDurations, int arrayDurationCount)
Definition: Output.h:36
virtual void setPrinterSleep()
Definition: Output.h:54
TinyTrainable * tiny
pointer to the TinyTrainable instance
Definition: Output.h:76
virtual void setPrinterBegin()
Definition: Output.h:52
virtual void setBuzzerDuration(int object, int duration)
Definition: Output.h:33
virtual void setBuzzerFrequency(int object, int *arrayFrequencies, int arrayFreqCount)
Definition: Output.h:31
virtual void setPrinterBaudRate(int rate)
Definition: Output.h:51
virtual void setupOutputLED(int object, int outputPin)
Definition: Output.h:40
virtual void setServoMaxAngle(int angle)
Definition: Output.h:69
virtual void setupOutputPrinter()
Definition: Output.h:50
virtual void setPrinterWake()
Definition: Output.h:55
virtual void setupOutputMIDI(byte midiChannel)
Definition: Output.h:43
virtual void setBuzzerDuration(int object, int durationMin, int durationMax)
Definition: Output.h:34
virtual void screenDrawWelcome()
Definition: Output.h:60
virtual void setBuzzerFrequency(int object, int frequency)
Definition: Output.h:29
virtual void setupOutputSerial()
Definition: Output.h:63
virtual int getServoMinAngle()
Definition: Output.h:72
virtual void setupOutputScreen()
Definition: Output.h:59
virtual void setServoTempo(int object, int tempo)
Definition: Output.h:67
virtual void sendMIDINoteOff(byte channel, byte note)
Definition: Output.h:46
virtual void playOutput(int classification)
Definition: Output.h:23
virtual void moveServo(int classification)
Definition: Output.h:73
virtual void setupOutputServo(int outputPin)
Definition: Output.h:66
virtual void getBuzzerParam(int object, int buzzerParamArray[])
Definition: Output.h:27
virtual int getServoMaxAngle()
Definition: Output.h:71
virtual void sendMIDIAllNotesOff(byte channel)
Definition: Output.h:47
virtual void setMIDINote(int object, int note)
Definition: Output.h:44
virtual void setServoMinAngle(int angle)
Definition: Output.h:70
virtual void sendMIDINoteOn(byte channel, byte note, byte velocity)
Definition: Output.h:45
virtual void setPrinterTest()
Definition: Output.h:56
virtual void setupOutputTest()
Definition: Output.h:21
virtual int bpmToMs(int tempo)
Definition: Output.h:68
virtual void setBuzzerFrequency(int object, int freqMin, int freqMax)
Definition: Output.h:30
TinyTrainable base class.
Definition: TinyTrainable.h:43