Added remaining buttons for TouchTunes remote

LCR transmit UI cleanup
CC1101 data whitening function
Uniformized tx progress message handling
This commit is contained in:
furrtek
2017-09-24 20:05:42 +01:00
parent 26949773bb
commit 73d47cd77d
48 changed files with 504 additions and 486 deletions
+1 -1
View File
@@ -48,7 +48,7 @@ private:
uint32_t cur_bit { 0 };
uint32_t phase { 0 };
TXDoneMessage message { };
TXProgressMessage txprogress_message { };
};
#endif
+6 -5
View File
@@ -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;
+2 -2
View File
@@ -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
+7 -6
View File
@@ -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;
}
}
+1 -1
View File
@@ -47,7 +47,7 @@ private:
uint32_t sample_count { 0 };
uint32_t phase { 0 }, sphase { 0 };
TXDoneMessage txdone_message { };
TXProgressMessage txprogress_message { };
};
#endif
+2 -2
View File
@@ -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;
+1 -1
View File
@@ -60,7 +60,7 @@ private:
int8_t re { 0 }, im { 0 };
AudioLevelReportMessage level_message { };
TXDoneMessage txdone_message { };
TXProgressMessage txprogress_message { };
};
#endif
+7 -6
View File
@@ -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;
}
}
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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--;
+1 -1
View File
@@ -46,7 +46,7 @@ private:
int8_t sample { 0 };
int8_t re { 0 }, im { 0 };
TXDoneMessage message { };
TXProgressMessage txprogress_message { };
};
#endif
+9 -8
View File
@@ -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);
}
}
}
+1 -1
View File
@@ -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 { };
};