-
Notifications
You must be signed in to change notification settings - Fork 34
/
Copy pathkria.lua
118 lines (118 loc) · 2.42 KB
/
kria.lua
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
do return
{ module_name = 'ansible kria'
, manufacturer = 'monome'
, i2c_address = 0x28
, lua_name = 'kria'
, commands =
{ { name = 'preset'
, cmd = 0
, get = true
, docs = 'set preset'
, args = { 'number', u8 }
}
, { name = 'pattern'
, cmd = 1
, get = true
, docs = 'set pattern'
, args = { 'number', u8 }
}
, { name = 'scale'
, cmd = 2
, get = true
, docs = 'set scale'
, args = { 'number', u8 }
}
, { name = 'period'
, cmd = 3
, get = true
, docs = 'set internal clock period'
, args = { 'time', u16 }
}
, { name = 'position'
, cmd = 4
, get = true
, docs = 'set position'
, args = { { 'track', u8 }
, { 'param', u8 }
, { 'pos', u8 }
}
}
, { name = 'loop_start'
, cmd = 5
, get = true
, docs = 'set loop start'
, args = { { 'track', u8 }
, { 'param', u8 }
, { 'pos', u8 }
}
}
, { name = 'loop_length'
, cmd = 6
, get = true
, docs = 'set loop length'
, args = { { 'track', u8 }
, { 'param', u8 }
, { 'pos', u8 }
}
}
, { name = 'reset'
, cmd = 7
, get = true
, docs = 'reset position to start'
, args = { { 'track', u8 }
, { 'param', u8 }
}
}
-- CMD 8, cv, only has getter??
, { name = 'mute'
, cmd = 9
, get = true
, docs = 'set mute state'
, args = { { 'track', u8 }
, { 'state', u8 }
}
}
, { name = 'toggle_mute'
, cmd = 10
, get = false
, docs = 'toggle mute state'
, args = { 'track', u8 }
}
, { name = 'clock'
, cmd = 11
, get = false
, docs = 'clock'
, args = { 'track', u8 }
}
, { name = 'page'
, cmd = 12
, docs = 'get/set active parameter page'
, args = { 'page', u8 }
}
, { name = 'cue'
, cmd = 13
, args = { 'pattern', u8 }
, docs = 'get/set next pattern to play'
}
, { name = 'direction'
, cmd = 14
, args = { { 'track', u8 }
, { 'direction', u8 }
}
, docs = 'get/set track step direction'
}
}
, getters =
{ { name = 'cv'
, cmd = 8 + get_offset
, args = { 'track', u8 }
, retval = { 'volts', s16V }
}
, { name = 'duration'
, cmd = 15 + get_offset
, args = { { 'track', u8 } }
, retval = { 'ms', u16 }
}
}
}
end