Skip to content

Commit

Permalink
debug steering
Browse files Browse the repository at this point in the history
  • Loading branch information
pehladik committed Oct 28, 2019
1 parent a84a43d commit fcc6281
Show file tree
Hide file tree
Showing 8 changed files with 56 additions and 71 deletions.
2 changes: 2 additions & 0 deletions nucleo/Inc/main.h
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@
/* USER CODE BEGIN Includes */
#include "wheels.h"
#include "steering.h"
#include "power.h"

/* USER CODE END Includes */

/* Private define ------------------------------------------------------------*/
Expand Down
4 changes: 2 additions & 2 deletions nucleo/Inc/power.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@
/**
* Set the power
**/
void power_boostrap();
void power_boostrap(void);

/**
* shutdown the power
**/
void power_shutdown();
void power_shutdown(void);


#endif /* power_h */
8 changes: 7 additions & 1 deletion nucleo/Inc/steering.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ void steering_set_position (GPIO_PinState en_steering, int msg_CAN);
/**
* Cmd wheels with buttons
*/
void move_steering_with_button();
void steering_move_with_button(void);

/**
* Return 1 if a steering control button is pressed
*/
int steering_is_a_button_pressed(void);


#endif
67 changes: 15 additions & 52 deletions nucleo/MDK-ARM/voiture-elec.uvoptx
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@
<SetRegEntry>
<Number>0</Number>
<Key>DLGTARM</Key>
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,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=543,120,964,525,0)(121=566,64,987,469,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=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,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)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
Expand All @@ -148,59 +148,10 @@
<SetRegEntry>
<Number>0</Number>
<Key>ST-LINKIII-KEIL_SWO</Key>
<Name>-U0672FF323535474B43163744 -O10446 -SF4000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM)</Name>
<Name>-U066AFF504955857567212312 -O10446 -SF1800 -C0 -A0 -I0 -HNlocalhost -HP7184 -P2 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM)</Name>
</SetRegEntry>
</TargetDriverDllRegistry>
<Breakpoint>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>107</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134229736</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>\\voiture_elec\../Src/main.c\107</Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>147</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134231760</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>../Src/stm32f1xx_it.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\voiture_elec\../Src/stm32f1xx_it.c\147</Expression>
</Bp>
<Bp>
<Number>2</Number>
<Type>0</Type>
<LineNumber>119</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134219912</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>../Src/stm32f1xx_it.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\voiture_elec\../Src/stm32f1xx_it.c\119</Expression>
</Bp>
</Breakpoint>
<Breakpoint/>
<WatchWindow1>
<Ww>
<count>0</count>
Expand Down Expand Up @@ -659,6 +610,18 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>30</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Src\power.c</PathWithFileName>
<FilenameWithoutPath>power.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>

<Group>
Expand Down
13 changes: 9 additions & 4 deletions nucleo/MDK-ARM/voiture-elec.uvprojx
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,8 @@
<SimDlgDllArguments>-pSTM32F103RB</SimDlgDllArguments>
<TargetDllName>SARMCM3.DLL</TargetDllName>
<TargetDllArguments></TargetDllArguments>
<TargetDlgDll>TCM.DLL</TargetDlgDll>
<TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
<TargetDlgDll>TARMSTM.DLL</TargetDlgDll>
<TargetDlgDllArguments>-pSTM32F103RB</TargetDlgDllArguments>
</DllOption>
<DebugOption>
<OPTHX>
Expand All @@ -134,11 +134,11 @@
<RunIndependent>0</RunIndependent>
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
<Capability>1</Capability>
<DriverSelection>4107</DriverSelection>
<DriverSelection>4100</DriverSelection>
</Flash1>
<bUseTDR>1</bUseTDR>
<Flash2>STLink\ST-LINKIII-KEIL_SWO.dll</Flash2>
<Flash3></Flash3>
<Flash3>"" ()</Flash3>
<Flash4></Flash4>
<pFcarmOut></pFcarmOut>
<pFcarmGrp></pFcarmGrp>
Expand Down Expand Up @@ -540,6 +540,11 @@
<FileType>1</FileType>
<FilePath>..\Src\steering.c</FilePath>
</File>
<File>
<FileName>power.c</FileName>
<FileType>1</FileType>
<FilePath>..\Src\power.c</FilePath>
</File>
</Files>
</Group>
<Group>
Expand Down
10 changes: 6 additions & 4 deletions nucleo/Src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ int main(void)

