
De motorcontroller van het TLS2 project.
Revision 2:b9449fc96691, committed 2016-11-16
- Comitter:
- RichardHoekstra
- Date:
- Wed Nov 16 15:49:30 2016 +0000
- Parent:
- 1:9e6c4011eef6
- Child:
- 3:10c6e7aaf375
- Commit message:
- Added back in the sinus curve creation.
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Wed Nov 16 15:30:21 2016 +0000 +++ b/main.cpp Wed Nov 16 15:49:30 2016 +0000 @@ -6,6 +6,30 @@ #define I2C_BUFFER_SIZE 10 I2CSlave slave(SDA,SCL); +#define CURVE_BUFFER_SIZE 100 + +//Curve settings +float curve_buffer[CURVE_BUFFER_SIZE]; +float curve_min=80; //[mmHg] +float curve_max=120; //[mmHg] +float curve_period=10; //[ms] + +//Note: om de frequentie aan te passen speel je de buffer sneller af. Hierbij neemt nauwkeurigheid wel af. Om dit te verminderen +//heb je meer punten in de buffer nodig. +float curve_sinus(){ + float amplitude = (curve_max - curve_min)/2; //amplitude*sin(t) //van -amplitude naar +amplitude + //Als sin(x) = 0, moet de curve exact in het midden van max en min zitten + float offset = (curve_max+curve_min)/2; + //Genereer een volle periode en zet het in de buffer + float step = 2*3.1415926/CURVE_BUFFER_SIZE; + for(int i=0;i<CURVE_BUFFER_SIZE;i++){ + curve_buffer[i] = offset+amplitude*sin(step*x); + } +} + +float curve_arterial(){ + //Help. +} int main() {