option (BUILDSWIGJAVA "Build Java API." OFF)
option (USBPLAT "Detection USB platform." ON)
option (FTDID2XX "Build with FTDI D2xx subplatform support." OFF)
+option (FTDI4222 "Build with FTDI FT4222 subplatform support." OFF)
option (IPK "Generate IPK using CPack" OFF)
option (RPM "Generate RPM using CPack" OFF)
option (BUILDPYTHON3 "Use python3 for building/installing" OFF)
--- /dev/null
+# - Try to find LIBFT4222
+# Once done this will define
+#
+# LIBFT4222_FOUND - system has LIBFT4222
+# LIBFT4222_INCLUDE_DIRS - the LIBFT4222 include directory
+# LIBFT4222_LIBRARIES - Link these to use LIBFT4222
+# LIBFT4222_DEFINITIONS - Compiler switches required for using LIBFT4222
+#
+# Adapted from cmake-modules Google Code project
+#
+# Copyright (c) 2006 Andreas Schneider <mail@cynapses.org>
+#
+# (Changes for LIBFTD2XX) Copyright (c) 2008 Kyle Machulis <kyle@nonpolynomial.com>
+# (Changes for LIBFT4222) Henry Bruce <henry.bruce@intel.com> Copyright (c) 2015 Intel Corporation.
+#
+# Redistribution and use is allowed according to the terms of the New BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+if (LIBFT4222_LIBRARIES AND LIBFT4222_INCLUDE_DIRS)
+ # in cache already
+ set(LIBFT4222_FOUND TRUE)
+else (LIBFT4222_LIBRARIES AND LIBFT4222_INCLUDE_DIRS)
+ find_path(LIBFT4222_INCLUDE_DIR
+ NAMES
+ libft4222.h
+ PATHS
+ /usr/include
+ /usr/local/include
+ /opt/local/include
+ /sw/include
+ )
+
+ SET(FTD4222_LIBNAME ft4222)
+ IF(WIN32)
+ SET(FTD4222_LIBNAME LibFT4222.lib)
+ ENDIF(WIN32)
+
+ find_library(LIBFT4222_LIBRARY
+ NAMES
+ ${FTD4222_LIBNAME}
+ PATHS
+ /usr/lib
+ /usr/local/lib
+ /opt/local/lib
+ /sw/lib
+ )
+
+ if(LIBFT4222_INCLUDE_DIR)
+ set(LIBFT4222_INCLUDE_DIRS
+ ${LIBFT4222_INCLUDE_DIR}
+ )
+ endif(LIBFT4222_INCLUDE_DIR)
+ set(LIBFT4222_LIBRARIES
+ ${LIBFT4222_LIBRARY}
+ )
+
+ if (LIBFT4222_INCLUDE_DIRS AND LIBFT4222_LIBRARIES)
+ set(LIBFT4222_FOUND TRUE)
+ endif (LIBFT4222_INCLUDE_DIRS AND LIBFT4222_LIBRARIES)
+
+ if (LIBFT4222_FOUND)
+ if (NOT LIBFT4222_FIND_QUIETLY)
+ message(STATUS "Found LIBFT4222: ${LIBFT4222_LIBRARIES}")
+ endif (NOT LIBFT4222_FIND_QUIETLY)
+ else (LIBFT4222_FOUND)
+ if (LIBFT4222_FIND_REQUIRED)
+ message(FATAL_ERROR "Could not find LIBFT4222")
+ endif (LIBFT4222_FIND_REQUIRED)
+ endif (LIBFT4222_FOUND)
+
+ # show the LIBFT4222_INCLUDE_DIRS and LIBFT4222_LIBRARIES variables only in the advanced view
+ mark_as_advanced(LIBFT4222_INCLUDE_DIRS LIBFT4222_LIBRARIES)
+
+endif (LIBFT4222_LIBRARIES AND LIBFT4222_INCLUDE_DIRS)
+
add_executable (spi_max7219 spi_max7219.c)
include_directories(${PROJECT_SOURCE_DIR}/api)
-# FIXME Hack to access internal types used by mraa-i2c
+# FIXME Hack to access mraa internal types used by mraa-i2c
include_directories(${PROJECT_SOURCE_DIR}/include)
include_directories(${PROJECT_SOURCE_DIR}/api/mraa)
endif()
if (USBPLAT)
- add_subdirectory(usb)
+ message (INFO " - Adding USB platforms")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSBPLAT=1")
find_package (Ftd2xx)
if (FTDID2xx)
message (WARNING " - Enabled FTDID2xx support but library not found")
endif ()
endif ()
+ find_package (Ftd4222)
+ if (FTDI4222)
+ if (${LIBFT4222_FOUND})
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DFTDI4222=1")
+ set (mraa_LIBS ${mraa_LIBS} ${LIBFT4222_LIBRARIES})
+ else ()
+ message (WARNING " - Enabled FTDI4222 support but library not found")
+ endif ()
+ endif ()
+ add_subdirectory(usb)
endif ()
-
set (mraa_LIB_SRCS
${mraa_LIB_PLAT_SRCS_NOAUTO}
# autogenerated version file
-message (INFO " - Adding USB platforms")
set (mraa_LIB_SRCS_NOAUTO ${mraa_LIB_SRCS_NOAUTO}
${PROJECT_SOURCE_DIR}/src/usb/usb.c
- PARENT_SCOPE
)
-if (FTDID2XX)
- set (mraa_LIB_SRCS_NOAUTO
+
+if (FTDI4222)
+ message (INFO " - FTDI4222")
+ set (mraa_LIB_SRCS_NOAUTO ${mraa_LIB_SRCS_NOAUTO}
${PROJECT_SOURCE_DIR}/src/usb/ftdi_ft4222.c
PARENT_SCOPE
)
endif ()
+
+
#include <string.h>
#include "mraa_internal.h"
-#ifdef FTDID2XX
+#ifdef FTDI4222
#include "usb/ftdi_ft4222.h"
#endif
mraa_usb_platform_extender(mraa_board_t* board)
{
mraa_platform_t platform_type = MRAA_UNKNOWN_PLATFORM;
-#ifdef FTDID2XX
+#ifdef FTDI4222
if (mraa_ftdi_ft4222_init() == MRAA_SUCCESS) {
unsigned int versionChip, versionLib;
if (mraa_ftdi_ft4222_get_version(&versionChip, &versionLib) == MRAA_SUCCESS) {
platform_type = MRAA_FTDI_FT4222;
}
}
+#endif
switch (platform_type) {
+#ifdef FTDI4222
case MRAA_FTDI_FT4222:
mraa_ftdi_ft4222(board);
break;
+#endif
default:
syslog(LOG_ERR, "Unknown USB Platform Extender, currently not supported by MRAA");
}
-#endif
+
return platform_type;
}
+