/**
* Pointers, malloc/free memory
* https://forum.arduino.cc/t/defining-an-array-in-a-class/695749/4
*
* Doc "& (reference operator)"
* https://docs.arduino.cc/language-reference/en/structure/pointer-access-operators/reference/
*/
#include "st_audio.h"
#define PIN_BUZZ 2
#define PIN_LED1 3
int intervalTime = 5000;
uint32_t lastTick = millis();
STAudio audio = new STAudio(PIN_BUZZ);
// APP
struct STApp {
STAudio* audio;
};
STApp app = (STApp) { &audio };
// TEST
class TestClass {
public:
TestClass(STApp *app){
_app = app;
}
void go() {
_app->audio->play(&stanBy);
}
private:
STApp* _app;
};
TestClass* tst = new TestClass(&app);
void setup() {
Serial.begin(115200);
pinMode(PIN_BUZZ, OUTPUT);
app.audio->setPin(PIN_BUZZ);
app.audio->play(&starWarsMelody);
}
void loop() {
if( millis() - lastTick >= intervalTime ) {
lastTick = millis();
Serial.println(millis());
tst->go();
// app.audio->play(&stanBy);
}
app.audio->tick();
}