Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
9 changes: 9 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ endif()
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_C_EXTENSIONS OFF)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
option(BUILD_SHARED_LIBS "Build libraries as shared as opposed to static" ON)
set(CONTEXT_DIR event-driven)
set(EVENTDRIVEN_LIBRARY event-driven)
Expand Down Expand Up @@ -68,6 +70,13 @@ if(prophesee_core_FOUND)
message(STATUS "Found prophesee_core: (found version ${prophesee_core_VERSION})")
endif()

find_package(libcaer)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked the installation guide for dv-processing.
Is it correct that we need libcaer to use dv-processing?


find_package(dv-processing QUIET)
if(dv-processing_FOUND)
message(STATUS "Found dv-processing: (found version ${dv-processing_VERSION})")
endif()

#build the library


Expand Down
23 changes: 21 additions & 2 deletions Dockerfile_Ubuntu2004
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ ENV DEBIAN_FRONTEND=noninteractive

ARG CODE_DIR=/usr/local/src

#basic environment
# Basic environment
RUN apt update && apt install -y \
ca-certificates \
build-essential \
Expand Down Expand Up @@ -47,6 +47,26 @@ RUN apt install -y \
libopencv-dev \
metavision-sdk

# dv-processing
# Add toolchain PPA and install gcc-13/g++-13
RUN apt update && \
apt install -y software-properties-common && \
add-apt-repository ppa:ubuntu-toolchain-r/test && \
apt update && \
apt install -y gcc-13 g++-13

# Add inivation PPA and install dv-processing dependencies
RUN add-apt-repository ppa:inivation-ppa/inivation && \
apt-get update && \
apt-get install -y \
boost-inivation \
libcaer-dev \
libfmt-dev \
liblz4-dev \
libzstd-dev \
libssl-dev && \
apt-get -y install dv-processing

Comment on lines +50 to +69
Copy link
Contributor

@mikihiroikura mikihiroikura Oct 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for adding dv-processing in Dockerfile.

However, it's important to reduce the docker image size as much as possible by simplifying Dockerfile.
Currently, this Dockerfile contains metavision-sdk and dv-processing, meaning it's redundant.

Therefore, I recommend you to create some Dockerfiles for metavision-sdk and dv-processing separately.
Could you please make them in the following folder structure?

event-driven/
├── docker/
│   ├── Prophesee/
│              ├── Dockerfile_Ubuntu2004
│              └── Dockerfile_Ubuntu2204
│   ├── Inivation
│              ├── Dockerfile_Ubuntu2004
│              └── Dockerfile_Ubuntu2204

# YCM
ARG YCM_VERSION=v0.15.2
RUN cd $CODE_DIR && \
Expand All @@ -68,7 +88,6 @@ RUN cd $CODE_DIR && \
EXPOSE 10000/tcp 10000/udp
RUN yarp check


# event-driven
ARG ED_VERSION=main
RUN cd $CODE_DIR &&\
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ Event-driven libraries provide basic functionality for handling events in a YARP
* [**calibration**](https://github.com/robotology/event-driven/tree/ev2-dev/cpp_tools/calibration) - estimating the camera intrinsic parameters
* [**vPreProcess**](https://github.com/robotology/event-driven/tree/ev2-dev/cpp_tools/vPreProcess) - splitting different event-types into separate event-streams, performing filtering, and simple augmentations (flipping etc.)
* [**atis-bridge**](https://github.com/robotology/event-driven/tree/ev2-dev/cpp_tools/atis3-bridge) - bridge between the Prophesee ATIS cameras and YARP
* [**dv-bridge**](https://github.com/robotology/event-driven/tree/ev2-dev/cpp_tools/dv-bridge) - bridge between the Inivation DVXplorer Micro camera and YARP
* [**zynqGrabber**](https://github.com/robotology/event-driven/tree/ev2-dev/cpp_tools/zynqGrabber) - bridge between zynq-based FPGA sensor interface and YARP

## Applications
Expand Down
5 changes: 5 additions & 0 deletions cpp_tools/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,8 @@ endif()
if(prophesee_core_FOUND OR MetavisionSDK_FOUND)
add_subdirectory(atis3-bridge)
endif()

if(dv-processing_FOUND)
add_subdirectory(dv-bridge)
endif()

14 changes: 14 additions & 0 deletions cpp_tools/dv-bridge/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@

project(dv-bridge-sdk)

add_executable(${PROJECT_NAME} dv-bridge-sdk.cpp)

target_link_libraries(${PROJECT_NAME} PRIVATE YARP::YARP_OS
YARP::YARP_init
ev::event-driven
dv::processing
dl)

target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<BOOL:${VLIB_ENABLE_TS}>:ENABLE_TS=1>)

install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
7 changes: 7 additions & 0 deletions cpp_tools/dv-bridge/README.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# dv-bridge

A bridge application between Inivation's DVXplorer Micro camera SDK and YARP

### Usage

`dv-bridge-sdk`
Loading