fix bugs and more...
This commit is contained in:
parent
89867cd01e
commit
e1773afbbe
12 changed files with 215 additions and 77 deletions
|
@ -345,7 +345,7 @@
|
|||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>DLGDARM</Key>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=1554,213,1920,450,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=1509,217,1920,660,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=1336,105,1920,897,0)(133=1148,116,1732,908,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=915,87,1508,879,0)(151=-1,-1,-1,-1,0)</Name>
|
||||
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=1554,213,1920,450,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=129,555,687,1080,0)(121=1509,217,1920,660,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=150,46,938,969,0)(133=1148,116,1732,908,0)(160=1046,190,1640,699,1)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=130,96,930,1019,0)(151=127,38,927,961,0)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
|
@ -382,9 +382,25 @@
|
|||
<Bp>
|
||||
<Number>0</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>84</LineNumber>
|
||||
<LineNumber>20</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134226236</Address>
|
||||
<Address>134226220</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>..\Services\RFEmitter.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\NUCLEO_F103RB\../Services/RFEmitter.c\20</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>1</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>43</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134231406</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
|
@ -393,14 +409,62 @@
|
|||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>../Src/main.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\NUCLEO_F103RB\../Src/main.c\84</Expression>
|
||||
<Expression>\\NUCLEO_F103RB\../Src/main.c\43</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>2</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>82</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134231536</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>../Src/main.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\NUCLEO_F103RB\../Src/main.c\82</Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>3</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>44</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>0</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>0</BreakIfRCount>
|
||||
<Filename>../Src/main.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression></Expression>
|
||||
</Bp>
|
||||
<Bp>
|
||||
<Number>4</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>87</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>0</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>0</BreakIfRCount>
|
||||
<Filename>../Src/main.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression></Expression>
|
||||
</Bp>
|
||||
</Breakpoint>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>counter,0x10</ItemText>
|
||||
<ItemText>msCounter,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>1</count>
|
||||
|
@ -417,6 +481,31 @@
|
|||
<WinNumber>1</WinNumber>
|
||||
<ItemText>angle,0x0A</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>4</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>displayStr</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>5</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>adcStatus</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>6</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>val1</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>7</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>val2</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>8</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>message</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
|
@ -424,7 +513,7 @@
|
|||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>1</periodic>
|
||||
<aLwin>1</aLwin>
|
||||
<aLwin>0</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
<aSer2>0</aSer2>
|
||||
|
@ -438,7 +527,7 @@
|
|||
<AscS3>0</AscS3>
|
||||
<aSer3>0</aSer3>
|
||||
<eProf>0</eProf>
|
||||
<aLa>1</aLa>
|
||||
<aLa>0</aLa>
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>0</aSer4>
|
||||
|
@ -464,9 +553,19 @@
|
|||
<Wi>
|
||||
<IntNumber>0</IntNumber>
|
||||
<FirstString>((PORTB & 0x00000100) >> 8 & 0x100) >> 8</FirstString>
|
||||
<SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028504F5254422026203078303030303031303029203E3E2038000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F1300000000000000000000000000000000000000AE110008</SecondString>
|
||||
<SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028504F5254422026203078303030303031303029203E3E2038000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F1700000000000000000000000000000000000000AE110008</SecondString>
|
||||
</Wi>
|
||||
</LogicAnalyzers>
|
||||
<SystemViewers>
|
||||
<Entry>
|
||||
<Name>System Viewer\ADC1</Name>
|
||||
<WinId>35904</WinId>
|
||||
</Entry>
|
||||
<Entry>
|
||||
<Name>System Viewer\ADC2</Name>
|
||||
<WinId>35905</WinId>
|
||||
</Entry>
|
||||
</SystemViewers>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableFlashSeq>0</EnableFlashSeq>
|
||||
|
@ -603,7 +702,7 @@
|
|||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>10</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Services\RFEmitter.c</PathWithFileName>
|
||||
|
|
|
@ -185,7 +185,6 @@
|
|||
<uocXRam>0</uocXRam>
|
||||
<RvdsVP>0</RvdsVP>
|
||||
<RvdsMve>0</RvdsMve>
|
||||
<RvdsCdeCp>0</RvdsCdeCp>
|
||||
<hadIRAM2>0</hadIRAM2>
|
||||
<hadIROM2>0</hadIROM2>
|
||||
<StupSel>8</StupSel>
|
||||
|
@ -352,7 +351,7 @@
|
|||
<NoWarn>0</NoWarn>
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<useXO>0</useXO>
|
||||
<ClangAsOpt>4</ClangAsOpt>
|
||||
<uClangAs>0</uClangAs>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
|
@ -559,7 +558,7 @@
|
|||
<TargetName>Simulateur</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<pCCUsed>5060750::V5.06 update 6 (build 750)::.\ARMCC</pCCUsed>
|
||||
<pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed>
|
||||
<uAC6>0</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
|
@ -734,7 +733,6 @@
|
|||
<uocXRam>0</uocXRam>
|
||||
<RvdsVP>0</RvdsVP>
|
||||
<RvdsMve>0</RvdsMve>
|
||||
<RvdsCdeCp>0</RvdsCdeCp>
|
||||
<hadIRAM2>0</hadIRAM2>
|
||||
<hadIROM2>0</hadIROM2>
|
||||
<StupSel>8</StupSel>
|
||||
|
@ -901,7 +899,7 @@
|
|||
<NoWarn>0</NoWarn>
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<useXO>0</useXO>
|
||||
<ClangAsOpt>4</ClangAsOpt>
|
||||
<uClangAs>0</uClangAs>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
|
@ -1120,19 +1118,4 @@
|
|||
<files/>
|
||||
</RTE>
|
||||
|
||||
<LayerInfo>
|
||||
<Layers>
|
||||
<Layer>
|
||||
<LayName><Project Info></LayName>
|
||||
<LayDesc></LayDesc>
|
||||
<LayUrl></LayUrl>
|
||||
<LayKeys></LayKeys>
|
||||
<LayCat></LayCat>
|
||||
<LayLic></LayLic>
|
||||
<LayTarg>0</LayTarg>
|
||||
<LayPrjMark>1</LayPrjMark>
|
||||
</Layer>
|
||||
</Layers>
|
||||
</LayerInfo>
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -18,8 +18,6 @@ void ADC_conf(ADC_TypeDef *adc)
|
|||
// Fixe le nombre de conversion à 1
|
||||
adc->SQR1 &= ADC_SQR1_L;
|
||||
|
||||
|
||||
|
||||
// Calibration
|
||||
adc->CR2 |= ADC_CR2_CAL_Msk;
|
||||
while ((adc->CR2 & ADC_CR2_CAL_Msk));
|
||||
|
@ -31,16 +29,15 @@ void ADC_start(ADC_TypeDef *adc)
|
|||
adc->CR2 |= ADC_CR2_ADON;
|
||||
}
|
||||
|
||||
|
||||
uint16_t ADC_readRaw(ADC_TypeDef *adc, int channel)
|
||||
{
|
||||
// Indique la voie a convertir
|
||||
adc->SQR3 = channel;
|
||||
// Lancement de la conversion
|
||||
adc->CR2 |= ADC_CR2_ADON;
|
||||
while(!(ADC1->SR & ADC_SR_EOC)) {}
|
||||
while(!(adc->SR & ADC_SR_EOC)) {}
|
||||
|
||||
return ADC1->DR & ADC_DR_DATA_Msk;
|
||||
return adc->DR & ADC_DR_DATA_Msk;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
#include "RFEmitter.h"
|
||||
#include "GPIO.h"
|
||||
|
||||
void RFEmitter_conf(USART_TypeDef * usart)
|
||||
void RFEmitter_conf(USART_TypeDef * usart, GPIO_TypeDef *gpioTXEnable, int pinTXEnable)
|
||||
{
|
||||
// Configuration du pin TXEnable
|
||||
GPIO_conf(gpioTXEnable, pinTXEnable, LL_GPIO_MODE_OUTPUT, LL_GPIO_OUTPUT_PUSHPULL, 0);
|
||||
// Configuration de l'USART
|
||||
Usart_conf(usart);
|
||||
}
|
||||
|
||||
|
@ -10,7 +14,15 @@ void RFEmitter_start(USART_TypeDef * usart)
|
|||
Usart_enable(usart);
|
||||
}
|
||||
|
||||
void RFEmitter_send(USART_TypeDef * usart, char * message, int longueur)
|
||||
void RFEmitter_send(USART_TypeDef * usart, char * message, int longueur, GPIO_TypeDef *gpioTXEnable, int pinTXEnable)
|
||||
{
|
||||
// set PA11 (TXEnable)
|
||||
GPIO_setPin(gpioTXEnable, pinTXEnable, 1);
|
||||
|
||||
// Envoi du message
|
||||
Usart_send(usart, message, longueur);
|
||||
|
||||
// reset PA11 (TXEnable)
|
||||
GPIO_setPin(gpioTXEnable, pinTXEnable, 0);
|
||||
|
||||
}
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
|
||||
#include "USART.h"
|
||||
|
||||
void RFEmitter_conf(USART_TypeDef * usart);
|
||||
void RFEmitter_conf(USART_TypeDef * usart, GPIO_TypeDef *gpioTXEnable, int pinTXEnable);
|
||||
|
||||
void RFEmitter_start(USART_TypeDef * usart);
|
||||
|
||||
void RFEmitter_send(USART_TypeDef * usart, char * message, int longueur);
|
||||
void RFEmitter_send(USART_TypeDef * usart, char * message, int longueur, GPIO_TypeDef *gpioTXEnable, int pinTXEnable);
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -17,5 +17,6 @@ void Voltage_start(ADC_TypeDef * adc)
|
|||
|
||||
float Voltage_getVoltage(ADC_TypeDef * adc, int channel)
|
||||
{
|
||||
return ADC_readVolt(adc, channel);
|
||||
// 13 * la valeur de l'ADC, car pont diviseur de tension en amont de l'ADC
|
||||
return 13.0f * ADC_readVolt(adc, channel);
|
||||
}
|
||||
|
|
|
@ -1,18 +1,23 @@
|
|||
#include "Display.h"
|
||||
#include "Voltage.h"
|
||||
#include "RFEmitter.h"
|
||||
#include "Sail.h"
|
||||
#include "stdio.h"
|
||||
#include "string.h"
|
||||
|
||||
USART_TypeDef * EMITTER_USART = USART1;
|
||||
GPIO_TypeDef * EMITTER_GPIO = GPIOA;
|
||||
const int EMITTER_PIN = LL_GPIO_PIN_11;
|
||||
|
||||
ADC_TypeDef * VOLTAGE_ADC = ADC2;
|
||||
const int VOLTAGE_CHANNEL = LL_ADC_CHANNEL_12;
|
||||
const int VOLTAGE_CHANNEL = 12;
|
||||
GPIO_TypeDef * VOLTAGE_GPIO = GPIOC;
|
||||
const int VOLTAGE_PIN = LL_GPIO_PIN_2;
|
||||
|
||||
void Display_conf()
|
||||
{
|
||||
Voltage_conf(VOLTAGE_ADC, VOLTAGE_GPIO, VOLTAGE_PIN);
|
||||
RFEmitter_conf(EMITTER_USART);
|
||||
RFEmitter_conf(EMITTER_USART, EMITTER_GPIO, EMITTER_PIN);
|
||||
}
|
||||
|
||||
void Display_start()
|
||||
|
@ -21,7 +26,30 @@ void Display_start()
|
|||
RFEmitter_start(EMITTER_USART);
|
||||
}
|
||||
|
||||
void Display_background()
|
||||
|
||||
void Display_background(int secCounter)
|
||||
{
|
||||
float voltage = Voltage_getVoltage(ADC2, LL_ADC_CHANNEL_12);
|
||||
static int previousEmergencyState = 0;
|
||||
static int prevSendSec = 0;
|
||||
|
||||
const int emergency = Sail_getEmergencyState();
|
||||
|
||||
if (secCounter - prevSendSec == 3 || (emergency && !previousEmergencyState)) {
|
||||
prevSendSec = secCounter;
|
||||
|
||||
const float voltage = Voltage_getVoltage(VOLTAGE_ADC, VOLTAGE_CHANNEL);
|
||||
const int sailAngle = Sail_getSailAngle();
|
||||
const int relativeAngle = sailAngle >= 180 ? 360 - sailAngle : sailAngle;
|
||||
const int sailPercent = (90 - relativeAngle) * 100 / 90;
|
||||
|
||||
char displayStr[100];
|
||||
|
||||
sprintf(displayStr, "Bordage actuel = %d%%\nTension de la batterie = %fV\n", sailPercent, voltage);
|
||||
if (emergency)
|
||||
sprintf(displayStr, "Limite de roulis atteinte !\n%s", displayStr);
|
||||
|
||||
RFEmitter_send(EMITTER_USART, displayStr, strlen(displayStr), EMITTER_GPIO, EMITTER_PIN);
|
||||
}
|
||||
|
||||
previousEmergencyState = emergency;
|
||||
}
|
||||
|
|
|
@ -5,6 +5,6 @@ void Display_conf(void);
|
|||
|
||||
void Display_start(void);
|
||||
|
||||
void Display_background(void);
|
||||
void Display_background(int msCounter);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
#include "Accelerometer.h"
|
||||
#include "stdlib.h"
|
||||
|
||||
ADC_TypeDef * ROLL_ADC = ADC1;
|
||||
const int ROLL_X_CHANNEL = LL_ADC_CHANNEL_11;
|
||||
const int ROLL_Y_CHANNEL = LL_ADC_CHANNEL_10;
|
||||
ADC_TypeDef * ROLL_ADC = ADC2;
|
||||
const int ROLL_X_CHANNEL = 11;
|
||||
const int ROLL_Y_CHANNEL = 10;
|
||||
GPIO_TypeDef * ROLL_GPIO = GPIOC;
|
||||
const int ROLL_X_PIN = LL_GPIO_PIN_0;
|
||||
const int ROLL_Y_PIN = LL_GPIO_PIN_1;
|
||||
|
|
15
Src/Sail.c
15
Src/Sail.c
|
@ -28,7 +28,7 @@ void Sail_start()
|
|||
IncrementalEncoder_start(ENCODER_TIMER);
|
||||
}
|
||||
|
||||
int getSailAngle(int windAngle)
|
||||
int windToSailAngle(int windAngle)
|
||||
{
|
||||
if (windAngle > 180)
|
||||
return 90 * (windAngle - 45) / 135;
|
||||
|
@ -36,6 +36,12 @@ int getSailAngle(int windAngle)
|
|||
return 360 - 90 * ((360 - windAngle) - 45) / 135;
|
||||
}
|
||||
|
||||
int Sail_getSailAngle(void)
|
||||
{
|
||||
return ServoMotor_getAngle(MOTOR_TIMER, MOTOR_CHANNEL);
|
||||
}
|
||||
|
||||
|
||||
void Sail_background()
|
||||
{
|
||||
if (Sail_isEmergencyState)
|
||||
|
@ -46,7 +52,7 @@ void Sail_background()
|
|||
if (windAngle < 45 || windAngle > 315)
|
||||
ServoMotor_setAngle(MOTOR_TIMER, MOTOR_CHANNEL, 0);
|
||||
else
|
||||
ServoMotor_setAngle(MOTOR_TIMER, MOTOR_CHANNEL, getSailAngle(windAngle));
|
||||
ServoMotor_setAngle(MOTOR_TIMER, MOTOR_CHANNEL, windToSailAngle(windAngle));
|
||||
}
|
||||
|
||||
void Sail_setEmergency(int state)
|
||||
|
@ -55,3 +61,8 @@ void Sail_setEmergency(int state)
|
|||
if (Sail_isEmergencyState)
|
||||
ServoMotor_setAngle(MOTOR_TIMER, MOTOR_CHANNEL, RESET_ANGLE);
|
||||
}
|
||||
|
||||
int Sail_getEmergencyState()
|
||||
{
|
||||
return Sail_isEmergencyState;
|
||||
}
|
||||
|
|
|
@ -25,6 +25,10 @@ void Sail_background(void);
|
|||
*/
|
||||
void Sail_setEmergency(int state);
|
||||
|
||||
int Sail_getEmergencyState(void);
|
||||
|
||||
int Sail_getSailAngle(void);
|
||||
|
||||
/**
|
||||
* @brief Réinitialise la voile à sa position initiale
|
||||
* @note
|
||||
|
|
57
Src/main.c
57
Src/main.c
|
@ -29,44 +29,34 @@
|
|||
#include "ADC.h"
|
||||
#include "GPIO.h"
|
||||
#include "Accelerometer.h"
|
||||
#include "RFEmitter.h"
|
||||
#include "stdio.h"
|
||||
|
||||
void SystemClock_Config(void);
|
||||
|
||||
int secCounter = 0;
|
||||
|
||||
/* Private functions ---------------------------------------------------------*/
|
||||
|
||||
int counter = 1;
|
||||
int adcRaw1 = 0;
|
||||
int adcRaw2 = 0;
|
||||
double adcVolt1 = 0.0;
|
||||
double adcVolt2 = 0.0;
|
||||
|
||||
int angle = 0;
|
||||
|
||||
void backgroundTask()
|
||||
{
|
||||
counter++;
|
||||
static int msCounter;
|
||||
msCounter++;
|
||||
if (msCounter == 1000) {
|
||||
msCounter = 0;
|
||||
secCounter++;
|
||||
}
|
||||
Sail_background();
|
||||
Roll_background();
|
||||
Orientation_background();
|
||||
|
||||
|
||||
// DEBUG
|
||||
angle = Accelerometer_getAngle(ADC1, LL_ADC_CHANNEL_11);
|
||||
|
||||
adcRaw1 = ADC_readRaw(ADC1, LL_ADC_CHANNEL_11);
|
||||
adcRaw2 = ADC_readRaw(ADC1, LL_ADC_CHANNEL_10);
|
||||
adcVolt1 = ADC_convertToVolt(adcRaw1);
|
||||
adcVolt2 = ADC_convertToVolt(adcRaw2);
|
||||
}
|
||||
|
||||
void configurePeripherals()
|
||||
{
|
||||
Sail_conf();
|
||||
Roll_conf();
|
||||
Display_conf();
|
||||
Orientation_conf();
|
||||
|
||||
// DEBUG
|
||||
ADC_conf(ADC1);
|
||||
}
|
||||
|
||||
void startPeripherals()
|
||||
|
@ -74,9 +64,6 @@ void startPeripherals()
|
|||
Sail_start();
|
||||
Roll_start();
|
||||
Display_start();
|
||||
|
||||
// DEBUG
|
||||
ADC_start(ADC1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -97,8 +84,24 @@ int main(void)
|
|||
Scheduler_start();
|
||||
|
||||
while (1) {
|
||||
Display_background();
|
||||
Display_background(secCounter);
|
||||
}
|
||||
|
||||
|
||||
//// ADC 2 marche niquel, ADC1 ne marche pas :(
|
||||
// ADC_conf(ADC1);
|
||||
// ADC_start(ADC1);
|
||||
//
|
||||
// ADC_conf(ADC2);
|
||||
// ADC_start(ADC2);
|
||||
|
||||
//
|
||||
// while (1) {
|
||||
// val1 = ADC_readRaw(ADC1, 10);
|
||||
// val2 = ADC_readRaw(ADC2, 10);
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -177,8 +180,8 @@ void SystemClock_Config(void)
|
|||
*/
|
||||
void assert_failed(uint8_t *file, uint32_t line)
|
||||
{
|
||||
/* User can add his own implementation to report the file name and line number,
|
||||
ex: printf("Wrong parameters value: file %s on line %d", file, line) */
|
||||
/* User can add his own implementation to report the file name and line number*/
|
||||
printf("Wrong parameters value: file %s on line %d", file, line);
|
||||
|
||||
/* Infinite loop */
|
||||
while (1)
|
||||
|
|
Loading…
Reference in a new issue