summaryrefslogtreecommitdiff
path: root/gr-fec/grc/variable_ccsds_encoder_def_list.block.yml
diff options
context:
space:
mode:
Diffstat (limited to 'gr-fec/grc/variable_ccsds_encoder_def_list.block.yml')
-rw-r--r--gr-fec/grc/variable_ccsds_encoder_def_list.block.yml46
1 files changed, 46 insertions, 0 deletions
diff --git a/gr-fec/grc/variable_ccsds_encoder_def_list.block.yml b/gr-fec/grc/variable_ccsds_encoder_def_list.block.yml
new file mode 100644
index 0000000000..7a412dde96
--- /dev/null
+++ b/gr-fec/grc/variable_ccsds_encoder_def_list.block.yml
@@ -0,0 +1,46 @@
+id: variable_ccsds_encoder_def
+label: CCSDS Encoder Definition
+
+parameters:
+- id: ndim
+ label: Parallelism
+ dtype: enum
+ default: '0'
+ options: ['0', '1', '2']
+- id: dim1
+ label: Dimension 1
+ dtype: int
+ default: '1'
+ hide: ${ ('none' if (int(ndim) >= 1) else 'all') }
+- id: dim2
+ label: Dimension 2
+ dtype: int
+ default: '1'
+ hide: ${ ('none' if (int(ndim) >= 2) else 'all') }
+- id: framebits
+ label: Frame Bits
+ dtype: int
+ default: '2048'
+- id: state_start
+ label: Start State
+ dtype: int
+ default: '0'
+- id: mode
+ label: Streaming Behavior
+ dtype: enum
+ options: [fec.CC_STREAMING, fec.CC_TERMINATED, fec.CC_TAILBITING, fec.CC_TRUNCATED]
+ option_labels: [Streaming, Terminated, Tailbiting, Truncated]
+value: ${ fec.ccsds_encoder_make(framebits, state_start, mode) }
+
+templates:
+ imports: from gnuradio import fec
+ var_make: "\n% if int(ndim)==0 #:\nself.${id} = ${id} = fec.ccsds_encoder_make(${framebits},\
+ \ ${state_start}, ${mode})\n% elif int(ndim)==1 #:\nself.${id} = ${id} = map(\
+ \ (lambda a: fec.ccsds_encoder_make(${framebits}, ${state_start}, ${mode})),\
+ \ range(0,${dim1}) ); \n% else:\nself.${id} = ${id} = map( (lambda b: map(\
+ \ ( lambda a: fec.ccsds_encoder_make(${framebits}, ${state_start}, ${mode})),\
+ \ range(0,${dim2}) ) ), range(0,${dim1})); \n% endif\n "
+
+documentation: ""
+
+file_format: 1