2017-02-20 13:55:16 -05:00
|
|
|
#ifndef __TEENSY_SPEAKER_H
|
|
|
|
#define __TEENSY_SPEAKER_H
|
|
|
|
|
2020-07-12 22:13:33 -04:00
|
|
|
#include <AudioStream.h>
|
2017-02-20 13:55:16 -05:00
|
|
|
#include "physicalspeaker.h"
|
|
|
|
|
2020-07-12 22:13:33 -04:00
|
|
|
class TeensyAudio : public AudioStream {
|
|
|
|
public:
|
|
|
|
TeensyAudio(void) : AudioStream(0, NULL) {}
|
|
|
|
|
|
|
|
virtual void update(void);
|
|
|
|
};
|
|
|
|
|
2017-02-20 13:55:16 -05:00
|
|
|
class TeensySpeaker : public PhysicalSpeaker {
|
|
|
|
public:
|
2020-07-09 20:31:51 -04:00
|
|
|
TeensySpeaker(uint8_t sda, uint8_t scl);
|
2017-02-20 13:55:16 -05:00
|
|
|
virtual ~TeensySpeaker();
|
|
|
|
|
2020-07-09 20:31:51 -04:00
|
|
|
virtual void begin();
|
2019-02-20 22:06:55 -05:00
|
|
|
|
2020-08-02 09:06:15 -04:00
|
|
|
virtual void toggle(int64_t c);
|
2020-07-09 20:31:51 -04:00
|
|
|
virtual void maintainSpeaker();
|
2020-08-02 09:06:15 -04:00
|
|
|
virtual void maintainSpeaker(int64_t c, uint64_t microseconds);
|
2017-02-26 11:00:41 -05:00
|
|
|
|
|
|
|
virtual void beginMixing();
|
|
|
|
virtual void mixOutput(uint8_t v);
|
2017-02-20 13:55:16 -05:00
|
|
|
|
|
|
|
private:
|
|
|
|
|
2020-08-02 10:02:35 -04:00
|
|
|
uint8_t mixerValue;
|
|
|
|
bool toggleState;
|
2017-02-20 13:55:16 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|