-
Notifications
You must be signed in to change notification settings - Fork 5
/
mip-controller.d.ts
143 lines (143 loc) · 5.3 KB
/
mip-controller.d.ts
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
import { SoundInstruction, Position, Direction, TurnDirection, GameMode, HeadLightState } from "./mip-types";
export declare class MipController {
UUID: string;
constructor(UUID: string);
/**
* Takes the instruction code and required parameters and issues a bluetooth command.
* This version waits for the response, therefore it might not be eqiuiped to handle too many commands per second
* @param instructionCode Instruction code from the list of codes. See codes.ts
* @param params a collection of parameters required for the given function
*/
private executeInstruction(instructionCode, params);
/**
* Takes the instruction code and required parameters and issues a bluetooth command.
* This version doesn't wait for the response, therefore is eqiuiped to handle more commands per second
* @param instructionCode Instruction code from the list of codes. See codes.ts
* @param params a collection of parameters required for the given function
*/
private executeInstructionFast(instructionCode, params);
/**
* Tells Mip to play a sound from the built in list
* @param soundFileIndex Sound file index (1~106) or send 0xF7-0xFE for volume
* @param delay Delay in intervals of 30ms (0~255)
* @param repeat Repeat (0-255) defines how many times the sound should be repeated
*/
playOneSound(soundFileIndex: number, delay: number, repeat: number): void;
/**
* Tells Mip to play a sequence of sounds from the built in list
* @param soundInstructions Sound instructions - not more than 8 chained sounds
* @param repeat (0-255) defines how many times the sequence should be repeated
*/
playSoundSequence(soundInstructions: Array<SoundInstruction>, repeat: number): void;
/**
* Sets Mips volume
* @param volume accepts values (0-7)
*/
setVolume(volume: number): void;
/**
* Instructs Mip to fall down
* @param fallDirection tells Mip whether it should fall forward or backwards
*/
dropDead(fallDirection: Position): void;
/**
* Issues a single command to drive a certain distance whilst turning at a given angle.
* Mip can only process one distanceDrive command at once, it cannot be chained.
* @param direction Direction.Forward or Direction.Backward
* @param distance distance in cm (0-255)
* @param turnDirection TurnDirection.Left or TurnDirection.Right
* @param angle accepts values (0-360)
*/
distanceDrive(direction: Direction, distance: number, turnDirection: TurnDirection, angle: number): void;
/**
* Tells Mip to drive forward for a specified time
* @param speed (0-30)
* @param time in 7ms intervals (0~255) -> Time = Value * 7ms
*/
driveForwardWithTime(speed: number, time: number): void;
/**
* Tells Mip to drive backward for a specified time
* @param speed (0-30)
* @param time in 7ms intervals (0~255) -> Time = Value * 7ms
*/
driveBackwardWithTime(speed: number, time: number): void;
/**
* Tells Mip to turn left
* @param angle Angle in intervals of 5 degrees (0~255) -> Angle = Value * 5
* @param speed (0-24)
*/
turnLeftByAngle(angle: number, speed: number): void;
/**
* Tells Mip to turn right
* @param angle Angle in intervals of 5 degrees (0~255) -> Angle = Value * 5
* @param speed (0-24)
*/
turnRightByAngle(angle: number, speed: number): void;
/**
* Tells Mip to move a little bit. In order to use properly this function should be called at an interval of 50ms
* @param speed FWD 0x01 (slow) - 0x20 (fast) / BWD 0x21 (slow) - 0x40 (fast)
* @param turn Right 0x41 (slow) - 0x60 (fast) / Left 0x61 (slow) - 0x80 (fast)
*/
continousDrive(speed: any, turn: any): void;
/**
* Set Mip into one of his eight modes
* @param gameMode see GameMode enum for the list of values
*/
setGameMode(gameMode: GameMode): void;
/**
*
*/
stop(): void;
/**
* Requests Mip to try to get up.
* Mip has to be positioned at an angle
*/
getUp(): void;
/**
* Sets the color of the LED light in the chest
* @param red (0-255)
* @param green (0-255)
* @param blue (0-255)
*/
setChestLED(red: number, green: number, blue: number): void;
/**
* Flashes the chest LED light with at a specified interval
* @param red (0-255)
* @param green (0-255)
* @param blue (0-255)
* @param timeOn in 20ms intervals -> Value * 20ms
* @param timeOff in 20ms intervals -> Value * 20ms
*/
flashChestLED(red: number, green: number, blue: number, timeOn: number, timeOff: number): void;
/**
* Sets the 4 head LED lights. Each can be set to either On, Off, SlowBling and FastBlink
*/
setHeadLED(light1: HeadLightState, light2: HeadLightState, light3: HeadLightState, light4: HeadLightState): void;
/**
* Resets the info on total distance travelled in the current power cycle
*/
resetOdometer(): void;
/**
*
*/
setGestureOrRadarMode(): void;
/**
*
*/
setMipDetectionMode(): void;
/**
*
*/
setUserData(): void;
/**
*
*/
clapTimes(): void;
/**
*
*/
enableClapMode(): void;
/**
*
*/
setDelayBetweenTwoClaps(): void;
}