/* Initialize all configured peripherals */
MX_GPIO_Init();
bootstarp_power();
power_boostrap();

MX_DMA_Init();
MX_USART2_UART_Init();
Expand Down Expand Up @@ -225,7 +225,7 @@ int main(void)

/* USER CODE BEGIN 3 */

move_steering_with_button();
steering_move_with_button();
/* Update motors command*/
if (UPDATE_CMD_FLAG){
UPDATE_CMD_FLAG = 0;
Expand All @@ -237,8 +237,10 @@ int main(void)
{
en_POS = GPIO_PIN_RESET;
}
steering_set_speed(en_MAV, cmdSFM);
steering_set_position(en_POS, cmdPOS);
if (!steering_is_a_button_pressed()){
steering_set_speed(en_MAV, cmdSFM);
steering_set_position(en_POS, cmdPOS);
}
}

/* CAN */
Expand Down
4 changes: 2 additions & 2 deletions nucleo/Src/power.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@

#include "power.h"

void power_boostrap(){
void power_boostrap(void){
/* auto-maintien alim */
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_SET);
}


void power_shutdown(){
void power_shutdown(void){
//coupure alim
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_RESET);
}
19 changes: 13 additions & 6 deletions nucleo/Src/steering.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,15 @@
#define SPEED_STEP_1 30
#define SPEED_STEP_2 150

#define pin_bt_right_front_wheel GPIO_PIN_14
#define pin_bt_left_front_wheel GPIO_PIN_15

/* Private variables ---------------------------------------------------------*/

extern uint32_t ADCBUF[5];
int droite_volant, gauche_volant;

uint32_t pin_bt_right_front_wheel PIN_14;
uint32_t pin_bt_left_front_wheel PIN_15;


/* Programs ------------------------------------------------------------------*/

Expand Down Expand Up @@ -97,23 +98,29 @@ void steering_set_position (GPIO_PinState en_steering, int msg_CAN){
}
}

void move_steering_with_button(){
int steering_is_a_button_pressed(){
return ((!HAL_GPIO_ReadPin(GPIOB, pin_bt_right_front_wheel)) || (!HAL_GPIO_ReadPin(GPIOB, pin_bt_left_front_wheel)));
}

void steering_move_with_button(void){
static int previous_value_right = GPIO_PIN_RESET;
static int previous_value_left = GPIO_PIN_RESET;
int current_value_right = !HAL_GPIO_ReadPin(GPIOB, pin_bt_right_front_wheel);
int current_value_left = !HAL_GPIO_ReadPin(GPIOB, pin_bt_left_front_wheel);

if ((current_value_right == GPIO_PIN_SET) && (current_value_left == GPIO_PIN_SET))
if (
((current_value_right == GPIO_PIN_SET) && (current_value_left == GPIO_PIN_SET))
|| ((current_value_right == GPIO_PIN_RESET) && (previous_value_right == GPIO_PIN_SET))
|| ((current_value_left == GPIO_PIN_RESET) && (previous_value_left == GPIO_PIN_SET)){
|| ((current_value_left == GPIO_PIN_RESET) && (previous_value_left == GPIO_PIN_SET))
){
steering_set_speed(GPIO_PIN_RESET, NO_STEERING);
previous_value_right = GPIO_PIN_RESET;
previous_value_left = GPIO_PIN_RESET;
} else if ((current_value_right == GPIO_PIN_SET) && (previous_value_right == GPIO_PIN_RESET)){
steering_set_speed(GPIO_PIN_SET, RIGHT_MAX_SPEED_STEERING);
previous_value_right = GPIO_PIN_SET;
} else if ((current_value_left == GPIO_PIN_SET) && (previous_value_left == GPIO_PIN_RESET)){
steering_set_speed(GPIO_PIN_SET, RIGHT_LEFT_SPEED_STEERING)
steering_set_speed(GPIO_PIN_SET, LEFT_MAX_SPEED_STEERING);
previous_value_left = GPIO_PIN_SET;
}
}

0 comments on commit fcc6281

Please sign in to comment.