======DBG-interface====== =====Command-syntax===== ====list_modules==== \index{DBG!list_modules} returns a list of all available modules **Arguments** none **Returns** a module_id,name list of all modules available, where module_id is to be used for reference, while name reflects the spc-name of the module. The returned list is sorted on module_id. ====list_tag_modules==== \index{DBG!list_tag_modules} returns a list of all available modules and tags all modules as 'seen'. See also //list_new_modules//. **Arguments** none **Returns** a module_id,name list of all modules available, where module_id is to be used for reference, while name reflects the spc-name of the module. The returned list is sorted on module_id. ====list_new_modules==== \index{DBG!list_new_modules} only returns modules that are not tagged as 'seen'. Useful only in conjunction with //list_tag_modules//. All returned modules are tagged as 'seen', too. **Arguments** none **Returns** a module_id,name list of all modules available, where module_id is to be used for reference, while name reflects the spc-name of the module. The returned list is sorted on module_id. ====show_all==== \index{DBG!show_all} gives the whole description of a module **Arguments** the id of the module **Returns** inputnumber of inputs, followed by a type,len - list for every input outputnumber of outputs, followed by a conn_id,conn_index,type,len list for every output, where conn_id and conn_index point to the module and port connected. If this port is not connected, conn_id and conn_index are both -1. confignumber of configs, followed by a name,type,value - list for every configuration-item. statsnumber of stats, followed by a name,type,value - list for every configuration-item. ====show_*==== \index{DBG!show_input} \index{DBG!show_output} \index{DBG!show_config} \index{DBG!show_stats} Returns only part of the description. "*" can be one of {input, output, config, stats} and will return the corresponding information. **Arguments** the id of the module **Returns** Like //show_all//, but only the asked argument ====get_output==== \index{DBG!get_output} returns a given output of a given module **Arguments** module_id,port_nbr **Returns** size,type,values where values are decimal, comma-seperated values. For complex numbers, each value is a (real,imag)-pair. ====get_block==== \index{DBG!get_block} Returns the values of a block. Contrary to "show_stats" and "show_config", "get_block" returns the values in their binary form. **Arguments** module_id, stats_index **Returns** The block of data in binary representation. ====get_image==== \index{DBG!get_image} Returns an image that is stored in a stats. Read //Returns// for a description of the values returned. **Arguments** module_id, stats_index **Returns** The image in binary representation. The size of the returned block is of width \cdot height \cdot \lceil\frac{bpp + 7}{8}\rceil. That means that a 20 x 20 black/white image (bpp=1) will return 400 bytes. ====set_config==== \index{DBG!set_config} Sends a new config-value **Arguments** module_id, config_index, value value is in human-readable form. **Returns** "Reconfigured" on success ====new_list==== \index{DBG!new_list} A list is used when one wants to track a certain value in the software-radio, or a value-pair. The software-radio tries its best to make sure that all value-pairs are correlated, but it may happen that an older value gets paired with a new value. **Arguments** module\_id_1, stats\_index_1, module\_id_2, stats\_index_2 If module\_id_2 is -1 then only a single value will be tracked and the values returned by //read_list// will contain a {value,time} pair. **Returns** The id of the list, in ascii ====read_list==== \index{DBG!read_list} Returns the so far collected value-pairs. The cache is of length 1024, that means that you should collect the data before 1024 are stored. In the most busiest scenario, this means once every second. **Arguments** list_id **Returns** The first line contains the total number of value-pairs that will be sent. Then follow either (value_1, value_2) or (value, time) pairs, each one followed by a "\n". ====close_list==== \index{DBG!close_list} Finishes tracking of the values from this list. **Arguments** list_id **Returns** OK or error on error. ====process_data==== \index{DBG!process_data} Tells a module to immediatly start processing. If the module has inputs, all connected inputs will be activated before processing. **Arguments** module_id **Returns** OK on success ====get_profiling==== \index{DBG!get_profiling} Returns all profiling-data from a module. The software-radio keeps track of the number of calls and the total execution-time of the following parameters: user-messages, data-processing and total time. **Arguments** module_id **Returns** Three lines of profiling with the time spent and the number of calls seperated by a space. The numbers are 64-bit integers. The time spent is returned in \mus. ====ping==== \index{DBG!ping} To test whether the software-radio is still running and replying to requests. **Arguments** none **Returns** "pong"