Skip to content

Commit

Permalink
added ADC part - fixes #14
Browse files Browse the repository at this point in the history
  • Loading branch information
gehadelkoumy committed Jul 6, 2023
1 parent fa003e7 commit e6762dc
Show file tree
Hide file tree
Showing 10 changed files with 5,687 additions and 4,691 deletions.
Binary file modified embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.bin
Binary file not shown.
Binary file modified embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.elf
Binary file not shown.
1,300 changes: 715 additions & 585 deletions embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.hex

Large diffs are not rendered by default.

8,139 changes: 4,459 additions & 3,680 deletions embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.list

Large diffs are not rendered by default.

813 changes: 462 additions & 351 deletions embedded-c-system-code/All_cubeIDE/Debug/All_cubeIDE.map

Large diffs are not rendered by default.

15 changes: 8 additions & 7 deletions embedded-c-system-code/All_cubeIDE/Debug/Src/main.cyclo
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
main.c:47:6:LeftEncoderGetReading 1
main.c:53:6:RightEncoderGetReading 1
main.c:60:5:Get_Reading 5
main.c:90:6:RotateRight 4
main.c:152:6:RotateLeft 4
main.c:215:6:TargetDistance 2
main.c:264:5:main 7
main.c:49:6:LeftEncoderGetReading 1
main.c:55:6:RightEncoderGetReading 1
main.c:61:5:Get_Reading 5
main.c:89:6:RotateRight 4
main.c:147:6:RotateLeft 4
main.c:206:6:TargetDistance 2
main.c:242:6:VoltageReading 1
main.c:253:5:main 7
Binary file modified embedded-c-system-code/All_cubeIDE/Debug/Src/main.o
Binary file not shown.
15 changes: 8 additions & 7 deletions embedded-c-system-code/All_cubeIDE/Debug/Src/main.su
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
../Src/main.c:47:6:LeftEncoderGetReading 8 static
../Src/main.c:53:6:RightEncoderGetReading 8 static
../Src/main.c:60:5:Get_Reading 32 static
../Src/main.c:90:6:RotateRight 16 static
../Src/main.c:152:6:RotateLeft 16 static
../Src/main.c:215:6:TargetDistance 16 static
../Src/main.c:264:5:main 32 static
../Src/main.c:49:6:LeftEncoderGetReading 8 static
../Src/main.c:55:6:RightEncoderGetReading 8 static
../Src/main.c:61:5:Get_Reading 32 static
../Src/main.c:89:6:RotateRight 16 static
../Src/main.c:147:6:RotateLeft 16 static
../Src/main.c:206:6:TargetDistance 16 static
../Src/main.c:242:6:VoltageReading 16 static
../Src/main.c:253:5:main 32 static
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ void MUSART2_voidSendNumbers(s32 Copy_s32Number)
{
char arr[15];
/* convert number to string */
// gcvt(Copy_s32Number, 8,arr);
// gcvt(Copy_s32Number, 8,arr);
itoa(Copy_s32Number , arr , 10);
u8* string = (u8*)arr;

Expand Down
94 changes: 34 additions & 60 deletions embedded-c-system-code/All_cubeIDE/Src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
#include"UART2/USART_interface.h"
#include"Encoder/ENCODER_interface.h"

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

/**/
Expand All @@ -32,9 +34,9 @@
s32 right_counts = 0 , left_counts = 0;

/* ADC variables */
//u16 adc_value = 0;
//f32 reading = 0 ,adc_volt = 0;
//u16 R1 = 30000, R2 = 7500;
u16 adc_value = 0;
f32 reading = 0 ,adc_volt = 0;
u16 R1 = 30000, R2 = 7500;

/* Communication */
u8 Rx_arrlength = 0, data_arr[20] = {0} ;
Expand All @@ -56,7 +58,6 @@ void RightEncoderGetReading (void)
}



s16 Get_Reading(void)
{
Rx_arrlength = MUSART2_u8ReceiveDataBlock(data_arr);
Expand Down Expand Up @@ -85,8 +86,6 @@ s16 Get_Reading(void)
}




void RotateRight()
{

Expand All @@ -96,8 +95,6 @@ void RotateRight()


Reading = Get_Reading() ;
// MUSART2_voidSendNumbers(Reading);
// MUSART2_voidSendString((u8*)"/r/n");

Final_Value = Reading + 90 ;

Expand Down Expand Up @@ -132,23 +129,21 @@ void RotateRight()
HENCODER_s32GetZeroCounts(PIN8);
HENCODER_s32GetZeroCounts(PIN10);

// MUSART2_voidSendString((u8*)"s2");
// MUSART2_voidSendString((u8*)"/r/n");
MUSART2_voidSendString((u8*)"s2");
MUSART2_voidSendString((u8*)"\r\n");

MUSART2_voidSendNumbers(reading);
MUSART2_voidSendString((u8*)"\r\n");
break ;
}
Reading = Get_Reading() ;
error = Final_Value - Reading ;

