My final year project
Dependencies: BSP_DISCO_F746NG F746_GUI LCD_DISCO_F746NG SDFileSystem TS_DISCO_F746NG ResistiveTouchController Map CYS8218Controller MedianFilter
Diff: main.cpp
- Revision:
- 49:a907d4f447a9
- Parent:
- 47:c04b0d51e1e3
- Child:
- 50:0e0cf6b350f7
--- a/main.cpp Mon Oct 10 06:27:44 2016 +0000 +++ b/main.cpp Wed Oct 12 00:06:26 2016 +0000 @@ -26,7 +26,7 @@ //-- X Axis variables float zeroAlpha = 0; float alpha = 0; -float xSP = -20; +float xSP = 0; float x = 0; float xError = 0; float xPrevError = 0; @@ -35,7 +35,7 @@ //-- Y Axis Variables float zeroBeta = 0; float beta = 0; -float ySP = 50; +float ySP = 0; float y = 0; float yError = 0; float yPrevError = 0; @@ -55,8 +55,8 @@ ResistiveTouchController plate(A0,A1,A3,A4,A5); Map xMapper(0,1024, -170,170); Map yMapper(0,1024, -136,136); -CYS8218Controller xMotor(D9); -CYS8218Controller yMotor(D8); +CYS8218Controller xMotor(D8); +CYS8218Controller yMotor(D9); float tCal[3][2]; @@ -68,9 +68,9 @@ int measuredTs = 0; -bool started = true; +bool started = false; -int ballOnPlate = 1; +int ballOnPlate = 0; bool saved = false; @@ -207,8 +207,8 @@ void Manual() { - xMotor.set(alpha); - yMotor.set(beta); + xMotor.Set(-alpha); + yMotor.Set(beta); Thread::wait(10); } @@ -221,8 +221,12 @@ { cycleTimer.start(); plate.Measure(); - x = xMapper.Calculate(floor(plate.X())); - y = yMapper.Calculate(floor(plate.Y())); + + //x = xMapper.Calculate(floor(plate.X())); + //y = yMapper.Calculate(floor(plate.Y())); + + x = xMapper.Calculate(floor(xFilter.Process(plate.X()))); + y = yMapper.Calculate(floor(yFilter.Process(plate.Y()))); xError = xSP - x; yError = ySP - y; @@ -236,8 +240,8 @@ alpha = ( alpha > 10 ? 10 : (alpha < -10 ? -10 : alpha)); beta = ( beta > 10 ? 10 : (beta < -10 ? -10 : beta) ); - xMotor.set(alpha); - yMotor.set(beta); + xMotor.Set(alpha); + yMotor.Set(-beta); cycleTimer.stop(); measuredTs = cycleTimer.read_ms(); @@ -253,7 +257,7 @@ void Calibrate() { - ballOnPlate = test.read(); + ballOnPlate = plate.TouchDetected(); if( calStarted ) { @@ -266,7 +270,7 @@ if( calHeldTime >= 5 ) { - while( test.read() ); + while( plate.TouchDetected() ); //TODO Test calibration function calPoint++;