output data stream

main
Jean-Michel Friedt 2023-02-22 14:01:11 +01:00
parent 3cc2c12d0a
commit 6a4a02c076
3 changed files with 69 additions and 22 deletions

View File

@ -85,6 +85,5 @@ md5sum include/gnuradio/m17/m17_decoder.h
match the information in ``python/m17/bindings/*cc``.
## TODO:
* Check non-16 multiple buffer size -- cause of desynchronization? At least avoid crash !
* How to handle fixed symbol rate but varying output rate?
* How to modulate the RF transmitted with the real output?

View File

@ -45,23 +45,6 @@ blocks:
coordinate: [240, 52.0]
rotation: 0
state: true
- name: blocks_null_sink_0
id: blocks_null_sink
parameters:
affinity: ''
alias: ''
bus_structure_sink: '[[0,],]'
comment: ''
num_inputs: '1'
type: byte
vlen: '1'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [464, 72.0]
rotation: 180
state: true
- name: blocks_throttle_0
id: blocks_throttle
parameters:
@ -129,14 +112,14 @@ blocks:
affinity: ''
alias: ''
comment: ''
debug: 'True'
debug: 'False'
maxoutbuf: '0'
minoutbuf: '0'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [600, 64.0]
coordinate: [600, 56.0]
rotation: 180
state: true
- name: note_0_2
@ -233,13 +216,76 @@ blocks:
coordinate: [760, 168.0]
rotation: 0
state: true
- name: qtgui_number_sink_0
id: qtgui_number_sink
parameters:
affinity: ''
alias: ''
autoscale: 'False'
avg: '0'
color1: ("black", "black")
color10: ("black", "black")
color2: ("black", "black")
color3: ("black", "black")
color4: ("black", "black")
color5: ("black", "black")
color6: ("black", "black")
color7: ("black", "black")
color8: ("black", "black")
color9: ("black", "black")
comment: ''
factor1: '1'
factor10: '1'
factor2: '1'
factor3: '1'
factor4: '1'
factor5: '1'
factor6: '1'
factor7: '1'
factor8: '1'
factor9: '1'
graph_type: qtgui.NUM_GRAPH_NONE
gui_hint: ''
label1: ''
label10: ''
label2: ''
label3: ''
label4: ''
label5: ''
label6: ''
label7: ''
label8: ''
label9: ''
max: '1'
min: '-1'
name: '""'
nconnections: '1'
type: byte
unit1: ''
unit10: ''
unit2: ''
unit3: ''
unit4: ''
unit5: ''
unit6: ''
unit7: ''
unit8: ''
unit9: ''
update_time: '0.10'
states:
bus_sink: false
bus_source: false
bus_structure: null
coordinate: [416, 32.0]
rotation: 180
state: true
connections:
- [blocks_throttle_0, '0', m17_m17_coder_0, '0']
- [blocks_vector_source_x_0_2, '0', blocks_throttle_0, '0']
- [m17_m17_coder_0, '0', m17_m17_decoder_0, '0']
- [m17_m17_coder_0, '0', qtgui_freq_sink_x_0, '0']
- [m17_m17_decoder_0, '0', blocks_null_sink_0, '0']
- [m17_m17_decoder_0, '0', qtgui_number_sink_0, '0']
metadata:
file_format: 1

View File

@ -144,6 +144,7 @@ void m17_decoder_impl::set_debug(bool debug)
{
const float *in = (const float *) input_items[0];
char *out = (char *) output_items[0];
int countout=0;
float sample; //last raw sample from the stdin
float last[8]; //look-back buffer for finding syncwords
@ -347,6 +348,7 @@ if (_debug==true) {
for(uint8_t i=3; i<19; i++)
{
printf("%02X", frame_data[i]);
out[countout]=frame_data[i];countout++;
}
#ifdef SHOW_VITERBI_ERRS
printf(" e=%1.1f\n", (float)e/0xFFFF);
@ -439,7 +441,7 @@ if (_debug==true) {
consume_each (noutput_items);
// Tell runtime system how many output items we produced.
return 0;
return countout;
}
} /* namespace m17 */