forked from onlaj/Piano-LED-Visualizer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrpi_ws281x.py
272 lines (243 loc) · 11.6 KB
/
rpi_ws281x.py
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.10
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.
from sys import version_info as _swig_python_version_info
if _swig_python_version_info >= (2, 7, 0):
def swig_import_helper():
import importlib
pkg = __name__.rpartition('.')[0]
mname = '.'.join((pkg, '_rpi_ws281x')).lstrip('.')
try:
return importlib.import_module(mname)
except ImportError:
return importlib.import_module('_rpi_ws281x')
_rpi_ws281x = swig_import_helper()
del swig_import_helper
elif _swig_python_version_info >= (2, 6, 0):
def swig_import_helper():
from os.path import dirname
import imp
fp = None
try:
fp, pathname, description = imp.find_module('_rpi_ws281x', [dirname(__file__)])
except ImportError:
import _rpi_ws281x
return _rpi_ws281x
if fp is not None:
try:
_mod = imp.load_module('_rpi_ws281x', fp, pathname, description)
finally:
fp.close()
return _mod
_rpi_ws281x = swig_import_helper()
del swig_import_helper
else:
import _rpi_ws281x
del _swig_python_version_info
try:
_swig_property = property
except NameError:
pass # Python < 2.2 doesn't have 'property'.
try:
import builtins as __builtin__
except ImportError:
import __builtin__
def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
if (name == "thisown"):
return self.this.own(value)
if (name == "this"):
if type(value).__name__ == 'SwigPyObject':
self.__dict__[name] = value
return
method = class_type.__swig_setmethods__.get(name, None)
if method:
return method(self, value)
if (not static):
if _newclass:
object.__setattr__(self, name, value)
else:
self.__dict__[name] = value
else:
raise AttributeError("You cannot add attributes to %s" % self)
def _swig_setattr(self, class_type, name, value):
return _swig_setattr_nondynamic(self, class_type, name, value, 0)
def _swig_getattr(self, class_type, name):
if (name == "thisown"):
return self.this.own()
method = class_type.__swig_getmethods__.get(name, None)
if method:
return method(self)
raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))
def _swig_repr(self):
try:
strthis = "proxy of " + self.this.__repr__()
except __builtin__.Exception:
strthis = ""
return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
try:
_object = object
_newclass = 1
except __builtin__.Exception:
class _object:
pass
_newclass = 0
WS2811_TARGET_FREQ = _rpi_ws281x.WS2811_TARGET_FREQ
SK6812_STRIP_RGBW = _rpi_ws281x.SK6812_STRIP_RGBW
SK6812_STRIP_RBGW = _rpi_ws281x.SK6812_STRIP_RBGW
SK6812_STRIP_GRBW = _rpi_ws281x.SK6812_STRIP_GRBW
SK6812_STRIP_GBRW = _rpi_ws281x.SK6812_STRIP_GBRW
SK6812_STRIP_BRGW = _rpi_ws281x.SK6812_STRIP_BRGW
SK6812_STRIP_BGRW = _rpi_ws281x.SK6812_STRIP_BGRW
SK6812_SHIFT_WMASK = _rpi_ws281x.SK6812_SHIFT_WMASK
WS2811_STRIP_RGB = _rpi_ws281x.WS2811_STRIP_RGB
WS2811_STRIP_RBG = _rpi_ws281x.WS2811_STRIP_RBG
WS2811_STRIP_GRB = _rpi_ws281x.WS2811_STRIP_GRB
WS2811_STRIP_GBR = _rpi_ws281x.WS2811_STRIP_GBR
WS2811_STRIP_BRG = _rpi_ws281x.WS2811_STRIP_BRG
WS2811_STRIP_BGR = _rpi_ws281x.WS2811_STRIP_BGR
WS2812_STRIP = _rpi_ws281x.WS2812_STRIP
SK6812_STRIP = _rpi_ws281x.SK6812_STRIP
SK6812W_STRIP = _rpi_ws281x.SK6812W_STRIP
class ws2811_channel_t(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, ws2811_channel_t, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, ws2811_channel_t, name)
__repr__ = _swig_repr
__swig_setmethods__["gpionum"] = _rpi_ws281x.ws2811_channel_t_gpionum_set
__swig_getmethods__["gpionum"] = _rpi_ws281x.ws2811_channel_t_gpionum_get
if _newclass:
gpionum = _swig_property(_rpi_ws281x.ws2811_channel_t_gpionum_get, _rpi_ws281x.ws2811_channel_t_gpionum_set)
__swig_setmethods__["invert"] = _rpi_ws281x.ws2811_channel_t_invert_set
__swig_getmethods__["invert"] = _rpi_ws281x.ws2811_channel_t_invert_get
if _newclass:
invert = _swig_property(_rpi_ws281x.ws2811_channel_t_invert_get, _rpi_ws281x.ws2811_channel_t_invert_set)
__swig_setmethods__["count"] = _rpi_ws281x.ws2811_channel_t_count_set
__swig_getmethods__["count"] = _rpi_ws281x.ws2811_channel_t_count_get
if _newclass:
count = _swig_property(_rpi_ws281x.ws2811_channel_t_count_get, _rpi_ws281x.ws2811_channel_t_count_set)
__swig_setmethods__["strip_type"] = _rpi_ws281x.ws2811_channel_t_strip_type_set
__swig_getmethods__["strip_type"] = _rpi_ws281x.ws2811_channel_t_strip_type_get
if _newclass:
strip_type = _swig_property(_rpi_ws281x.ws2811_channel_t_strip_type_get, _rpi_ws281x.ws2811_channel_t_strip_type_set)
__swig_setmethods__["leds"] = _rpi_ws281x.ws2811_channel_t_leds_set
__swig_getmethods__["leds"] = _rpi_ws281x.ws2811_channel_t_leds_get
if _newclass:
leds = _swig_property(_rpi_ws281x.ws2811_channel_t_leds_get, _rpi_ws281x.ws2811_channel_t_leds_set)
__swig_setmethods__["brightness"] = _rpi_ws281x.ws2811_channel_t_brightness_set
__swig_getmethods__["brightness"] = _rpi_ws281x.ws2811_channel_t_brightness_get
if _newclass:
brightness = _swig_property(_rpi_ws281x.ws2811_channel_t_brightness_get, _rpi_ws281x.ws2811_channel_t_brightness_set)
__swig_setmethods__["wshift"] = _rpi_ws281x.ws2811_channel_t_wshift_set
__swig_getmethods__["wshift"] = _rpi_ws281x.ws2811_channel_t_wshift_get
if _newclass:
wshift = _swig_property(_rpi_ws281x.ws2811_channel_t_wshift_get, _rpi_ws281x.ws2811_channel_t_wshift_set)
__swig_setmethods__["rshift"] = _rpi_ws281x.ws2811_channel_t_rshift_set
__swig_getmethods__["rshift"] = _rpi_ws281x.ws2811_channel_t_rshift_get
if _newclass:
rshift = _swig_property(_rpi_ws281x.ws2811_channel_t_rshift_get, _rpi_ws281x.ws2811_channel_t_rshift_set)
__swig_setmethods__["gshift"] = _rpi_ws281x.ws2811_channel_t_gshift_set
__swig_getmethods__["gshift"] = _rpi_ws281x.ws2811_channel_t_gshift_get
if _newclass:
gshift = _swig_property(_rpi_ws281x.ws2811_channel_t_gshift_get, _rpi_ws281x.ws2811_channel_t_gshift_set)
__swig_setmethods__["bshift"] = _rpi_ws281x.ws2811_channel_t_bshift_set
__swig_getmethods__["bshift"] = _rpi_ws281x.ws2811_channel_t_bshift_get
if _newclass:
bshift = _swig_property(_rpi_ws281x.ws2811_channel_t_bshift_get, _rpi_ws281x.ws2811_channel_t_bshift_set)
__swig_setmethods__["gamma"] = _rpi_ws281x.ws2811_channel_t_gamma_set
__swig_getmethods__["gamma"] = _rpi_ws281x.ws2811_channel_t_gamma_get
if _newclass:
gamma = _swig_property(_rpi_ws281x.ws2811_channel_t_gamma_get, _rpi_ws281x.ws2811_channel_t_gamma_set)
def __init__(self):
this = _rpi_ws281x.new_ws2811_channel_t()
try:
self.this.append(this)
except __builtin__.Exception:
self.this = this
__swig_destroy__ = _rpi_ws281x.delete_ws2811_channel_t
__del__ = lambda self: None
ws2811_channel_t_swigregister = _rpi_ws281x.ws2811_channel_t_swigregister
ws2811_channel_t_swigregister(ws2811_channel_t)
class ws2811_t(_object):
__swig_setmethods__ = {}
__setattr__ = lambda self, name, value: _swig_setattr(self, ws2811_t, name, value)
__swig_getmethods__ = {}
__getattr__ = lambda self, name: _swig_getattr(self, ws2811_t, name)
__repr__ = _swig_repr
__swig_setmethods__["render_wait_time"] = _rpi_ws281x.ws2811_t_render_wait_time_set
__swig_getmethods__["render_wait_time"] = _rpi_ws281x.ws2811_t_render_wait_time_get
if _newclass:
render_wait_time = _swig_property(_rpi_ws281x.ws2811_t_render_wait_time_get, _rpi_ws281x.ws2811_t_render_wait_time_set)
__swig_setmethods__["device"] = _rpi_ws281x.ws2811_t_device_set
__swig_getmethods__["device"] = _rpi_ws281x.ws2811_t_device_get
if _newclass:
device = _swig_property(_rpi_ws281x.ws2811_t_device_get, _rpi_ws281x.ws2811_t_device_set)
__swig_setmethods__["rpi_hw"] = _rpi_ws281x.ws2811_t_rpi_hw_set
__swig_getmethods__["rpi_hw"] = _rpi_ws281x.ws2811_t_rpi_hw_get
if _newclass:
rpi_hw = _swig_property(_rpi_ws281x.ws2811_t_rpi_hw_get, _rpi_ws281x.ws2811_t_rpi_hw_set)
__swig_setmethods__["freq"] = _rpi_ws281x.ws2811_t_freq_set
__swig_getmethods__["freq"] = _rpi_ws281x.ws2811_t_freq_get
if _newclass:
freq = _swig_property(_rpi_ws281x.ws2811_t_freq_get, _rpi_ws281x.ws2811_t_freq_set)
__swig_setmethods__["dmanum"] = _rpi_ws281x.ws2811_t_dmanum_set
__swig_getmethods__["dmanum"] = _rpi_ws281x.ws2811_t_dmanum_get
if _newclass:
dmanum = _swig_property(_rpi_ws281x.ws2811_t_dmanum_get, _rpi_ws281x.ws2811_t_dmanum_set)
__swig_setmethods__["channel"] = _rpi_ws281x.ws2811_t_channel_set
__swig_getmethods__["channel"] = _rpi_ws281x.ws2811_t_channel_get
if _newclass:
channel = _swig_property(_rpi_ws281x.ws2811_t_channel_get, _rpi_ws281x.ws2811_t_channel_set)
def __init__(self):
this = _rpi_ws281x.new_ws2811_t()
try:
self.this.append(this)
except __builtin__.Exception:
self.this = this
__swig_destroy__ = _rpi_ws281x.delete_ws2811_t
__del__ = lambda self: None
ws2811_t_swigregister = _rpi_ws281x.ws2811_t_swigregister
ws2811_t_swigregister(ws2811_t)
WS2811_SUCCESS = _rpi_ws281x.WS2811_SUCCESS
WS2811_ERROR_GENERIC = _rpi_ws281x.WS2811_ERROR_GENERIC
WS2811_ERROR_OUT_OF_MEMORY = _rpi_ws281x.WS2811_ERROR_OUT_OF_MEMORY
WS2811_ERROR_HW_NOT_SUPPORTED = _rpi_ws281x.WS2811_ERROR_HW_NOT_SUPPORTED
WS2811_ERROR_MEM_LOCK = _rpi_ws281x.WS2811_ERROR_MEM_LOCK
WS2811_ERROR_MMAP = _rpi_ws281x.WS2811_ERROR_MMAP
WS2811_ERROR_MAP_REGISTERS = _rpi_ws281x.WS2811_ERROR_MAP_REGISTERS
WS2811_ERROR_GPIO_INIT = _rpi_ws281x.WS2811_ERROR_GPIO_INIT
WS2811_ERROR_PWM_SETUP = _rpi_ws281x.WS2811_ERROR_PWM_SETUP
WS2811_ERROR_MAILBOX_DEVICE = _rpi_ws281x.WS2811_ERROR_MAILBOX_DEVICE
WS2811_ERROR_DMA = _rpi_ws281x.WS2811_ERROR_DMA
WS2811_ERROR_ILLEGAL_GPIO = _rpi_ws281x.WS2811_ERROR_ILLEGAL_GPIO
WS2811_ERROR_PCM_SETUP = _rpi_ws281x.WS2811_ERROR_PCM_SETUP
WS2811_ERROR_SPI_SETUP = _rpi_ws281x.WS2811_ERROR_SPI_SETUP
WS2811_ERROR_SPI_TRANSFER = _rpi_ws281x.WS2811_ERROR_SPI_TRANSFER
WS2811_RETURN_STATE_COUNT = _rpi_ws281x.WS2811_RETURN_STATE_COUNT
def ws2811_init(ws2811):
return _rpi_ws281x.ws2811_init(ws2811)
ws2811_init = _rpi_ws281x.ws2811_init
def ws2811_fini(ws2811):
return _rpi_ws281x.ws2811_fini(ws2811)
ws2811_fini = _rpi_ws281x.ws2811_fini
def ws2811_render(ws2811):
return _rpi_ws281x.ws2811_render(ws2811)
ws2811_render = _rpi_ws281x.ws2811_render
def ws2811_wait(ws2811):
return _rpi_ws281x.ws2811_wait(ws2811)
ws2811_wait = _rpi_ws281x.ws2811_wait
def ws2811_get_return_t_str(state):
return _rpi_ws281x.ws2811_get_return_t_str(state)
ws2811_get_return_t_str = _rpi_ws281x.ws2811_get_return_t_str
def ws2811_led_get(channel, lednum):
return _rpi_ws281x.ws2811_led_get(channel, lednum)
ws2811_led_get = _rpi_ws281x.ws2811_led_get
def ws2811_led_set(channel, lednum, color):
return _rpi_ws281x.ws2811_led_set(channel, lednum, color)
ws2811_led_set = _rpi_ws281x.ws2811_led_set
def ws2811_channel_get(ws, channelnum):
return _rpi_ws281x.ws2811_channel_get(ws, channelnum)
ws2811_channel_get = _rpi_ws281x.ws2811_channel_get
# This file is compatible with both classic and new-style classes.