Skip to content
Snippets Groups Projects
Commit a3caac32 authored by Eric Kooistra's avatar Eric Kooistra
Browse files

Merge branch 'L2SDP-437' into 'master'

Resolve L2SDP-437

Closes L2SDP-437

See merge request !32
parents 209ec26a 7aa1def8
No related branches found
No related tags found
2 merge requests!32Resolve L2SDP-437,!31L2SDP-483, add info file for setting up raspberrypi
#### Setting up Raspberrypi-4 for running and developing the sdp translator (sdptr)
##### Install raspbian os on a SDcard.
Download Raspberry Pi Imager for your operating system
Linux: https://downloads.raspberrypi.org/imager/imager_latest_amd64.deb
Windows: https://downloads.raspberrypi.org/imager/imager_latest.exe
macOS: https://downloads.raspberrypi.org/imager/imager_latest.dmg
Install and run the Imager (you need a sd-card reader).
- CHOOSE OS, "Raspberry Pi OS (other)" > "Raspberry Pi OS Lite (32-bit)"
- CHOOSE STORA..., "Select SDcard"
- WRITE.
If done, add empty file SSH to root of disk to activate the ssh server.
```shell
cd [SDcard]
touch SSH
```
##### Startup and configuration.
Put the SD-card in the RaspberryPi and startup, login=pi, password=raspberry.
```shell
sudo raspi-config
```
For only running "sdptr" more is not needed.
------
##### Setup for developing sdptr.
Install missing tools/programs.
```shell
sudo apt-get install build-essential gcc pkg-config cmake autoconf automake
sudo apt-get install vim screen
```
Add a git directory.
```shell
mkdir ~/git
cd ~/git
```
##### Installation of open62541 opc-ua library.
The opc-ua library is needed by sdptr.
Get source code:
```shell
git clone https://github.com/open62541/open62541.git
cd ~/git/open62541
git submodule update --init --recursive
```
Compile and install.
```shell
mkdir ~/git/open62541/build
cd ~/git/open62541/build
cmake ..
make
sudo make install
```
##### Installation and compiling sdptr.
Install from git repository.
```shell
cd ~/git
git clone https://git.astron.nl/lofar2.0/sdptr.git
```
First time or after changing the Makefile
```shell
cd ~/git/sdptr
autoreconf -f -i
./configure
```
Compile sdptr.
```shell
cd ~/git/sdptr
make
```
##### Running sdptr.
sdptr can run without hardware connected.
```shell
cd ~/git/sdptr/src
./sdptr --configfile sdptr.conf --nodaemon --type LTS
```
...@@ -53,7 +53,7 @@ TranslatorMap::TranslatorMap() ...@@ -53,7 +53,7 @@ TranslatorMap::TranslatorMap()
translatorMap->add_register("TR_fpga_mask_RW", "-", SD.n_fpgas, 1, "RW", REG_FORMAT_BOOLEAN); translatorMap->add_register("TR_fpga_mask_RW", "-", SD.n_fpgas, 1, "RW", REG_FORMAT_BOOLEAN);
translatorMap->add_register("TR_software_version_R", "-", 1, 1, "RO", REG_FORMAT_STRING); translatorMap->add_register("TR_software_version_R", "-", 1, 1, "RO", REG_FORMAT_STRING);
translatorMap->add_register("TR_start_time_R", "-", 1, 1, "RO", REG_FORMAT_INT64); translatorMap->add_register("TR_start_time_R", "-", 1, 1, "RO", REG_FORMAT_INT64);
// translatorMap->add_register("TR_tod_client_status_R", "-", 1, 1, "RO", REG_FORMAT_BOOLEAN); // TODO: PTP client is part of linux, can I get a status? translatorMap->add_register("TR_tod_ptp_status_R", "-", 1, 1, "RO", REG_FORMAT_BOOLEAN); // TODO: PTP client is part of linux, can I get a status?
translatorMap->add_register("TR_tod_R", "-", 1, 2, "RO", REG_FORMAT_INT64); translatorMap->add_register("TR_tod_R", "-", 1, 2, "RO", REG_FORMAT_INT64);
translatorMap->add_register("TR_tod_pps_delta_R", "-", 1, 1, "RO", REG_FORMAT_DOUBLE); translatorMap->add_register("TR_tod_pps_delta_R", "-", 1, 1, "RO", REG_FORMAT_DOUBLE);
translatorMap->add_register("TR_fpga_communication_error_R", "-", SD.n_fpgas, 1, "RO", REG_FORMAT_BOOLEAN); translatorMap->add_register("TR_fpga_communication_error_R", "-", SD.n_fpgas, 1, "RO", REG_FORMAT_BOOLEAN);
...@@ -151,6 +151,12 @@ bool TranslatorMap::translator(TermOutput& termout, const char cmd, const string ...@@ -151,6 +151,12 @@ bool TranslatorMap::translator(TermOutput& termout, const char cmd, const string
} }
*ptr_out = pps_delta; *ptr_out = pps_delta;
} }
else if (addr == "TR_tod_ptp_status_R") {
bool ptp_status = true;
// TODO: get status from ptp deamon
bool *ptr_out = (bool *)termout.val;
*ptr_out = ptp_status;
}
else if (addr == "TR_start_time_R") { else if (addr == "TR_start_time_R") {
uint32_t *ptr_out = (uint32_t *)termout.val; uint32_t *ptr_out = (uint32_t *)termout.val;
*ptr_out = (uint32_t)SD.start_time; *ptr_out = (uint32_t)SD.start_time;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment