Work on mockserial
This commit is contained in:
parent
e44fc61106
commit
5a291aeca9
|
@ -5,6 +5,21 @@ const log_1 = require("../log");
|
||||||
const delay_1 = require("../delay");
|
const delay_1 = require("../delay");
|
||||||
const serialport_1 = require("serialport");
|
const serialport_1 = require("serialport");
|
||||||
const parser_readline_1 = require("@serialport/parser-readline");
|
const parser_readline_1 = require("@serialport/parser-readline");
|
||||||
|
class CameraSerialPortMock extends serialport_1.SerialPortMock {
|
||||||
|
constructor(options, openCallback = null) {
|
||||||
|
super(options, openCallback);
|
||||||
|
this.log = (0, log_1.createLog)('mock');
|
||||||
|
console.dir(this);
|
||||||
|
}
|
||||||
|
write(buffer) {
|
||||||
|
super.write(buffer);
|
||||||
|
this.log.info(`Received data: "${buffer}"`);
|
||||||
|
if (buffer === 'i') {
|
||||||
|
this.emit('i');
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
class Camera {
|
class Camera {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.ready = false;
|
this.ready = false;
|
||||||
|
@ -97,7 +112,7 @@ class Camera {
|
||||||
this.port = '/dev/fake';
|
this.port = '/dev/fake';
|
||||||
try {
|
try {
|
||||||
serialport_1.SerialPortMock.binding.createPort(this.port);
|
serialport_1.SerialPortMock.binding.createPort(this.port);
|
||||||
this.serial = new serialport_1.SerialPortMock({
|
this.serial = new CameraSerialPortMock({
|
||||||
path: this.port,
|
path: this.port,
|
||||||
baudRate: this.baud
|
baudRate: this.baud
|
||||||
});
|
});
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -16,12 +16,30 @@ interface PortInfo {
|
||||||
vendorId: string | undefined;
|
vendorId: string | undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class CameraSerialPortMock extends SerialPortMock {
|
||||||
|
private log : Logger;
|
||||||
|
constructor (options : any, openCallback : ErrorCallback = null) {
|
||||||
|
super(options, openCallback);
|
||||||
|
this.log = createLog('mock');
|
||||||
|
console.dir(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
write (buffer : any) : boolean {
|
||||||
|
super.write(buffer)
|
||||||
|
this.log.info(`Received data: "${buffer}"`);
|
||||||
|
if (buffer === 'i') {
|
||||||
|
this.emit('i');
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export class Camera {
|
export class Camera {
|
||||||
private log : Logger;
|
private log : Logger;
|
||||||
private parser : ReadlineParser;
|
private parser : ReadlineParser;
|
||||||
private ready : boolean = false;
|
private ready : boolean = false;
|
||||||
private connected : boolean = false;
|
private connected : boolean = false;
|
||||||
private serial : SerialPort | SerialPortMock = null;
|
private serial : SerialPort | CameraSerialPortMock = null;
|
||||||
private baud : number = 57600;
|
private baud : number = 57600;
|
||||||
private next : Function = null;
|
private next : Function = null;
|
||||||
private port : string = null;
|
private port : string = null;
|
||||||
|
@ -111,7 +129,7 @@ export class Camera {
|
||||||
this.port = '/dev/fake';
|
this.port = '/dev/fake';
|
||||||
try {
|
try {
|
||||||
SerialPortMock.binding.createPort(this.port);
|
SerialPortMock.binding.createPort(this.port);
|
||||||
this.serial = new SerialPortMock({
|
this.serial = new CameraSerialPortMock({
|
||||||
path : this.port,
|
path : this.port,
|
||||||
baudRate: this.baud
|
baudRate: this.baud
|
||||||
});
|
});
|
||||||
|
@ -130,7 +148,6 @@ export class Camera {
|
||||||
return resolve(true);
|
return resolve(true);
|
||||||
});
|
});
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private onData (data : string) {
|
private onData (data : string) {
|
||||||
|
|
Loading…
Reference in New Issue