Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
d4ccc55
added experimental SPI support
mkalkbrenner Dec 15, 2025
1b4e138
delay
mkalkbrenner Dec 16, 2025
cfb509e
set width and height
mkalkbrenner Dec 16, 2025
a5074f4
compile switch
mkalkbrenner Dec 16, 2025
556805f
fixed typos
mkalkbrenner Dec 16, 2025
6276bb3
ZeDMDSpi
mkalkbrenner Dec 16, 2025
6cbf47d
added forward declaration
mkalkbrenner Dec 16, 2025
b228702
gpio
mkalkbrenner Dec 16, 2025
cf0d4da
fixed linker
mkalkbrenner Dec 16, 2025
0beba1e
fixed linker
mkalkbrenner Dec 16, 2025
0778f3d
fixed android
mkalkbrenner Dec 16, 2025
66b9505
Create a rising edge to switch ZeDMD from loopback to SPI mode.
mkalkbrenner Dec 16, 2025
71f7c1d
removed redundant code
mkalkbrenner Dec 16, 2025
5b4e8e2
changed compile switch
mkalkbrenner Dec 16, 2025
e9e2e48
SPI_SUPPORT
mkalkbrenner Dec 16, 2025
f0f4ec3
added logging
mkalkbrenner Dec 17, 2025
d9a8f7e
added raw streams
mkalkbrenner Dec 20, 2025
3b2a366
don't send commands when streaming raw
mkalkbrenner Dec 20, 2025
827acfe
debug
mkalkbrenner Dec 20, 2025
a6fff4b
debug
mkalkbrenner Dec 20, 2025
0ec167b
64MHz
mkalkbrenner Dec 20, 2025
960b17c
fixed RGB565 over SPI
mkalkbrenner Dec 20, 2025
57d25f5
configurable speed
mkalkbrenner Dec 21, 2025
eadc9b3
removed log
mkalkbrenner Dec 21, 2025
78a8ff7
reduced wait between frames
mkalkbrenner Dec 21, 2025
acf98a6
no keep alive
mkalkbrenner Dec 21, 2025
f3360d0
keep alive not supported on SPI
mkalkbrenner Dec 21, 2025
b1482c8
fixed keep alive not supported
mkalkbrenner Dec 21, 2025
1a79ba7
fixed dimension getters
mkalkbrenner Dec 21, 2025
bc2e946
dynamically read spi buffer size
mkalkbrenner Dec 25, 2025
f700097
removed 12ms threshold for HD
mkalkbrenner Dec 27, 2025
b18a3ce
Don't send commands via SPI, more logging
mkalkbrenner Dec 28, 2025
65c5eb9
fixed getters
mkalkbrenner Dec 28, 2025
cc7a274
firxed overloading
mkalkbrenner Dec 28, 2025
0906c3b
fixed some warnings
mkalkbrenner Dec 28, 2025
30a065b
ifirxed error
mkalkbrenner Dec 28, 2025
cf1afc7
fixed pointer
mkalkbrenner Dec 28, 2025
bb64fb2
more logging
mkalkbrenner Dec 28, 2025
fd639f5
use ZeDMD pointer
mkalkbrenner Dec 28, 2025
29c9b1c
avoid some memory issueavoid some memory issues
mkalkbrenner Dec 30, 2025
12f9419
change to 2ms minimum between SPI transfers (#43)
PastorL69 Dec 31, 2025
bc5c4e7
configureable frame pause
mkalkbrenner Dec 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/libzedmd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,10 @@ jobs:
name: Add autoconf and automake (mac runner)
run: |
brew install autoconf automake libtool
- if: (matrix.platform == 'linux' && matrix.arch == 'aarch64')
run: |
sudo apt-get update
sudo apt-get install -y libgpiod-dev
- name: Build libzedmd-${{ matrix.platform }}-${{ matrix.arch }}
run: |
./platforms/${{ matrix.platform }}/${{ matrix.arch }}/external.sh
Expand Down
27 changes: 24 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ set(ARCH "x64" CACHE STRING "Arch")
option(BUILD_SHARED "Option to build shared library" ON)
option(BUILD_STATIC "Option to build static library" ON)
option(POST_BUILD_COPY_EXT_LIBS "Option to copy external libraries to build directory" ON)
option(SPI_SUPPORT "SPI support" OFF)
add_compile_definitions($<$<BOOL:${SPI_SUPPORT}>:SPI_SUPPORT>)

message(STATUS "PLATFORM: ${PLATFORM}")
message(STATUS "ARCH: ${ARCH}")
Expand Down Expand Up @@ -73,6 +75,8 @@ set(CMAKE_C_VISIBILITY_PRESET hidden)
set(ZEDMD_SOURCES
src/ZeDMDComm.h
src/ZeDMDComm.cpp
src/ZeDMDSpi.h
src/ZeDMDSpi.cpp
src/ZeDMDWiFi.h
src/ZeDMDWiFi.cpp
src/ZeDMD.h
Expand All @@ -81,6 +85,11 @@ set(ZEDMD_SOURCES
third-party/include/miniz/miniz.c
)

if (ARCH STREQUAL "aarch64")
find_package(PkgConfig REQUIRED)
pkg_check_modules(GPIOD REQUIRED libgpiod)
endif()

set(ZEDMD_INCLUDE_DIRS
src
third-party/include
Expand Down Expand Up @@ -110,7 +119,11 @@ if(BUILD_SHARED)
target_link_directories(zedmd_shared PUBLIC
third-party/runtime-libs/${PLATFORM}/${ARCH}
)
target_link_libraries(zedmd_shared PUBLIC serialport sockpp)
if (ARCH STREQUAL "aarch64")
target_link_libraries(zedmd_shared PUBLIC serialport sockpp ${GPIOD_LIBRARIES})
else()
target_link_libraries(zedmd_shared PUBLIC serialport sockpp)
endif()
elseif(PLATFORM STREQUAL "ios" OR PLATFORM STREQUAL "ios-simulator" OR PLATFORM STREQUAL "tvos")
target_link_directories(zedmd_shared PUBLIC
third-party/build-libs/${PLATFORM}/${ARCH}
Expand Down Expand Up @@ -215,7 +228,11 @@ if(BUILD_STATIC)
target_link_directories(zedmd-test-portable PUBLIC
third-party/runtime-libs/${PLATFORM}/${ARCH}
)
target_link_libraries(zedmd-test-portable PUBLIC zedmd_static serialport sockpp)
if (ARCH STREQUAL "aarch64")
target_link_libraries(zedmd-test-portable PUBLIC zedmd_static serialport sockpp ${GPIOD_LIBRARIES})
else()
target_link_libraries(zedmd-test-portable PUBLIC zedmd_static serialport sockpp)
endif()
endif()

if(POST_BUILD_COPY_EXT_LIBS)
Expand Down Expand Up @@ -246,7 +263,11 @@ if(BUILD_STATIC)
target_link_directories(zedmd-client-portable PUBLIC
third-party/runtime-libs/${PLATFORM}/${ARCH}
)
target_link_libraries(zedmd-client-portable PUBLIC zedmd_static cargs serialport sockpp)
if (ARCH STREQUAL "aarch64")
target_link_libraries(zedmd-client-portable PUBLIC zedmd_static cargs serialport sockpp ${GPIOD_LIBRARIES})
else()
target_link_libraries(zedmd-client-portable PUBLIC zedmd_static cargs serialport sockpp)
endif()
endif()

if(POST_BUILD_COPY_EXT_LIBS)
Expand Down
Loading