arduino stuffs
Diffstat (limited to 'car_driver/arduino/motor.h')
-rw-r--r--car_driver/arduino/motor.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/car_driver/arduino/motor.h b/car_driver/arduino/motor.h
new file mode 100644
index 0000000..f2f0f43
--- /dev/null
+++ b/car_driver/arduino/motor.h
@@ -0,0 +1,30 @@
+#ifndef MOTOR_H
+#define MOTOR_H
+
+#include "motor_utils.h"
+
+struct Motor {
+ int pin;
+ int brake_pin;
+ int speed_pin;
+
+ inline void forward(int speed) {
+ motor_utils::set(pin, brake_pin, speed_pin, HIGH, speed);
+ }
+ inline void backward(int speed) {
+ motor_utils::set(pin, brake_pin, speed_pin, LOW, speed);
+ }
+ inline void brake() { motor_utils::brake(brake_pin, speed_pin); }
+
+ inline void begin() {
+ pinMode(pin, OUTPUT);
+ pinMode(brake_pin, OUTPUT);
+ }
+
+ Motor(const int _pin, const int _brake_pin, const int _speed_pin) {
+ pin = _pin;
+ brake_pin = _brake_pin;
+ speed_pin = _speed_pin;
+ }
+};
+#endif \ No newline at end of file