2013-05-15 3 views
1

측면 REDHAWK 버전 1.8.3과 함께 UHD 장치를 성공적으로 설치했습니다. 파형의 구성 요소를 장치 관리자가 관리하는 장치에 연결하는 방법은 분명하지 않습니다. IDRP 인터페이스와 USRP 장치의 데이터 포트 사이의 상호 작용에 대해서도 명확하지 않습니다.REDHAWK UHD 장치 사용

USRP 장치 (예 : 사인파를 USRP에 보내는 신호 생성기 구성 요소)를 사용하는 파형을 보내고받는 간단한 예제를 찾을 수 없습니다. 누구든지이 경험이나 어떤 제안이 있습니까?

답변

5

실행 환경에서 구성 요소를 장치에 연결하는 한 가지 방법은 REDHAWK 파이썬 모듈을 사용하는 것입니다. 실행중인 도메인에 연결하고 시작된 응용 프로그램을 쿼리하고 구성 요소의 포트를 장치에 연결할 수 있습니다.

from ossie.utils import redhawk 
from ossie.cf import CF 

# Connect to the running domain 
domain = redhawk.attach("REDHAWK_DEV") 

# Gets a reference to the running application 
for app in domain.apps: 
    # Find desired application 
    if app.name == 'desired_name': 
     application = app 

# Gets the component from the application 
for comp in application.comps: 
    # Find desired component 
    if comp.name == 'desired_name': 
     component = comp 

# Gets the device to connect 
for devMgr in domain.devMgrs: 
    for dev in devMgr.devs: 
     # Find desired device 
     if dev.name = 'desired_name': 
      device = dev 

# Gets the references to the input and output ports 
comp_port = component.getPort('port_name')._narrow(CF.Port) 
dev_port = device.getPort('port_name') 

# Makes the actual connection 
comp_port.connectPort(dev_port, 'ConnectionID') 

# Make sure device is started 
device.start() 

# Start application 
application.start() 

# To disconnect: 
# Stop device and application 
application.stop() 
device.stop() 
comp_port.disconnectPort('ConnectionID') 
3

이 당신의 상황에 따라 수행하는 여러 가지 방법이 있습니다 : 다음은 예를 들어 파이썬 스크립트 (연결이 성공하기 위해서는 두 순서로 같은 유형이어야합니다 포트를 참고)입니다. 당신은 IDE에서 문제를 디버깅하고 신속하게 구성 요소 포트에

솔루션 장치 포트를 연결하려면 :

A.) 문제 : 다음은 몇 가지 구성 요소 및 장치를 둘 도메인에서 실행 또는 샌드 박스에서 SCA Explorer보기에서 구성 요소와 장치를 확장하여 포트를 표시하십시오. 출력 포트를 클릭 한 다음 연결하려는 입력 포트를 Ctrl + 클릭하십시오. 두 포트가 강조 표시된 상태에서 마우스 오른쪽 버튼을 클릭하고 연결을 선택할 수 있습니다.

B.) 문제점 : 구현 언어와 상관없이 구성 요소 입력 포트를 언어 구현에 관계없이 특정 유형의 장치 출력 포트에 연결하는 일반적인 방법이 필요합니다.

해결 방법 : 이것은 여러 단계의 과정으로 처음에는 직관적이지 않습니다. SCA 스펙 페이지 D-43에서 10 단계 및 그 이후의 추가 세부 사항을 살펴 보는 것이 좋습니다.

) 1. 편집기에서 구성 요소를 열고 구현 탭으로 이동하십시오.

2)이 연결에 사용하려는 구현을 마우스 오른쪽 버튼으로 클릭 (예. 파이썬)

3.)를 선택 새로 만들기 -이>) 생성 (또는 입력) 장치를

4. 사용 이 연결

5) 나는 유형의 문제 경우, 내가 선택)

6. usesDevice

용도 장치에 오른쪽 클릭을 사용하십시오 100 % 모르겠지만 유형 "usesDevice"를 입력의 고유 한 DCE ID 새로운 Property Ref. 구성 요소 X를 장치 Y에 직접 연결하지 않고 구성 요소 X를 여기에 설정된 속성 제한 사항을 충족하는 장치에 연결합니다. 즉. 모델, 유형 등

7. 장치의 속성 탭에서 device_kind 또는 device_model의 이름 필드와 같은 속성을 일치시킬 값으로 설정합니다. 우리는 예를 들어 XYZ123을 말할 것입니다. 이것을 SDR ROOT에 저장하고 배포하십시오

8. 속성 Ref를 설정 한 구성 요소로 돌아가서 찾아보기를 선택하고 방금 일치하는 속성으로 설정 한 장치의 속성을 선택하십시오.

9. 값을 ex XYZ123으로 설정 한 값으로 설정하십시오.

<connections> 
<connectinterface id="[[Connection_Name]]"> 
    <usesport> 
    <usesidentifier>[[Output Port Name]]</usesidentifier> 
    <deviceusedbythiscomponentref refid="[[DCE matching the componentinstantiationID]]" usesrefid="[[DCE matching the generated ID from step 4]]"/> 
    </usesport> 
    <providesport> 
    <providesidentifier>[[Input Port Name]]</providesidentifier> 
    <componentinstantiationref refid="[[DCE matching the componentinstantiationID]]"/> 
    </providesport> 
</connectinterface> 
: 저장하고 파형 지금)에 compnent

(10)를 배포, 당신은 SAD 파일을 편집하고 다음과 같이 뭔가를 추가 손으로해야합니다 여기서 [[텍스트]] 당신이 변경을 위해 뭔가를 나타냅니다

나는 당신이 당신의 SAD 편집기 더미 구성 요소를 추가하고 너무 당신의 SAD 파일이 connectinterface 블록으로 채워집니다 실제 compnent에 더미 구성 요소를 연결하고 연결의 예를 볼 수 있습니다 것이 좋습니다.

변경 사항을 적용하면 IDE에서 SAD 파일에 오류가 있음을 알리고, 저장하고, SAD 편집기를 닫은 후 다시 열 수 있습니다. 오류가 표시되지 않으면 구문이 정상입니다. 평소와 같이 파형을 배포하고 실행하십시오.

C.) 문제 : REDHAWK 외부 Python 스크립트, REDHAWK 내의 Python 서비스 또는 파형의 Python 구성 요소를 통해 장치에 연결하려고합니다.

해결책 : 아담의 해결책을 참조하십시오.

관련 문제