Updates to make the FT4222 platform extender more usable.
Previous implementation opened libft4222.so and loaded symbols as
needed. This implementation removes dynamic loading of libft4222 in
favor of creating a new shared libary which links against libft4222.so.
The dynamic loading is now done in mraa.c. One C method is exposed in
libmraa-platform-ft4222.so for finding/initializing an FT4222:
mraa_platform_t mraa_usb_platform_extender(mraa_board_t* board);
Mraa.c attempts to open this platform library and calls the
mraa_usb_platform_extender method. If an ftdi4222 is connected, the
user gets added IO from the extender. If no FT4222 device is connected,
continue as normal.
* Create a new platform library for the FT4222
* Expose only 1 C method from the library -
mraa_usb_platform_extender
* libmraa-platform-ft4222.so contains CXX code (as well as previous
C code). All *allocs have been removed in favor of global
C++ stl containers.
* Previously, the FT4222 would only initialize correctly if 2 ftdi
devices existed. Now, initialize FT4222 devices based on the
device id.
* Many fixes for various problems with the FT4222
* Added unit test for platform extender (minimal functionality w/o hw)
* Updated to FindFtd4222.cmake module to handle standard arguments
* Removed CMAKE_C_FLAGS addition of -DFTDID2XX and -DFTDI4222 since
these are NOT used anywhere in source.
* Building the FTDI4222 shim requires libft4222.h which requires
ftd2xx.h. Updated CMakeLists.txt to require both when building
the shim.
Signed-off-by: Noel Eck <noel.eck@intel.com>
159 lines
3.9 KiB
YAML
159 lines
3.9 KiB
YAML
version: '2.1'
|
|
|
|
services:
|
|
|
|
base:
|
|
image: inteliotdevkit/mraa-base
|
|
environment:
|
|
- http_proxy
|
|
- https_proxy
|
|
- no_proxy
|
|
- BUILDDOC=${BUILDDOC:-OFF}
|
|
- BUILDSWIG=${BUILDSWIG:-OFF}
|
|
- BUILDSWIGPYTHON=${BUILDSWIGPYTHON:-OFF}
|
|
- BUILDTESTS=${BUILDTESTS:-ON}
|
|
- USEPYTHON3TESTS=${USEPYTHON3TESTS:-OFF}
|
|
- BUILDSWIGJAVA=${BUILDSWIGJAVA:-OFF}
|
|
- BUILDSWIGNODE=${BUILDSWIGNODE:-OFF}
|
|
- USBPLAT=${USBPLAT:-OFF}
|
|
- FIRMATA=${FIRMATA:-OFF}
|
|
- ONEWIRE=${ONEWIRE:-ON}
|
|
- JSONPLAT=${JSONPLAT:-OFF}
|
|
- IMRAA=${IMRAA:-OFF}
|
|
- FTDI4222=${FTDI4222:-OFF}
|
|
- ENABLEEXAMPLES=${ENABLEEXAMPLES:-OFF}
|
|
- INSTALLTOOLS=${INSTALLTOOLS:-ON}
|
|
- CC=${CC:-clang-3.8}
|
|
- CXX=${CXX:-clang++-3.8}
|
|
- BUILDARCH=${BUILDARCH}
|
|
volumes:
|
|
- .:${MRAA_SRC_DIR:-/usr/src/app}
|
|
|
|
all:
|
|
extends: base
|
|
image: inteliotdevkit/mraa-all
|
|
|
|
minimal:
|
|
extends: base
|
|
environment:
|
|
- BUILDSWIG=OFF
|
|
- INSTALLTOOLS=OFF
|
|
- JSONPLAT=OFF
|
|
command: bash -c "./scripts/run-cmake.sh && cd build && make && ctest -R unit --output-on-failure"
|
|
|
|
doc:
|
|
extends: all
|
|
environment:
|
|
- BUILDSWIG=ON
|
|
- BUILDSWIGPYTHON=ON
|
|
- BUILDSWIGNODE=ON
|
|
- BUILDSWIGJAVA=ON
|
|
- BUILDDOC=ON
|
|
command: bash -c "./scripts/run-cmake.sh && ./scripts/build-doc.sh"
|
|
|
|
examples:
|
|
extends: all
|
|
environment:
|
|
- BUILDSWIG=ON
|
|
- BUILDSWIGPYTHON=ON
|
|
- BUILDSWIGNODE=ON
|
|
- BUILDSWIGJAVA=ON
|
|
- ENABLEEXAMPLES=ON
|
|
- USBPLAT=ON
|
|
- FIRMATA=ON
|
|
- ONEWIRE=ON
|
|
- IMRAA=ON
|
|
- FTDI4222=ON
|
|
command: bash -c "./scripts/run-cmake.sh && make -Cbuild"
|
|
|
|
sonar-scan:
|
|
extends: all
|
|
environment:
|
|
- BUILDSWIG=ON
|
|
- BUILDSWIGPYTHON=ON
|
|
- BUILDSWIGNODE=ON
|
|
- BUILDSWIGJAVA=ON
|
|
- ENABLEEXAMPLES=ON
|
|
- ONEWIRE=ON
|
|
- JSONPLAT=ON
|
|
- SONAR_TOKEN
|
|
- SONAR_ORG
|
|
- SONAR_PROJ_KEY
|
|
- TRAVIS_BRANCH
|
|
- TRAVIS_PULL_REQUEST
|
|
- TRAVIS_REPO_SLUG
|
|
- TRAVIS_PULL_REQUEST_SLUG
|
|
- GITHUB_TOKEN
|
|
command: bash -c "./scripts/run-cmake.sh && cd build && ../scripts/sonar-scan.sh"
|
|
|
|
usbplat:
|
|
extends: all
|
|
environment:
|
|
- USBPLAT=ON
|
|
command: bash -c "./scripts/run-cmake.sh && make -Cbuild"
|
|
|
|
firmata:
|
|
extends: all
|
|
environment:
|
|
- FIRMATA=ON
|
|
command: bash -c "./scripts/run-cmake.sh && make -Cbuild"
|
|
|
|
imraa:
|
|
extends: all
|
|
environment:
|
|
- IMRAA=ON
|
|
- FIRMATA=ON
|
|
command: bash -c "./scripts/run-cmake.sh && make -Cbuild"
|
|
|
|
ftdi4442:
|
|
extends: all
|
|
environment:
|
|
- USBPLAT=ON
|
|
- FTDI4222=ON
|
|
command: bash -c "./scripts/run-cmake.sh && make -Cbuild"
|
|
|
|
python2:
|
|
extends: base
|
|
image: inteliotdevkit/mraa-python
|
|
environment:
|
|
- BUILDSWIG=ON
|
|
- BUILDSWIGPYTHON=ON
|
|
command: bash -c "./scripts/run-cmake.sh && cd build && make _python2-mraa tests-unit && ctest --output-on-failure"
|
|
|
|
python3:
|
|
extends: python2
|
|
environment:
|
|
- USEPYTHON3TESTS=ON
|
|
command: bash -c "./scripts/run-cmake.sh && cd build && make _python3-mraa tests-unit && ctest --output-on-failure"
|
|
|
|
java:
|
|
extends: base
|
|
image: inteliotdevkit/mraa-java
|
|
environment:
|
|
- BUILDSWIG=ON
|
|
- BUILDSWIGJAVA=ON
|
|
command: bash -c "./scripts/run-cmake.sh && cd build && make mraajava tests-unit && ctest --output-on-failure"
|
|
|
|
android:
|
|
extends: java
|
|
image: inteliotdevkit/mraa-android
|
|
environment:
|
|
- BUILDARCH=PERIPHERALMAN
|
|
command: bash -c "./scripts/build-android.sh"
|
|
|
|
node4:
|
|
extends: base
|
|
image: inteliotdevkit/mraa-node4
|
|
environment:
|
|
- BUILDSWIG=ON
|
|
- BUILDSWIGNODE=ON
|
|
command: bash -c "./scripts/run-cmake.sh && make -Cbuild npmpkg && node-gyp configure && node-gyp build && npm test"
|
|
|
|
node5:
|
|
extends: node4
|
|
image: inteliotdevkit/mraa-node5
|
|
|
|
node6:
|
|
extends: node4
|
|
image: inteliotdevkit/mraa-node6
|