William Emfinger's repositories
webgme-hfsm
Metamodel, visualization, simulation, and code generation for Hierarchical Finite State Machines (HFSMs) following the UML State Machine spec.
unreal-rtsp-display
Unreal Engine 5 Example for receiving video streams over RTSP (using FSockets and FRunnables) and displaying their image data in a texture.
webgme-codeeditor
Collaborative code editor visualizer for WebGME
esp-box-fluidsim
Example application for ESP-BOX which runs a fluid simulation, using the IMU to detect the gravity vector and the touchscreen for user interaction.
unreal-camera-capture-example
Example project showing the use of the unreal-camera-capture plugin for Unreal Engine 5
esp-box-motor-gesture-control
Example app for ESP-BOX which uses the IMU and esp-now to send motor position commands (IMU orientation) to a MotorGo Mini controlling two BLDC motors.
esp-motorgo-mini-gesture-control
Example app for the MotorGo Mini to receive commands over ESP-NOW to control the motors. Built with espp components.
atopile-mode
Major mode for editing atopile files
esp-latency-test
BT Classic / BLE Gamepad latency test app to actuate a button from an ESP32 and measure time until either 1) photodiode registers screen change, or 2) the ESP32 receives an input report. Can also work with USB gamepads in non-hosted (using phone screen) mode.
esp-usb-ble-hid
USB BLE HID adapter using ESP32S3 to have a BLE central which supports receiving HID input from a remote device and outputting over USB.
esp-usb-latency-test
USB Gamepad latency test app to actuate a button from an ESP and measure time until either 1) photodiode registers screen change, or 2) the ESP receives an input report.
jsbsim-rocket-test
Test repo for running a rocket simulation using JSBSim and controlling it from c++
python-astronomy-playground
A repo for downloading, exploring, and analyzing astronomical data
unreal-python-tools
Some python libraries and scripts for interfacing with Unreal Engine 5, the plugins I've made, as well as the data they produce.
alpaca
Serialization library written in C++17 - Pack C++ structs into a compact byte-array without any macros or boilerplate code
atopile-action
:warning: Experimental atoplie GitHub Action
binary_log
Fast binary logger for C++
cartreader
A shield for the Arduino Mega that can back up video game cartridges.
Dither3D
Surface-Stable Fractal Dithering
doom-emacs-config
config (~/.doom.d/) for doom emacs
esp-nimble-cpp
C++ library for the esp32 NimBLE stack based on and mostly compatible with @nkolban cpp_utils BLE library.
esp-usb-com
Test repository for having ESP32s3 report as a USB COM port (CDC), with a random serial number each time it boots. Mainly for testing performance of Windows as it sees _many_ different COM ports over a single boot cycle.
hid-rp
Standalone C++ HID report protocol/descriptor library
hid-usage-tables
Documenting the HID usage tables in a parsable format for code generation
litgen
litgen: a pybind11 automatic generator for humans who like nice code and API documentation. Also a C++ transformer tool
nimble-cpp-hid-issue-example
Simple repo for reproducing the HID issue in esp-nimble-cpp at 758c4d0471cca8a00c8652aac2e16940ecb30cb3
PureDOOM
Pure DOOM - Single Header Doom Source Port
py-gamepad-visualizer
PyQT5 + pygame app for visualizing gamepad inputs
StereoVision-SLAM
StereoVision-SLAM is a real-time visual stereo SLAM (Simultaneous Localization and Mapping)