// MUSART2_voidSendNumbers(Reading);
// MUSART2_voidSendString((u8*)"/r/n");

}


}



void RotateLeft()
{

Expand All @@ -158,11 +153,6 @@ void RotateLeft()


Reading = Get_Reading() ;
// MUSART2_voidSendNumbers(Reading);
// MUSART2_voidSendString((u8*)"/r/n");

// MGPIO_VoidSetPinValue(GPIOA, 0, HIGH);
// MGPIO_VoidSetPinValue(GPIOA, 5, LOW);

Final_Value = Reading - 90 ;

Expand Down Expand Up @@ -197,21 +187,22 @@ void RotateLeft()
HENCODER_s32GetZeroCounts(PIN8);
HENCODER_s32GetZeroCounts(PIN10);

// MUSART2_voidSendString((u8*)"s2");
// MUSART2_voidSendString((u8*)"/r/n");
MUSART2_voidSendString((u8*)"s2");
MUSART2_voidSendString((u8*)"\r\n");

MUSART2_voidSendNumbers(reading);
MUSART2_voidSendString((u8*)"\r\n");

break ;
}
Reading = Get_Reading() ;
error = Final_Value - Reading ;
// MUSART2_voidSendNumbers(Reading);
// MUSART2_voidSendString((u8*)"/r/n");
}

}

}



void TargetDistance()
{
u32 target_count = 0;
Expand All @@ -226,9 +217,6 @@ void TargetDistance()
MTIM2_voidOutputPWM_C2((u16)Rx_pwm);
MTIM3_voidOutputPWM((u16)Rx_pwm);

// MUSART2_voidSendNumbers(right_counts);
// MUSART2_voidSendString((u8*)"\r\n");

if(abs(right_counts) >= target_count)
{
HENCODER_s32GetZeroCounts(PIN8);
Expand All @@ -241,25 +229,26 @@ void TargetDistance()

MUSART2_voidSendString((u8*) "s1");
MUSART2_voidSendString((u8*)"\r\n");
// MUSART2_voidSendNumbers(reading);
// MUSART2_voidSendString((u8*)"\r\n");

MUSART2_voidSendNumbers(reading);
MUSART2_voidSendString((u8*)"\r\n");

break;
}
}
}

//void VoltageReading()
//{
// adc_value = MADC1_u16ReadValue();
// adc_volt = (adc_value*3.3)/4096; //3.3
// reading = (adc_volt*(R1+R2))/R2;
//
//// reading = floor(reading * 100) / 100; // %.2f
//
//// MUSART2_voidSendNumbers(reading);
//// MUSART2_voidSendString((u8*)"\r\n");
//}

void VoltageReading()
{
adc_value = MADC1_u16ReadValue();
adc_volt = (adc_value*3.3)/4096;
reading = (adc_volt*(R1+R2))/R2;

// MUSART2_voidSendNumbers(reading);
// MUSART2_voidSendString((u8*)"\r\n");
}


int main (void)
{
Expand Down Expand Up @@ -322,13 +311,8 @@ int main (void)
MTIM3_voidInit();
MUSART2_voidInit();


/*start timer 1sec*/
//MSTK_voidSetIntervalPeriodic(1000000, VoltageReading);


// MTIM2_voidOutputPWM_C2(0);
// MTIM3_voidOutputPWM(0);
MSTK_voidSetIntervalPeriodic(1000000, VoltageReading);

while(1)
{
Expand All @@ -350,7 +334,7 @@ int main (void)
}

TargetDistance();
//Rx_pwm = 0;

}
else
{
Expand All @@ -363,7 +347,7 @@ int main (void)
}

TargetDistance(Rx_pwm);
//Rx_pwm = 0;

}

}
Expand All @@ -377,21 +361,11 @@ int main (void)
{
/* rotate right */
RotateRight();

MUSART2_voidSendString((u8*)"s2");
MUSART2_voidSendString((u8*)"/r/n");

}
else
{
/* rotate left */
// MUSART2_voidSendString((u8*)"high");
// MUSART2_voidSendString((u8*)"/r/n");

RotateLeft();

MUSART2_voidSendString((u8*)"s2");
MUSART2_voidSendString((u8*)"/r/n");
}
}

Expand Down

0 comments on commit e6762dc

Please sign in to comment.