Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed_amf_controlsystem_iO_copy by
Revision 4:f0be27a5a83a, committed 2016-02-04
- Comitter:
- mborchers
- Date:
- Thu Feb 04 09:33:42 2016 +0000
- Parent:
- 3:391c4639bc7d
- Child:
- 5:4319a748181a
- Child:
- 7:c5940ae7773a
- Commit message:
- Fehler behoben (s. Funktion "redirect_quadrature_controller")
Changed in this revision
--- a/Controller/QuadratureController.cpp Thu Feb 04 08:54:06 2016 +0000
+++ b/Controller/QuadratureController.cpp Thu Feb 04 09:33:42 2016 +0000
@@ -30,7 +30,7 @@
}
}
-void QuadratureController::cylic_control(void const *args) {
+void QuadratureController::cylic_control() {
check_queues();
q_e = steering_angle_set - steering_angle_current;
@@ -42,7 +42,7 @@
q_output = feed_forward + q_PI_controller;
if(q_output > 500){q_output = 500;} // evtl Begrenzung schon auf z.b. 300/ -300 stellen (wegen Linearität)
- if(q_output < -500){q_output = - 500;}
+ else if(q_output < -500){q_output = - 500;}
q_PWM = 1500 + q_output;
--- a/Controller/QuadratureController.h Thu Feb 04 08:54:06 2016 +0000
+++ b/Controller/QuadratureController.h Thu Feb 04 09:33:42 2016 +0000
@@ -26,7 +26,7 @@
void check_queues();
public:
QuadratureController(PwmOut *pwmOut);
- void cylic_control(void const *args);
+ void cylic_control();
};
#endif
\ No newline at end of file
--- a/main.cpp Thu Feb 04 08:54:06 2016 +0000
+++ b/main.cpp Thu Feb 04 09:33:42 2016 +0000
@@ -23,6 +23,8 @@
IMU_RegisterDataBuffer_t *IMU_registerDataBuffer;
RadioDecoder_RegisterDataBuffer_t *RadioDecoder_registerDataBuffer;
+QuadratureController *quadratureController;
+
// Queues von der Bahnplanung
Queue<float, 2> quadrature_queue;
Queue<float, 2> machine_direction_queue;
@@ -92,6 +94,10 @@
drivePWM.pulsewidth_us(l_PWM);
}
+void redirect_quadrature_controller(void const *args) {
+ quadratureController->cylic_control();
+}
+
int main() {
serialMinnow.baud(115200);
@@ -102,12 +108,12 @@
SupportSystem *supportSystem = new SupportSystem(0x80, &i2c);
- QuadratureController *quadratureController = new QuadratureController(&steerPWM);
+ quadratureController = new QuadratureController(&steerPWM);
Thread machineDirectionControl(serial_thread);
RtosTimer machine_direction_control_timer(machine_direction_control);
- RtosTimer quadrature_control_timer(quadratureController->cylic_control);
+ RtosTimer quadrature_control_timer(redirect_quadrature_controller);
// Konfiguration AMF-IMU
// [0]: Conversation Factor
