-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
53 lines (48 loc) · 1.4 KB
/
Copy pathindex.js
File metadata and controls
53 lines (48 loc) · 1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
const commandLineArgs = require("command-line-args")
const {
driveBackward,
driveForward,
stopMotors,
turnLeft,
turnRight,
wait,
} = require("./src/motors")
const commandLineOptions = [
{ name: "testDrive", type: Boolean },
{ name: "disableCollision", type: Boolean },
{ name: "disableBluetooth", type: Boolean }
]
const userArgs = commandLineArgs(commandLineOptions)
if (userArgs.testDrive) {
/********************************************************************************/
/* Manual example */
/********************************************************************************/
// eslint-disable-next-line no-extra-semi
;(async () => {
await driveForward()
await turnLeft()
await wait(1000) //ms
await driveForward()
await turnLeft()
await wait(1000) //ms
await driveForward()
await turnLeft()
await wait(1000) //ms
await driveForward()
await turnLeft()
await wait(1000) //ms
await turnRight()
await driveBackward()
stopMotors()
})()
} else {
/********************************************************************************/
/* Basic controls - presumes a bound controller sets up collision avoidance */
/********************************************************************************/
if (!userArgs.disableCollision) {
require("./src/collision")
}
if (!userArgs.disableBluetooth) {
require("./src/bluetooth")
}
}