StreamLogic supports Monocle as a target platform. Monocle is a open wearable device that features:
- Forward-facing camera
- Heads-up display
- RAM and Flash memory
- FPGA and MCU compute
- Bluetooth radio
The FPGA is used to interface with the camera, display and microphone. The MCU firmware runs MicroPython and controls the FPGA. You can use StreamLogic to build your own custom camera and display pipelines for the FPGA.
The StreamLogic fork of the MicroPython firmware allows you to control any pipeline you build with StreamLogic from the MCU.
Any design using the camera or display on Monocle will require the use of a frame buffer, so a good place to start is understanding frame buffers. The camera captures images at a constant rate, and the FPGA continuously captures that data. There is no flow control when working with cameras, so the FPGA must always be ready to accept the camera data, and that's where the frame buffer comes in.
The frame buffer is a component that writes images it receives from the camera directly to memory. Downstream components that consume those images can then operate independently, reading from memory as needed and at their own pace. You can configure the frame buffer size to hold any number of images at once, but it needs to be at least two: one buffer to hold the last complete image received for consumers to read, and a second to receive the incoming image.
From the StreamLogic menu, you can import the
pipeline from the examples. This pipeline is show below.
This pipeline displays the live image from the camera on the heads up
display. As you can see, images from the camera are piped into the
frame buffer. The
FBOut node is configured to continuously read the
most recent complete image in the frame buffer and send it to the OLED
A short walk-through is available from the github repository README page that describes how to import and build this pipeline.
The sections below describe the various functions that are available to build your pipelines in StreamLogic. These are also documented within the environment itself.