From c9d8e735dec4e38c189bed5a23c4bbbfcd3865ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zsef=20Farkas?= Date: Mon, 17 Jul 2017 02:06:06 +0200 Subject: [PATCH] Detect uhk without async delay (#356) Fixes #353 --- electron/src/services/uhk-hid-api.service.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/electron/src/services/uhk-hid-api.service.ts b/electron/src/services/uhk-hid-api.service.ts index b504d057..825dade0 100644 --- a/electron/src/services/uhk-hid-api.service.ts +++ b/electron/src/services/uhk-hid-api.service.ts @@ -6,13 +6,14 @@ import { Subscription } from 'rxjs/Subscription'; import { Device, devices, HID } from 'node-hid'; import 'rxjs/add/observable/empty'; -import 'rxjs/add/observable/timer'; +import 'rxjs/add/observable/interval'; import 'rxjs/add/operator/catch'; import 'rxjs/add/operator/concat'; import 'rxjs/add/operator/combineLatest'; import 'rxjs/add/operator/concatMap'; import 'rxjs/add/operator/publish'; import 'rxjs/add/operator/do'; +import 'rxjs/add/operator/startWith'; import { LogService } from '../shared/services/logger.service'; import { Constants } from '../shared/util'; @@ -144,7 +145,8 @@ export class UhkHidApiService extends UhkDeviceService implements OnDestroy { * Every second check the HID device list. */ private pollUhkDevice() { - this.pollTimer$ = Observable.timer(0, 1000) + this.pollTimer$ = Observable.interval(1000) + .startWith(0) .map(() => { return devices().some((dev: Device) => dev.vendorId === Constants.VENDOR_ID && dev.productId === Constants.PRODUCT_ID);