Skip to content

Commit f8f16d6

Browse files
committed
re-routing
1 parent 755c125 commit f8f16d6

File tree

4 files changed

+2496
-3428
lines changed

4 files changed

+2496
-3428
lines changed

edg/parts/Neopixel.py

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,8 @@ def contents(self) -> None:
8989

9090

9191
class Sk6805_Ec15(Neopixel, JlcPart, FootprintBlock):
92-
"""SK6805-EC15 Neopixel RGB LED in 1.5x1.5 (0606)."""
92+
"""SK6805-EC15 Neopixel RGB LED in 1.5x1.5 (0606).
93+
No longer allowed for JLC economic assembly."""
9394
def __init__(self) -> None:
9495
super().__init__()
9596
self.vdd.init_from(VoltageSink(
@@ -123,6 +124,41 @@ def contents(self) -> None:
123124
self.assign(self.actual_basic_part, False)
124125

125126

127+
class Ws2812c_2020(Neopixel, JlcPart, FootprintBlock):
128+
"""WS2812C low-power Neopixel RGB LED in 2.0x2.0. 3.3v logic-level signal compatible."""
129+
def __init__(self) -> None:
130+
super().__init__()
131+
self.vdd.init_from(VoltageSink(
132+
voltage_limits=(3.7, 5.3) * Volt,
133+
current_draw=(0.001, 0.001 + 5*3) * mAmp, # 1 uA static + up to 5mA/ch
134+
))
135+
self.gnd.init_from(Ground())
136+
self.din.init_from(DigitalSink.from_supply(
137+
self.gnd, self.vdd,
138+
voltage_limit_tolerance=(-0.3, 0.7),
139+
input_threshold_abs=(0.7, 2.7),
140+
))
141+
self.dout.init_from(DigitalSource.from_supply(
142+
self.gnd, self.vdd,
143+
current_limits=0*mAmp(tol=0),
144+
))
145+
146+
def contents(self) -> None:
147+
self.footprint(
148+
'D', 'LED_SMD:LED_WS2812B-2020_PLCC4_2.0x2.0mm',
149+
{
150+
'1': self.dout,
151+
'2': self.gnd,
152+
'3': self.din,
153+
'4': self.vdd,
154+
},
155+
mfr='Worldsemi', part='WS2812C-2020-V1',
156+
datasheet='https://cdn.sparkfun.com/assets/e/1/0/f/b/WS2812C-2020_V1.2_EN_19112716191654.pdf'
157+
)
158+
self.assign(self.lcsc_part, 'C2976072') # note, -V1 version
159+
self.assign(self.actual_basic_part, False)
160+
161+
126162
class Sk6812_Side_A(Neopixel, FootprintBlock):
127163
"""SK6812-SIDE-A side-emitting Neopixel LED."""
128164
def __init__(self) -> None:

edg/parts/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,8 @@
113113

114114
from .Rtc_Pcf2129 import Pcf2129
115115
from .RfModules import Xbee_S3b, BlueSmirf
116-
from .Neopixel import Neopixel, Ws2812b, Sk6812Mini_E, Sk6805_Ec15, Sk6812_Side_A, NeopixelArray, NeopixelArrayCircular
116+
from .Neopixel import Neopixel, Ws2812b, Sk6812Mini_E, Sk6805_Ec15, Ws2812c_2020, Sk6812_Side_A, \
117+
NeopixelArray, NeopixelArrayCircular
117118
from .Lcd_Qt096t_if09 import Qt096t_if09
118119
from .Lcd_Ch280qv10_Ct import Ch280qv10_Ct
119120
from .Lcd_Er_Tft1_28_3 import Er_Tft_128_3

0 commit comments

Comments
 (0)