SmartWheels self-driving race car. Designed for NXP Cup. Uses FRDM-KL25Z, area-scan camera, and simple image processing to detect and navigate any NXP spec track.

Dependencies:   TSI USBDevice mbed-dev

Fork of SmartWheels by haofan Zheng

Hardwares/Motor.h

Committer:
hazheng
Date:
2017-04-06
Revision:
52:078b521c9edf
Parent:
46:a5eb9bd3bb55
Child:
53:36d9335fec96

File content as of revision 52:078b521c9edf:

#pragma once

#include <mbed.h>

#define MotorDir uint8_t
#define MDIR_Forward  0
#define MDIR_Backward 1


#define MOTOR_MAX_SPEED_LIMIT 0.2f
#define MOTOR_DIFF_MIN_SPEED  0.5f

#ifdef __cplusplus
extern "C" {
#endif

void motor_init();

void motor_set_left_speed(const float speed);

void motor_set_right_speed(const float speed);

inline void motor_set_speeds(const float speed_left, const float speed_right)
{
    motor_set_left_speed(speed_left);
    motor_set_right_speed(speed_right);
}

void motor_set_left_direction(MotorDir dir);

void motor_set_right_direction(MotorDir dir);

inline void motor_set_direction(MotorDir dirL, MotorDir dirR)
{
    motor_set_left_direction(dirL);
    motor_set_right_direction(dirR);
}

#ifdef __cplusplus
}
#endif