Skip to content

Commit 3cba541

Browse files
authored
Merge pull request #3029 from adafruit/motor_slider
TMC2209 camera slider project
2 parents 7431475 + e734c9c commit 3cba541

File tree

8 files changed

+118727
-0
lines changed

8 files changed

+118727
-0
lines changed

TMC2209_Camera_Slider/CircuitPython/Arial-14.bdf

Lines changed: 27566 additions & 0 deletions
Large diffs are not rendered by default.

TMC2209_Camera_Slider/CircuitPython/adafruit_tmc2209.py

Lines changed: 768 additions & 0 deletions
Large diffs are not rendered by default.

TMC2209_Camera_Slider/CircuitPython/code.py

Lines changed: 575 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# SPDX-FileCopyrightText: 2025 Liz Clark for Adafruit Industries
2+
#
3+
# SPDX-License-Identifier: MIT
4+
5+
# pylint: disable=too-few-public-methods
6+
7+
__version__ = "0.0.0+auto.0"
8+
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_BusDevice.git"
9+
10+
class GenericUARTDevice:
11+
"""Class for communicating with a device via generic UART read/write functions"""
12+
13+
def __init__(self, uart, read_func=None, write_func=None,
14+
readreg_func=None, writereg_func=None):
15+
self._uart = uart
16+
self._read_func = read_func
17+
self._write_func = write_func
18+
self._readreg_func = readreg_func
19+
self._writereg_func = writereg_func
20+
21+
def read(self, buffer: bytearray, length: int) -> int:
22+
"""Read raw data from device into buffer"""
23+
if self._read_func is None:
24+
return 0
25+
while self._uart.in_waiting:
26+
self._uart.read()
27+
return self._read_func(buffer, length)
28+
29+
def write(self, buffer: bytes, length: int) -> int:
30+
"""Write raw data from buffer to device"""
31+
if self._write_func is None:
32+
return 0
33+
return self._write_func(buffer, length)
34+
35+
def read_register(self, addr_buf: bytes, addr_len: int,
36+
data_buf: bytearray, data_len: int) -> int:
37+
"""Read from device register"""
38+
if self._readreg_func is None:
39+
return 0
40+
return self._readreg_func(addr_buf, addr_len, data_buf, data_len)
41+
42+
def write_register(self, addr_buf: bytes, addr_len: int, data_buf: bytes, data_len: int) -> int:
43+
"""Write to device register"""
44+
if self._writereg_func is None:
45+
return 0
46+
return self._writereg_func(addr_buf, addr_len, data_buf, data_len)
88 KB
Binary file not shown.

TMC2209_Camera_Slider/PCB_Files/TMC2209_Camera_Slider_PCB_revB.brd

Lines changed: 43156 additions & 0 deletions
Large diffs are not rendered by default.

TMC2209_Camera_Slider/PCB_Files/TMC2209_Camera_Slider_PCB_revB.sch

Lines changed: 4614 additions & 0 deletions
Large diffs are not rendered by default.

TMC2209_Camera_Slider/PCB_Files/TMC2209_Camera_Slider_PCB_revB_noPinguin.brd

Lines changed: 42002 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)