Skip to content

Commit 92da121

Browse files
committed
js: finish tests and fully implement and test all classes
1 parent 03063dd commit 92da121

File tree

4 files changed

+108
-100
lines changed

4 files changed

+108
-100
lines changed

js/examples/test-all-classes.js

Lines changed: 0 additions & 83 deletions
This file was deleted.

js/examples/test-battery-led.js

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
var ev3dev = require('../bin/index.js');
2+
3+
4+
console.log('Battery ------------');
5+
var battery = new ev3dev.PowerSupply();
6+
[ 'currentNow', 'voltageNow', 'voltageMaxDesign',
7+
'voltageMinDesign', 'technology', 'type',
8+
'currentAmps', 'voltageVolts'
9+
].forEach(function (value) {
10+
console.log(value + ": " + battery[value]);
11+
});
12+
console.log('--------------------')
13+
console.log('LED ----------------');
14+
console.log('fading LEDs from green to red...');
15+
var leds = [];
16+
[ 'ev3:green:left', 'ev3:red:left',
17+
'ev3:green:right', 'ev3:red:right'
18+
].forEach(function (value) {
19+
leds.push(new ev3dev.LED(value));
20+
});
21+
22+
//Just running through the properties isn't helpful as a test
23+
// This will transition through the range of colors
24+
25+
for(var i = 0; i < 100; i++) {
26+
for(var ledI = 0; ledI < leds.length; ledI++) {
27+
var val = (i / 100) * leds[ledI].maxBrightness;
28+
if(ledI % 2 == 0)
29+
val = (100 - i) / 100 * leds[ledI].maxBrightness;
30+
31+
leds[ledI].brightness = Math.round(val);
32+
}
33+
34+
if(i % 10 == 0)
35+
console.log(i + '%');
36+
37+
{ //Hack to sleep for time
38+
// SHOULD NOT BE USED IN PRODUCTION CODE
39+
var stop = new Date().getTime();
40+
while(new Date().getTime() < stop + 100) {
41+
;
42+
}
43+
}
44+
}
45+
46+
console.log('done');
47+
48+
for(var i in leds) {
49+
leds[i].brightness = 0;
50+
}
51+
52+
console.log('--------------------')

js/examples/test-motor-sensor.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
var ev3dev = require('../bin/index.js');
2+
3+
// Run motor
4+
console.log('Motor --------------');
5+
var motor = new ev3dev.Motor();
6+
['dutyCycle', 'dutyCycleSp', 'portName', 'position',
7+
'positionSp', 'pulsesPerSecond', 'pulsesPerSecondSp',
8+
'rampDownSp', 'rampUpSp', 'regulationMode', 'run',
9+
'runMode', 'speedRegulationP', 'state', 'stopMode',
10+
'stopModes', 'timeSp', 'type'
11+
].forEach(function (value) {
12+
console.log(value + ": " + motor[value]);
13+
});
14+
15+
console.log('Setting motor properties...');
16+
motor.rampUpSp = 100;
17+
motor.rampDownSp = 100;
18+
motor.runMode = 'time';
19+
motor.timeSp = 1000;
20+
motor.dutyCycleSp = 50;
21+
console.log('Running motor...');
22+
motor.run = 1;
23+
console.log('--------------------');
24+
25+
//Read sensor
26+
console.log('Sensor -------------');
27+
var sensor = new ev3dev.Sensor();
28+
[ 'portName', 'numValues', 'typeName',
29+
'mode', 'modes'
30+
].forEach(function (value) {
31+
console.log(value + ": " + sensor[value]);
32+
});
33+
34+
console.log('Testing sensor read...');
35+
for(var i = 0; i < sensor.numValues; i++) {
36+
console.log('value ' + i + ': ' + sensor.getValue(i) + ', ' + sensor.getFloatValue(i));
37+
}
38+
console.log('--------------------')
39+
console.log("Core motor and sensor test complete");

js/motor.ts

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,10 @@ class MotorBase extends Device {
4242
(port == ports.OUTPUT_AUTO)
4343
|| (port == undefined)
4444
|| (portName === port)
45-
) && (
45+
) && (
4646
(type == undefined || type == '')
4747
|| motorType == type
48-
);
48+
);
4949

5050
if (satisfiesCondition) {
5151
this._deviceIndex = Number(file.substring('motor'.length));
@@ -103,7 +103,7 @@ class Motor extends MotorBase {
103103

104104
constructor(port: string, type: string) {
105105
this.deviceDir = '/sys/class/tacho-motor/';
106-
106+
107107
super(port, type);
108108
}
109109

@@ -291,15 +291,15 @@ class DCMotor extends MotorBase {
291291

292292
constructor(port: string) {
293293
this.deviceDir = '/sys/class/dc-motor/';
294-
294+
295295
super(port);
296296
}
297297

298298
//PROPERTIES
299299
set command(value: string) {
300300
this.setString("command", value);
301301
}
302-
302+
303303
get commands(): string[] {
304304
return this.getString("commands").split(' ');
305305
}
@@ -310,7 +310,7 @@ class DCMotor extends MotorBase {
310310
set dutyCycle(value: number) {
311311
this.setNumber("duty_cycle", value);
312312
}
313-
313+
314314
get typeName(): string {
315315
return this.getString("name");
316316
}
@@ -325,39 +325,39 @@ class DCMotor extends MotorBase {
325325
set rampDownMs(value: number) {
326326
this.setNumber("ramp_down_ms", value);
327327
}
328-
328+
329329
get rampUpMs(): number {
330330
return this.getNumber("ramp_up_ms");
331331
}
332332
set rampUpMs(value: number) {
333333
this.setNumber("ramp_up_ms", value);
334334
}
335-
335+
336336
get polarity(): string {
337337
return this.getString("polarity");
338338
}
339339
set polarity(value: string) {
340340
this.setString("polarity", value);
341341
}
342342
}
343-
343+
344344
//Servo Motor
345345
class ServoMotor extends MotorBase {
346346

347347
constructor(port: string) {
348348
this.deviceDir = '/sys/class/servo-motor/';
349-
349+
350350
super(port);
351351
}
352-
352+
353353
//PROPERTIES
354354
get command(): string {
355355
return this.getString("command");
356356
}
357357
set command(value: string) {
358358
this.setString("command", value);
359359
}
360-
360+
361361
get typeName(): string {
362362
return this.getString("name");
363363
}
@@ -372,35 +372,35 @@ class ServoMotor extends MotorBase {
372372
set maxPulseMs(value: number) {
373373
this.setNumber("max_pulse_ms", value);
374374
}
375-
375+
376376
get midPulseMs(): number {
377377
return this.getNumber("mid_pulse_ms");
378378
}
379379
set midPulseMs(value: number) {
380380
this.setNumber("mid_pulse_ms", value);
381381
}
382-
382+
383383
get minPulseMs(): number {
384384
return this.getNumber("min_pulse_ms");
385385
}
386386
set minPulseMs(value: number) {
387387
this.setNumber("min_pulse_ms", value);
388388
}
389-
389+
390390
get polarity(): string {
391391
return this.getString("polarity");
392392
}
393393
set polarity(value: string) {
394394
this.setString("polarity", value);
395395
}
396-
396+
397397
get position(): number {
398398
return this.getNumber("position");
399399
}
400400
set position(value: number) {
401401
this.setNumber("position", value);
402402
}
403-
403+
404404
get rate(): number {
405405
return this.getNumber("rate");
406406
}

0 commit comments

Comments
 (0)