mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2026-09-12 09:39:30 +00:00
Added remaining buttons for TouchTunes remote
LCR transmit UI cleanup CC1101 data whitening function Uniformized tx progress message handling
This commit is contained in:
@@ -48,7 +48,7 @@ private:
|
||||
uint32_t cur_bit { 0 };
|
||||
uint32_t phase { 0 };
|
||||
|
||||
TXDoneMessage message { };
|
||||
TXProgressMessage txprogress_message { };
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -46,14 +46,15 @@ void AFSKProcessor::execute(const buffer_c8_t& buffer) {
|
||||
bit_pos = 0;
|
||||
word_ptr = (uint16_t*)shared_memory.bb_data.data;
|
||||
cur_word = *word_ptr;
|
||||
message.progress = repeat_counter + 1;
|
||||
shared_memory.application_queue.push(message);
|
||||
txprogress_message.done = false;
|
||||
txprogress_message.progress = repeat_counter + 1;
|
||||
shared_memory.application_queue.push(txprogress_message);
|
||||
repeat_counter++;
|
||||
} else {
|
||||
// Stop
|
||||
cur_word = 0;
|
||||
message.progress = 0;
|
||||
shared_memory.application_queue.push(message);
|
||||
txprogress_message.done = true;
|
||||
shared_memory.application_queue.push(txprogress_message);
|
||||
configured = false;
|
||||
}
|
||||
}
|
||||
@@ -101,7 +102,7 @@ void AFSKProcessor::on_message(const Message* const msg) {
|
||||
afsk_phase_inc_mark = message.phase_inc_mark * AFSK_DELTA_COEF;
|
||||
afsk_phase_inc_space = message.phase_inc_space * AFSK_DELTA_COEF;
|
||||
afsk_repeat = message.repeat - 1;
|
||||
fm_delta = message.fm_delta * (0xFFFFFFULL / 1536000);
|
||||
fm_delta = message.fm_delta * (0xFFFFFFULL / AFSK_SAMPLERATE);
|
||||
symbol_count = message.symbol_count - 1;
|
||||
|
||||
sample_count = afsk_samples_per_bit;
|
||||
|
||||
@@ -38,7 +38,7 @@ public:
|
||||
private:
|
||||
bool configured = false;
|
||||
|
||||
BasebandThread baseband_thread { 1536000, this, NORMALPRIO + 20, baseband::Direction::Transmit };
|
||||
BasebandThread baseband_thread { AFSK_SAMPLERATE, this, NORMALPRIO + 20, baseband::Direction::Transmit };
|
||||
|
||||
uint32_t afsk_samples_per_bit { 0 };
|
||||
uint32_t afsk_phase_inc_mark { 0 };
|
||||
@@ -58,7 +58,7 @@ private:
|
||||
|
||||
int8_t re { 0 }, im { 0 };
|
||||
|
||||
TXDoneMessage message { };
|
||||
TXProgressMessage txprogress_message { };
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -40,16 +40,17 @@ void FSKProcessor::execute(const buffer_c8_t& buffer) {
|
||||
if (bit_pos > length) {
|
||||
// End of data
|
||||
cur_bit = 0;
|
||||
txdone_message.done = true;
|
||||
shared_memory.application_queue.push(txdone_message);
|
||||
txprogress_message.done = true;
|
||||
shared_memory.application_queue.push(txprogress_message);
|
||||
configured = false;
|
||||
} else {
|
||||
cur_bit = (shared_memory.bb_data.data[bit_pos >> 3] << (bit_pos & 7)) & 0x80;
|
||||
bit_pos++;
|
||||
if (progress_count >= progress_notice) {
|
||||
progress_count = 0;
|
||||
txdone_message.progress++;
|
||||
shared_memory.application_queue.push(txdone_message);
|
||||
txprogress_message.progress++;
|
||||
txprogress_message.done = false;
|
||||
shared_memory.application_queue.push(txprogress_message);
|
||||
} else {
|
||||
progress_count++;
|
||||
}
|
||||
@@ -95,8 +96,8 @@ void FSKProcessor::on_message(const Message* const p) {
|
||||
bit_pos = 0;
|
||||
cur_bit = 0;
|
||||
|
||||
txdone_message.progress = 0;
|
||||
txdone_message.done = false;
|
||||
txprogress_message.progress = 0;
|
||||
txprogress_message.done = false;
|
||||
configured = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ private:
|
||||
uint32_t sample_count { 0 };
|
||||
uint32_t phase { 0 }, sphase { 0 };
|
||||
|
||||
TXDoneMessage txdone_message { };
|
||||
TXProgressMessage txprogress_message { };
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -60,7 +60,7 @@ void MicTXProcessor::execute(const buffer_c8_t& buffer){
|
||||
if (beep_index == BEEP_TONES_NB) {
|
||||
configured = false;
|
||||
fm_delta = 0; // Zero-out the IQ output for the rest of the buffer
|
||||
shared_memory.application_queue.push(txdone_message);
|
||||
shared_memory.application_queue.push(txprogress_message);
|
||||
} else {
|
||||
beep_phase_inc = beep_deltas[beep_index];
|
||||
beep_index++;
|
||||
@@ -108,7 +108,7 @@ void MicTXProcessor::on_message(const Message* const msg) {
|
||||
ctcss_enabled = config_message.ctcss_enabled;
|
||||
ctcss_phase_inc = config_message.ctcss_phase_inc;
|
||||
|
||||
txdone_message.done = true;
|
||||
txprogress_message.done = true;
|
||||
|
||||
play_beep = false;
|
||||
configured = true;
|
||||
|
||||
@@ -60,7 +60,7 @@ private:
|
||||
int8_t re { 0 }, im { 0 };
|
||||
|
||||
AudioLevelReportMessage level_message { };
|
||||
TXDoneMessage txdone_message { };
|
||||
TXProgressMessage txprogress_message { };
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -51,14 +51,15 @@ void OOKProcessor::execute(const buffer_c8_t& buffer) {
|
||||
// Repeat
|
||||
bit_pos = 0;
|
||||
cur_bit = shared_memory.bb_data.data[0] & 0x80;
|
||||
txdone_message.progress = repeat_counter + 1;
|
||||
shared_memory.application_queue.push(txdone_message);
|
||||
txprogress_message.progress = repeat_counter + 1;
|
||||
txprogress_message.done = false;
|
||||
shared_memory.application_queue.push(txprogress_message);
|
||||
repeat_counter++;
|
||||
} else {
|
||||
// Stop
|
||||
cur_bit = 0;
|
||||
txdone_message.done = true;
|
||||
shared_memory.application_queue.push(txdone_message);
|
||||
txprogress_message.done = true;
|
||||
shared_memory.application_queue.push(txprogress_message);
|
||||
configured = false;
|
||||
}
|
||||
pause_counter = 0;
|
||||
@@ -109,8 +110,8 @@ void OOKProcessor::on_message(const Message* const p) {
|
||||
repeat_counter = 0;
|
||||
bit_pos = 0;
|
||||
cur_bit = 0;
|
||||
txdone_message.progress = 0;
|
||||
txdone_message.done = false;
|
||||
txprogress_message.progress = 0;
|
||||
txprogress_message.done = false;
|
||||
configured = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ private:
|
||||
uint32_t tone_phase { 0 }, phase { 0 }, sphase { 0 };
|
||||
int32_t tone_sample { 0 }, sig { 0 }, frq { 0 };
|
||||
|
||||
TXDoneMessage txdone_message { };
|
||||
TXProgressMessage txprogress_message { };
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -33,8 +33,8 @@ void SigGenProcessor::execute(const buffer_c8_t& buffer) {
|
||||
for (size_t i = 0; i < buffer.count; i++) {
|
||||
|
||||
if (!sample_count && auto_off) {
|
||||
message.done = true;
|
||||
shared_memory.application_queue.push(message);
|
||||
txprogress_message.done = true;
|
||||
shared_memory.application_queue.push(txprogress_message);
|
||||
} else
|
||||
sample_count--;
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ private:
|
||||
int8_t sample { 0 };
|
||||
int8_t re { 0 }, im { 0 };
|
||||
|
||||
TXDoneMessage message { };
|
||||
TXProgressMessage txprogress_message { };
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -52,12 +52,13 @@ void TonesProcessor::execute(const buffer_c8_t& buffer) {
|
||||
digit = shared_memory.bb_data.tones_data.message[digit_pos];
|
||||
if (digit_pos >= message_length) {
|
||||
configured = false;
|
||||
txdone_message.done = true;
|
||||
shared_memory.application_queue.push(txdone_message);
|
||||
txprogress_message.done = true;
|
||||
shared_memory.application_queue.push(txprogress_message);
|
||||
return;
|
||||
} else {
|
||||
txdone_message.progress = digit_pos; // Inform UI about progress
|
||||
shared_memory.application_queue.push(txdone_message);
|
||||
txprogress_message.progress = digit_pos; // Inform UI about progress
|
||||
txprogress_message.done = false;
|
||||
shared_memory.application_queue.push(txprogress_message);
|
||||
}
|
||||
|
||||
digit_pos++;
|
||||
@@ -136,8 +137,8 @@ void TonesProcessor::on_message(const Message* const p) {
|
||||
|
||||
if (audio_out) audio_output.configure(false);
|
||||
|
||||
txdone_message.done = false;
|
||||
txdone_message.progress = 0;
|
||||
txprogress_message.done = false;
|
||||
txprogress_message.progress = 0;
|
||||
|
||||
digit_pos = 0;
|
||||
sample_count = 0;
|
||||
@@ -148,8 +149,8 @@ void TonesProcessor::on_message(const Message* const p) {
|
||||
configured = true;
|
||||
} else {
|
||||
configured = false;
|
||||
txdone_message.done = true;
|
||||
shared_memory.application_queue.push(txdone_message);
|
||||
txprogress_message.done = true;
|
||||
shared_memory.application_queue.push(txprogress_message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ private:
|
||||
int8_t re { 0 }, im { 0 };
|
||||
uint8_t as { 0 }, ai { 0 };
|
||||
|
||||
TXDoneMessage txdone_message { };
|
||||
TXProgressMessage txprogress_message { };
|
||||
AudioOutput audio_output { };
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user