replace magic number
This commit is contained in:
parent
cb80e7f883
commit
c4908eb6f2
|
@ -13,11 +13,13 @@
|
|||
#define DIRECTION_PIN_LEFT_IN3 19U
|
||||
#define DIRECTION_PIN_LEFT_IN4 20U
|
||||
|
||||
// to turn one side
|
||||
#define DIRECTION_RIGHT_FORWARD (1U << DIRECTION_PIN_RIGHT_IN2)
|
||||
#define DIRECTION_RIGHT_BACKWARD (1U << DIRECTION_PIN_RIGHT_IN1)
|
||||
#define DIRECTION_LEFT_FORWARD (1U << DIRECTION_PIN_LEFT_IN4)
|
||||
#define DIRECTION_LEFT_BACKWARD (1U << DIRECTION_PIN_LEFT_IN3)
|
||||
|
||||
// to spin
|
||||
#define DIRECTION_FORWARD (DIRECTION_LEFT_FORWARD | DIRECTION_RIGHT_FORWARD)
|
||||
#define DIRECTION_BACKWARD (DIRECTION_LEFT_BACKWARD | DIRECTION_RIGHT_BACKWARD)
|
||||
#define DIRECTION_LEFT (DIRECTION_LEFT_BACKWARD | DIRECTION_RIGHT_FORWARD)
|
||||
|
@ -25,15 +27,24 @@
|
|||
|
||||
#define DIRECTION_MASK (DIRECTION_FORWARD | DIRECTION_BACKWARD)
|
||||
|
||||
// wheel encoder sensor pins
|
||||
#define SPEED_PIN_RIGHT 15U
|
||||
#define SPEED_PIN_LEFT 16U
|
||||
|
||||
// PWM parameters
|
||||
#define PWM_CLK_DIV 50.f
|
||||
#define PWM_WRAP 100U
|
||||
|
||||
#define MAX_PWM_LEVEL 99U
|
||||
#define MIN_PWM_LEVEL 0U
|
||||
|
||||
// speed in cm/s; speed = distance / time
|
||||
// distance = circumference / 20
|
||||
// circumference = 2 * pi * 3.25 cm = 20.4203522483 cm
|
||||
// distance = 20.4203522483 cm / 20 = 1.02101761242 cm
|
||||
#define SLOT_DISTANCE_CM 1.02101761242f
|
||||
#define SLOT_DISTANCE_CM_MODIFIED (SLOT_DISTANCE_CM * 1000000.f)
|
||||
|
||||
/*!
|
||||
* @brief Structure for the motor speed parameters
|
||||
* @param current_speed_cms Current speed in cm/s
|
||||
|
@ -85,8 +96,8 @@ typedef struct
|
|||
{
|
||||
motor_speed_t speed;
|
||||
motor_pwm_t pwm;
|
||||
SemaphoreHandle_t * p_sem;
|
||||
bool * use_pid;
|
||||
SemaphoreHandle_t *p_sem;
|
||||
bool *use_pid;
|
||||
|
||||
} motor_t;
|
||||
|
||||
|
@ -101,7 +112,7 @@ SemaphoreHandle_t g_left_sem;
|
|||
SemaphoreHandle_t g_right_sem;
|
||||
|
||||
// for testing
|
||||
//typedef struct
|
||||
// typedef struct
|
||||
//{
|
||||
// motor_t * p_left_motor;
|
||||
// motor_t * p_right_motor;
|
||||
|
|
|
@ -60,14 +60,10 @@ monitor_wheel_speed_task(void *ppp_motor)
|
|||
elapsed_time = curr_time - prev_time;
|
||||
prev_time = curr_time;
|
||||
|
||||
// speed in cm/s; speed = distance / time
|
||||
// distance = circumference / 20
|
||||
// circumference = 2 * pi * 3.25 cm = 20.4203522483 cm
|
||||
// distance = 20.4203522483 cm / 20 = 1.02101761242 cm
|
||||
p_motor->speed.current_cms
|
||||
= (float) (1021017.61242f / elapsed_time);
|
||||
= (float) (SLOT_DISTANCE_CM_MODIFIED / elapsed_time);
|
||||
|
||||
p_motor->speed.distance_cm += 1.02101761242f;
|
||||
p_motor->speed.distance_cm += SLOT_DISTANCE_CM;
|
||||
|
||||
printf("speed\n");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue