Pages
Raspberry Pi
Installation and Setup
Installing and Setting up Ubuntu
Setting up the WiFi Connection
Python Development
Ubuntu to Raspberry Pi OS Cross C++ Development
Installation and Setup
Development setup
Building the C++ example project
Remote debugging
Ubuntu to Ubuntu Cross C++ Development
C++ Development using Docker
Installation and setup
Building the Cross-Compilation Toolchain
Cross-Compiling the Dependencies
Installing the dependencies on the Pi
Cross-Compiling the C++ Example Project
Debugging
Speedrun
NEON
Division
Arduino
Audio and Signal Processing
VU Meters
Model of a moving-coil galvanometer
The Damped Harmonic Oscillator
Control Surface
Developers
Installation
Style
Tests
Generating Documentation
Control Theory
Motorized Faders
1. PID Controllers
2. C++ Implementation
3. PID Tuning
4. Architecture and Design Decisions
5. Hardware
6. Configuration options and common use cases
7. ATmega328P Code
Bootloaders
Compiling Optiboot - ATmega328P at custom frequency
ESP8266
Flashing
Flashing the ESP8266 with an Arduino UNO
Mathematics & Engineering
Systems and Control Theory
Analog Filters & Systems
Butterworth Filters
Digital Filters & Systems
DTLTI Systems, Transfer Functions, and the Z-transform
DTLTI Systems
Impulse and Step Response
Convolutions
The Z-transform
Exponential Moving Average
Exponential Moving Average
Filtering in MATLAB
C++ Implementation
Simple Moving Average
Simple Moving Average
C++ Implementation
Discretization
Bilinear Transform
Discretization of a Fourth-Order Butterworth Filter
Simple Finite Impulse Response Notch Filter
Programming
Snippets
C++
Best Practices
Don't use unions or pointer casts for type punning
Don't use C-style casts
Algorithms
Maximum N elements
Ubuntu
Software Installation
Installing Locally
Arduino
Arduino IDE
The Hairless MIDI to Serial Bridge
BlueZ with MIDI over BLE Support
Doxygen
Eclipse
Eigen
GoogleTest
Java
Python
VirtualBox
home
get_app
feedback
C++
Pieter P
Best Practices
Algorithms
Algorithms in the C++ programming language.