mirror of
https://github.com/meshtastic/firmware.git
synced 2025-10-28 15:22:55 +00:00
T-Lora Pager: Fix amplifier fuzzing/popping
This commit is contained in:
parent
3d86c99c25
commit
42e4759634
@ -11,6 +11,11 @@
|
|||||||
#include <AudioOutputI2S.h>
|
#include <AudioOutputI2S.h>
|
||||||
#include <ESP8266SAM.h>
|
#include <ESP8266SAM.h>
|
||||||
|
|
||||||
|
#ifdef USE_XL9555
|
||||||
|
#include "ExtensionIOXL9555.hpp"
|
||||||
|
extern ExtensionIOXL9555 io;
|
||||||
|
#endif
|
||||||
|
|
||||||
#define AUDIO_THREAD_INTERVAL_MS 100
|
#define AUDIO_THREAD_INTERVAL_MS 100
|
||||||
|
|
||||||
class AudioThread : public concurrency::OSThread
|
class AudioThread : public concurrency::OSThread
|
||||||
@ -20,6 +25,9 @@ class AudioThread : public concurrency::OSThread
|
|||||||
|
|
||||||
void beginRttl(const void *data, uint32_t len)
|
void beginRttl(const void *data, uint32_t len)
|
||||||
{
|
{
|
||||||
|
#ifdef USE_XL9555
|
||||||
|
io.digitalWrite(EXPANDS_AMP_EN, HIGH);
|
||||||
|
#endif
|
||||||
setCPUFast(true);
|
setCPUFast(true);
|
||||||
rtttlFile = new AudioFileSourcePROGMEM(data, len);
|
rtttlFile = new AudioFileSourcePROGMEM(data, len);
|
||||||
i2sRtttl = new AudioGeneratorRTTTL();
|
i2sRtttl = new AudioGeneratorRTTTL();
|
||||||
@ -45,6 +53,9 @@ class AudioThread : public concurrency::OSThread
|
|||||||
rtttlFile = nullptr;
|
rtttlFile = nullptr;
|
||||||
|
|
||||||
setCPUFast(false);
|
setCPUFast(false);
|
||||||
|
#ifdef USE_XL9555
|
||||||
|
io.digitalWrite(EXPANDS_AMP_EN, LOW);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void readAloud(const char *text)
|
void readAloud(const char *text)
|
||||||
@ -55,10 +66,16 @@ class AudioThread : public concurrency::OSThread
|
|||||||
i2sRtttl = nullptr;
|
i2sRtttl = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef USE_XL9555
|
||||||
|
io.digitalWrite(EXPANDS_AMP_EN, HIGH);
|
||||||
|
#endif
|
||||||
ESP8266SAM *sam = new ESP8266SAM;
|
ESP8266SAM *sam = new ESP8266SAM;
|
||||||
sam->Say(audioOut, text);
|
sam->Say(audioOut, text);
|
||||||
delete sam;
|
delete sam;
|
||||||
setCPUFast(false);
|
setCPUFast(false);
|
||||||
|
#ifdef USE_XL9555
|
||||||
|
io.digitalWrite(EXPANDS_AMP_EN, LOW);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@ -374,7 +374,7 @@ void setup()
|
|||||||
io.pinMode(EXPANDS_DRV_EN, OUTPUT);
|
io.pinMode(EXPANDS_DRV_EN, OUTPUT);
|
||||||
io.digitalWrite(EXPANDS_DRV_EN, HIGH);
|
io.digitalWrite(EXPANDS_DRV_EN, HIGH);
|
||||||
io.pinMode(EXPANDS_AMP_EN, OUTPUT);
|
io.pinMode(EXPANDS_AMP_EN, OUTPUT);
|
||||||
io.digitalWrite(EXPANDS_AMP_EN, HIGH);
|
io.digitalWrite(EXPANDS_AMP_EN, LOW);
|
||||||
io.pinMode(EXPANDS_LORA_EN, OUTPUT);
|
io.pinMode(EXPANDS_LORA_EN, OUTPUT);
|
||||||
io.digitalWrite(EXPANDS_LORA_EN, HIGH);
|
io.digitalWrite(EXPANDS_LORA_EN, HIGH);
|
||||||
io.pinMode(EXPANDS_GPS_EN, OUTPUT);
|
io.pinMode(EXPANDS_GPS_EN, OUTPUT);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user