Commit graph

11 commits

Author SHA1 Message Date
Thomas Kolb a9202d8303 Limit main loop and packet send rates
LED data packets are now sent with at most 60 updates per second. The
main loop tries to uniformly distribute calculation updates over time.
2021-02-23 22:32:34 +01:00
Thomas Kolb 45475cb89d UdpProto: fixed data offset 2021-02-23 22:31:31 +01:00
Thomas Kolb 5da4548e25 Provide Lua function to calculate output array index from led and strip 2021-02-23 22:30:04 +01:00
Thomas Kolb 7631bfb669 Started implementing the UDP protocol 2021-02-22 23:24:32 +01:00
Thomas Kolb ded8a7c21f main: cleanup 2021-02-21 19:49:16 +01:00
Thomas Kolb 001af5f0f3 Added test Lua script demonstrating current features 2021-02-21 19:49:16 +01:00
Thomas Kolb 8776e8e960 Properly handle and display Lua errors 2021-02-21 19:49:16 +01:00
Thomas Kolb 864add8403 Provide SignalProcessing methods to the Lua script
This is accomplished by providing a wrapped reference to the
SignalProcessing instance of the Rust program as a global Lua variable.
The wrapper class implements mlua::UserData, wraps the relevant
SignalProcessing methods and provides them as Lua methods.

So far, this is implemented for get_energy_in_band() only.
2021-02-21 19:49:16 +01:00
Thomas Kolb 62bbff481c Lua support: add script handling class with basic I/O
The relevant functions are called and the return types and sizes
verified. The API for the user is not implemented yet.
2021-02-19 23:29:52 +01:00
Thomas Kolb 942f66f7df Support overlapping FFT blocks
Now an arbitrary number of samples can be read and appended to the FFT
block. Old samples will be dropped such that only BLOCK_LEN samples
are in the memory buffer. Currently one half of the FFT block is
replaced per update.
2021-02-19 23:26:28 +01:00
Thomas Kolb ff018a98e1 Initial commit
Start experimenting with Rust. This is a little experimental, but fully
functional real-time FFT program based on the FFTW library.
2021-02-16 22:44:31 +01:00