incyclist-devices 1.5.32 → 1.5.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/daum/classic/DaumClassicAdapter.js +2 -3
- package/lib/daum/premium/bike.js +10 -5
- package/lib/serialport/bindings/tcp.d.ts +20 -0
- package/lib/serialport/bindings/tcp.js +33 -0
- package/lib/serialport/index.d.ts +2 -0
- package/lib/serialport/index.js +29 -0
- package/lib/serialport/serialport.d.ts +29 -0
- package/lib/serialport/serialport.js +87 -0
- package/lib/serialport.d.ts +29 -0
- package/lib/serialport.js +87 -0
- package/package.json +1 -1
|
@@ -118,6 +118,7 @@ class DaumClassicAdapter extends DaumAdapter_1.default {
|
|
|
118
118
|
try {
|
|
119
119
|
if (isRelaunch) {
|
|
120
120
|
yield this.stop();
|
|
121
|
+
this.bike.connected = true;
|
|
121
122
|
}
|
|
122
123
|
yield this.performStart(props, isRelaunch);
|
|
123
124
|
if (!isRelaunch) {
|
|
@@ -128,9 +129,7 @@ class DaumClassicAdapter extends DaumAdapter_1.default {
|
|
|
128
129
|
}
|
|
129
130
|
catch (_a) { }
|
|
130
131
|
}
|
|
131
|
-
this.
|
|
132
|
-
this.paused = false;
|
|
133
|
-
this.startUpdatePull();
|
|
132
|
+
this.logger.logEvent({ message: 'start result: success', udid: this.udid });
|
|
134
133
|
return true;
|
|
135
134
|
}
|
|
136
135
|
catch (err) {
|
package/lib/daum/premium/bike.js
CHANGED
|
@@ -143,8 +143,8 @@ class Daum8i {
|
|
|
143
143
|
this.logEvent({ message: "creating SerialPort", port: this.port, settings });
|
|
144
144
|
this.sp = new __SerialPort(this.port, settings);
|
|
145
145
|
}
|
|
146
|
-
this.sp.
|
|
147
|
-
this.sp.
|
|
146
|
+
this.sp.on('open', this.onPortOpen.bind(this));
|
|
147
|
+
this.sp.on('close', this.onPortClose.bind(this));
|
|
148
148
|
this.sp.on('error', (error) => { this.onPortError(error); });
|
|
149
149
|
this.sp.on('data', (data) => { this.onData(data); });
|
|
150
150
|
}
|
|
@@ -317,10 +317,15 @@ class Daum8i {
|
|
|
317
317
|
if (!isClosed)
|
|
318
318
|
resolve(false);
|
|
319
319
|
}, timeout);
|
|
320
|
-
|
|
321
|
-
|
|
320
|
+
try {
|
|
321
|
+
this.sp.removeAllListeners('close');
|
|
322
|
+
this.sp.removeAllListeners('error');
|
|
323
|
+
}
|
|
324
|
+
catch (err) {
|
|
325
|
+
this.logger.logEvent({ message: 'error', fn: 'closePort()', error: err.message });
|
|
326
|
+
}
|
|
322
327
|
this.sp.on('error', () => { });
|
|
323
|
-
this.sp.
|
|
328
|
+
this.sp.on('close', () => {
|
|
324
329
|
clearTimeout(to);
|
|
325
330
|
isClosed = true;
|
|
326
331
|
resolve(true);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { BindingPortInterface, OpenOptions, PortStatus, SetOptions, UpdateOptions } from "@serialport/bindings-interface";
|
|
3
|
+
export declare class TCPPortBinding implements BindingPortInterface {
|
|
4
|
+
openOptions: Required<OpenOptions>;
|
|
5
|
+
isOpen: boolean;
|
|
6
|
+
close(): Promise<void>;
|
|
7
|
+
read(buffer: Buffer, offset: number, length: number): Promise<{
|
|
8
|
+
buffer: Buffer;
|
|
9
|
+
bytesRead: number;
|
|
10
|
+
}>;
|
|
11
|
+
write(buffer: Buffer): Promise<void>;
|
|
12
|
+
update(options: UpdateOptions): Promise<void>;
|
|
13
|
+
set(options: SetOptions): Promise<void>;
|
|
14
|
+
get(): Promise<PortStatus>;
|
|
15
|
+
getBaudRate(): Promise<{
|
|
16
|
+
baudRate: number;
|
|
17
|
+
}>;
|
|
18
|
+
flush(): Promise<void>;
|
|
19
|
+
drain(): Promise<void>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TCPPortBinding = void 0;
|
|
4
|
+
class TCPPortBinding {
|
|
5
|
+
close() {
|
|
6
|
+
throw new Error("Method not implemented.");
|
|
7
|
+
}
|
|
8
|
+
read(buffer, offset, length) {
|
|
9
|
+
throw new Error("Method not implemented.");
|
|
10
|
+
}
|
|
11
|
+
write(buffer) {
|
|
12
|
+
throw new Error("Method not implemented.");
|
|
13
|
+
}
|
|
14
|
+
update(options) {
|
|
15
|
+
throw new Error("Method not implemented.");
|
|
16
|
+
}
|
|
17
|
+
set(options) {
|
|
18
|
+
throw new Error("Method not implemented.");
|
|
19
|
+
}
|
|
20
|
+
get() {
|
|
21
|
+
throw new Error("Method not implemented.");
|
|
22
|
+
}
|
|
23
|
+
getBaudRate() {
|
|
24
|
+
throw new Error("Method not implemented.");
|
|
25
|
+
}
|
|
26
|
+
flush() {
|
|
27
|
+
throw new Error("Method not implemented.");
|
|
28
|
+
}
|
|
29
|
+
drain() {
|
|
30
|
+
throw new Error("Method not implemented.");
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.TCPPortBinding = TCPPortBinding;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.useSerialPortProvider = exports.SerialPortProvider = void 0;
|
|
27
|
+
const serialport_1 = __importStar(require("./serialport"));
|
|
28
|
+
exports.SerialPortProvider = serialport_1.default;
|
|
29
|
+
Object.defineProperty(exports, "useSerialPortProvider", { enumerable: true, get: function () { return serialport_1.useSerialPortProvider; } });
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BindingInterface } from '@serialport/bindings-interface';
|
|
2
|
+
export type InterfaceBinding = {
|
|
3
|
+
name: string;
|
|
4
|
+
binding: BindingInterface;
|
|
5
|
+
};
|
|
6
|
+
export type InterfaceImplementation = {
|
|
7
|
+
name: string;
|
|
8
|
+
Serialport: any;
|
|
9
|
+
implementation?: any;
|
|
10
|
+
};
|
|
11
|
+
export type SerialPortProps = {
|
|
12
|
+
interface: string;
|
|
13
|
+
port?: string;
|
|
14
|
+
};
|
|
15
|
+
export default class SerialPortProvider {
|
|
16
|
+
static _instance: SerialPortProvider;
|
|
17
|
+
interfaces: InterfaceBinding[];
|
|
18
|
+
implemenations: InterfaceImplementation[];
|
|
19
|
+
static getInstance(): SerialPortProvider;
|
|
20
|
+
constructor();
|
|
21
|
+
setBinding(ifaceName: string, binding: BindingInterface): void;
|
|
22
|
+
getBinding(ifaceName: string): BindingInterface;
|
|
23
|
+
getSerialPort(ifaceName: string, props: any): any;
|
|
24
|
+
list(ifaceName: string): Promise<any>;
|
|
25
|
+
setLegacyClass(ifaceName: string, Serialport: any): void;
|
|
26
|
+
getLegacyInfo(ifaceName: string): InterfaceImplementation;
|
|
27
|
+
getLegacyClass(ifaceName: string): any;
|
|
28
|
+
}
|
|
29
|
+
export declare const useSerialPortProvider: () => SerialPortProvider;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.useSerialPortProvider = void 0;
|
|
13
|
+
const { SerialPortStream } = require('@serialport/stream');
|
|
14
|
+
const DEFAULT_BAUD_RATE = 9600;
|
|
15
|
+
class SerialPortProvider {
|
|
16
|
+
static getInstance() {
|
|
17
|
+
if (!SerialPortProvider._instance)
|
|
18
|
+
SerialPortProvider._instance = new SerialPortProvider();
|
|
19
|
+
return SerialPortProvider._instance;
|
|
20
|
+
}
|
|
21
|
+
constructor() {
|
|
22
|
+
this.interfaces = [];
|
|
23
|
+
this.implemenations = [];
|
|
24
|
+
}
|
|
25
|
+
setBinding(ifaceName, binding) {
|
|
26
|
+
const existing = this.interfaces.find(ib => ib.name === ifaceName);
|
|
27
|
+
if (existing)
|
|
28
|
+
existing.binding = binding;
|
|
29
|
+
else
|
|
30
|
+
this.interfaces.push({ name: ifaceName, binding });
|
|
31
|
+
}
|
|
32
|
+
getBinding(ifaceName) {
|
|
33
|
+
const existing = this.interfaces.find(ib => ib.name === ifaceName);
|
|
34
|
+
if (existing)
|
|
35
|
+
return existing.binding;
|
|
36
|
+
}
|
|
37
|
+
getSerialPort(ifaceName, props) {
|
|
38
|
+
const binding = this.getBinding(ifaceName);
|
|
39
|
+
if (binding) {
|
|
40
|
+
props.binding = binding;
|
|
41
|
+
if (props.autoOpen === undefined)
|
|
42
|
+
props.autoOpen = false;
|
|
43
|
+
if (!props.baudRate)
|
|
44
|
+
props.baudRate = DEFAULT_BAUD_RATE;
|
|
45
|
+
return new SerialPortStream(props);
|
|
46
|
+
}
|
|
47
|
+
const legacy = this.getLegacyInfo(ifaceName);
|
|
48
|
+
if (legacy && legacy.Serialport) {
|
|
49
|
+
const portName = props.path;
|
|
50
|
+
if (props.autoOpen === undefined)
|
|
51
|
+
props.autoOpen = false;
|
|
52
|
+
const settings = Object.assign({}, props);
|
|
53
|
+
delete settings.path;
|
|
54
|
+
return new legacy.Serialport(portName, settings);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
list(ifaceName) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
const Binding = this.getBinding(ifaceName);
|
|
60
|
+
if (Binding)
|
|
61
|
+
return yield Binding.list();
|
|
62
|
+
const legacy = this.getLegacyInfo(ifaceName);
|
|
63
|
+
if (legacy && legacy.Serialport && legacy.Serialport.list) {
|
|
64
|
+
return yield legacy.Serialport.list();
|
|
65
|
+
}
|
|
66
|
+
return [];
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
setLegacyClass(ifaceName, Serialport) {
|
|
70
|
+
const existing = this.getLegacyInfo(ifaceName);
|
|
71
|
+
if (existing)
|
|
72
|
+
existing.Serialport = Serialport;
|
|
73
|
+
else
|
|
74
|
+
this.implemenations.push({ name: ifaceName, Serialport });
|
|
75
|
+
}
|
|
76
|
+
getLegacyInfo(ifaceName) {
|
|
77
|
+
return this.implemenations.find(ib => ib.name === ifaceName);
|
|
78
|
+
}
|
|
79
|
+
getLegacyClass(ifaceName) {
|
|
80
|
+
const existing = this.implemenations.find(ib => ib.name === ifaceName);
|
|
81
|
+
if (existing)
|
|
82
|
+
return existing.Serialport;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.default = SerialPortProvider;
|
|
86
|
+
const useSerialPortProvider = () => SerialPortProvider.getInstance();
|
|
87
|
+
exports.useSerialPortProvider = useSerialPortProvider;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BindingInterface } from '@serialport/bindings-interface';
|
|
2
|
+
export type InterfaceBinding = {
|
|
3
|
+
name: string;
|
|
4
|
+
binding: BindingInterface;
|
|
5
|
+
};
|
|
6
|
+
export type InterfaceImplementation = {
|
|
7
|
+
name: string;
|
|
8
|
+
Serialport: any;
|
|
9
|
+
implementation?: any;
|
|
10
|
+
};
|
|
11
|
+
export type SerialPortProps = {
|
|
12
|
+
interface: string;
|
|
13
|
+
port?: string;
|
|
14
|
+
};
|
|
15
|
+
export default class SerialPortProvider {
|
|
16
|
+
static _instance: SerialPortProvider;
|
|
17
|
+
interfaces: InterfaceBinding[];
|
|
18
|
+
implemenations: InterfaceImplementation[];
|
|
19
|
+
static getInstance(): SerialPortProvider;
|
|
20
|
+
constructor();
|
|
21
|
+
setBinding(ifaceName: string, binding: BindingInterface): void;
|
|
22
|
+
getBinding(ifaceName: string): BindingInterface;
|
|
23
|
+
getSerialPort(ifaceName: string, props: any): any;
|
|
24
|
+
list(ifaceName: string): Promise<any>;
|
|
25
|
+
setLegacyClass(ifaceName: string, Serialport: any): void;
|
|
26
|
+
getLegacyInfo(ifaceName: string): InterfaceImplementation;
|
|
27
|
+
getLegacyClass(ifaceName: string): any;
|
|
28
|
+
}
|
|
29
|
+
export declare const useSerialPortProvider: () => SerialPortProvider;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.useSerialPortProvider = void 0;
|
|
13
|
+
const { SerialPortStream } = require('@serialport/stream');
|
|
14
|
+
const DEFAULT_BAUD_RATE = 9600;
|
|
15
|
+
class SerialPortProvider {
|
|
16
|
+
static getInstance() {
|
|
17
|
+
if (!SerialPortProvider._instance)
|
|
18
|
+
SerialPortProvider._instance = new SerialPortProvider();
|
|
19
|
+
return SerialPortProvider._instance;
|
|
20
|
+
}
|
|
21
|
+
constructor() {
|
|
22
|
+
this.interfaces = [];
|
|
23
|
+
this.implemenations = [];
|
|
24
|
+
}
|
|
25
|
+
setBinding(ifaceName, binding) {
|
|
26
|
+
const existing = this.interfaces.find(ib => ib.name === ifaceName);
|
|
27
|
+
if (existing)
|
|
28
|
+
existing.binding = binding;
|
|
29
|
+
else
|
|
30
|
+
this.interfaces.push({ name: ifaceName, binding });
|
|
31
|
+
}
|
|
32
|
+
getBinding(ifaceName) {
|
|
33
|
+
const existing = this.interfaces.find(ib => ib.name === ifaceName);
|
|
34
|
+
if (existing)
|
|
35
|
+
return existing.binding;
|
|
36
|
+
}
|
|
37
|
+
getSerialPort(ifaceName, props) {
|
|
38
|
+
const binding = this.getBinding(ifaceName);
|
|
39
|
+
if (binding) {
|
|
40
|
+
props.binding = binding;
|
|
41
|
+
if (props.autoOpen === undefined)
|
|
42
|
+
props.autoOpen = false;
|
|
43
|
+
if (!props.baudRate)
|
|
44
|
+
props.baudRate = DEFAULT_BAUD_RATE;
|
|
45
|
+
return new SerialPortStream(props);
|
|
46
|
+
}
|
|
47
|
+
const legacy = this.getLegacyInfo(ifaceName);
|
|
48
|
+
if (legacy && legacy.Serialport) {
|
|
49
|
+
const portName = props.path;
|
|
50
|
+
if (props.autoOpen === undefined)
|
|
51
|
+
props.autoOpen = false;
|
|
52
|
+
const settings = Object.assign({}, props);
|
|
53
|
+
delete settings.path;
|
|
54
|
+
return new legacy.Serialport(portName, settings);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
list(ifaceName) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
const Binding = this.getBinding(ifaceName);
|
|
60
|
+
if (Binding)
|
|
61
|
+
return yield Binding.list();
|
|
62
|
+
const legacy = this.getLegacyInfo(ifaceName);
|
|
63
|
+
if (legacy && legacy.Serialport && legacy.Serialport.list) {
|
|
64
|
+
return yield legacy.Serialport.list();
|
|
65
|
+
}
|
|
66
|
+
return [];
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
setLegacyClass(ifaceName, Serialport) {
|
|
70
|
+
const existing = this.getLegacyInfo(ifaceName);
|
|
71
|
+
if (existing)
|
|
72
|
+
existing.Serialport = Serialport;
|
|
73
|
+
else
|
|
74
|
+
this.implemenations.push({ name: ifaceName, Serialport });
|
|
75
|
+
}
|
|
76
|
+
getLegacyInfo(ifaceName) {
|
|
77
|
+
return this.implemenations.find(ib => ib.name === ifaceName);
|
|
78
|
+
}
|
|
79
|
+
getLegacyClass(ifaceName) {
|
|
80
|
+
const existing = this.implemenations.find(ib => ib.name === ifaceName);
|
|
81
|
+
if (existing)
|
|
82
|
+
return existing.Serialport;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.default = SerialPortProvider;
|
|
86
|
+
const useSerialPortProvider = () => SerialPortProvider.getInstance();
|
|
87
|
+
exports.useSerialPortProvider = useSerialPortProvider;
|