mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2025-08-25 20:07:38 +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:
@@ -96,16 +96,16 @@ public:
|
||||
SigGenConfig = 43,
|
||||
SigGenTone = 44,
|
||||
|
||||
POCSAGPacket = 50,
|
||||
ADSBFrame = 51,
|
||||
AFSKData = 52,
|
||||
TestAppPacket = 53,
|
||||
POCSAGPacket = 45,
|
||||
ADSBFrame = 46,
|
||||
AFSKData = 47,
|
||||
TestAppPacket = 48,
|
||||
|
||||
RequestSignal = 60,
|
||||
FIFOData = 61,
|
||||
RequestSignal = 49,
|
||||
FIFOData = 50,
|
||||
|
||||
AudioLevelReport = 70,
|
||||
CodedSquelch = 71,
|
||||
AudioLevelReport = 51,
|
||||
CodedSquelch = 52,
|
||||
MAX
|
||||
};
|
||||
|
||||
|
@@ -78,7 +78,7 @@ size_t morse_encode(std::string& message, const uint32_t time_unit_ms,
|
||||
// Setup tone "symbols"
|
||||
for (c = 0; c < 5; c++) {
|
||||
if (c < 2)
|
||||
delta = TONES_F2D(tone); // Dot and dash
|
||||
delta = TONES_F2D(tone, TONES_SAMPLERATE); // Dot and dash
|
||||
else
|
||||
delta = 0; // Pause
|
||||
|
||||
|
@@ -45,7 +45,7 @@ const uint32_t morse_symbols[5] = {
|
||||
size_t morse_encode(std::string& message, const uint32_t time_unit_ms,
|
||||
const uint32_t tone, uint32_t * const time_units);
|
||||
|
||||
const std::string foxhunt_codes[11] = {
|
||||
constexpr char foxhunt_codes[11][4] = {
|
||||
{ "MOE" }, // -----.
|
||||
{ "MOI" }, // -----..
|
||||
{ "MOS" }, // -----...
|
||||
@@ -60,7 +60,7 @@ const std::string foxhunt_codes[11] = {
|
||||
};
|
||||
|
||||
// 0=dot 1=dash
|
||||
const uint16_t morse_ITU[63] = {
|
||||
constexpr uint16_t morse_ITU[63] = {
|
||||
// Code Size
|
||||
0b1010110000000110, // !: 101011- 110
|
||||
0b0100100000000110, // ": 010010- 110
|
||||
@@ -127,7 +127,7 @@ const uint16_t morse_ITU[63] = {
|
||||
0b0011010000000110 // _: 001101- 110
|
||||
};
|
||||
|
||||
const uint16_t prosigns[12] = {
|
||||
constexpr uint16_t prosigns[12] = {
|
||||
// Code Size
|
||||
0b0001110000001001, // <SOS>: 000111000 1001
|
||||
0b0101000000000100, // <AA>: 0101----- 0100
|
||||
|
@@ -44,7 +44,7 @@ enum sstv_color_seq {
|
||||
#define SSTV_MODES_NB 6
|
||||
|
||||
// From http://www.graphics.stanford.edu/~seander/bithacks.html, nice !
|
||||
inline uint8_t sstv_parity(uint8_t code) {
|
||||
constexpr inline uint8_t sstv_parity(uint8_t code) {
|
||||
uint8_t out = code;
|
||||
out ^= code >> 4;
|
||||
out &= 0x0F;
|
||||
@@ -63,7 +63,7 @@ struct sstv_scanline {
|
||||
};
|
||||
|
||||
struct sstv_mode {
|
||||
std::string name;
|
||||
char name[16];
|
||||
uint8_t vis_code;
|
||||
bool color; // Unused for now
|
||||
sstv_color_seq color_sequence;
|
||||
@@ -78,7 +78,7 @@ struct sstv_mode {
|
||||
//std::pair<uint16_t, uint16_t> luma_range;
|
||||
};
|
||||
|
||||
const sstv_mode sstv_modes[SSTV_MODES_NB] = {
|
||||
constexpr sstv_mode sstv_modes[SSTV_MODES_NB] = {
|
||||
{ "Scottie 1", sstv_parity(60), true, SSTV_COLOR_GBR, 320, 256, SSTV_MS2S(0.4320), true, 2, true, SSTV_MS2S(9), SSTV_MS2S(1.5) },
|
||||
{ "Scottie 2", sstv_parity(56), true, SSTV_COLOR_GBR, 320, 256, SSTV_MS2S(0.2752), true, 2, true, SSTV_MS2S(9), SSTV_MS2S(1.5) },
|
||||
{ "Scottie DX", sstv_parity(76), true, SSTV_COLOR_GBR, 320, 256, SSTV_MS2S(1.08), true, 2, true, SSTV_MS2S(9), SSTV_MS2S(1.5) },
|
||||
|
@@ -26,38 +26,37 @@
|
||||
#include <memory>
|
||||
|
||||
#define TONES_SAMPLERATE 1536000
|
||||
#define TONES_DELTA_COEF ((1ULL << 32) / TONES_SAMPLERATE)
|
||||
|
||||
#define TONES_F2D(f) (uint32_t)(f * TONES_DELTA_COEF)
|
||||
#define TONES_DELTA_COEF(sr) ((1ULL << 32) / sr)
|
||||
#define TONES_F2D(f, sr) (uint32_t)(f * TONES_DELTA_COEF(sr))
|
||||
|
||||
#define BEEP_TONES_NB 6
|
||||
|
||||
#define DTMF_C0 TONES_F2D(1209)
|
||||
#define DTMF_C1 TONES_F2D(1336)
|
||||
#define DTMF_C2 TONES_F2D(1477)
|
||||
#define DTMF_C3 TONES_F2D(1633)
|
||||
#define DTMF_R0 TONES_F2D(697)
|
||||
#define DTMF_R1 TONES_F2D(770)
|
||||
#define DTMF_R2 TONES_F2D(852)
|
||||
#define DTMF_R3 TONES_F2D(941)
|
||||
#define DTMF_C0 TONES_F2D(1209, TONES_SAMPLERATE)
|
||||
#define DTMF_C1 TONES_F2D(1336, TONES_SAMPLERATE)
|
||||
#define DTMF_C2 TONES_F2D(1477, TONES_SAMPLERATE)
|
||||
#define DTMF_C3 TONES_F2D(1633, TONES_SAMPLERATE)
|
||||
#define DTMF_R0 TONES_F2D(697, TONES_SAMPLERATE)
|
||||
#define DTMF_R1 TONES_F2D(770, TONES_SAMPLERATE)
|
||||
#define DTMF_R2 TONES_F2D(852, TONES_SAMPLERATE)
|
||||
#define DTMF_R3 TONES_F2D(941, TONES_SAMPLERATE)
|
||||
|
||||
const std::array<uint32_t, 16> ccir_deltas = {
|
||||
TONES_F2D(1981),
|
||||
TONES_F2D(1124),
|
||||
TONES_F2D(1197),
|
||||
TONES_F2D(1275),
|
||||
TONES_F2D(1358),
|
||||
TONES_F2D(1446),
|
||||
TONES_F2D(1540),
|
||||
TONES_F2D(1640),
|
||||
TONES_F2D(1747),
|
||||
TONES_F2D(1860),
|
||||
TONES_F2D(2400),
|
||||
TONES_F2D(930),
|
||||
TONES_F2D(2247),
|
||||
TONES_F2D(991),
|
||||
TONES_F2D(2110),
|
||||
TONES_F2D(1055)
|
||||
TONES_F2D(1981, TONES_SAMPLERATE),
|
||||
TONES_F2D(1124, TONES_SAMPLERATE),
|
||||
TONES_F2D(1197, TONES_SAMPLERATE),
|
||||
TONES_F2D(1275, TONES_SAMPLERATE),
|
||||
TONES_F2D(1358, TONES_SAMPLERATE),
|
||||
TONES_F2D(1446, TONES_SAMPLERATE),
|
||||
TONES_F2D(1540, TONES_SAMPLERATE),
|
||||
TONES_F2D(1640, TONES_SAMPLERATE),
|
||||
TONES_F2D(1747, TONES_SAMPLERATE),
|
||||
TONES_F2D(1860, TONES_SAMPLERATE),
|
||||
TONES_F2D(2400, TONES_SAMPLERATE),
|
||||
TONES_F2D(930, TONES_SAMPLERATE),
|
||||
TONES_F2D(2247, TONES_SAMPLERATE),
|
||||
TONES_F2D(991, TONES_SAMPLERATE),
|
||||
TONES_F2D(2110, TONES_SAMPLERATE),
|
||||
TONES_F2D(1055, TONES_SAMPLERATE)
|
||||
};
|
||||
|
||||
// 0123456789ABCD#*
|
||||
@@ -81,50 +80,50 @@ const uint32_t dtmf_deltas[16][2] = {
|
||||
};
|
||||
|
||||
const std::array<uint32_t, 16> eia_deltas = {
|
||||
TONES_F2D(600),
|
||||
TONES_F2D(741),
|
||||
TONES_F2D(882),
|
||||
TONES_F2D(1023),
|
||||
TONES_F2D(1164),
|
||||
TONES_F2D(1305),
|
||||
TONES_F2D(1446),
|
||||
TONES_F2D(1587),
|
||||
TONES_F2D(1728),
|
||||
TONES_F2D(1869),
|
||||
TONES_F2D(2151),
|
||||
TONES_F2D(2433),
|
||||
TONES_F2D(2010),
|
||||
TONES_F2D(2292),
|
||||
TONES_F2D(459),
|
||||
TONES_F2D(1091)
|
||||
TONES_F2D(600, TONES_SAMPLERATE),
|
||||
TONES_F2D(741, TONES_SAMPLERATE),
|
||||
TONES_F2D(882, TONES_SAMPLERATE),
|
||||
TONES_F2D(1023, TONES_SAMPLERATE),
|
||||
TONES_F2D(1164, TONES_SAMPLERATE),
|
||||
TONES_F2D(1305, TONES_SAMPLERATE),
|
||||
TONES_F2D(1446, TONES_SAMPLERATE),
|
||||
TONES_F2D(1587, TONES_SAMPLERATE),
|
||||
TONES_F2D(1728, TONES_SAMPLERATE),
|
||||
TONES_F2D(1869, TONES_SAMPLERATE),
|
||||
TONES_F2D(2151, TONES_SAMPLERATE),
|
||||
TONES_F2D(2433, TONES_SAMPLERATE),
|
||||
TONES_F2D(2010, TONES_SAMPLERATE),
|
||||
TONES_F2D(2292, TONES_SAMPLERATE),
|
||||
TONES_F2D(459, TONES_SAMPLERATE),
|
||||
TONES_F2D(1091, TONES_SAMPLERATE)
|
||||
};
|
||||
|
||||
const std::array<uint32_t, 16> zvei_deltas = {
|
||||
TONES_F2D(2400),
|
||||
TONES_F2D(1060),
|
||||
TONES_F2D(1160),
|
||||
TONES_F2D(1270),
|
||||
TONES_F2D(1400),
|
||||
TONES_F2D(1530),
|
||||
TONES_F2D(1670),
|
||||
TONES_F2D(1830),
|
||||
TONES_F2D(2000),
|
||||
TONES_F2D(2200),
|
||||
TONES_F2D(2800),
|
||||
TONES_F2D(810),
|
||||
TONES_F2D(970),
|
||||
TONES_F2D(885),
|
||||
TONES_F2D(2600),
|
||||
TONES_F2D(680)
|
||||
TONES_F2D(2400, TONES_SAMPLERATE),
|
||||
TONES_F2D(1060, TONES_SAMPLERATE),
|
||||
TONES_F2D(1160, TONES_SAMPLERATE),
|
||||
TONES_F2D(1270, TONES_SAMPLERATE),
|
||||
TONES_F2D(1400, TONES_SAMPLERATE),
|
||||
TONES_F2D(1530, TONES_SAMPLERATE),
|
||||
TONES_F2D(1670, TONES_SAMPLERATE),
|
||||
TONES_F2D(1830, TONES_SAMPLERATE),
|
||||
TONES_F2D(2000, TONES_SAMPLERATE),
|
||||
TONES_F2D(2200, TONES_SAMPLERATE),
|
||||
TONES_F2D(2800, TONES_SAMPLERATE),
|
||||
TONES_F2D(810, TONES_SAMPLERATE),
|
||||
TONES_F2D(970, TONES_SAMPLERATE),
|
||||
TONES_F2D(885, TONES_SAMPLERATE),
|
||||
TONES_F2D(2600, TONES_SAMPLERATE),
|
||||
TONES_F2D(680, TONES_SAMPLERATE)
|
||||
};
|
||||
|
||||
const uint32_t beep_deltas[BEEP_TONES_NB] = {
|
||||
TONES_F2D(1475),
|
||||
TONES_F2D(740),
|
||||
TONES_F2D(587),
|
||||
TONES_F2D(1109),
|
||||
TONES_F2D(831),
|
||||
TONES_F2D(740)
|
||||
TONES_F2D(1475, TONES_SAMPLERATE),
|
||||
TONES_F2D(740, TONES_SAMPLERATE),
|
||||
TONES_F2D(587, TONES_SAMPLERATE),
|
||||
TONES_F2D(1109, TONES_SAMPLERATE),
|
||||
TONES_F2D(831, TONES_SAMPLERATE),
|
||||
TONES_F2D(740, TONES_SAMPLERATE)
|
||||
};
|
||||
|
||||
#endif/*__TONESETS_H__*/
|
||||
|
Reference in New Issue
Block a user