I am utilizing the platform_ad9361 devices from the ocpi.platform project,
and I am trying to run the FSK application. I am running into an issue
with the interfaces of the new platform data subs.
When I run the application, I get the following Exception being thrown:
Exception thrown: Protocols in connection are incompatible: port "out" of
instance "data_src_qadc" has protocol "ComplexShortWithMetadata" vs. port
"in" of instance "dc_offset_filter" has protocol "iqstream"
While I can understand a mismatch of protocol is definitely an error and
some adapter needs to be made, I am a bit confused since I have a bit file
that is loaded and has the devices connected together, so the HDL assembly
knew how to connect them together but the software doesn't understand how
they're connected?
Note that I get the same thing with the DAC side of things as well, just
swapped iqstream and ComplexShortWithMetadata.
Do I need an adapter in here somewhere? How can I go from
ComplexShortWithMetadata over to iqstream and, subsequently, vice-versa?
Thanks,
Brian
There are two adapter workers in projects/assets/components/misc_comps/ ;
one called iqstream_to_cswm and cswm_to_iqstream. cswm is short for
ComplexShortwithMetaData, these allow you to hook up legacy workers. A good
application to reference is fsk_dig_radio_ctrlr/fsk_modem_app.xml
Aaron
On Fri, Jan 15, 2021 at 4:46 PM Brian Padalino bpadalino@gmail.com wrote:
I am utilizing the platform_ad9361 devices from the ocpi.platform project,
and I am trying to run the FSK application. I am running into an issue
with the interfaces of the new platform data subs.
When I run the application, I get the following Exception being thrown:
Exception thrown: Protocols in connection are incompatible: port "out" of
instance "data_src_qadc" has protocol "ComplexShortWithMetadata" vs. port
"in" of instance "dc_offset_filter" has protocol "iqstream"
While I can understand a mismatch of protocol is definitely an error and
some adapter needs to be made, I am a bit confused since I have a bit file
that is loaded and has the devices connected together, so the HDL assembly
knew how to connect them together but the software doesn't understand how
they're connected?
Note that I get the same thing with the DAC side of things as well, just
swapped iqstream and ComplexShortWithMetadata.
Do I need an adapter in here somewhere? How can I go from
ComplexShortWithMetadata over to iqstream and, subsequently, vice-versa?
Thanks,
Brian
On Fri, Jan 15, 2021 at 10:01 PM Aaron Olivarez aaron@olivarez.info wrote:
There are two adapter workers in projects/assets/components/misc_comps/ ;
one called iqstream_to_cswm and cswm_to_iqstream. cswm is short for
ComplexShortwithMetaData, these allow you to hook up legacy workers. A good
application to reference is fsk_dig_radio_ctrlr/fsk_modem_app.xml
Thanks for the quick response. I'll try using the cswm_to_iqstream and
iqstream_to_cswm components, but when I look at the example, they seem
commented out:
There's also some DRC component (digital radio controller?) that is listed
but doesn't rely on the other slaves yet? Lastly, this seems to be called
an Application and not an HdlAssembly? Is that something new? Should I be
calling them applications and not HdlAssemblies?
My main confusion, now, is how the HDL was created and a bit file generated
when the protocols weren't matched up. I would imagine the mismatch at the
HDL level would cause tons of errors, but I only ran into an error when
running the actual FSK application on the host. Is it normal that the bit
file generated can have two components with different protocols connected
to each other?
Sorry for my confusion, but I thought part of the point of OpenCPI was to
not run into these issues at runtime but more at build time to ensure
compatibility.
Thanks,
Brian
On Sat, Jan 16, 2021 at 1:01 PM Brian Padalino bpadalino@gmail.com wrote:
On Fri, Jan 15, 2021 at 10:01 PM Aaron Olivarez aaron@olivarez.info
wrote:
There are two adapter workers in projects/assets/components/misc_comps/ ;
one called iqstream_to_cswm and cswm_to_iqstream. cswm is short for
ComplexShortwithMetaData, these allow you to hook up legacy workers. A good
application to reference is fsk_dig_radio_ctrlr/fsk_modem_app.xml
Thanks for the quick response. I'll try using the cswm_to_iqstream and
iqstream_to_cswm components, but when I look at the example, they seem
commented out:
There's also some DRC component (digital radio controller?) that is listed
but doesn't rely on the other slaves yet? Lastly, this seems to be called
an Application and not an HdlAssembly? Is that something new? Should I be
calling them applications and not HdlAssemblies?
Sorry, I was all wrapped around. I was looking at the application and not
the HdlAssembly which is here:
Please disregard the Application questions.
Brian