대량 전송을 보내고 있습니다. 케이블에서 전송을 중단하고 코드를 전송합니다. 나는 집에서 만든 제어 전송 SET_FEATURE ENDPOINT_HALT를 끝점에 보내고 중단이 완료되면 CLEAR_FEATURE ENDPOINT_HALT를 사용하여 끝점을 복구하고 다시 사용합니다. 임베디드 디버거에서 장치에서 제거되었는지 확인할 수 있습니다. 그러나 브라우저에서 엔드 포인트의 모든 후속 전송은 매우 도움이되지 않는 "전송 실패"메시지 (코드 1)로 끝납니다. 내가 인터넷에 발견하는 내용에서chrome.usb에서 실속을 복구하는 방법은 무엇입니까?
if (errorCode == 4) {
var ENDPOINT_HALT = 0;
var CLEAR_FEATURE = 0x01;
controlTransfer(currentDevice, {direction: 'out', recipient: 'endpoint', requestType: 'standard',
request: CLEAR_FEATURE, value: ENDPOINT_HALT, index: 1, data: new ArrayBuffer(0)}, genericErrorFilter());
}
는 libusb는 엔드 포인트가 회복 된 커널에게, 호스트 측에 실속을 지우기위한 특별한 기능을 가지고 있으며, 그것의 내부 구조에 그것을 반영해야한다. 이 함수는 chrome.usb에 표시되지 않습니다.
Chrome의 마구간에서 복구 할 수있는 방법이 있습니까? 또는 진행중인 대량 전송을 중단하기 위해 장치에서 복구 가능한 다른 방법이 있습니까?
나는 Mac OS X 및 Chrome Canary을 사용하고 있습니다.
나는 장치의 전체 재 인수 다음)를 chrome.usb.resetDevice을 (수행하여 실속 이후에 수행하기 위해 관리 생각 . – nraynaud
편집 비율이 옥상을 넘었으니, 곧 셰익스피어의 품질에 대한 답이 없습니다. – nraynaud