diff --git a/keil_project/MDK-ARM/Project.uvguix.momof b/keil_project/MDK-ARM/Project.uvguix.momof
index 9be00a3..c3e1735 100644
--- a/keil_project/MDK-ARM/Project.uvguix.momof
+++ b/keil_project/MDK-ARM/Project.uvguix.momof
@@ -28,17 +28,17 @@
38003
Registers
- 140 100
+ 140 98
346
Code Coverage
- 1008 414
+ 1008 160
204
Performance Analyzer
- 1168 175 175 100
+ 1168
@@ -77,7 +77,7 @@
2506
Trace Data
FiltIdx=0;DescrEn=0;DescrHeight=4;FuncTrc=1;FindType=8;ColWidths=004B00870082005F004600E600C80096
- 75 135 95 70 230 200 150
+ 75 135 130 95 70 230 200 150
466
@@ -123,8 +123,8 @@
0
- 717
- 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000005000000030000000100000052433A5C55736572735C6D6F6D6F665C446F63756D656E74735C70726F6A65745F766F696C6965725C6B65696C5F70726F6A6563745C4D444B2D41524D5C737461727475705F73746D33326631303378622E730000000015737461727475705F73746D33326631303378622E7300000000C5D4F200FFFFFFFF3F433A5C55736572735C6D6F6D6F665C446F63756D656E74735C70726F6A65745F766F696C6965725C6B65696C5F70726F6A6563745C5372635C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF55433A5C55736572735C6D6F6D6F665C446F63756D656E74735C70726F6A65745F766F696C6965725C6B65696C5F70726F6A6563745C4C4C447269766572735C696E635C73746D3332663178785F6C6C5F6164632E68000000001273746D3332663178785F6C6C5F6164632E6800000000BECEA100FFFFFFFF4C433A5C55736572735C6D6F6D6F665C446F63756D656E74735C70726F6A65745F766F696C6965725C6B65696C5F70726F6A6563745C53657276696365735C616C696D656E746174696F6E2E63000000000E616C696D656E746174696F6E2E6300000000F0A0A100FFFFFFFF4C433A5C55736572735C6D6F6D6F665C446F63756D656E74735C70726F6A65745F766F696C6965725C6B65696C5F70726F6A6563745C53657276696365735C616C696D656E746174696F6E2E68000000000E616C696D656E746174696F6E2E6800000000BCA8E100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000FC000000700000008007000088030000
+ 259
+ 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000100000000000000010000003F433A5C55736572735C6D6F6D6F665C446F63756D656E74735C70726F6A65745F766F696C6965725C6B65696C5F70726F6A6563745C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000FC000000700000008007000088030000
@@ -1835,7 +1835,7 @@
Build
998
- 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050010000000A53696D756C6174657572960000000000000002000D4E55434C454F2D4631303352420A53696D756C617465757200000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DE010000
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050010000000A53696D756C6174657572960000000000000002000D4E55434C454F2D4631303352420A53696D756C617465757200000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DE010000
583
@@ -3616,48 +3616,12 @@
0
100
- 3
-
- startup_stm32f103xb.s
- 0
- 122
- 133
- 1
-
- 0
-
+ 0
../Src/main.c
- 0
- 22
- 45
- 1
-
- 0
-
-
- ..\LLDrivers\inc\stm32f1xx_ll_adc.h
- 0
- 3557
- 3568
- 1
-
- 0
-
-
- ..\Services\alimentation.c
- 29
- 26
- 56
- 1
-
- 0
-
-
- ..\Services\alimentation.h
- 5
- 1
- 20
+ 26
+ 31
+ 29
1
0
diff --git a/keil_project/MDK-ARM/Project.uvoptx b/keil_project/MDK-ARM/Project.uvoptx
index 837afe1..fd59681 100644
--- a/keil_project/MDK-ARM/Project.uvoptx
+++ b/keil_project/MDK-ARM/Project.uvoptx
@@ -431,6 +431,22 @@
+
+ 3
+ 0
+ 46
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ ../Src/main.c
+
+
+
@@ -552,7 +568,7 @@
2
2
1
- 0
+ 1
0
0
..\Services\Chrono.c
diff --git a/keil_project/MDK-ARM/Project.uvprojx b/keil_project/MDK-ARM/Project.uvprojx
index 2b5fcdb..4c9116f 100644
--- a/keil_project/MDK-ARM/Project.uvprojx
+++ b/keil_project/MDK-ARM/Project.uvprojx
@@ -185,7 +185,6 @@
0
0
0
- 0
0
0
8
@@ -352,7 +351,7 @@
0
0
0
- 4
+ 0
@@ -704,7 +703,6 @@
0
0
0
- 0
0
0
8
@@ -871,7 +869,7 @@
0
0
0
- 4
+ 0
@@ -1060,19 +1058,4 @@
-
-
-
- <Project Info>
-
-
-
-
-
- 0
- 1
-
-
-
-
diff --git a/keil_project/Services/DcMotor.h b/keil_project/Services/DcMotor.h
index 178164f..d9f7771 100644
--- a/keil_project/Services/DcMotor.h
+++ b/keil_project/Services/DcMotor.h
@@ -1,3 +1,5 @@
+//codé par Kévin Cavailles et Jasper Güldenstein
+
void DC_MOTOR_Init(void);
// set a speed between -100 (full throttle clockwise) 0 (stop) and 100 (full throttle counterclockwise)
diff --git a/keil_project/Services/IncrEncoder.h b/keil_project/Services/IncrEncoder.h
index 7767b5e..3640e9f 100644
--- a/keil_project/Services/IncrEncoder.h
+++ b/keil_project/Services/IncrEncoder.h
@@ -1,5 +1,5 @@
#ifndef INCR_ENCODER
-
+//codé par Kévin Cavailles et Jasper Güldenstein
/**
*/
void INCR_ENCODER_Init(void);
diff --git a/keil_project/Services/RFInput.h b/keil_project/Services/RFInput.h
index dfd6df6..8b65495 100644
--- a/keil_project/Services/RFInput.h
+++ b/keil_project/Services/RFInput.h
@@ -1,3 +1,5 @@
+//codé par Kévin Cavailles et Jasper Güldenstein
+
// initializes the PWM input of the remote on PB6
void RF_INPUT_Init(void);
diff --git a/keil_project/Services/Sail.h b/keil_project/Services/Sail.h
index 0cb3597..687a6eb 100644
--- a/keil_project/Services/Sail.h
+++ b/keil_project/Services/Sail.h
@@ -1,4 +1,4 @@
-
+//codé par Kévin Cavailles et Jasper Güldenstein
void SAIL_Init(void);
diff --git a/keil_project/Services/Servo.h b/keil_project/Services/Servo.h
index dbc9294..cf6748c 100644
--- a/keil_project/Services/Servo.h
+++ b/keil_project/Services/Servo.h
@@ -1,6 +1,8 @@
#ifndef SERVO
#define SERVO
+//codé par Kévin Cavailles et Jasper Güldenstein
+
void SERVO_Init(void);
void SERVO_SetAngle(int angle);
diff --git a/keil_project/Services/accelerometer.h b/keil_project/Services/accelerometer.h
index cac636b..8389738 100644
--- a/keil_project/Services/accelerometer.h
+++ b/keil_project/Services/accelerometer.h
@@ -1,5 +1,7 @@
// RIEN A MODIFIER //
+//codé par Léonie GALLOIS et Morgane FOUSSATS
+
#ifndef ACCELERO_H
#define ACCELERO_H
diff --git a/keil_project/Services/alimentation.h b/keil_project/Services/alimentation.h
index 4dc35d1..503541f 100644
--- a/keil_project/Services/alimentation.h
+++ b/keil_project/Services/alimentation.h
@@ -1,5 +1,7 @@
// RIEN A MODIFIER //
+//codé par Léonie GALLOIS et Morgane FOUSSATS
+
#ifndef ALIMENTATION_H
#define ALIMENTATION_H
diff --git a/keil_project/Services/emetteur_rf.h b/keil_project/Services/emetteur_rf.h
index c9c47b8..868e3a7 100644
--- a/keil_project/Services/emetteur_rf.h
+++ b/keil_project/Services/emetteur_rf.h
@@ -1,6 +1,7 @@
#ifndef RECEPTEURHF_INPUT_H
#define RECEPTEURHF_INPUT_H
+//codé par Léonie GALLOIS et Morgane FOUSSATS
#include "stm32f1xx_ll_bus.h"
#include "stm32f1xx_ll_usart.h"
diff --git a/keil_project/Src/main.c b/keil_project/Src/main.c
index 46d750c..01bbc70 100644
--- a/keil_project/Src/main.c
+++ b/keil_project/Src/main.c
@@ -21,6 +21,7 @@
#include "stm32f1xx_ll_system.h" // utile dans la fonction SystemClock_Config
#include "stm32f1xx_ll_bus.h"
+
#include "RFInput.h"
#include "IncrEncoder.h"
#include "DcMotor.h"
@@ -28,6 +29,9 @@
#include "alimentation.h"
#include "accelerometer.h"
+#define CONTROL_LOOP_PERIOD 250
+#define MSG_TRANSFER_PERIOD 3000
+
void SystemClock_Config(void);
/* Private functions ---------------------------------------------------------*/
@@ -38,18 +42,18 @@ void SystemClock_Config(void);
* @retval None
*/
-int val = 0;
-int val2 = 0;
+
int counter = 0;
-float level;
-int level_enough;
-double xx,yy;
-int bon;
+int battery_level_good = 0;
+int angle_roulis_good = 0;
+int angle_sail = 0;
+int RF_Input_Duty = 0;
+int TX_Flag = 0, CONTROL_LOOP_Flag = 0;
+
int main(void)
{
/* Configure the system clock to 72 MHz */
- SystemClock_Config();
-
+ SystemClock_Config();
//alimentation_init();
RF_INPUT_Init();
DC_MOTOR_Init();
@@ -59,20 +63,39 @@ int main(void)
/* Infinite loop */
while (1)
{
- LL_mDelay(100);
- //counter = (counter + 1) % 100;
- //DC_MOTOR_SetSpeed(counter);
- //val = RF_INPUT_GetPeriodUs();
- //val2 = RF_INPUT_GetDutyTimeUs();
- //SAIL_SetAngle(counter);
- //level = get_battery_level();
- //level_enough = is_level_enough();
- xx = accelero_get_x();
- //yy = accelero_get_y();
- //bon = accelero_angle_bon();
+ if(CONTROL_LOOP_Flag){
+ battery_level_good = is_level_enough();
+ angle_roulis_good = accelero_angle_bon();
+
+ if(!angle_roulis_good){
+ SAIL_SetAngle(90);
+ DC_MOTOR_SetSpeed(0);
+ }else{
+ angle_sail = INCR_ENCODER_GetAngle();
+ SAIL_SetAngle(angle_sail/2);
+ RF_Input_Duty = RF_INPUT_GetDutyTimeRelative();
+ DC_MOTOR_SetSpeed(RF_Input_Duty);
+ }
+
+ CONTROL_LOOP_Flag = 0;
+ }
+ if(TX_Flag){
+
+ TX_Flag = 0;
+ }
}
}
+void SysTick_Handler(void)
+{
+ if(counter % CONTROL_LOOP_PERIOD == 0){
+ CONTROL_LOOP_Flag = 1;
+ }
+ if(counter % MSG_TRANSFER_PERIOD == 0){
+ TX_Flag = 1;
+ }
+ counter = (counter+1) % (CONTROL_LOOP_PERIOD*MSG_TRANSFER_PERIOD) ;
+}