kopia lustrzana https://github.com/M17-Project/M17_Implementations
SMS script update
- flowgraph for the packet mode added - .gitignore updatepull/15/head
rodzic
bb60cea88a
commit
f6e2f4d618
|
@ -1,5 +1,4 @@
|
|||
/SP5WWP/grc/m17_streamer.py
|
||||
/SP5WWP/grc/symbol_recovery.py
|
||||
/SP5WWP/grc/*.py
|
||||
/SP5WWP/m17-coder/m17-coder-sym
|
||||
/SP5WWP/m17-decoder/m17-decoder-sym
|
||||
/SP5WWP/m17-packet/m17-packet-encode
|
||||
|
|
|
@ -0,0 +1,461 @@
|
|||
options:
|
||||
parameters:
|
||||
author: SP5WWP
|
||||
catch_exceptions: 'True'
|
||||
category: '[GRC Hier Blocks]'
|
||||
cmake_opt: ''
|
||||
comment: ''
|
||||
copyright: ''
|
||||
description: ''
|
||||
gen_cmake: 'On'
|
||||
gen_linking: dynamic
|
||||
generate_options: qt_gui
|
||||
hier_block_src_path: '.:'
|
||||
id: pkt_tx
|
||||
max_nouts: '0'
|
||||
output_language: python
|
||||
placement: (0,0)
|
||||
qt_qss_theme: ''
|
||||
realtime_scheduling: ''
|
||||
run: 'True'
|
||||
run_command: '{python} -u {filename}'
|
||||
run_options: prompt
|
||||
sizing_mode: fixed
|
||||
thread_safe_setters: ''
|
||||
title: Simple packet transmitter
|
||||
window_size: (1000,1000)
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [8, 8]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
|
||||
blocks:
|
||||
- name: ppm
|
||||
id: variable
|
||||
parameters:
|
||||
comment: ''
|
||||
value: '0.0'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [280, 12.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: samp_rate
|
||||
id: variable
|
||||
parameters:
|
||||
comment: ''
|
||||
value: '48000'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [184, 12]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: analog_frequency_modulator_fc_0_0
|
||||
id: analog_frequency_modulator_fc
|
||||
parameters:
|
||||
affinity: ''
|
||||
alias: ''
|
||||
comment: ''
|
||||
maxoutbuf: '0'
|
||||
minoutbuf: '0'
|
||||
sensitivity: (2.0*math.pi*800.0)/samp_rate
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [336, 196.0]
|
||||
rotation: 0
|
||||
state: true
|
||||
- name: blocks_file_source_0
|
||||
id: blocks_file_source
|
||||
parameters:
|
||||
affinity: ''
|
||||
alias: ''
|
||||
begin_tag: pmt.PMT_NIL
|
||||
comment: ''
|
||||
file: out.rrc
|
||||
length: '0'
|
||||
maxoutbuf: '0'
|
||||
minoutbuf: '0'
|
||||
offset: '0'
|
||||
repeat: 'False'
|
||||
type: short
|
||||
vlen: '1'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [16, 164.0]
|
||||
rotation: 0
|
||||
state: true
|
||||
- name: blocks_short_to_float_0
|
||||
id: blocks_short_to_float
|
||||
parameters:
|
||||
affinity: ''
|
||||
alias: ''
|
||||
comment: ''
|
||||
maxoutbuf: '0'
|
||||
minoutbuf: '0'
|
||||
scale: '7168.0'
|
||||
vlen: '1'
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [200, 196.0]
|
||||
rotation: 0
|
||||
state: true
|
||||
- name: iio_pluto_sink_0
|
||||
id: iio_pluto_sink
|
||||
parameters:
|
||||
affinity: ''
|
||||
alias: ''
|
||||
attenuation1: '30'
|
||||
bandwidth: samp_rate*16
|
||||
buffer_size: '32768'
|
||||
comment: ''
|
||||
cyclic: 'False'
|
||||
filter: ''
|
||||
filter_source: '''Auto'''
|
||||
fpass: '0'
|
||||
frequency: int(433475000*(1+ppm*1e-6))
|
||||
fstop: '0'
|
||||
len_tag_key: ''
|
||||
samplerate: samp_rate*16
|
||||
type: fc32
|
||||
uri: ''
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [672, 140.0]
|
||||
rotation: 0
|
||||
state: enabled
|
||||
- name: import_0
|
||||
id: import
|
||||
parameters:
|
||||
alias: ''
|
||||
comment: ''
|
||||
imports: import math
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [352, 12.0]
|
||||
rotation: 0
|
||||
state: true
|
||||
- name: rational_resampler_xxx_0
|
||||
id: rational_resampler_xxx
|
||||
parameters:
|
||||
affinity: ''
|
||||
alias: ''
|
||||
comment: ''
|
||||
decim: '1'
|
||||
fbw: '0'
|
||||
interp: '16'
|
||||
maxoutbuf: '0'
|
||||
minoutbuf: '0'
|
||||
taps: '[]'
|
||||
type: ccf
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [504, 172.0]
|
||||
rotation: 0
|
||||
state: true
|
||||
- name: uhd_usrp_sink_0
|
||||
id: uhd_usrp_sink
|
||||
parameters:
|
||||
affinity: ''
|
||||
alias: ''
|
||||
ant0: '"TX/RX"'
|
||||
ant1: '"TX/RX"'
|
||||
ant10: '"TX/RX"'
|
||||
ant11: '"TX/RX"'
|
||||
ant12: '"TX/RX"'
|
||||
ant13: '"TX/RX"'
|
||||
ant14: '"TX/RX"'
|
||||
ant15: '"TX/RX"'
|
||||
ant16: '"TX/RX"'
|
||||
ant17: '"TX/RX"'
|
||||
ant18: '"TX/RX"'
|
||||
ant19: '"TX/RX"'
|
||||
ant2: '"TX/RX"'
|
||||
ant20: '"TX/RX"'
|
||||
ant21: '"TX/RX"'
|
||||
ant22: '"TX/RX"'
|
||||
ant23: '"TX/RX"'
|
||||
ant24: '"TX/RX"'
|
||||
ant25: '"TX/RX"'
|
||||
ant26: '"TX/RX"'
|
||||
ant27: '"TX/RX"'
|
||||
ant28: '"TX/RX"'
|
||||
ant29: '"TX/RX"'
|
||||
ant3: '"TX/RX"'
|
||||
ant30: '"TX/RX"'
|
||||
ant31: '"TX/RX"'
|
||||
ant4: '"TX/RX"'
|
||||
ant5: '"TX/RX"'
|
||||
ant6: '"TX/RX"'
|
||||
ant7: '"TX/RX"'
|
||||
ant8: '"TX/RX"'
|
||||
ant9: '"TX/RX"'
|
||||
bw0: samp_rate*16
|
||||
bw1: '0'
|
||||
bw10: '0'
|
||||
bw11: '0'
|
||||
bw12: '0'
|
||||
bw13: '0'
|
||||
bw14: '0'
|
||||
bw15: '0'
|
||||
bw16: '0'
|
||||
bw17: '0'
|
||||
bw18: '0'
|
||||
bw19: '0'
|
||||
bw2: '0'
|
||||
bw20: '0'
|
||||
bw21: '0'
|
||||
bw22: '0'
|
||||
bw23: '0'
|
||||
bw24: '0'
|
||||
bw25: '0'
|
||||
bw26: '0'
|
||||
bw27: '0'
|
||||
bw28: '0'
|
||||
bw29: '0'
|
||||
bw3: '0'
|
||||
bw30: '0'
|
||||
bw31: '0'
|
||||
bw4: '0'
|
||||
bw5: '0'
|
||||
bw6: '0'
|
||||
bw7: '0'
|
||||
bw8: '0'
|
||||
bw9: '0'
|
||||
center_freq0: int(433475000*(1+2.75e-6))
|
||||
center_freq1: '0'
|
||||
center_freq10: '0'
|
||||
center_freq11: '0'
|
||||
center_freq12: '0'
|
||||
center_freq13: '0'
|
||||
center_freq14: '0'
|
||||
center_freq15: '0'
|
||||
center_freq16: '0'
|
||||
center_freq17: '0'
|
||||
center_freq18: '0'
|
||||
center_freq19: '0'
|
||||
center_freq2: '0'
|
||||
center_freq20: '0'
|
||||
center_freq21: '0'
|
||||
center_freq22: '0'
|
||||
center_freq23: '0'
|
||||
center_freq24: '0'
|
||||
center_freq25: '0'
|
||||
center_freq26: '0'
|
||||
center_freq27: '0'
|
||||
center_freq28: '0'
|
||||
center_freq29: '0'
|
||||
center_freq3: '0'
|
||||
center_freq30: '0'
|
||||
center_freq31: '0'
|
||||
center_freq4: '0'
|
||||
center_freq5: '0'
|
||||
center_freq6: '0'
|
||||
center_freq7: '0'
|
||||
center_freq8: '0'
|
||||
center_freq9: '0'
|
||||
clock_rate: 0e0
|
||||
clock_source0: ''
|
||||
clock_source1: ''
|
||||
clock_source2: ''
|
||||
clock_source3: ''
|
||||
clock_source4: ''
|
||||
clock_source5: ''
|
||||
clock_source6: ''
|
||||
clock_source7: ''
|
||||
comment: ''
|
||||
dev_addr: ''
|
||||
dev_args: ''
|
||||
gain0: '60'
|
||||
gain1: '0'
|
||||
gain10: '0'
|
||||
gain11: '0'
|
||||
gain12: '0'
|
||||
gain13: '0'
|
||||
gain14: '0'
|
||||
gain15: '0'
|
||||
gain16: '0'
|
||||
gain17: '0'
|
||||
gain18: '0'
|
||||
gain19: '0'
|
||||
gain2: '0'
|
||||
gain20: '0'
|
||||
gain21: '0'
|
||||
gain22: '0'
|
||||
gain23: '0'
|
||||
gain24: '0'
|
||||
gain25: '0'
|
||||
gain26: '0'
|
||||
gain27: '0'
|
||||
gain28: '0'
|
||||
gain29: '0'
|
||||
gain3: '0'
|
||||
gain30: '0'
|
||||
gain31: '0'
|
||||
gain4: '0'
|
||||
gain5: '0'
|
||||
gain6: '0'
|
||||
gain7: '0'
|
||||
gain8: '0'
|
||||
gain9: '0'
|
||||
gain_type0: default
|
||||
gain_type1: default
|
||||
gain_type10: default
|
||||
gain_type11: default
|
||||
gain_type12: default
|
||||
gain_type13: default
|
||||
gain_type14: default
|
||||
gain_type15: default
|
||||
gain_type16: default
|
||||
gain_type17: default
|
||||
gain_type18: default
|
||||
gain_type19: default
|
||||
gain_type2: default
|
||||
gain_type20: default
|
||||
gain_type21: default
|
||||
gain_type22: default
|
||||
gain_type23: default
|
||||
gain_type24: default
|
||||
gain_type25: default
|
||||
gain_type26: default
|
||||
gain_type27: default
|
||||
gain_type28: default
|
||||
gain_type29: default
|
||||
gain_type3: default
|
||||
gain_type30: default
|
||||
gain_type31: default
|
||||
gain_type4: default
|
||||
gain_type5: default
|
||||
gain_type6: default
|
||||
gain_type7: default
|
||||
gain_type8: default
|
||||
gain_type9: default
|
||||
len_tag_name: '""'
|
||||
lo_export0: 'False'
|
||||
lo_export1: 'False'
|
||||
lo_export10: 'False'
|
||||
lo_export11: 'False'
|
||||
lo_export12: 'False'
|
||||
lo_export13: 'False'
|
||||
lo_export14: 'False'
|
||||
lo_export15: 'False'
|
||||
lo_export16: 'False'
|
||||
lo_export17: 'False'
|
||||
lo_export18: 'False'
|
||||
lo_export19: 'False'
|
||||
lo_export2: 'False'
|
||||
lo_export20: 'False'
|
||||
lo_export21: 'False'
|
||||
lo_export22: 'False'
|
||||
lo_export23: 'False'
|
||||
lo_export24: 'False'
|
||||
lo_export25: 'False'
|
||||
lo_export26: 'False'
|
||||
lo_export27: 'False'
|
||||
lo_export28: 'False'
|
||||
lo_export29: 'False'
|
||||
lo_export3: 'False'
|
||||
lo_export30: 'False'
|
||||
lo_export31: 'False'
|
||||
lo_export4: 'False'
|
||||
lo_export5: 'False'
|
||||
lo_export6: 'False'
|
||||
lo_export7: 'False'
|
||||
lo_export8: 'False'
|
||||
lo_export9: 'False'
|
||||
lo_source0: internal
|
||||
lo_source1: internal
|
||||
lo_source10: internal
|
||||
lo_source11: internal
|
||||
lo_source12: internal
|
||||
lo_source13: internal
|
||||
lo_source14: internal
|
||||
lo_source15: internal
|
||||
lo_source16: internal
|
||||
lo_source17: internal
|
||||
lo_source18: internal
|
||||
lo_source19: internal
|
||||
lo_source2: internal
|
||||
lo_source20: internal
|
||||
lo_source21: internal
|
||||
lo_source22: internal
|
||||
lo_source23: internal
|
||||
lo_source24: internal
|
||||
lo_source25: internal
|
||||
lo_source26: internal
|
||||
lo_source27: internal
|
||||
lo_source28: internal
|
||||
lo_source29: internal
|
||||
lo_source3: internal
|
||||
lo_source30: internal
|
||||
lo_source31: internal
|
||||
lo_source4: internal
|
||||
lo_source5: internal
|
||||
lo_source6: internal
|
||||
lo_source7: internal
|
||||
lo_source8: internal
|
||||
lo_source9: internal
|
||||
maxoutbuf: '0'
|
||||
minoutbuf: '0'
|
||||
nchan: '1'
|
||||
num_mboards: '1'
|
||||
otw: ''
|
||||
samp_rate: samp_rate*16
|
||||
sd_spec0: ''
|
||||
sd_spec1: ''
|
||||
sd_spec2: ''
|
||||
sd_spec3: ''
|
||||
sd_spec4: ''
|
||||
sd_spec5: ''
|
||||
sd_spec6: ''
|
||||
sd_spec7: ''
|
||||
show_lo_controls: 'False'
|
||||
start_time: '-1.0'
|
||||
stream_args: ''
|
||||
stream_chans: '[]'
|
||||
sync: sync
|
||||
time_source0: ''
|
||||
time_source1: ''
|
||||
time_source2: ''
|
||||
time_source3: ''
|
||||
time_source4: ''
|
||||
time_source5: ''
|
||||
time_source6: ''
|
||||
time_source7: ''
|
||||
type: fc32
|
||||
states:
|
||||
bus_sink: false
|
||||
bus_source: false
|
||||
bus_structure: null
|
||||
coordinate: [680, 316.0]
|
||||
rotation: 0
|
||||
state: disabled
|
||||
|
||||
connections:
|
||||
- [analog_frequency_modulator_fc_0_0, '0', rational_resampler_xxx_0, '0']
|
||||
- [blocks_file_source_0, '0', blocks_short_to_float_0, '0']
|
||||
- [blocks_short_to_float_0, '0', analog_frequency_modulator_fc_0_0, '0']
|
||||
- [rational_resampler_xxx_0, '0', iio_pluto_sink_0, '0']
|
||||
- [rational_resampler_xxx_0, '0', uhd_usrp_sink_0, '0']
|
||||
|
||||
metadata:
|
||||
file_format: 1
|
||||
grc_version: 3.10.7.0
|
|
@ -1,5 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
#check input parameters
|
||||
if [ "$#" -lt 5 ]
|
||||
then
|
||||
echo "Not enough parameters."
|
||||
|
@ -8,8 +9,17 @@ then
|
|||
exit
|
||||
fi
|
||||
|
||||
#extract string input
|
||||
str=$4
|
||||
printf -v _ %s%n "$str" len #get UTF-8 encoded length
|
||||
len=$(($len+2)) #add the 2 additional bytes (0x05 and 0x00)
|
||||
echo -en "\x05"$str"\x00" | m17-packet-encode -S $2 -D $1 -C $3 -n $len -o $5
|
||||
|
||||
#get the size in bytes
|
||||
len=$(echo -n "$str" | wc -c) #get UTF-8 encoded length in bytes
|
||||
len=$((len+2)) #add 2 additional bytes (0x05 and 0x00)
|
||||
len_chars=${#str} #get length in characters rather than bytes
|
||||
|
||||
#echo the message to the encoder
|
||||
str1=${str:0:$((len_chars-1))}
|
||||
str2=${str: -1}
|
||||
echo -en "\x05"$str1\'$str2\'"\x00" | m17-packet-encode -S $2 -D $1 -C $3 -n $len -o $5
|
||||
sox -t raw -r 48000 -b 16 -c 1 -L -e signed-integer $5 $5".wav"
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue