Adds ability to stream EVT2 data from Prophesee GENX320 sensor on stm32 board (discovery kit) to host over USB_FS port
Usage:
Use .ioc configuration file in Prophesee's demo source code for the stm32 discovery kit. Open the .ioc with CubeMX, and in pins & configuration set USB_OTG_FS to device_only. Disable usart1 to enable vbus sensing for USB_OTG_FS.
Go to clocking tab, auto resolve clocks to achieve 48 MHz USB. This will interfere with TouchGFX on the LCD display, but you will still be able to see the event stream visualized. (Trying to interact with the touch screen will crash the board)
Replace main.c task_decoder.c and task_decoder.h with files provided here.
Build .elf file in CubeIDE and now when you connect to the USB_FS port you should see the device enumerate.
If you open the port for the device you can begin streaming to your host.
Current implementation drops some words under high event-load, but does not corrupt any EVT2 words transmitted, resulting in semi-random compression.
This repository contains firmware modifications for the STM32F746G-Discovery + Prophesee GENX320 evaluation platform. The purpose of these modifications is to stream raw EVT2 event data over USB FS for dataset capture and testing with the microTheia ASIC project.
Some files in this repository are derived from or modify vendor-provided example code. In particular:
- STM32 initialization, peripheral setup, and generated project structure are based on STMicroelectronics STM32Cube/CubeMX example code and retain the applicable STMicroelectronics license headers where present.
- GENX320 event-decoding task files are based on Prophesee example/demo code and retain the applicable Prophesee license headers where present.
- Original modifications in this repository include the USB CDC streaming path, EVT2 buffering/word-alignment handling, and integration changes needed to export raw event streams to a host machine.
All third-party copyright notices and license headers have been preserved in the source files where applicable. This repository is intended as a small set of project-specific modifications and integration notes, not as a redistribution of the full vendor SDKs or development environments. Users are responsible for obtaining any required STM32Cube, TouchGFX, or Prophesee software components from their original sources and complying with their respective licenses.