diff --git a/README.md b/README.md index b3f98e1..9fad04f 100644 --- a/README.md +++ b/README.md @@ -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? diff --git a/examples/m17_streamer.grc b/examples/m17_streamer.grc index 013cb0f..9468003 100644 --- a/examples/m17_streamer.grc +++ b/examples/m17_streamer.grc @@ -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 diff --git a/lib/m17_decoder_impl.cc b/lib/m17_decoder_impl.cc index 491892f..bc5dd19 100644 --- a/lib/m17_decoder_impl.cc +++ b/lib/m17_decoder_impl.cc @@ -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 */