From 4731334401f22ad2d7fea893a0482bff787d00a8 Mon Sep 17 00:00:00 2001 From: foussats Date: Sat, 14 Nov 2020 11:27:25 +0100 Subject: [PATCH 1/2] Ajout noms dans les .h --- keil_project/MDK-ARM/Project.uvguix.momof | 58 +++++------------------ keil_project/MDK-ARM/Project.uvoptx | 18 ++++++- keil_project/MDK-ARM/Project.uvprojx | 21 +------- keil_project/Services/DcMotor.h | 2 + keil_project/Services/IncrEncoder.h | 2 +- keil_project/Services/RFInput.h | 2 + keil_project/Services/Sail.h | 2 +- keil_project/Services/Servo.h | 2 + keil_project/Services/accelerometer.h | 2 + keil_project/Services/alimentation.h | 2 + keil_project/Services/emetteur_rf.h | 1 + keil_project/Src/main.c | 1 + 12 files changed, 44 insertions(+), 69 deletions(-) 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 c5a8424..65bfff3 100644 --- a/keil_project/MDK-ARM/Project.uvoptx +++ b/keil_project/MDK-ARM/Project.uvoptx @@ -420,6 +420,22 @@ + + 3 + 0 + 46 + 1 +
0
+ 0 + 0 + 0 + 0 + 0 + 0 + ../Src/main.c + + +
@@ -536,7 +552,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 c91294f..63574dd 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 787b8fb..295fe4b 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 84b9601..bae5259 100644 --- a/keil_project/Src/main.c +++ b/keil_project/Src/main.c @@ -26,6 +26,7 @@ #include "DcMotor.h" #include "Sail.h" #include "alimentation.h" +#include "accelerometer.h" void SystemClock_Config(void); From 89850bfc2f6bf437076e24ad581b36f963c64fad Mon Sep 17 00:00:00 2001 From: Cavailles Kevin Date: Sat, 14 Nov 2020 16:13:49 +0100 Subject: [PATCH 2/2] =?UTF-8?q?main=20commenc=C3=A9=20+=20emetteur=5Frf=20?= =?UTF-8?q?chang=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- keil_project/Services/emetteur_rf.c | 9 +++-- keil_project/Services/emetteur_rf.h | 2 +- keil_project/Src/main.c | 61 ++++++++++++++++++++--------- 3 files changed, 49 insertions(+), 23 deletions(-) diff --git a/keil_project/Services/emetteur_rf.c b/keil_project/Services/emetteur_rf.c index 31e5a1c..f796547 100644 --- a/keil_project/Services/emetteur_rf.c +++ b/keil_project/Services/emetteur_rf.c @@ -42,11 +42,14 @@ void emetteur_rf_init(void){ LL_USART_SetBaudRate(uart_port, periph_speed, baudrate); */} -void emetteur_send_bytes(USART_TypeDef * uart_port,char* buf, int len){ + + + +void emetteur_send_bytes(char* buf, int len){ for(int i = 0; i < len; i++){ LL_GPIO_SetOutputPin(GPIOA,LL_GPIO_PIN_11); - LL_USART_TransmitData8(uart_port, buf[i]); - while(!LL_USART_IsActiveFlag_TXE(uart_port)); + LL_USART_TransmitData8(USART1, buf[i]); + while(!LL_USART_IsActiveFlag_TXE(USART1)); LL_GPIO_ResetOutputPin(GPIOA,LL_GPIO_PIN_11); } } diff --git a/keil_project/Services/emetteur_rf.h b/keil_project/Services/emetteur_rf.h index 295fe4b..7a4592d 100644 --- a/keil_project/Services/emetteur_rf.h +++ b/keil_project/Services/emetteur_rf.h @@ -8,7 +8,7 @@ #include "stm32f1xx_ll_gpio.h" void emetteur_rf_init(void); -void emetteur_send_bytes(USART_TypeDef * uart_port,char* buf, int len); +void emetteur_send_bytes(char* buf, int len); 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) ; +}