forked from microsoft/devicescript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjacscript-lib.d.ts
More file actions
88 lines (74 loc) · 2.32 KB
/
Copy pathjacscript-lib.d.ts
File metadata and controls
88 lines (74 loc) · 2.32 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
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
/// <reference path="../jacdac-c/jacdac/dist/jacscript-spec.d.ts" />
declare class Role {
isConnected(): number
onConnected(handler: () => void): void
onDisconnected(handler: () => void): void
}
declare class JDPacketInfo {}
declare class JDRegister extends JDPacketInfo {}
declare class JDRegisterNum extends JDRegister {
read(): number
write(v: number | boolean | JDBuffer): void
onChange(threshold: number, handler: (curr: number) => void): void
}
declare class JDRegisterString extends JDRegister {
read(): string
write(v: string): void
}
declare class JDRegisterArray extends JDRegister {
read(): number[]
write(v: number[]): void
}
declare class JDEvent extends JDPacketInfo {
wait(): void
subscribe(handler: () => void): void
}
declare class Condition {
signal(): void
wait(): void
}
declare function condition(): Condition
declare class CloudAdapter {
upload(label: string, ...value: number[]): void
onMethod(
name: string,
handler: (
v0: number,
v1: number,
v2: number,
v3: number,
v4: number,
v5: number,
v6: number,
v7: number
) => void
): void
twin(path: string): number
onTwinChange(handler: () => void): void
}
declare var cloud: CloudAdapter
declare function print(fmt: string, ...args: number[]): void
declare function format(fmt: string, ...args: number[]): string
declare function wait(seconds: number): void
declare function every(seconds: number, callback: () => void): void
declare function panic(code: number): never
declare function reboot(): never
declare function onStart(handler: () => void): void
declare function buffer(size: number): JDBuffer
declare class JDBuffer {
length: number
setLength(len: number): void
getAt(offset: number, format: string): number
setAt(offset: number, format: string, value: number): void
blitAt(offset: number, src: JDBuffer, srcOffset: number, len: number)
fillAt(offset: number, length: number, value: number): void
[idx: number]: number
}
declare var packet: JDBuffer
interface Math {
/**
* Returns the result of signed 32-bit integer division of two numbers.
*/
idiv(x: number, y: number): number
}
declare function hex(lits: any, ...args: any[]): JDBuffer