Mercurial > hg > beaglert
view projects/airharp/Junction.h @ 287:4815ed0f21de prerelease
Makefile refactoring:
- avoids recursive call to build with/without main
- takes EXAMPLE parameter. Copies the examples/$(EXAMPLE) folder to projects/$(PROJECT) and $PROJECT defaults to exampleTestProject
- you can now `make run` (TODO: currently re-links, should instead run without linking)
author | Giulio Moro <giuliomoro@yahoo.it> |
---|---|
date | Wed, 18 May 2016 01:46:32 +0100 |
parents | 40badaff5729 |
children |
line wrap: on
line source
/* * * Excitation Junction for two waveguides * * Christian Heinrichs 04/2015 * */ #ifndef JUNCTION_H_ #define JUNCTION_H_ #include <cmath> #ifndef WG_BUFFER_SIZE #define WG_BUFFER_SIZE 4096 #endif #ifndef M_PI #define M_PI 3.14159265358979323846264338 #endif class Junction { public: Junction(); void setup(); void update(float excitation, float left, float right); float getOutput(int direction); float getExcitationDisplacement(); void setFrequency(float frequency); void setPeriod(float periodInMs); void setPluckPosition(float pluckPos); private: double _dt; float _periodInMilliseconds; int _periodInSamples; int _delay_l; int _delay_r; float _buffer_l[WG_BUFFER_SIZE]; float _buffer_r[WG_BUFFER_SIZE]; int _readPtr; float _excitation; float _lastPlectrumDisplacement; }; #endif