Mise en place allure.h, implémentation de la fonction toString, création d'une lib maths. implémentation d'une fonction abs dans cette lib (valeur absolue)
This commit is contained in:
parent
36326c19dd
commit
d9798f1ff0
7 changed files with 187 additions and 9 deletions
|
@ -549,19 +549,67 @@
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<bShared>0</bShared>
|
<bShared>0</bShared>
|
||||||
</File>
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>2</GroupNumber>
|
||||||
|
<FileNumber>10</FileNumber>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\Src\Allure.h</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>Allure.h</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>2</GroupNumber>
|
||||||
|
<FileNumber>11</FileNumber>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\MyDrivers\MyTimer.h</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>MyTimer.h</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>2</GroupNumber>
|
||||||
|
<FileNumber>12</FileNumber>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\Src\maths.h</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>maths.h</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>2</GroupNumber>
|
||||||
|
<FileNumber>13</FileNumber>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>..\Src\maths.c</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>maths.c</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
</Group>
|
</Group>
|
||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>Drivers/STM32f1xx_LL_Driver</GroupName>
|
<GroupName>Drivers/STM32f1xx_LL_Driver</GroupName>
|
||||||
<tvExp>1</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<cbSel>0</cbSel>
|
<cbSel>0</cbSel>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>3</GroupNumber>
|
<GroupNumber>3</GroupNumber>
|
||||||
<FileNumber>10</FileNumber>
|
<FileNumber>14</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>1</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<bDave2>0</bDave2>
|
<bDave2>0</bDave2>
|
||||||
<PathWithFileName>..\LLDrivers\src\stm32f1xx_ll_rcc.c</PathWithFileName>
|
<PathWithFileName>..\LLDrivers\src\stm32f1xx_ll_rcc.c</PathWithFileName>
|
||||||
|
@ -571,7 +619,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>3</GroupNumber>
|
<GroupNumber>3</GroupNumber>
|
||||||
<FileNumber>11</FileNumber>
|
<FileNumber>15</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -593,13 +641,13 @@
|
||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>Drivers/CMSIS</GroupName>
|
<GroupName>Drivers/CMSIS</GroupName>
|
||||||
<tvExp>1</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<cbSel>0</cbSel>
|
<cbSel>0</cbSel>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>5</GroupNumber>
|
<GroupNumber>5</GroupNumber>
|
||||||
<FileNumber>12</FileNumber>
|
<FileNumber>16</FileNumber>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -613,13 +661,13 @@
|
||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>Example/MDK-ARM</GroupName>
|
<GroupName>Example/MDK-ARM</GroupName>
|
||||||
<tvExp>1</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<cbSel>0</cbSel>
|
<cbSel>0</cbSel>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>6</GroupNumber>
|
<GroupNumber>6</GroupNumber>
|
||||||
<FileNumber>13</FileNumber>
|
<FileNumber>17</FileNumber>
|
||||||
<FileType>2</FileType>
|
<FileType>2</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
|
|
@ -432,6 +432,26 @@
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<FilePath>..\Src\Voile.c</FilePath>
|
<FilePath>..\Src\Voile.c</FilePath>
|
||||||
</File>
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>Allure.h</FileName>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<FilePath>..\Src\Allure.h</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>MyTimer.h</FileName>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<FilePath>..\MyDrivers\MyTimer.h</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>maths.h</FileName>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<FilePath>..\Src\maths.h</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>maths.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\Src\maths.c</FilePath>
|
||||||
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
</Group>
|
</Group>
|
||||||
<Group>
|
<Group>
|
||||||
|
@ -903,6 +923,26 @@
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<FilePath>..\Src\Voile.c</FilePath>
|
<FilePath>..\Src\Voile.c</FilePath>
|
||||||
</File>
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>Allure.h</FileName>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<FilePath>..\Src\Allure.h</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>MyTimer.h</FileName>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<FilePath>..\MyDrivers\MyTimer.h</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>maths.h</FileName>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<FilePath>..\Src\maths.h</FilePath>
|
||||||
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>maths.c</FileName>
|
||||||
|
<FileType>1</FileType>
|
||||||
|
<FilePath>..\Src\maths.c</FilePath>
|
||||||
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
</Group>
|
</Group>
|
||||||
<Group>
|
<Group>
|
||||||
|
|
32
Src/Allure.c
32
Src/Allure.c
|
@ -0,0 +1,32 @@
|
||||||
|
#include "maths.h"
|
||||||
|
|
||||||
|
void ConfAllure() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int RecupAllure() {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
char * ToString(int alpha) {
|
||||||
|
int alpha_abs = abs(alpha);
|
||||||
|
if (alpha_abs < 45) {
|
||||||
|
return "Vent debout";
|
||||||
|
} else if (alpha < 55) {
|
||||||
|
return "Près";
|
||||||
|
} else if (alpha < 65) {
|
||||||
|
return "Bon plein";
|
||||||
|
} else if (alpha < 80) {
|
||||||
|
return "Petit largue";
|
||||||
|
} else if (alpha < 100) {
|
||||||
|
return "Travers";
|
||||||
|
} else if (alpha < 115) {
|
||||||
|
return "Largue";
|
||||||
|
} else if (alpha < 155) {
|
||||||
|
return "Grand largue";
|
||||||
|
} else if (alpha < 180) {
|
||||||
|
return "Vent arrière";
|
||||||
|
} else {
|
||||||
|
return "ERROR";
|
||||||
|
}
|
||||||
|
}
|
39
Src/Allure.h
39
Src/Allure.h
|
@ -0,0 +1,39 @@
|
||||||
|
#ifndef ALLURE_H
|
||||||
|
#define ALLURE_H
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Configure la girouette pour la détection de l'allure (sens du vent).
|
||||||
|
* @note Configuration des ports PA6 et 7 en alternate input pour récupérer les signaux
|
||||||
|
Configuration des deux channels du TIM3 pour le compteur incrementeur
|
||||||
|
Configuration du PA5 avec une interruption pour capter les tours de girouette
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void ConfAllure();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Renvoi la valeur de l'allure actuelle
|
||||||
|
* @note Représentation de la donnée en degrès -> int entre -180 et 180
|
||||||
|
* @param None
|
||||||
|
* @retval L'allure, représenté en degrès par un entier entre -180 et 180
|
||||||
|
*/
|
||||||
|
int RecupAllure();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Associe un chaine de caractère a une valeur d'allure.
|
||||||
|
* @note Une chaine de caractère est associé a des intervalles de alpha :
|
||||||
|
[-45, 45] -> "Vent debout"
|
||||||
|
[45, 55] -> "Près" (et intervalle opposé)
|
||||||
|
[55, 65] -> "Bon plein" (et intervalle opposé)
|
||||||
|
[65, 80] -> "Petit largue" (et intervalle opposé)
|
||||||
|
[80, 100] -> "Travers" (et intervalle opposé)
|
||||||
|
[100, 115] -> "Largue" (et intervalle opposé)
|
||||||
|
[115, 155] -> "Grand largue" (et intervalle opposé)
|
||||||
|
[155, -155] -> "Vent arrière"
|
||||||
|
Autre -> "ERROR"
|
||||||
|
* @param alpha : un entier représentant l'allure en ° (-180 à 180)
|
||||||
|
* @retval Une chaine de caractère représentant l'allure
|
||||||
|
*/
|
||||||
|
char * ToString(int alpha);
|
||||||
|
|
||||||
|
#endif
|
8
Src/maths.c
Normal file
8
Src/maths.c
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
|
||||||
|
int abs(int a) {
|
||||||
|
if (a<0) {
|
||||||
|
return -a;
|
||||||
|
} else {
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
}
|
11
Src/maths.h
Normal file
11
Src/maths.h
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#ifndef MATHS_H
|
||||||
|
#define MATHS_H
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Valeur absolue.
|
||||||
|
* @note Si a < 0 renvoi -a, sinon, a
|
||||||
|
* @param a : un entier
|
||||||
|
* @retval La valeur absolue de a
|
||||||
|
*/
|
||||||
|
int abs(int a);
|
||||||
|
#endif
|
Loading…
Reference in a new issue