mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2025-08-23 03:07:40 +00:00
Finally found what was eating all the RAM :D
Re-enabled the tone key selector in Soundboard Soundboard now uses OutputStream, like Replay Constexpr'd a bunch of consts which were going to BSS section Exiting an app now goes back to main menu Cleaned up Message array
This commit is contained in:
@@ -23,10 +23,10 @@
|
||||
#ifndef __PROC_AUDIOTX_H__
|
||||
#define __PROC_AUDIOTX_H__
|
||||
|
||||
#include "fifo.hpp"
|
||||
#include "baseband_processor.hpp"
|
||||
#include "baseband_thread.hpp"
|
||||
#include "tone_gen.hpp"
|
||||
#include "stream_output.hpp"
|
||||
|
||||
class AudioTXProcessor : public BasebandProcessor {
|
||||
public:
|
||||
@@ -35,27 +35,29 @@ public:
|
||||
void on_message(const Message* const msg) override;
|
||||
|
||||
private:
|
||||
static constexpr size_t baseband_fs = 1536000U;
|
||||
|
||||
bool configured = false;
|
||||
size_t baseband_fs = 0;
|
||||
|
||||
BasebandThread baseband_thread { baseband_fs, this, NORMALPRIO + 20, baseband::Direction::Transmit };
|
||||
|
||||
int8_t audio_fifo_data[2048] { };
|
||||
FIFO<int8_t> audio_fifo = { audio_fifo_data, 11 }; // 43ms @ 48000Hz
|
||||
std::array<uint8_t, 64> audio { };
|
||||
const buffer_t<uint8_t> audio_buffer {
|
||||
audio.data(),
|
||||
audio.size(),
|
||||
baseband_fs / 8
|
||||
};
|
||||
|
||||
std::unique_ptr<StreamOutput> stream { };
|
||||
|
||||
ToneGen tone_gen { };
|
||||
|
||||
uint32_t fm_delta { 0 };
|
||||
uint32_t divider { };
|
||||
uint32_t as { 0 };
|
||||
uint32_t phase { 0 }, sphase { 0 };
|
||||
int8_t out_sample { };
|
||||
int32_t sample { 0 }, delta { };
|
||||
|
||||
int32_t sample { 0 }, audio_sample { 0 }, delta { };
|
||||
int8_t re { 0 }, im { 0 };
|
||||
|
||||
bool asked { false };
|
||||
size_t spectrum_interval_samples = 0;
|
||||
size_t spectrum_samples = 0;
|
||||
|
||||
//int16_t audio_data[64];
|
||||
/*const buffer_s16_t preview_audio_buffer {
|
||||
@@ -63,6 +65,14 @@ private:
|
||||
sizeof(int16_t)*64
|
||||
};*/
|
||||
|
||||
bool configured { false };
|
||||
uint32_t bytes_read { 0 };
|
||||
|
||||
void samplerate_config(const SamplerateConfigMessage& message);
|
||||
void audio_config(const AudioTXConfigMessage& message);
|
||||
void replay_config(const ReplayConfigMessage& message);
|
||||
|
||||
TXProgressMessage txprogress_message { };
|
||||
RequestSignalMessage sig_message { RequestSignalMessage::Signal::FillRequest };
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user