Commit graph

15 commits

Author SHA1 Message Date
Thomas Kolb 898ebbecc7 UDPProto: Fixed index-out-of-bounds bug 2021-03-18 21:22:30 +01:00
Thomas Kolb b683c8a391 main: handle “Connection refused” UDP errors 2021-03-10 22:38:30 +01:00
Thomas Kolb 24850f1a1b particles animation: config tuning 2021-03-10 22:18:29 +01:00
Thomas Kolb 35c5c33689 Disabled userscript module 2021-03-07 21:36:57 +01:00
Thomas Kolb 7929861ad4 Implement "particles" animation in Rust 2021-03-07 20:32:34 +01:00
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 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