What's new in Pictorus - Q4 Wrap-up 2023
Hello from Pictorus and happy holidays! We'd like to share some exciting product updates we've been working on as the year wraps up. Some features in early development are currently only available to alpha testers. Please reach out to us at support@pictor.us if you would like early access. Alpha features typically roll into open beta within 1-2 quarters.
Custom blocks UI (Alpha)
Last quarter we introduced a first version of custom block creation, allowing users to upload Rust source code as zip files to create new block functionality. We've now made the custom block editing experience completely accessible within our UI. In the custom block editor - accessed via the Rust icon in the left sidebar - users can define a block's inputs, outputs, and parameters from a set of drop down menus, view and edit auto-generated starter code in the Code Editor tab, and then verify and save these blocks to their library. Once verified and saved, custom blocks can be accessed and updated via the editing environment from any app. See this in action below:
Github Integration (Alpha)
To make it easier to integrate Pictorus with existing software stacks, we've added a source control integration feature. Alpha testers can find the option to sync a Github repository in the app settings tab on the lefthand panel, and create pull requests to this repository when saving a new app version. See this in action below:
Embedded Support (Alpha)
After focusing our code generation tools on single board computers such as Raspberry Pis, Beaglebones, and Jetsons for most of 2023, we've kicked off development to support bare metal embedded boards. We see this as the next step in supporting a wider range of custom and industry-standard hardware development projects. Please feel free to reach out if you have an embedded board project you would like to see supported in Pictorus.
Block Execution Order in UI
We've introduced a new debugging feature that allows users to easily understand the execution order of blocks in their apps, without having to dig into source code. By clicking the information icon located in the bottom-right menu, users can now see an integer value displayed above each block. This value indicates the block's position in the execution sequence. Additionally, we have included the block output dimensions (rows and columns) alongside this new annotation.
This debug feature is particularly useful when debugging sensitive algorithms like Kalman filters, which can become unstable unless a precise execution order is implemented. Our code generator generally does a great job figuring out the intended order of operations, but occasionally manual tweaking is necessary. In future releases we'll give users more direct control of block execution order. For now, if you can see the execution order isn't quite right, you can usually fix this by slightly refactoring your block diagram to trigger a different block sequence. Feel free to reach out to support if you're stuck!
New Blocks in Core Library
FFT
The FFT block implements the Discrete Fourier Transform via the computationally efficient Fast Fourier Transform algorithm, parsing a signal into its spectral components and allowing for advanced frequency analysis. This is particularly powerful when dealing with a noisy sensor measurement where multiple important frequencies are present, and the relative magnitude of each needs to be computed.
That's a wrap for 2023! A big thanks to all our Open Beta testers, who have made 2023 an exciting first year for Pictorus! From all of us - thanks for reading, happy holidays, keep hacking and stay tuned for next quarter's updates!