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.
main.cpp@0:3fbb3fa4ff64, 2019-04-12 (annotated)
- Committer:
- Awiegmink
- Date:
- Fri Apr 12 06:58:18 2019 +0000
- Revision:
- 0:3fbb3fa4ff64
- Child:
- 1:3d46a0660d05
Controll ;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Awiegmink | 0:3fbb3fa4ff64 | 1 | /* |
Awiegmink | 0:3fbb3fa4ff64 | 2 | * To change this license header, choose License Headers in Project Properties. |
Awiegmink | 0:3fbb3fa4ff64 | 3 | * To change this template file, choose Tools | Templates |
Awiegmink | 0:3fbb3fa4ff64 | 4 | * and open the template in the editor. |
Awiegmink | 0:3fbb3fa4ff64 | 5 | */ |
Awiegmink | 0:3fbb3fa4ff64 | 6 | |
Awiegmink | 0:3fbb3fa4ff64 | 7 | /* |
Awiegmink | 0:3fbb3fa4ff64 | 8 | * File: main.cpp |
Awiegmink | 0:3fbb3fa4ff64 | 9 | * Author: kwieg |
Awiegmink | 0:3fbb3fa4ff64 | 10 | * |
Awiegmink | 0:3fbb3fa4ff64 | 11 | * Created on February 28, 2019, 7:54 PM |
Awiegmink | 0:3fbb3fa4ff64 | 12 | */ |
Awiegmink | 0:3fbb3fa4ff64 | 13 | |
Awiegmink | 0:3fbb3fa4ff64 | 14 | #include <cstdlib> |
Awiegmink | 0:3fbb3fa4ff64 | 15 | #include <math.h> |
Awiegmink | 0:3fbb3fa4ff64 | 16 | #include "mbed.h" |
Awiegmink | 0:3fbb3fa4ff64 | 17 | #include "Sensor.h" |
Awiegmink | 0:3fbb3fa4ff64 | 18 | #include "Filtered_data.h" |
Awiegmink | 0:3fbb3fa4ff64 | 19 | #include "DataStore.h" |
Awiegmink | 0:3fbb3fa4ff64 | 20 | #include "ComplementaryFilter.h" |
Awiegmink | 0:3fbb3fa4ff64 | 21 | #include "PID_caller.h" |
Awiegmink | 0:3fbb3fa4ff64 | 22 | #include "Force_to_wing_angle.h" |
Awiegmink | 0:3fbb3fa4ff64 | 23 | //DigitalIn button(USER_BUTTON); |
Awiegmink | 0:3fbb3fa4ff64 | 24 | DigitalOut led(LED2); |
Awiegmink | 0:3fbb3fa4ff64 | 25 | using namespace std; |
Awiegmink | 0:3fbb3fa4ff64 | 26 | |
Awiegmink | 0:3fbb3fa4ff64 | 27 | /* |
Awiegmink | 0:3fbb3fa4ff64 | 28 | * main. |
Awiegmink | 0:3fbb3fa4ff64 | 29 | */ |
Awiegmink | 0:3fbb3fa4ff64 | 30 | int main(int argc, char** argv) { |
Awiegmink | 0:3fbb3fa4ff64 | 31 | |
Awiegmink | 0:3fbb3fa4ff64 | 32 | // Maak de objecten. |
Awiegmink | 0:3fbb3fa4ff64 | 33 | DataStore * ruwe_data = new DataStore(); |
Awiegmink | 0:3fbb3fa4ff64 | 34 | DataStore * filtered_data = new DataStore(); |
Awiegmink | 0:3fbb3fa4ff64 | 35 | DataStore * complementary_data= new DataStore(); |
Awiegmink | 0:3fbb3fa4ff64 | 36 | DataStore * pid_data = new DataStore(); |
Awiegmink | 0:3fbb3fa4ff64 | 37 | DataStore * FtoW_data = new DataStore(); |
Awiegmink | 0:3fbb3fa4ff64 | 38 | Sensor * de_sensor = new Sensor(); |
Awiegmink | 0:3fbb3fa4ff64 | 39 | RuwDataFilter * filter = new RuwDataFilter(); |
Awiegmink | 0:3fbb3fa4ff64 | 40 | ComplementaryFilter * com_filter = new ComplementaryFilter(); |
Awiegmink | 0:3fbb3fa4ff64 | 41 | PID_caller * PID =new PID_caller(); |
Awiegmink | 0:3fbb3fa4ff64 | 42 | control::ForceToWingAngle * FtoW = new control::ForceToWingAngle(); |
Awiegmink | 0:3fbb3fa4ff64 | 43 | |
Awiegmink | 0:3fbb3fa4ff64 | 44 | |
Awiegmink | 0:3fbb3fa4ff64 | 45 | // De associaties, de verbindingen tussen de objecten. |
Awiegmink | 0:3fbb3fa4ff64 | 46 | de_sensor->m_ruwe_state_data = ruwe_data; // (1) |
Awiegmink | 0:3fbb3fa4ff64 | 47 | filter->m_ruwe_state_data = ruwe_data; // (2) |
Awiegmink | 0:3fbb3fa4ff64 | 48 | filter->m_filtered_data = filtered_data; // (3) |
Awiegmink | 0:3fbb3fa4ff64 | 49 | com_filter->m_filtered_data = filtered_data; //(4) |
Awiegmink | 0:3fbb3fa4ff64 | 50 | com_filter->m_complementary_data = complementary_data; //(5) |
Awiegmink | 0:3fbb3fa4ff64 | 51 | PID->m_complementary_data=complementary_data; //(6) |
Awiegmink | 0:3fbb3fa4ff64 | 52 | PID->m_PID_data=pid_data; //(7) |
Awiegmink | 0:3fbb3fa4ff64 | 53 | FtoW->m_complementary_data=complementary_data; //(8) |
Awiegmink | 0:3fbb3fa4ff64 | 54 | FtoW->m_PID_data=pid_data; //(9) |
Awiegmink | 0:3fbb3fa4ff64 | 55 | FtoW->m_FtoW_data=FtoW_data; //(10) |
Awiegmink | 0:3fbb3fa4ff64 | 56 | |
Awiegmink | 0:3fbb3fa4ff64 | 57 | |
Awiegmink | 0:3fbb3fa4ff64 | 58 | de_sensor->get_data(); |
Awiegmink | 0:3fbb3fa4ff64 | 59 | int N=0; |
Awiegmink | 0:3fbb3fa4ff64 | 60 | while (N < 100) { |
Awiegmink | 0:3fbb3fa4ff64 | 61 | led = !led; |
Awiegmink | 0:3fbb3fa4ff64 | 62 | filter->FilterIt(); |
Awiegmink | 0:3fbb3fa4ff64 | 63 | com_filter->CalculateRealHeight(); |
Awiegmink | 0:3fbb3fa4ff64 | 64 | PID->PID_in(); |
Awiegmink | 0:3fbb3fa4ff64 | 65 | FtoW->MMA(); |
Awiegmink | 0:3fbb3fa4ff64 | 66 | de_sensor->get_data(); |
Awiegmink | 0:3fbb3fa4ff64 | 67 | N=N+1; |
Awiegmink | 0:3fbb3fa4ff64 | 68 | } |
Awiegmink | 0:3fbb3fa4ff64 | 69 | |
Awiegmink | 0:3fbb3fa4ff64 | 70 | // Als de klus klaar is ruim de objecten op. |
Awiegmink | 0:3fbb3fa4ff64 | 71 | delete (ruwe_data); |
Awiegmink | 0:3fbb3fa4ff64 | 72 | delete (filtered_data); |
Awiegmink | 0:3fbb3fa4ff64 | 73 | delete (pid_data); |
Awiegmink | 0:3fbb3fa4ff64 | 74 | delete (de_sensor); |
Awiegmink | 0:3fbb3fa4ff64 | 75 | delete (filter); |
Awiegmink | 0:3fbb3fa4ff64 | 76 | delete (complementary_data); |
Awiegmink | 0:3fbb3fa4ff64 | 77 | delete (PID); |
Awiegmink | 0:3fbb3fa4ff64 | 78 | delete (com_filter); |
Awiegmink | 0:3fbb3fa4ff64 | 79 | delete (FtoW); |
Awiegmink | 0:3fbb3fa4ff64 | 80 | |
Awiegmink | 0:3fbb3fa4ff64 | 81 | return 0; |
Awiegmink | 0:3fbb3fa4ff64 | 82 | } |