Reading encoder module for SRT: The Small Radio Telescope.
- git (for installation)
- cmake (for installation)
- Doxygen (for documentation, optional)
- modbus library
- SRT software
Example installation commands:
mkdir build/
cd build/
cmake -DCMAKE_INSTALL_PREFIX="/opt/ReadEncoder/" -DCMAKE_BUILD_TYPE="Release" -DBUILD_DOC=OFF ../
make
make install
E.g.:
./ReadEncoder -s 1 -l 2 -n "ttyUSB0" -b 19200 -p 'E' -d 8 -t 1 -a 127 -e 0 -u 40000 -o 1 -r 0 -i 1 -c 1 -g 1
or the same in a longer version:
./ReadEncoder --start 1 \
--length 2 \
--deviceName "ttUSB0" \
--baud 19200 \
--parity 'E' \
--data_bit 8 \
--stop_bit 1 \
--slave_ad 127 \
--timeout_sec 0 \
--timeout_usec 40000 \
--loops 1 \
--repTime 0 \
--setTerm false \
--inPlace false \
--recovery true \
--debug true
If you will get an error message like:
error while loading shared libraries: libmodbus.so.5: cannot open shared object file: No such file or directory
then you need to add the libmodbus library folder to the LD_LIBRARY_PATH, e.g.:
echo 'export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib/' >> ~/.bashrc
Command line options:
| Long command | Short command | Argument | Description |
|---|---|---|---|
| help | h | no | |
| start | s | required | where to start reading (w/o offset) |
| length | l | required | how many registers to read |
| deviceName | n | required | e.g. "/dev/ttyUSB0" or shorter "ttyUSB0" |
| baud | b | required | [bps] |
| parity | p | required | 'N', 'E' or 'O' |
| data_bit | d | required | number of bits of data, the allowed values are 5, 6, 7 and 8 |
| stop_bit | t | required | bits of stop, the allowed values are 1 and 2 |
| slave_ad | a | required | slave address |
| timeout_sec | e | required | timeout to set in [sec]... |
| timeout_usec | u | required | ...and the [μsec] part. At least 13000, better 20000 (20ms) or 40000 |
| loops | o | required | how many loops of reading. 0 = Inf |
| repTime | r | required | time between loops [msec] |
| setTerm | m | required | set termination register. False / 0 or off / 1 or on. Def = false |
| inPlace | i | required | in inifinite loop mode print registers in place or scroll the screen. Def = false |
| recovery | c | required | error recovery mode. Default = false |
| debug | g | required | debug mode. Default = false |