mirror of
https://github.com/eried/portapack-mayhem.git
synced 2025-05-30 04:01:45 -04:00
Spectrum streaming control, spectrum attributes back in each frame.
TODO: This feels kinda complex, and there's some repeated Processor code that needs to be refactored into a base class.
This commit is contained in:
parent
0647f26707
commit
d821afc60d
10 changed files with 101 additions and 29 deletions
|
@ -57,6 +57,7 @@ public:
|
|||
WFMConfigure = 12,
|
||||
AMConfigure = 13,
|
||||
ChannelSpectrumConfig = 14,
|
||||
SpectrumStreamingConfig = 15,
|
||||
MAX
|
||||
};
|
||||
|
||||
|
@ -209,8 +210,28 @@ public:
|
|||
BasebandConfiguration configuration;
|
||||
};
|
||||
|
||||
class SpectrumStreamingConfigMessage : public Message {
|
||||
public:
|
||||
enum class Mode : uint32_t {
|
||||
Stopped = 0,
|
||||
Running = 1,
|
||||
};
|
||||
|
||||
constexpr SpectrumStreamingConfigMessage(
|
||||
Mode mode
|
||||
) : Message { ID::SpectrumStreamingConfig },
|
||||
mode { mode }
|
||||
{
|
||||
}
|
||||
|
||||
Mode mode { Mode::Stopped };
|
||||
};
|
||||
|
||||
struct ChannelSpectrum {
|
||||
std::array<uint8_t, 256> db { { 0 } };
|
||||
uint32_t sampling_rate { 0 };
|
||||
uint32_t channel_filter_pass_frequency { 0 };
|
||||
uint32_t channel_filter_stop_frequency { 0 };
|
||||
};
|
||||
|
||||
using ChannelSpectrumFIFO = FIFO<ChannelSpectrum, 2>;
|
||||
|
@ -218,21 +239,12 @@ using ChannelSpectrumFIFO = FIFO<ChannelSpectrum, 2>;
|
|||
class ChannelSpectrumConfigMessage : public Message {
|
||||
public:
|
||||
constexpr ChannelSpectrumConfigMessage(
|
||||
uint32_t sampling_rate,
|
||||
uint32_t channel_filter_pass_frequency,
|
||||
uint32_t channel_filter_stop_frequency,
|
||||
ChannelSpectrumFIFO* fifo
|
||||
) : Message { ID::ChannelSpectrumConfig },
|
||||
sampling_rate { sampling_rate },
|
||||
channel_filter_pass_frequency { channel_filter_pass_frequency },
|
||||
channel_filter_stop_frequency { channel_filter_stop_frequency },
|
||||
fifo { fifo }
|
||||
{
|
||||
}
|
||||
|
||||
uint32_t sampling_rate { 0 };
|
||||
uint32_t channel_filter_pass_frequency { 0 };
|
||||
uint32_t channel_filter_stop_frequency { 0 };
|
||||
ChannelSpectrumFIFO* fifo { nullptr };
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue