Name Last Update
f_arg_max Loading commit data...
f_convolute Loading commit data...
f_discretize Loading commit data...
f_filter Loading commit data...
f_max Loading commit data...
f_norm Loading commit data...
f_point_of_interest Loading commit data...
f_tee Loading commit data...
f_transform_signal Loading commit data...
i_fread Loading commit data...
i_gaussian Loading commit data...
i_keyboard Loading commit data...
i_oscillator Loading commit data...
i_read Loading commit data...
o_fwrite Loading commit data...
serial Loading commit data...
CMakeLists.txt Loading commit data...
README.md Loading commit data...
check.sh Loading commit data...

Set of programs to manipulate data in blc_channels. They do not have any lib dependency.

Acquire input values

From keyboard

i_keyboard changes values with the keyboard arrows or specific keys:

Waiting for one key in '0123456789abcdef'. Quitting with 'q'
/i_keyboard31058

This means that a channel (/i_keyboard31058) of 16 ( by default there is 16 characters in the string) 'UIN8' has been created. Press Up and Down to increase or decrease the first value. Use Right and Left or one key of the key list to select another value to change. Esc sets the value back to neutral values (default 50% i.e. 127)

i_keyboard has many options (use ikeyboard h to list them) we illustrate some:

i_keyboard  -d -tFL32 -k abcd -o/toto

Creates a channel '/toto' of 4 float values between 0 and 1 and display the pourcentage in text mode.

100%(1.00) [/toto] |
^            
| 49 49 49 49
| [] [] [] []
 0%(0.000)  >
>|#a| b| c| d|

We see the initial values are set to 49% (i.e. 0.5) and we can chenge them with the arrow. You could change the initial value by changing the neutral value (-N). You can change the min and max with -m and -M. The default step of one keypressed in 0.004 (~1/256) or 1 with UIN8 type. It can be chenged with -S.

Sometime you do not want intermediate values but only toggle to max and min then use -T.

From files

`i_fread <filename.tsv>` 

Read a line of data from the file in tsv (i.e. '0.3 0.55 0.56 ' is a vector of 3 values) and creates a channel (a vector) containing these data. If there are many lines, it updates the data as fast as possible with each time. It is very fast you can be either be synchronized or using -p to requiert a minimal time between each update. You can also use a first column describing the time in µs to read the line. Finaly you can limit the number of line read by using -n.

Generate outputs

to a file

`o_fread <channel> -f <filename.tsv>` 

Create a tsv file with the data of the channel. The options are symetrical with i_fread.