Geontech / meta-redhawk-sdr

REDHAWK SDR Layer for Yocto/OpenEmbedded -based deployments
http://geontech.com/getting-started-with-meta-redhawk-sdr/
GNU Lesser General Public License v3.0
9 stars 6 forks source link

How to communicate between two devices which has RedhawkSDR images loaded on them. #67

Closed NayanaAnand closed 3 years ago

NayanaAnand commented 3 years ago

Hi,

I have loaded yocto images contains meta-redhawk-sdr on two Phytec Hardware. now i want to know how to communicate with them. As i see in Manual from RedhawkSDR, socket_loopback_demo is based on sinksocket and sourcesocket.

Can any one explain how that waveform is working between two devices for data transmission. Is that possible to use those component for communication without launching the waveform. If possible, can you guide me to do the same?

If that waveform is only for data transmission in one device, can you give us the route to how to transmit the data between two devices.

From, other issue comment(#66)....as suggested need to build Bridge component, can you explain us what is that meant and how it will help for data communication.

Regards, Nayana

chinkey commented 3 years ago

You shouldn't need to deal with a Bridge component unless you are doing something fancy.

assuming you have a network connection between your two processors which will be a requrement.
you need to launch a domain on one of your processors and a device manager (e.g. GPP) on both processors that register with that domain that you launched. You can then launch a waveform on the domain and the domain will deal with the deployment of the components in the waveform and the connections between them.

This youtube video goes over the basics: https://www.youtube.com/watch?v=SttCsAIQtSA&t=12s

based on you question you might benefit from spending some time using redhawk on a non-embedded (centos7) platform to gather the basics before diving in on the embedded platforms.

NayanaAnand commented 3 years ago

Hi Chris Hinkey,

launch a domain on one of your processors and a device manager (e.g. GPP) on both processors that register with that domain that you launched

As suggested, i have tried above scenario, but i can able to connect only one Device(e.g GPP) with Domain. when i tried to connect Device manager(GPP) to Domain from second Device/Hardware , filed with error(Like Multiple count...)

Note: so, i tried other device manager(FPGA) to connect with Domain, it was successful.

Can you please little elaborate about suggestion given above for data transmission between two different hardware?

Regards, Nayana

chinkey commented 3 years ago

In order for devices to register on a domain on a different computer you need to specify where to look for the naming service and device service. this is specified in /etc/omniORB.cfg e.g. if your domain is located on a computer at ip address 192.168.10.2:

InitRef = NameService=corbaname::192.168.10.2
InitRef = EventService=corbaloc::192.168.10.2:11169/omniEvents
NayanaAnand commented 3 years ago

Hi,

I have configured omniorb.cfg file and tried to connect with the Domain manager.

Brief about the scenario: System/Hardware 1: • OmniNames and OmniEvents are running background •. Domain manager is started. • Started Device manager e.g GPP

System/Hardware 2: • Configured omniorb.cfg with system 1 IP Address. • Tried to launch Device manager e.g GPP. But failed to launch. • I can able to launch other device manager like FPGA successfully.

From python sandbox: From system 2 I can able to attach the Domain REDHAWK_DEV using redhawk.attach().

My Requirement: I need to communicate with two different devices which has Redhawk installed on it.

Can you suggest any method for my requirements.

Regards, Nayana

chinkey commented 3 years ago

Is your GPP just coppied from one system to the other and have the same name? If the device manager tried to register a device with the same name as a device that already exists the registration will fail.

If this is the case you will need to update the node defintion that is launching the GPP.

NayanaAnand commented 3 years ago

Hi,

My Requirement: I need to communicate with two different devices which has Redhawk installed on it.

Can you suggest any method for my requirements.

any information on above request?

Regards, Nayana

chinkey commented 3 years ago

per my previous message:

assuming you have a network connection between your two processors which will be a requirement. you need to launch a domain on one of your processors and a device manager (e.g. GPP) on both processors that register with that domain that you launched. You can then launch a waveform on the domain and the domain will deal with the deployment of the components in the waveform and the connections between them.

To elaborate on this you will launch a waveform where a component will launch on GPP1 and another component will launch on GPP2. These two components will be connected in the waveform, the redhawk domain will automatically deal with sending the data across the network for you as long as the ports are connected in the waveform.

NayanaAnand commented 3 years ago

Hi,

launch a waveform where a component will launch on GPP1 and another component will launch on GPP2. These two components will be connected in the waveform, the redhawk domain will automatically deal with sending the data across the network for you as long as the ports are connected in the waveform.

I have tried given suggestion , but is is not working as expected.

Brief Explanation about Requirement :

Test Setup : The Yocto images are built with meta-redhawk-sdr layer and loaded on two different Pythec Hardware. Both Pythec hardware are connected via LAN Network.

Now, i want to transmit data between two Phytec hardware using Two Components, (i.e each component running on each Phytec hardware.) Can you suggest a way to communicate between two hardware with example code snippet(python sandbox).

Regards, Nayana

chinkey commented 3 years ago

You are seeking some basic level redhawk support and this forum is not the proper avenue for that and for that reason I'm going to close this issue.

A proper avenue to get redhawk support is to email redhawk@geontech.com.