arduino stuffs
update
bendn 2022-06-12
parent d7ae7d7 · commit db483b8
-rw-r--r--car_driver/arduino/arduino.ino111
-rw-r--r--car_driver/godot/.import/.gdignore1
-rw-r--r--car_driver/godot/Console.gd10
-rw-r--r--car_driver/godot/Console.tscn42
-rw-r--r--car_driver/godot/ConsoleWindow.gd19
-rw-r--r--car_driver/godot/Input.gd10
-rw-r--r--car_driver/godot/Main.tscn9
-rw-r--r--car_driver/godot/Node.tscn3
-rw-r--r--car_driver/godot/bin/GDsercomm.gdnlib19
-rw-r--r--car_driver/godot/bin/GDsercomm.gdns8
-rw-r--r--car_driver/godot/bin/linux64/libGDSercomm.sobin0 -> 88760 bytes
-rw-r--r--car_driver/godot/bin/linux64/libsercomm.sobin0 -> 28912 bytes
-rw-r--r--car_driver/godot/bin/win32/GDSercomm.dllbin0 -> 46592 bytes
-rw-r--r--car_driver/godot/bin/win32/sercomm.dllbin0 -> 54784 bytes
-rw-r--r--car_driver/godot/bin/win64/GDSercomm.dllbin0 -> 131584 bytes
-rw-r--r--car_driver/godot/bin/win64/sercomm.dllbin0 -> 544768 bytes
-rw-r--r--car_driver/godot/logs/godot.log5
-rw-r--r--car_driver/godot/logs/godot_2022-06-11_15.10.34.log5
-rw-r--r--car_driver/godot/logs/godot_2022-06-11_15.17.29.log5
-rw-r--r--car_driver/godot/logs/godot_2022-06-11_15.17.37.log5
-rw-r--r--car_driver/godot/logs/godot_2022-06-11_15.19.20.log5
-rw-r--r--car_driver/godot/panel.tres14
-rw-r--r--car_driver/godot/project.godot44
-rw-r--r--car_driver/godot/serial.gd48
-rw-r--r--car_driver/godot/theme.themebin0 -> 670 bytes
-rw-r--r--car_driver/godot/verdana-bold.ttfbin0 -> 208456 bytes
-rw-r--r--car_driver/godot/verdana.tres7
-rw-r--r--generated_examples/MotorTest/.vscode/arduino.json5
-rw-r--r--generated_examples/MotorTest/.vscode/c_cpp_properties.json537
-rw-r--r--generated_examples/MotorTest/MotorTest.ino50
-rw-r--r--generated_examples/MotorTest/but.pngbin0 -> 169587 bytes
-rw-r--r--test_motor/.vscode/arduino.json5
-rw-r--r--test_motor/.vscode/c_cpp_properties.json539
-rw-r--r--test_motor/test_motor.ino13
34 files changed, 1447 insertions, 72 deletions
diff --git a/car_driver/arduino/arduino.ino b/car_driver/arduino/arduino.ino
index a0afd59..fee8153 100644
--- a/car_driver/arduino/arduino.ino
+++ b/car_driver/arduino/arduino.ino
@@ -1,27 +1,12 @@
#define HEADER 'H'
-#define TOTAL_BYTES 2 // hmmm
-#define number_of_keys 5
+#define TOTAL_BYTES 3 // hmmm
-enum { MOV_LEFT, MOV_RIGHT, MOV_FORWARD, MOV_BACK, MOV_ROTATE, MOV_STOP };
-
-const char tags[] = {'w', 'a', 's', 'd', 'v'};
-const char *states[] = {"Left", "Right", "Forward", "Back", "Rotate", "Stop"};
-const int DIR_LEFT = 0;
-const int DIR_RIGHT = 1;
-const int DIR_CENTER = 2;
-
-const char *locationString[] = {"Left", "Right", "Center"}; // labels for debug
-
-const int LED_PIN = 13;
-
-int commandState = MOV_STOP; // what robot is told to do
-
-const char MOVE_FORWARD = 'w'; // move forward
-const char MOVE_LEFT = 'a'; // move left
-const char MOVE_RIGHT = 'd'; // move right
-const char MOVE_BACK = 's'; // move back
-const char STOP = 'v'; // stop
+const int MOVE_FORWARD[2] = {0, 2}; // 2 == -1 == up
+const int MOVE_LEFT[2] = {2, 0}; // move left
+const int MOVE_RIGHT[2] = {1, 0}; // move right
+const int MOVE_BACK[2] = {0, 1}; // move back
+const int MOVE_STOP[2] = {0, 0}; // stop
void setup() {
Serial.begin(9600);
@@ -31,16 +16,21 @@ void setup() {
void loop() {
if (Serial.available() >= TOTAL_BYTES) {
- // sample format: Hv or Hd, etc.
+ // sample format: H11 or H02, etc.
char header = Serial.read();
- if (header == HEADER) { // done reading header, next letter is a tag
- char tag = Serial.read(); // read the first tag
- if (is_tag_valid(tag) == true) {
- Serial.write(tag);
- Serial.println(" recieved");
- processCommand(tag); // process the command
+ if (header == HEADER) { // done reading header, next number is a tag
+ char tmp = Serial.read();
+ int x = (tmp - '0');
+ tmp = Serial.read();
+ int y = (tmp - '0');
+ Serial.println(y, BIN);
+ Serial.println(x, BIN);
+ Serial.println("this is what I recived boss");
+ if (is_tag_valid(x, y)) {
+ processCommand(x, y); // process the command
} else {
- Serial.write(tag);
+ Serial.print(x, BIN);
+ Serial.print(y, BIN);
Serial.println(": unknown tag");
}
} else {
@@ -50,56 +40,33 @@ void loop() {
}
}
-bool is_tag_valid(char tag) {
- for (int i = 0; i < number_of_keys; i++) {
- Serial.print(tags[i]);
- if (tag == tags[i]) {
- return true;
- }
- }
- return false;
-}
-
-void changeCmdState(int newState) {
- if (newState != commandState) {
- Serial.print("cc");
- Serial.print(states[commandState]);
- Serial.print("->");
- Serial.println(states[newState]);
- commandState = newState;
- }
+bool is_tag_valid(const int x, const int y) {
+ return x > 0 && x < 3 && y > 0 && y < 3;
}
-void processCommand(char cmd) {
- switch (cmd) {
- case STOP: {
- changeCmdState(MOV_STOP);
+// @param cmd the thing that tells it what to do, usually a vector(01, 22).
+void processCommand(const int x, const int y) {
+ const int cmd[] = {x, y};
+ if (cmd == MOVE_FORWARD) {
+ forward();
+ } else if (arrayCmp(cmd, MOVE_STOP)) {
stop();
- break;
- }
- case MOVE_LEFT: {
- changeCmdState(MOV_ROTATE);
+ } else if (arrayCmp(cmd, MOVE_LEFT)) {
left();
- break;
- }
- case MOVE_RIGHT: {
- changeCmdState(MOV_ROTATE);
+ } else if (arrayCmp(cmd, MOVE_RIGHT)) {
right();
- break;
- }
- case MOVE_FORWARD: {
- changeCmdState(MOV_FORWARD);
- forward();
- } break;
- case MOVE_BACK: { // s is hard without 40 buttons
- changeCmdState(MOV_BACK);
+ } else if (arrayCmp(cmd, MOVE_BACK)) {
backward();
- break;
- }
- default:
+ } else {
Serial.print('[');
- Serial.write(cmd);
+ Serial.print(x);
+ Serial.print(cmd[0]);
+ Serial.print(cmd[1]);
+ Serial.print(y);
Serial.println("] Ignored");
- break;
}
+}
+
+bool arrayCmp(const int array[], const int array2[]) {
+ return array[0] == array2[0] && array[1] == array2[1];
} \ No newline at end of file
diff --git a/car_driver/godot/.import/.gdignore b/car_driver/godot/.import/.gdignore
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/car_driver/godot/.import/.gdignore
@@ -0,0 +1 @@
+
diff --git a/car_driver/godot/Console.gd b/car_driver/godot/Console.gd
new file mode 100644
index 0000000..29ac7a9
--- /dev/null
+++ b/car_driver/godot/Console.gd
@@ -0,0 +1,10 @@
+extends RichTextLabel
+class_name Console
+
+
+func _ready():
+ SerialIO.connect("recieved", self, "add_text")
+
+
+func add_text(new: String):
+ text += new
diff --git a/car_driver/godot/Console.tscn b/car_driver/godot/Console.tscn
new file mode 100644
index 0000000..026ec44
--- /dev/null
+++ b/car_driver/godot/Console.tscn
@@ -0,0 +1,42 @@
+[gd_scene load_steps=4 format=2]
+
+[ext_resource path="res://ConsoleWindow.gd" type="Script" id=1]
+[ext_resource path="res://Console.gd" type="Script" id=2]
+[ext_resource path="res://theme.theme" type="Theme" id=3]
+
+[node name="ConsoleWindow" type="WindowDialog"]
+visible = true
+anchor_right = 1.0
+anchor_bottom = 1.0
+margin_top = 40.0
+margin_right = -440.0
+margin_bottom = -220.0
+rect_min_size = Vector2( 300, 200 )
+theme = ExtResource( 3 )
+window_title = "Serial Monitor"
+resizable = true
+script = ExtResource( 1 )
+
+[node name="V" type="VBoxContainer" parent="."]
+anchor_right = 1.0
+anchor_bottom = 1.0
+margin_left = 8.0
+margin_right = -4.0
+
+[node name="Send" type="LineEdit" parent="V"]
+margin_right = 288.0
+margin_bottom = 40.0
+placeholder_text = "input text"
+caret_blink = true
+
+[node name="Console" type="RichTextLabel" parent="V"]
+margin_top = 44.0
+margin_right = 288.0
+margin_bottom = 200.0
+focus_mode = 2
+size_flags_vertical = 3
+scroll_following = true
+selection_enabled = true
+script = ExtResource( 2 )
+
+[connection signal="text_entered" from="V/Send" to="." method="_on_Send_text_entered"]
diff --git a/car_driver/godot/ConsoleWindow.gd b/car_driver/godot/ConsoleWindow.gd
new file mode 100644
index 0000000..a37106a
--- /dev/null
+++ b/car_driver/godot/ConsoleWindow.gd
@@ -0,0 +1,19 @@
+extends WindowDialog
+
+onready var send = $V/Send
+
+
+func _ready():
+ call_deferred("popup_centered_minsize")
+
+
+func _process(_delta := 0.0):
+ rect_position.x = clamp(rect_position.x, 0, OS.get_window_size().x - rect_size.x)
+ rect_position.y = clamp(rect_position.y, 20, OS.get_window_size().y - rect_size.y)
+
+
+func _on_Send_text_entered(new_text: String):
+ new_text = new_text.strip_edges().strip_escapes()
+ if new_text:
+ SerialIO.send(new_text)
+ send.text = ""
diff --git a/car_driver/godot/Input.gd b/car_driver/godot/Input.gd
new file mode 100644
index 0000000..1bac942
--- /dev/null
+++ b/car_driver/godot/Input.gd
@@ -0,0 +1,10 @@
+extends Node
+
+
+func prepare(v: Vector2) -> Vector2:
+ v = v.normalized()
+ if v.x < 0:
+ v.x = 1 - v.x
+ if v.y < 0:
+ v.y = 1 - v.y
+ return v
diff --git a/car_driver/godot/Main.tscn b/car_driver/godot/Main.tscn
new file mode 100644
index 0000000..e2283fc
--- /dev/null
+++ b/car_driver/godot/Main.tscn
@@ -0,0 +1,9 @@
+[gd_scene load_steps=2 format=2]
+
+[ext_resource path="res://Console.tscn" type="PackedScene" id=1]
+
+[node name="Main" type="Control"]
+anchor_right = 1.0
+anchor_bottom = 1.0
+
+[node name="ConsoleWindow" parent="." instance=ExtResource( 1 )]
diff --git a/car_driver/godot/Node.tscn b/car_driver/godot/Node.tscn
new file mode 100644
index 0000000..e64809b
--- /dev/null
+++ b/car_driver/godot/Node.tscn
@@ -0,0 +1,3 @@
+[gd_scene format=2]
+
+[node name="Node" type="Node"]
diff --git a/car_driver/godot/bin/GDsercomm.gdnlib b/car_driver/godot/bin/GDsercomm.gdnlib
new file mode 100644
index 0000000..765f112
--- /dev/null
+++ b/car_driver/godot/bin/GDsercomm.gdnlib
@@ -0,0 +1,19 @@
+[general]
+
+singleton=false
+load_once=true
+symbol_prefix="godot_"
+reloadable=true
+
+[entry]
+
+X11.64="res://bin/linux64/libGDSercomm.so"
+Windows.64="res://bin/win64/GDSercomm.dll"
+Windows.32="res://bin/win32/GDSercomm.dll"
+OSX.64=""
+
+[dependencies]
+
+X11.64=[ ]
+Windows.64=[ "res://bin/win64/sercomm.dll" ]
+OSX.64=[ ]
diff --git a/car_driver/godot/bin/GDsercomm.gdns b/car_driver/godot/bin/GDsercomm.gdns
new file mode 100644
index 0000000..c1af659
--- /dev/null
+++ b/car_driver/godot/bin/GDsercomm.gdns
@@ -0,0 +1,8 @@
+[gd_resource type="NativeScript" load_steps=2 format=2]
+
+[ext_resource path="res://bin/GDsercomm.gdnlib" type="GDNativeLibrary" id=1]
+
+[resource]
+resource_name = "SERCOMM"
+class_name = "SERCOMM"
+library = ExtResource( 1 )
diff --git a/car_driver/godot/bin/linux64/libGDSercomm.so b/car_driver/godot/bin/linux64/libGDSercomm.so
new file mode 100644
index 0000000..bf96e61
--- /dev/null
+++ b/car_driver/godot/bin/linux64/libGDSercomm.so
Binary files differ
diff --git a/car_driver/godot/bin/linux64/libsercomm.so b/car_driver/godot/bin/linux64/libsercomm.so
new file mode 100644
index 0000000..4e69e00
--- /dev/null
+++ b/car_driver/godot/bin/linux64/libsercomm.so
Binary files differ
diff --git a/car_driver/godot/bin/win32/GDSercomm.dll b/car_driver/godot/bin/win32/GDSercomm.dll
new file mode 100644
index 0000000..1708780
--- /dev/null
+++ b/car_driver/godot/bin/win32/GDSercomm.dll
Binary files differ
diff --git a/car_driver/godot/bin/win32/sercomm.dll b/car_driver/godot/bin/win32/sercomm.dll
new file mode 100644
index 0000000..9aa6c53
--- /dev/null
+++ b/car_driver/godot/bin/win32/sercomm.dll
Binary files differ
diff --git a/car_driver/godot/bin/win64/GDSercomm.dll b/car_driver/godot/bin/win64/GDSercomm.dll
new file mode 100644
index 0000000..9f3c247
--- /dev/null
+++ b/car_driver/godot/bin/win64/GDSercomm.dll
Binary files differ
diff --git a/car_driver/godot/bin/win64/sercomm.dll b/car_driver/godot/bin/win64/sercomm.dll
new file mode 100644
index 0000000..39236bd
--- /dev/null
+++ b/car_driver/godot/bin/win64/sercomm.dll
Binary files differ
diff --git a/car_driver/godot/logs/godot.log b/car_driver/godot/logs/godot.log
new file mode 100644
index 0000000..0f99df2
--- /dev/null
+++ b/car_driver/godot/logs/godot.log
@@ -0,0 +1,5 @@
+Godot Engine v3.4.4.stable.arch_linux - https://godotengine.org
+OpenGL ES 3.0 Renderer: Mesa Intel(R) UHD Graphics 600 (GLK 2)
+OpenGL ES Batching: ON
+
+connecting to /dev/ttyACM0
diff --git a/car_driver/godot/logs/godot_2022-06-11_15.10.34.log b/car_driver/godot/logs/godot_2022-06-11_15.10.34.log
new file mode 100644
index 0000000..87894a1
--- /dev/null
+++ b/car_driver/godot/logs/godot_2022-06-11_15.10.34.log
@@ -0,0 +1,5 @@
+Godot Engine v3.4.4.stable.arch_linux - https://godotengine.org
+OpenGL ES 3.0 Renderer: Mesa Intel(R) UHD Graphics 600 (GLK 2)
+OpenGL ES Batching: ON
+
+[/dev/ttyS9, /dev/ttyS8, /dev/ttyS31, /dev/ttyS30, /dev/ttyS3, /dev/ttyS29, /dev/ttyS28, /dev/ttyS27, /dev/ttyS26, /dev/ttyS25, /dev/ttyS24, /dev/ttyS23, /dev/ttyS22, /dev/ttyS21, /dev/ttyS20, /dev/ttyS2, /dev/ttyS19, /dev/ttyS18, /dev/ttyS17, /dev/ttyS16, /dev/ttyS15, /dev/ttyS14, /dev/ttyS13, /dev/ttyS12, /dev/ttyS11, /dev/ttyS10, /dev/ttyS1, /dev/ttyS0, /dev/ttyS7, /dev/ttyS6, /dev/ttyS5, /dev/ttyS4, /dev/ttyACM0]
diff --git a/car_driver/godot/logs/godot_2022-06-11_15.17.29.log b/car_driver/godot/logs/godot_2022-06-11_15.17.29.log
new file mode 100644
index 0000000..0f99df2
--- /dev/null
+++ b/car_driver/godot/logs/godot_2022-06-11_15.17.29.log
@@ -0,0 +1,5 @@
+Godot Engine v3.4.4.stable.arch_linux - https://godotengine.org
+OpenGL ES 3.0 Renderer: Mesa Intel(R) UHD Graphics 600 (GLK 2)
+OpenGL ES Batching: ON
+
+connecting to /dev/ttyACM0
diff --git a/car_driver/godot/logs/godot_2022-06-11_15.17.37.log b/car_driver/godot/logs/godot_2022-06-11_15.17.37.log
new file mode 100644
index 0000000..0f99df2
--- /dev/null
+++ b/car_driver/godot/logs/godot_2022-06-11_15.17.37.log
@@ -0,0 +1,5 @@
+Godot Engine v3.4.4.stable.arch_linux - https://godotengine.org
+OpenGL ES 3.0 Renderer: Mesa Intel(R) UHD Graphics 600 (GLK 2)
+OpenGL ES Batching: ON
+
+connecting to /dev/ttyACM0
diff --git a/car_driver/godot/logs/godot_2022-06-11_15.19.20.log b/car_driver/godot/logs/godot_2022-06-11_15.19.20.log
new file mode 100644
index 0000000..0f99df2
--- /dev/null
+++ b/car_driver/godot/logs/godot_2022-06-11_15.19.20.log
@@ -0,0 +1,5 @@
+Godot Engine v3.4.4.stable.arch_linux - https://godotengine.org
+OpenGL ES 3.0 Renderer: Mesa Intel(R) UHD Graphics 600 (GLK 2)
+OpenGL ES Batching: ON
+
+connecting to /dev/ttyACM0
diff --git a/car_driver/godot/panel.tres b/car_driver/godot/panel.tres
new file mode 100644
index 0000000..b092a56
--- /dev/null
+++ b/car_driver/godot/panel.tres
@@ -0,0 +1,14 @@
+[gd_resource type="StyleBoxFlat" format=2]
+
+[resource]
+content_margin_left = 10.0
+content_margin_right = 10.0
+content_margin_top = 10.0
+content_margin_bottom = 10.0
+bg_color = Color( 0.196078, 0.196078, 0.196078, 0.588235 )
+corner_radius_top_left = 20
+corner_radius_top_right = 20
+corner_radius_bottom_right = 20
+corner_radius_bottom_left = 20
+corner_detail = 20
+anti_aliasing = false
diff --git a/car_driver/godot/project.godot b/car_driver/godot/project.godot
new file mode 100644
index 0000000..5d6d07c
--- /dev/null
+++ b/car_driver/godot/project.godot
@@ -0,0 +1,44 @@
+; Engine configuration file.
+; It's best edited using the editor UI and not directly,
+; since the parameters that go here are not all obvious.
+;
+; Format:
+; [section] ; section goes between []
+; param=value ; assign values to parameters
+
+config_version=4
+
+_global_script_classes=[ {
+"base": "RichTextLabel",
+"class": "Console",
+"language": "GDScript",
+"path": "res://Console.gd"
+} ]
+_global_script_class_icons={
+"Console": ""
+}
+
+[application]
+
+config/name="car controller"
+config/description="car go brr"
+run/main_scene="res://Main.tscn"
+
+[autoload]
+
+SerialIO="*res://serial.gd"
+
+[debug]
+
+gdscript/warnings/return_value_discarded=false
+
+[display]
+
+window/size/width=640
+window/size/height=360
+window/stretch/mode="2d"
+window/stretch/aspect="expand"
+
+[rendering]
+
+quality/driver/driver_name="GLES2"
diff --git a/car_driver/godot/serial.gd b/car_driver/godot/serial.gd
new file mode 100644
index 0000000..dfb3a0f
--- /dev/null
+++ b/car_driver/godot/serial.gd
@@ -0,0 +1,48 @@
+extends Node
+
+onready var Serial = preload("res://bin/GDsercomm.gdns").new()
+
+const baud_rate := 9600
+const endline := "\n"
+
+signal recieved(text)
+
+#a readline function, just add the current Port (based on sercomm)
+#and it will return a line, since sercomm always use a timeout, it should not lag
+
+
+func readline(port):
+ if !port.has_method("read"): #to avoid problems
+ return "NOT A PORT"
+ var cho = ""
+ var chango = ""
+ while cho != endline:
+ cho = port.read()
+ if typeof(cho) == TYPE_STRING:
+ if cho != endline:
+ chango += cho
+ else:
+ chango = "FAILED"
+ break
+ return chango
+
+
+func _physics_process(_delta: float):
+ var text = ""
+ for _i in range(Serial.get_available()):
+ text += str(Serial.read())
+ if text:
+ emit_signal("recieved", text)
+
+
+func send(text: String) -> void: #"please only use ascii"
+ Serial.write(text)
+
+
+func _ready():
+ prints("connecting to", get_ports()[-1])
+ Serial.call_deferred("open", get_ports()[-1], baud_rate, 1000)
+
+
+func get_ports() -> Array:
+ return Serial.list_ports()
diff --git a/car_driver/godot/theme.theme b/car_driver/godot/theme.theme
new file mode 100644
index 0000000..94b6a25
--- /dev/null
+++ b/car_driver/godot/theme.theme
Binary files differ
diff --git a/car_driver/godot/verdana-bold.ttf b/car_driver/godot/verdana-bold.ttf
new file mode 100644
index 0000000..e54bccd
--- /dev/null
+++ b/car_driver/godot/verdana-bold.ttf
Binary files differ
diff --git a/car_driver/godot/verdana.tres b/car_driver/godot/verdana.tres
new file mode 100644
index 0000000..19ecf86
--- /dev/null
+++ b/car_driver/godot/verdana.tres
@@ -0,0 +1,7 @@
+[gd_resource type="DynamicFont" load_steps=2 format=2]
+
+[ext_resource path="res://verdana-bold.ttf" type="DynamicFontData" id=1]
+
+[resource]
+size = 15
+font_data = ExtResource( 1 )
diff --git a/generated_examples/MotorTest/.vscode/arduino.json b/generated_examples/MotorTest/.vscode/arduino.json
new file mode 100644
index 0000000..c84b3ab
--- /dev/null
+++ b/generated_examples/MotorTest/.vscode/arduino.json
@@ -0,0 +1,5 @@
+{
+ "sketch": "MotorTest.ino",
+ "port": "/dev/ttyACM0",
+ "board": "arduino:avr:uno"
+} \ No newline at end of file
diff --git a/generated_examples/MotorTest/.vscode/c_cpp_properties.json b/generated_examples/MotorTest/.vscode/c_cpp_properties.json
new file mode 100644
index 0000000..3d8779a
--- /dev/null
+++ b/generated_examples/MotorTest/.vscode/c_cpp_properties.json
@@ -0,0 +1,537 @@
+{
+ "version": 4,
+ "configurations": [
+ {
+ "name": "Arduino",
+ "compilerPath": "/home/bendn/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++",
+ "compilerArgs": [
+ "-w",
+ "-std=gnu++11",
+ "-fpermissive",
+ "-fno-exceptions",
+ "-ffunction-sections",
+ "-fdata-sections",
+ "-fno-threadsafe-statics",
+ "-Wno-error=narrowing"
+ ],
+ "intelliSenseMode": "gcc-x64",
+ "includePath": [
+ "/home/bendn/.arduino15/packages/arduino/hardware/avr/1.8.4/cores/arduino",
+ "/home/bendn/.arduino15/packages/arduino/hardware/avr/1.8.4/variants/standard",
+ "/home/bendn/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/lib/gcc/avr/7.3.0/include",
+ "/home/bendn/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/lib/gcc/avr/7.3.0/include-fixed",
+ "/home/bendn/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/avr/include"
+ ],
+ "forcedInclude": [
+ "/home/bendn/.arduino15/packages/arduino/hardware/avr/1.8.4/cores/arduino/Arduino.h"
+ ],
+ "cStandard": "c11",
+ "cppStandard": "c++11",
+ "defines": [
+ "F_CPU=16000000L",
+ "ARDUINO=10607",
+ "ARDUINO_AVR_UNO",
+ "ARDUINO_ARCH_AVR",
+ "__DBL_MIN_EXP__=(-125)",
+ "__HQ_FBIT__=15",
+ "__cpp_attributes=200809",
+ "__UINT_LEAST16_MAX__=0xffffU",
+ "__ATOMIC_ACQUIRE=2",
+ "__SFRACT_IBIT__=0",
+ "__FLT_MIN__=1.17549435e-38F",
+ "__GCC_IEC_559_COMPLEX=0",
+ "__BUILTIN_AVR_SLEEP=1",
+ "__BUILTIN_AVR_COUNTLSULLK=1",
+ "__cpp_aggregate_nsdmi=201304",
+ "__BUILTIN_AVR_COUNTLSULLR=1",
+ "__UFRACT_MAX__=0XFFFFP-16UR",
+ "__UINT_LEAST8_TYPE__=unsigned char",
+ "__DQ_FBIT__=63",
+ "__INTMAX_C(c)=c ## LL",
+ "__ULFRACT_FBIT__=32",
+ "__SACCUM_EPSILON__=0x1P-7HK",
+ "__CHAR_BIT__=8",
+ "__USQ_IBIT__=0",
+ "__UINT8_MAX__=0xff",
+ "__ACCUM_FBIT__=15",
+ "__WINT_MAX__=0x7fff",
+ "__FLT32_MIN_EXP__=(-125)",
+ "__cpp_static_assert=200410",
+ "__USFRACT_FBIT__=8",
+ "__ORDER_LITTLE_ENDIAN__=1234",
+ "__SIZE_MAX__=0xffffU",
+ "__WCHAR_MAX__=0x7fff",
+ "__LACCUM_IBIT__=32",
+ "__DBL_DENORM_MIN__=double(1.40129846e-45L)",
+ "__GCC_ATOMIC_CHAR_LOCK_FREE=1",
+ "__GCC_IEC_559=0",
+ "__FLT_EVAL_METHOD__=0",
+ "__BUILTIN_AVR_LLKBITS=1",
+ "__cpp_binary_literals=201304",
+ "__LLACCUM_MAX__=0X7FFFFFFFFFFFFFFFP-47LLK",
+ "__GCC_ATOMIC_CHAR32_T_LOCK_FREE=1",
+ "__BUILTIN_AVR_HKBITS=1",
+ "__BUILTIN_AVR_BITSLLK=1",
+ "__FRACT_FBIT__=15",
+ "__BUILTIN_AVR_BITSLLR=1",
+ "__cpp_variadic_templates=200704",
+ "__UINT_FAST64_MAX__=0xffffffffffffffffULL",
+ "__SIG_ATOMIC_TYPE__=char",
+ "__BUILTIN_AVR_UHKBITS=1",
+ "__UACCUM_FBIT__=16",
+ "__DBL_MIN_10_EXP__=(-37)",
+ "__FINITE_MATH_ONLY__=0",
+ "__cpp_variable_templates=201304",
+ "__LFRACT_IBIT__=0",
+ "__GNUC_PATCHLEVEL__=0",
+ "__FLT32_HAS_DENORM__=1",
+ "__LFRACT_MAX__=0X7FFFFFFFP-31LR",
+ "__UINT_FAST8_MAX__=0xff",
+ "__has_include(STR)=__has_include__(STR)",
+ "__DEC64_MAX_EXP__=385",
+ "__INT8_C(c)=c",
+ "__INT_LEAST8_WIDTH__=8",
+ "__UINT_LEAST64_MAX__=0xffffffffffffffffULL",
+ "__SA_FBIT__=15",
+ "__SHRT_MAX__=0x7fff",
+ "__LDBL_MAX__=3.40282347e+38L",
+ "__FRACT_MAX__=0X7FFFP-15R",
+ "__UFRACT_FBIT__=16",
+ "__UFRACT_MIN__=0.0UR",
+ "__UINT_LEAST8_MAX__=0xff",
+ "__GCC_ATOMIC_BOOL_LOCK_FREE=1",
+ "__UINTMAX_TYPE__=long long unsigned int",
+ "__LLFRACT_EPSILON__=0x1P-63LLR",
+ "__BUILTIN_AVR_DELAY_CYCLES=1",
+ "__DEC32_EPSILON__=1E-6DF",
+ "__FLT_EVAL_METHOD_TS_18661_3__=0",
+ "__UINT32_MAX__=0xffffffffUL",
+ "__GXX_EXPERIMENTAL_CXX0X__=1",
+ "__ULFRACT_MAX__=0XFFFFFFFFP-32ULR",
+ "__TA_IBIT__=16",
+ "__LDBL_MAX_EXP__=128",
+ "__WINT_MIN__=(-__WINT_MAX__ - 1)",
+ "__INT_LEAST16_WIDTH__=16",
+ "__ULLFRACT_MIN__=0.0ULLR",
+ "__SCHAR_MAX__=0x7f",
+ "__WCHAR_MIN__=(-__WCHAR_MAX__ - 1)",
+ "__INT64_C(c)=c ## LL",
+ "__DBL_DIG__=6",
+ "__GCC_ATOMIC_POINTER_LOCK_FREE=1",
+ "__AVR_HAVE_SPH__=1",
+ "__LLACCUM_MIN__=(-0X1P15LLK-0X1P15LLK)",
+ "__BUILTIN_AVR_KBITS=1",
+ "__BUILTIN_AVR_ABSK=1",
+ "__BUILTIN_AVR_ABSR=1",
+ "__SIZEOF_INT__=2",
+ "__SIZEOF_POINTER__=2",
+ "__GCC_ATOMIC_CHAR16_T_LOCK_FREE=1",
+ "__USACCUM_IBIT__=8",
+ "__USER_LABEL_PREFIX__",
+ "__STDC_HOSTED__=1",
+ "__LDBL_HAS_INFINITY__=1",
+ "__LFRACT_MIN__=(-0.5LR-0.5LR)",
+ "__HA_IBIT__=8",
+ "__FLT32_DIG__=6",
+ "__TQ_IBIT__=0",
+ "__FLT_EPSILON__=1.19209290e-7F",
+ "__GXX_WEAK__=1",
+ "__SHRT_WIDTH__=16",
+ "__USFRACT_IBIT__=0",
+ "__LDBL_MIN__=1.17549435e-38L",
+ "__FRACT_MIN__=(-0.5R-0.5R)",
+ "__AVR_SFR_OFFSET__=0x20",
+ "__DEC32_MAX__=9.999999E96DF",
+ "__cpp_threadsafe_static_init=200806",
+ "__DA_IBIT__=32",
+ "__INT32_MAX__=0x7fffffffL",
+ "__UQQ_FBIT__=8",
+ "__INT_WIDTH__=16",
+ "__SIZEOF_LONG__=4",
+ "__UACCUM_MAX__=0XFFFFFFFFP-16UK",
+ "__UINT16_C(c)=c ## U",
+ "__PTRDIFF_WIDTH__=16",
+ "__DECIMAL_DIG__=9",
+ "__LFRACT_EPSILON__=0x1P-31LR",
+ "__AVR_2_BYTE_PC__=1",
+ "__ULFRACT_MIN__=0.0ULR",
+ "__INTMAX_WIDTH__=64",
+ "__has_include_next(STR)=__has_include_next__(STR)",
+ "__BUILTIN_AVR_ULLRBITS=1",
+ "__LDBL_HAS_QUIET_NAN__=1",
+ "__ULACCUM_IBIT__=32",
+ "__UACCUM_EPSILON__=0x1P-16UK",
+ "__BUILTIN_AVR_SEI=1",
+ "__GNUC__=7",
+ "__ULLACCUM_MAX__=0XFFFFFFFFFFFFFFFFP-48ULLK",
+ "__cpp_delegating_constructors=200604",
+ "__HQ_IBIT__=0",
+ "__BUILTIN_AVR_SWAP=1",
+ "__FLT_HAS_DENORM__=1",
+ "__SIZEOF_LONG_DOUBLE__=4",
+ "__BIGGEST_ALIGNMENT__=1",
+ "__STDC_UTF_16__=1",
+ "__UINT24_MAX__=16777215UL",
+ "__BUILTIN_AVR_NOP=1",
+ "__GNUC_STDC_INLINE__=1",
+ "__DQ_IBIT__=0",
+ "__FLT32_HAS_INFINITY__=1",
+ "__DBL_MAX__=double(3.40282347e+38L)",
+ "__ULFRACT_IBIT__=0",
+ "__cpp_raw_strings=200710",
+ "__INT_FAST32_MAX__=0x7fffffffL",
+ "__DBL_HAS_INFINITY__=1",
+ "__INT64_MAX__=0x7fffffffffffffffLL",
+ "__ACCUM_IBIT__=16",
+ "__DEC32_MIN_EXP__=(-94)",
+ "__BUILTIN_AVR_UKBITS=1",
+ "__INTPTR_WIDTH__=16",
+ "__BUILTIN_AVR_FMULSU=1",
+ "__LACCUM_MAX__=0X7FFFFFFFFFFFFFFFP-31LK",
+ "__INT_FAST16_TYPE__=int",
+ "__LDBL_HAS_DENORM__=1",
+ "__BUILTIN_AVR_BITSK=1",
+ "__BUILTIN_AVR_BITSR=1",
+ "__cplusplus=201402L",
+ "__cpp_ref_qualifiers=200710",
+ "__DEC128_MAX__=9.999999999999999999999999999999999E6144DL",
+ "__INT_LEAST32_MAX__=0x7fffffffL",
+ "__USING_SJLJ_EXCEPTIONS__=1",
+ "__DEC32_MIN__=1E-95DF",
+ "__ACCUM_MAX__=0X7FFFFFFFP-15K",
+ "__DEPRECATED=1",
+ "__cpp_rvalue_references=200610",
+ "__DBL_MAX_EXP__=128",
+ "__USACCUM_EPSILON__=0x1P-8UHK",
+ "__WCHAR_WIDTH__=16",
+ "__FLT32_MAX__=3.40282347e+38F32",
+ "__DEC128_EPSILON__=1E-33DL",
+ "__SFRACT_MAX__=0X7FP-7HR",
+ "__FRACT_IBIT__=0",
+ "__PTRDIFF_MAX__=0x7fff",
+ "__UACCUM_MIN__=0.0UK",
+ "__UACCUM_IBIT__=16",
+ "__BUILTIN_AVR_NOPS=1",
+ "__BUILTIN_AVR_WDR=1",
+ "__FLT32_HAS_QUIET_NAN__=1",
+ "__GNUG__=7",
+ "__LONG_LONG_MAX__=0x7fffffffffffffffLL",
+ "__SIZEOF_SIZE_T__=2",
+ "__ULACCUM_MAX__=0XFFFFFFFFFFFFFFFFP-32ULK",
+ "__cpp_rvalue_reference=200610",
+ "__cpp_nsdmi=200809",
+ "__SIZEOF_WINT_T__=2",
+ "__LONG_LONG_WIDTH__=64",
+ "__cpp_initializer_lists=200806",
+ "__FLT32_MAX_EXP__=128",
+ "__SA_IBIT__=16",
+ "__ULLACCUM_MIN__=0.0ULLK",
+ "__BUILTIN_AVR_ROUNDUHK=1",
+ "__BUILTIN_AVR_ROUNDUHR=1",
+ "__cpp_hex_float=201603",
+ "__GXX_ABI_VERSION=1011",
+ "__INT24_MAX__=8388607L",
+ "__UTA_FBIT__=48",
+ "__FLT_MIN_EXP__=(-125)",
+ "__USFRACT_MAX__=0XFFP-8UHR",
+ "__UFRACT_IBIT__=0",
+ "__BUILTIN_AVR_ROUNDFX=1",
+ "__BUILTIN_AVR_ROUNDULK=1",
+ "__BUILTIN_AVR_ROUNDULR=1",
+ "__cpp_lambdas=200907",
+ "__BUILTIN_AVR_COUNTLSLLK=1",
+ "__BUILTIN_AVR_COUNTLSLLR=1",
+ "__BUILTIN_AVR_ROUNDHK=1",
+ "__INT_FAST64_TYPE__=long long int",
+ "__BUILTIN_AVR_ROUNDHR=1",
+ "__DBL_MIN__=double(1.17549435e-38L)",
+ "__BUILTIN_AVR_COUNTLSK=1",
+ "__BUILTIN_AVR_ROUNDLK=1",
+ "__BUILTIN_AVR_COUNTLSR=1",
+ "__BUILTIN_AVR_ROUNDLR=1",
+ "__LACCUM_MIN__=(-0X1P31LK-0X1P31LK)",
+ "__ULLACCUM_FBIT__=48",
+ "__BUILTIN_AVR_LKBITS=1",
+ "__ULLFRACT_EPSILON__=0x1P-64ULLR",
+ "__DEC128_MIN__=1E-6143DL",
+ "__REGISTER_PREFIX__",
+ "__UINT16_MAX__=0xffffU",
+ "__DBL_HAS_DENORM__=1",
+ "__BUILTIN_AVR_ULKBITS=1",
+ "__ACCUM_MIN__=(-0X1P15K-0X1P15K)",
+ "__AVR_ARCH__=2",
+ "__SQ_IBIT__=0",
+ "__FLT32_MIN__=1.17549435e-38F32",
+ "__UINT8_TYPE__=unsigned char",
+ "__BUILTIN_AVR_ROUNDUK=1",
+ "__BUILTIN_AVR_ROUNDUR=1",
+ "__UHA_FBIT__=8",
+ "__NO_INLINE__=1",
+ "__SFRACT_MIN__=(-0.5HR-0.5HR)",
+ "__UTQ_FBIT__=128",
+ "__FLT_MANT_DIG__=24",
+ "__LDBL_DECIMAL_DIG__=9",
+ "__VERSION__=\"7.3.0\"",
+ "__UINT64_C(c)=c ## ULL",
+ "__ULLFRACT_FBIT__=64",
+ "__cpp_unicode_characters=200704",
+ "__FRACT_EPSILON__=0x1P-15R",
+ "__ULACCUM_MIN__=0.0ULK",
+ "__UDA_FBIT__=32",
+ "__cpp_decltype_auto=201304",
+ "__LLACCUM_EPSILON__=0x1P-47LLK",
+ "__GCC_ATOMIC_INT_LOCK_FREE=1",
+ "__FLT32_MANT_DIG__=24",
+ "__BUILTIN_AVR_BITSUHK=1",
+ "__BUILTIN_AVR_BITSUHR=1",
+ "__FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__",
+ "__USFRACT_MIN__=0.0UHR",
+ "__BUILTIN_AVR_BITSULK=1",
+ "__ULLACCUM_IBIT__=16",
+ "__BUILTIN_AVR_BITSULR=1",
+ "__UQQ_IBIT__=0",
+ "__BUILTIN_AVR_LLRBITS=1",
+ "__SCHAR_WIDTH__=8",
+ "__BUILTIN_AVR_BITSULLK=1",
+ "__BUILTIN_AVR_BITSULLR=1",
+ "__INT32_C(c)=c ## L",
+ "__DEC64_EPSILON__=1E-15DD",
+ "__ORDER_PDP_ENDIAN__=3412",
+ "__DEC128_MIN_EXP__=(-6142)",
+ "__UHQ_FBIT__=16",
+ "__LLACCUM_FBIT__=47",
+ "__FLT32_MAX_10_EXP__=38",
+ "__BUILTIN_AVR_ROUNDULLK=1",
+ "__BUILTIN_AVR_ROUNDULLR=1",
+ "__INT_FAST32_TYPE__=long int",
+ "__BUILTIN_AVR_HRBITS=1",
+ "__UINT_LEAST16_TYPE__=unsigned int",
+ "__BUILTIN_AVR_UHRBITS=1",
+ "__INT16_MAX__=0x7fff",
+ "__SIZE_TYPE__=unsigned int",
+ "__UINT64_MAX__=0xffffffffffffffffULL",
+ "__UDQ_FBIT__=64",
+ "__INT8_TYPE__=signed char",
+ "__cpp_digit_separators=201309",
+ "__ELF__=1",
+ "__ULFRACT_EPSILON__=0x1P-32ULR",
+ "__LLFRACT_FBIT__=63",
+ "__FLT_RADIX__=2",
+ "__INT_LEAST16_TYPE__=int",
+ "__BUILTIN_AVR_ABSFX=1",
+ "__LDBL_EPSILON__=1.19209290e-7L",
+ "__UINTMAX_C(c)=c ## ULL",
+ "__INT24_MIN__=(-__INT24_MAX__-1)",
+ "__SACCUM_MAX__=0X7FFFP-7HK",
+ "__BUILTIN_AVR_ABSHR=1",
+ "__SIG_ATOMIC_MAX__=0x7f",
+ "__GCC_ATOMIC_WCHAR_T_LOCK_FREE=1",
+ "__cpp_sized_deallocation=201309",
+ "__SIZEOF_PTRDIFF_T__=2",
+ "__AVR=1",
+ "__BUILTIN_AVR_ABSLK=1",
+ "__BUILTIN_AVR_ABSLR=1",
+ "__LACCUM_EPSILON__=0x1P-31LK",
+ "__DEC32_SUBNORMAL_MIN__=0.000001E-95DF",
+ "__INT_FAST16_MAX__=0x7fff",
+ "__UINT_FAST32_MAX__=0xffffffffUL",
+ "__UINT_LEAST64_TYPE__=long long unsigned int",
+ "__USACCUM_MAX__=0XFFFFP-8UHK",
+ "__SFRACT_EPSILON__=0x1P-7HR",
+ "__FLT_HAS_QUIET_NAN__=1",
+ "__FLT_MAX_10_EXP__=38",
+ "__LONG_MAX__=0x7fffffffL",
+ "__DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL",
+ "__FLT_HAS_INFINITY__=1",
+ "__cpp_unicode_literals=200710",
+ "__USA_FBIT__=16",
+ "__UINT_FAST16_TYPE__=unsigned int",
+ "__DEC64_MAX__=9.999999999999999E384DD",
+ "__INT_FAST32_WIDTH__=32",
+ "__BUILTIN_AVR_RBITS=1",
+ "__CHAR16_TYPE__=unsigned int",
+ "__PRAGMA_REDEFINE_EXTNAME=1",
+ "__SIZE_WIDTH__=16",
+ "__INT_LEAST16_MAX__=0x7fff",
+ "__DEC64_MANT_DIG__=16",
+ "__UINT_LEAST32_MAX__=0xffffffffUL",
+ "__SACCUM_FBIT__=7",
+ "__FLT32_DENORM_MIN__=1.40129846e-45F32",
+ "__GCC_ATOMIC_LONG_LOCK_FREE=1",
+ "__SIG_ATOMIC_WIDTH__=8",
+ "__INT_LEAST64_TYPE__=long long int",
+ "__INT16_TYPE__=int",
+ "__INT_LEAST8_TYPE__=signed char",
+ "__SQ_FBIT__=31",
+ "__DEC32_MAX_EXP__=97",
+ "__INT_FAST8_MAX__=0x7f",
+ "__INTPTR_MAX__=0x7fff",
+ "__QQ_FBIT__=7",
+ "__cpp_range_based_for=200907",
+ "__UTA_IBIT__=16",
+ "__AVR_ERRATA_SKIP__=1",
+ "__FLT32_MIN_10_EXP__=(-37)",
+ "__LDBL_MANT_DIG__=24",
+ "__SFRACT_FBIT__=7",
+ "__SACCUM_MIN__=(-0X1P7HK-0X1P7HK)",
+ "__DBL_HAS_QUIET_NAN__=1",
+ "__SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)",
+ "AVR=1",
+ "__BUILTIN_AVR_FMULS=1",
+ "__cpp_return_type_deduction=201304",
+ "__INTPTR_TYPE__=int",
+ "__UINT16_TYPE__=unsigned int",
+ "__WCHAR_TYPE__=int",
+ "__SIZEOF_FLOAT__=4",
+ "__AVR__=1",
+ "__BUILTIN_AVR_INSERT_BITS=1",
+ "__USQ_FBIT__=32",
+ "__UINTPTR_MAX__=0xffffU",
+ "__INT_FAST64_WIDTH__=64",
+ "__DEC64_MIN_EXP__=(-382)",
+ "__cpp_decltype=200707",
+ "__FLT32_DECIMAL_DIG__=9",
+ "__INT_FAST64_MAX__=0x7fffffffffffffffLL",
+ "__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1",
+ "__FLT_DIG__=6",
+ "__UINT_FAST64_TYPE__=long long unsigned int",
+ "__BUILTIN_AVR_BITSHK=1",
+ "__BUILTIN_AVR_BITSHR=1",
+ "__INT_MAX__=0x7fff",
+ "__LACCUM_FBIT__=31",
+ "__USACCUM_MIN__=0.0UHK",
+ "__UHA_IBIT__=8",
+ "__INT64_TYPE__=long long int",
+ "__BUILTIN_AVR_BITSLK=1",
+ "__BUILTIN_AVR_BITSLR=1",
+ "__FLT_MAX_EXP__=128",
+ "__UTQ_IBIT__=0",
+ "__DBL_MANT_DIG__=24",
+ "__cpp_inheriting_constructors=201511",
+ "__BUILTIN_AVR_ULLKBITS=1",
+ "__INT_LEAST64_MAX__=0x7fffffffffffffffLL",
+ "__DEC64_MIN__=1E-383DD",
+ "__WINT_TYPE__=int",
+ "__UINT_LEAST32_TYPE__=long unsigned int",
+ "__SIZEOF_SHORT__=2",
+ "__ULLFRACT_IBIT__=0",
+ "__LDBL_MIN_EXP__=(-125)",
+ "__UDA_IBIT__=32",
+ "__WINT_WIDTH__=16",
+ "__INT_LEAST8_MAX__=0x7f",
+ "__LFRACT_FBIT__=31",
+ "__LDBL_MAX_10_EXP__=38",
+ "__ATOMIC_RELAXED=0",
+ "__DBL_EPSILON__=double(1.19209290e-7L)",
+ "__BUILTIN_AVR_BITSUK=1",
+ "__BUILTIN_AVR_BITSUR=1",
+ "__UINT8_C(c)=c",
+ "__INT_LEAST32_TYPE__=long int",
+ "__BUILTIN_AVR_URBITS=1",
+ "__SIZEOF_WCHAR_T__=2",
+ "__LLFRACT_MAX__=0X7FFFFFFFFFFFFFFFP-63LLR",
+ "__TQ_FBIT__=127",
+ "__INT_FAST8_TYPE__=signed char",
+ "__ULLACCUM_EPSILON__=0x1P-48ULLK",
+ "__BUILTIN_AVR_ROUNDK=1",
+ "__BUILTIN_AVR_ROUNDR=1",
+ "__UHQ_IBIT__=0",
+ "__LLACCUM_IBIT__=16",
+ "__FLT32_EPSILON__=1.19209290e-7F32",
+ "__DBL_DECIMAL_DIG__=9",
+ "__STDC_UTF_32__=1",
+ "__INT_FAST8_WIDTH__=8",
+ "__DEC_EVAL_METHOD__=2",
+ "__TA_FBIT__=47",
+ "__UDQ_IBIT__=0",
+ "__ORDER_BIG_ENDIAN__=4321",
+ "__cpp_runtime_arrays=198712",
+ "__WITH_AVRLIBC__=1",
+ "__UINT64_TYPE__=long long unsigned int",
+ "__ACCUM_EPSILON__=0x1P-15K",
+ "__UINT32_C(c)=c ## UL",
+ "__BUILTIN_AVR_COUNTLSUHK=1",
+ "__INTMAX_MAX__=0x7fffffffffffffffLL",
+ "__cpp_alias_templates=200704",
+ "__BUILTIN_AVR_COUNTLSUHR=1",
+ "__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__",
+ "__FLT_DENORM_MIN__=1.40129846e-45F",
+ "__LLFRACT_IBIT__=0",
+ "__INT8_MAX__=0x7f",
+ "__LONG_WIDTH__=32",
+ "__UINT_FAST32_TYPE__=long unsigned int",
+ "__CHAR32_TYPE__=long unsigned int",
+ "__BUILTIN_AVR_COUNTLSULK=1",
+ "__BUILTIN_AVR_COUNTLSULR=1",
+ "__FLT_MAX__=3.40282347e+38F",
+ "__cpp_constexpr=201304",
+ "__USACCUM_FBIT__=8",
+ "__BUILTIN_AVR_COUNTLSFX=1",
+ "__INT32_TYPE__=long int",
+ "__SIZEOF_DOUBLE__=4",
+ "__FLT_MIN_10_EXP__=(-37)",
+ "__UFRACT_EPSILON__=0x1P-16UR",
+ "__INT_LEAST32_WIDTH__=32",
+ "__BUILTIN_AVR_COUNTLSHK=1",
+ "__BUILTIN_AVR_COUNTLSHR=1",
+ "__INTMAX_TYPE__=long long int",
+ "__BUILTIN_AVR_ABSLLK=1",
+ "__BUILTIN_AVR_ABSLLR=1",
+ "__DEC128_MAX_EXP__=6145",
+ "__AVR_HAVE_16BIT_SP__=1",
+ "__ATOMIC_CONSUME=1",
+ "__GNUC_MINOR__=3",
+ "__INT_FAST16_WIDTH__=16",
+ "__UINTMAX_MAX__=0xffffffffffffffffULL",
+ "__DEC32_MANT_DIG__=7",
+ "__HA_FBIT__=7",
+ "__BUILTIN_AVR_COUNTLSLK=1",
+ "__BUILTIN_AVR_COUNTLSLR=1",
+ "__BUILTIN_AVR_CLI=1",
+ "__DBL_MAX_10_EXP__=38",
+ "__LDBL_DENORM_MIN__=1.40129846e-45L",
+ "__INT16_C(c)=c",
+ "__cpp_generic_lambdas=201304",
+ "__STDC__=1",
+ "__PTRDIFF_TYPE__=int",
+ "__LLFRACT_MIN__=(-0.5LLR-0.5LLR)",
+ "__BUILTIN_AVR_LRBITS=1",
+ "__ATOMIC_SEQ_CST=5",
+ "__DA_FBIT__=31",
+ "__UINT32_TYPE__=long unsigned int",
+ "__BUILTIN_AVR_ROUNDLLK=1",
+ "__UINTPTR_TYPE__=unsigned int",
+ "__BUILTIN_AVR_ROUNDLLR=1",
+ "__USA_IBIT__=16",
+ "__BUILTIN_AVR_ULRBITS=1",
+ "__DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD",
+ "__DEC128_MANT_DIG__=34",
+ "__LDBL_MIN_10_EXP__=(-37)",
+ "__BUILTIN_AVR_COUNTLSUK=1",
+ "__BUILTIN_AVR_COUNTLSUR=1",
+ "__SIZEOF_LONG_LONG__=8",
+ "__ULACCUM_EPSILON__=0x1P-32ULK",
+ "__cpp_user_defined_literals=200809",
+ "__SACCUM_IBIT__=8",
+ "__GCC_ATOMIC_LLONG_LOCK_FREE=1",
+ "__LDBL_DIG__=6",
+ "__FLT_DECIMAL_DIG__=9",
+ "__UINT_FAST16_MAX__=0xffffU",
+ "__GCC_ATOMIC_SHORT_LOCK_FREE=1",
+ "__BUILTIN_AVR_ABSHK=1",
+ "__BUILTIN_AVR_FLASH_SEGMENT=1",
+ "__INT_LEAST64_WIDTH__=64",
+ "__ULLFRACT_MAX__=0XFFFFFFFFFFFFFFFFP-64ULLR",
+ "__UINT_FAST8_TYPE__=unsigned char",
+ "__USFRACT_EPSILON__=0x1P-8UHR",
+ "__ULACCUM_FBIT__=32",
+ "__QQ_IBIT__=0",
+ "__cpp_init_captures=201304",
+ "__ATOMIC_ACQ_REL=4",
+ "__ATOMIC_RELEASE=3",
+ "__BUILTIN_AVR_FMUL=1",
+ "USBCON"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/generated_examples/MotorTest/MotorTest.ino b/generated_examples/MotorTest/MotorTest.ino
new file mode 100644
index 0000000..422335a
--- /dev/null
+++ b/generated_examples/MotorTest/MotorTest.ino
@@ -0,0 +1,50 @@
+
+void setup()
+{
+
+ // Setup Channel A
+ pinMode(12, OUTPUT); // Initiates Motor Channel A pin
+ pinMode(9, OUTPUT); // Initiates Brake Channel A pin
+
+ // Setup Channel B
+ pinMode(13, OUTPUT); // Initiates Motor Channel A pin
+ pinMode(8, OUTPUT); // Initiates Brake Channel A pin
+}
+
+void loop()
+{
+
+ // Motor A forward @ full speed
+ digitalWrite(12, HIGH); // Establishes forward direction of Channel A
+ digitalWrite(9, LOW); // Disengage the Brake for Channel A
+ analogWrite(3, 255); // Spins the motor on Channel A at full speed
+
+ // Motor B backward @ half speed
+ digitalWrite(13, LOW); // Establishes backward direction of Channel B
+ digitalWrite(8, LOW); // Disengage the Brake for Channel B
+ analogWrite(11, 123); // Spins the motor on Channel B at half speed
+
+ delay(3000);
+
+ digitalWrite(9, HIGH); // Engage the Brake for Channel A
+ digitalWrite(9, HIGH); // Engage the Brake for Channel B
+
+ delay(1000);
+
+ // Motor A forward @ full speed
+ digitalWrite(12, LOW); // Establishes backward direction of Channel A
+ digitalWrite(9, LOW); // Disengage the Brake for Channel A
+ analogWrite(3, 123); // Spins the motor on Channel A at half speed
+
+ // Motor B forward @ full speed
+ digitalWrite(13, HIGH); // Establishes forward direction of Channel B
+ digitalWrite(8, LOW); // Disengage the Brake for Channel B
+ analogWrite(11, 255); // Spins the motor on Channel B at full speed
+
+ delay(3000);
+
+ digitalWrite(9, HIGH); // Engage the Brake for Channel A
+ digitalWrite(9, HIGH); // Engage the Brake for Channel B
+
+ delay(1000);
+}
diff --git a/generated_examples/MotorTest/but.png b/generated_examples/MotorTest/but.png
new file mode 100644
index 0000000..da8f7c2
--- /dev/null
+++ b/generated_examples/MotorTest/but.png
Binary files differ
diff --git a/test_motor/.vscode/arduino.json b/test_motor/.vscode/arduino.json
new file mode 100644
index 0000000..cfc8883
--- /dev/null
+++ b/test_motor/.vscode/arduino.json
@@ -0,0 +1,5 @@
+{
+ "board": "arduino:avr:uno",
+ "sketch": "test_motor.ino",
+ "port": "/dev/ttyACM0"
+} \ No newline at end of file
diff --git a/test_motor/.vscode/c_cpp_properties.json b/test_motor/.vscode/c_cpp_properties.json
new file mode 100644
index 0000000..8ea0b19
--- /dev/null
+++ b/test_motor/.vscode/c_cpp_properties.json
@@ -0,0 +1,539 @@
+{
+ "version": 4,
+ "configurations": [
+ {
+ "name": "Arduino",
+ "compilerPath": "/home/bendn/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++",
+ "compilerArgs": [
+ "-w",
+ "-std=gnu++11",
+ "-fpermissive",
+ "-fno-exceptions",
+ "-ffunction-sections",
+ "-fdata-sections",
+ "-fno-threadsafe-statics",
+ "-Wno-error=narrowing"
+ ],
+ "intelliSenseMode": "gcc-x64",
+ "includePath": [
+ "/home/bendn/.arduino15/packages/arduino/hardware/avr/1.8.4/cores/arduino",
+ "/home/bendn/.arduino15/packages/arduino/hardware/avr/1.8.4/variants/standard",
+ "/home/bendn/Arduino/libraries/AFMotor",
+ "/home/bendn/Arduino/libraries/RobotMotor",
+ "/home/bendn/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/lib/gcc/avr/7.3.0/include",
+ "/home/bendn/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/lib/gcc/avr/7.3.0/include-fixed",
+ "/home/bendn/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/avr/include"
+ ],
+ "forcedInclude": [
+ "/home/bendn/.arduino15/packages/arduino/hardware/avr/1.8.4/cores/arduino/Arduino.h"
+ ],
+ "cStandard": "c11",
+ "cppStandard": "c++11",
+ "defines": [
+ "F_CPU=16000000L",
+ "ARDUINO=10607",
+ "ARDUINO_AVR_UNO",
+ "ARDUINO_ARCH_AVR",
+ "__DBL_MIN_EXP__=(-125)",
+ "__HQ_FBIT__=15",
+ "__cpp_attributes=200809",
+ "__UINT_LEAST16_MAX__=0xffffU",
+ "__ATOMIC_ACQUIRE=2",
+ "__SFRACT_IBIT__=0",
+ "__FLT_MIN__=1.17549435e-38F",
+ "__GCC_IEC_559_COMPLEX=0",
+ "__BUILTIN_AVR_SLEEP=1",
+ "__BUILTIN_AVR_COUNTLSULLK=1",
+ "__cpp_aggregate_nsdmi=201304",
+ "__BUILTIN_AVR_COUNTLSULLR=1",
+ "__UFRACT_MAX__=0XFFFFP-16UR",
+ "__UINT_LEAST8_TYPE__=unsigned char",
+ "__DQ_FBIT__=63",
+ "__INTMAX_C(c)=c ## LL",
+ "__ULFRACT_FBIT__=32",
+ "__SACCUM_EPSILON__=0x1P-7HK",
+ "__CHAR_BIT__=8",
+ "__USQ_IBIT__=0",
+ "__UINT8_MAX__=0xff",
+ "__ACCUM_FBIT__=15",
+ "__WINT_MAX__=0x7fff",
+ "__FLT32_MIN_EXP__=(-125)",
+ "__cpp_static_assert=200410",
+ "__USFRACT_FBIT__=8",
+ "__ORDER_LITTLE_ENDIAN__=1234",
+ "__SIZE_MAX__=0xffffU",
+ "__WCHAR_MAX__=0x7fff",
+ "__LACCUM_IBIT__=32",
+ "__DBL_DENORM_MIN__=double(1.40129846e-45L)",
+ "__GCC_ATOMIC_CHAR_LOCK_FREE=1",
+ "__GCC_IEC_559=0",
+ "__FLT_EVAL_METHOD__=0",
+ "__BUILTIN_AVR_LLKBITS=1",
+ "__cpp_binary_literals=201304",
+ "__LLACCUM_MAX__=0X7FFFFFFFFFFFFFFFP-47LLK",
+ "__GCC_ATOMIC_CHAR32_T_LOCK_FREE=1",
+ "__BUILTIN_AVR_HKBITS=1",
+ "__BUILTIN_AVR_BITSLLK=1",
+ "__FRACT_FBIT__=15",
+ "__BUILTIN_AVR_BITSLLR=1",
+ "__cpp_variadic_templates=200704",
+ "__UINT_FAST64_MAX__=0xffffffffffffffffULL",
+ "__SIG_ATOMIC_TYPE__=char",
+ "__BUILTIN_AVR_UHKBITS=1",
+ "__UACCUM_FBIT__=16",
+ "__DBL_MIN_10_EXP__=(-37)",
+ "__FINITE_MATH_ONLY__=0",
+ "__cpp_variable_templates=201304",
+ "__LFRACT_IBIT__=0",
+ "__GNUC_PATCHLEVEL__=0",
+ "__FLT32_HAS_DENORM__=1",
+ "__LFRACT_MAX__=0X7FFFFFFFP-31LR",
+ "__UINT_FAST8_MAX__=0xff",
+ "__has_include(STR)=__has_include__(STR)",
+ "__DEC64_MAX_EXP__=385",
+ "__INT8_C(c)=c",
+ "__INT_LEAST8_WIDTH__=8",
+ "__UINT_LEAST64_MAX__=0xffffffffffffffffULL",
+ "__SA_FBIT__=15",
+ "__SHRT_MAX__=0x7fff",
+ "__LDBL_MAX__=3.40282347e+38L",
+ "__FRACT_MAX__=0X7FFFP-15R",
+ "__UFRACT_FBIT__=16",
+ "__UFRACT_MIN__=0.0UR",
+ "__UINT_LEAST8_MAX__=0xff",
+ "__GCC_ATOMIC_BOOL_LOCK_FREE=1",
+ "__UINTMAX_TYPE__=long long unsigned int",
+ "__LLFRACT_EPSILON__=0x1P-63LLR",
+ "__BUILTIN_AVR_DELAY_CYCLES=1",
+ "__DEC32_EPSILON__=1E-6DF",
+ "__FLT_EVAL_METHOD_TS_18661_3__=0",
+ "__UINT32_MAX__=0xffffffffUL",
+ "__GXX_EXPERIMENTAL_CXX0X__=1",
+ "__ULFRACT_MAX__=0XFFFFFFFFP-32ULR",
+ "__TA_IBIT__=16",
+ "__LDBL_MAX_EXP__=128",
+ "__WINT_MIN__=(-__WINT_MAX__ - 1)",
+ "__INT_LEAST16_WIDTH__=16",
+ "__ULLFRACT_MIN__=0.0ULLR",
+ "__SCHAR_MAX__=0x7f",
+ "__WCHAR_MIN__=(-__WCHAR_MAX__ - 1)",
+ "__INT64_C(c)=c ## LL",
+ "__DBL_DIG__=6",
+ "__GCC_ATOMIC_POINTER_LOCK_FREE=1",
+ "__AVR_HAVE_SPH__=1",
+ "__LLACCUM_MIN__=(-0X1P15LLK-0X1P15LLK)",
+ "__BUILTIN_AVR_KBITS=1",
+ "__BUILTIN_AVR_ABSK=1",
+ "__BUILTIN_AVR_ABSR=1",
+ "__SIZEOF_INT__=2",
+ "__SIZEOF_POINTER__=2",
+ "__GCC_ATOMIC_CHAR16_T_LOCK_FREE=1",
+ "__USACCUM_IBIT__=8",
+ "__USER_LABEL_PREFIX__",
+ "__STDC_HOSTED__=1",
+ "__LDBL_HAS_INFINITY__=1",
+ "__LFRACT_MIN__=(-0.5LR-0.5LR)",
+ "__HA_IBIT__=8",
+ "__FLT32_DIG__=6",
+ "__TQ_IBIT__=0",
+ "__FLT_EPSILON__=1.19209290e-7F",
+ "__GXX_WEAK__=1",
+ "__SHRT_WIDTH__=16",
+ "__USFRACT_IBIT__=0",
+ "__LDBL_MIN__=1.17549435e-38L",
+ "__FRACT_MIN__=(-0.5R-0.5R)",
+ "__AVR_SFR_OFFSET__=0x20",
+ "__DEC32_MAX__=9.999999E96DF",
+ "__cpp_threadsafe_static_init=200806",
+ "__DA_IBIT__=32",
+ "__INT32_MAX__=0x7fffffffL",
+ "__UQQ_FBIT__=8",
+ "__INT_WIDTH__=16",
+ "__SIZEOF_LONG__=4",
+ "__UACCUM_MAX__=0XFFFFFFFFP-16UK",
+ "__UINT16_C(c)=c ## U",
+ "__PTRDIFF_WIDTH__=16",
+ "__DECIMAL_DIG__=9",
+ "__LFRACT_EPSILON__=0x1P-31LR",
+ "__AVR_2_BYTE_PC__=1",
+ "__ULFRACT_MIN__=0.0ULR",
+ "__INTMAX_WIDTH__=64",
+ "__has_include_next(STR)=__has_include_next__(STR)",
+ "__BUILTIN_AVR_ULLRBITS=1",
+ "__LDBL_HAS_QUIET_NAN__=1",
+ "__ULACCUM_IBIT__=32",
+ "__UACCUM_EPSILON__=0x1P-16UK",
+ "__BUILTIN_AVR_SEI=1",
+ "__GNUC__=7",
+ "__ULLACCUM_MAX__=0XFFFFFFFFFFFFFFFFP-48ULLK",
+ "__cpp_delegating_constructors=200604",
+ "__HQ_IBIT__=0",
+ "__BUILTIN_AVR_SWAP=1",
+ "__FLT_HAS_DENORM__=1",
+ "__SIZEOF_LONG_DOUBLE__=4",
+ "__BIGGEST_ALIGNMENT__=1",
+ "__STDC_UTF_16__=1",
+ "__UINT24_MAX__=16777215UL",
+ "__BUILTIN_AVR_NOP=1",
+ "__GNUC_STDC_INLINE__=1",
+ "__DQ_IBIT__=0",
+ "__FLT32_HAS_INFINITY__=1",
+ "__DBL_MAX__=double(3.40282347e+38L)",
+ "__ULFRACT_IBIT__=0",
+ "__cpp_raw_strings=200710",
+ "__INT_FAST32_MAX__=0x7fffffffL",
+ "__DBL_HAS_INFINITY__=1",
+ "__INT64_MAX__=0x7fffffffffffffffLL",
+ "__ACCUM_IBIT__=16",
+ "__DEC32_MIN_EXP__=(-94)",
+ "__BUILTIN_AVR_UKBITS=1",
+ "__INTPTR_WIDTH__=16",
+ "__BUILTIN_AVR_FMULSU=1",
+ "__LACCUM_MAX__=0X7FFFFFFFFFFFFFFFP-31LK",
+ "__INT_FAST16_TYPE__=int",
+ "__LDBL_HAS_DENORM__=1",
+ "__BUILTIN_AVR_BITSK=1",
+ "__BUILTIN_AVR_BITSR=1",
+ "__cplusplus=201402L",
+ "__cpp_ref_qualifiers=200710",
+ "__DEC128_MAX__=9.999999999999999999999999999999999E6144DL",
+ "__INT_LEAST32_MAX__=0x7fffffffL",
+ "__USING_SJLJ_EXCEPTIONS__=1",
+ "__DEC32_MIN__=1E-95DF",
+ "__ACCUM_MAX__=0X7FFFFFFFP-15K",
+ "__DEPRECATED=1",
+ "__cpp_rvalue_references=200610",
+ "__DBL_MAX_EXP__=128",
+ "__USACCUM_EPSILON__=0x1P-8UHK",
+ "__WCHAR_WIDTH__=16",
+ "__FLT32_MAX__=3.40282347e+38F32",
+ "__DEC128_EPSILON__=1E-33DL",
+ "__SFRACT_MAX__=0X7FP-7HR",
+ "__FRACT_IBIT__=0",
+ "__PTRDIFF_MAX__=0x7fff",
+ "__UACCUM_MIN__=0.0UK",
+ "__UACCUM_IBIT__=16",
+ "__BUILTIN_AVR_NOPS=1",
+ "__BUILTIN_AVR_WDR=1",
+ "__FLT32_HAS_QUIET_NAN__=1",
+ "__GNUG__=7",
+ "__LONG_LONG_MAX__=0x7fffffffffffffffLL",
+ "__SIZEOF_SIZE_T__=2",
+ "__ULACCUM_MAX__=0XFFFFFFFFFFFFFFFFP-32ULK",
+ "__cpp_rvalue_reference=200610",
+ "__cpp_nsdmi=200809",
+ "__SIZEOF_WINT_T__=2",
+ "__LONG_LONG_WIDTH__=64",
+ "__cpp_initializer_lists=200806",
+ "__FLT32_MAX_EXP__=128",
+ "__SA_IBIT__=16",
+ "__ULLACCUM_MIN__=0.0ULLK",
+ "__BUILTIN_AVR_ROUNDUHK=1",
+ "__BUILTIN_AVR_ROUNDUHR=1",
+ "__cpp_hex_float=201603",
+ "__GXX_ABI_VERSION=1011",
+ "__INT24_MAX__=8388607L",
+ "__UTA_FBIT__=48",
+ "__FLT_MIN_EXP__=(-125)",
+ "__USFRACT_MAX__=0XFFP-8UHR",
+ "__UFRACT_IBIT__=0",
+ "__BUILTIN_AVR_ROUNDFX=1",
+ "__BUILTIN_AVR_ROUNDULK=1",
+ "__BUILTIN_AVR_ROUNDULR=1",
+ "__cpp_lambdas=200907",
+ "__BUILTIN_AVR_COUNTLSLLK=1",
+ "__BUILTIN_AVR_COUNTLSLLR=1",
+ "__BUILTIN_AVR_ROUNDHK=1",
+ "__INT_FAST64_TYPE__=long long int",
+ "__BUILTIN_AVR_ROUNDHR=1",
+ "__DBL_MIN__=double(1.17549435e-38L)",
+ "__BUILTIN_AVR_COUNTLSK=1",
+ "__BUILTIN_AVR_ROUNDLK=1",
+ "__BUILTIN_AVR_COUNTLSR=1",
+ "__BUILTIN_AVR_ROUNDLR=1",
+ "__LACCUM_MIN__=(-0X1P31LK-0X1P31LK)",
+ "__ULLACCUM_FBIT__=48",
+ "__BUILTIN_AVR_LKBITS=1",
+ "__ULLFRACT_EPSILON__=0x1P-64ULLR",
+ "__DEC128_MIN__=1E-6143DL",
+ "__REGISTER_PREFIX__",
+ "__UINT16_MAX__=0xffffU",
+ "__DBL_HAS_DENORM__=1",
+ "__BUILTIN_AVR_ULKBITS=1",
+ "__ACCUM_MIN__=(-0X1P15K-0X1P15K)",
+ "__AVR_ARCH__=2",
+ "__SQ_IBIT__=0",
+ "__FLT32_MIN__=1.17549435e-38F32",
+ "__UINT8_TYPE__=unsigned char",
+ "__BUILTIN_AVR_ROUNDUK=1",
+ "__BUILTIN_AVR_ROUNDUR=1",
+ "__UHA_FBIT__=8",
+ "__NO_INLINE__=1",
+ "__SFRACT_MIN__=(-0.5HR-0.5HR)",
+ "__UTQ_FBIT__=128",
+ "__FLT_MANT_DIG__=24",
+ "__LDBL_DECIMAL_DIG__=9",
+ "__VERSION__=\"7.3.0\"",
+ "__UINT64_C(c)=c ## ULL",
+ "__ULLFRACT_FBIT__=64",
+ "__cpp_unicode_characters=200704",
+ "__FRACT_EPSILON__=0x1P-15R",
+ "__ULACCUM_MIN__=0.0ULK",
+ "__UDA_FBIT__=32",
+ "__cpp_decltype_auto=201304",
+ "__LLACCUM_EPSILON__=0x1P-47LLK",
+ "__GCC_ATOMIC_INT_LOCK_FREE=1",
+ "__FLT32_MANT_DIG__=24",
+ "__BUILTIN_AVR_BITSUHK=1",
+ "__BUILTIN_AVR_BITSUHR=1",
+ "__FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__",
+ "__USFRACT_MIN__=0.0UHR",
+ "__BUILTIN_AVR_BITSULK=1",
+ "__ULLACCUM_IBIT__=16",
+ "__BUILTIN_AVR_BITSULR=1",
+ "__UQQ_IBIT__=0",
+ "__BUILTIN_AVR_LLRBITS=1",
+ "__SCHAR_WIDTH__=8",
+ "__BUILTIN_AVR_BITSULLK=1",
+ "__BUILTIN_AVR_BITSULLR=1",
+ "__INT32_C(c)=c ## L",
+ "__DEC64_EPSILON__=1E-15DD",
+ "__ORDER_PDP_ENDIAN__=3412",
+ "__DEC128_MIN_EXP__=(-6142)",
+ "__UHQ_FBIT__=16",
+ "__LLACCUM_FBIT__=47",
+ "__FLT32_MAX_10_EXP__=38",
+ "__BUILTIN_AVR_ROUNDULLK=1",
+ "__BUILTIN_AVR_ROUNDULLR=1",
+ "__INT_FAST32_TYPE__=long int",
+ "__BUILTIN_AVR_HRBITS=1",
+ "__UINT_LEAST16_TYPE__=unsigned int",
+ "__BUILTIN_AVR_UHRBITS=1",
+ "__INT16_MAX__=0x7fff",
+ "__SIZE_TYPE__=unsigned int",
+ "__UINT64_MAX__=0xffffffffffffffffULL",
+ "__UDQ_FBIT__=64",
+ "__INT8_TYPE__=signed char",
+ "__cpp_digit_separators=201309",
+ "__ELF__=1",
+ "__ULFRACT_EPSILON__=0x1P-32ULR",
+ "__LLFRACT_FBIT__=63",
+ "__FLT_RADIX__=2",
+ "__INT_LEAST16_TYPE__=int",
+ "__BUILTIN_AVR_ABSFX=1",
+ "__LDBL_EPSILON__=1.19209290e-7L",
+ "__UINTMAX_C(c)=c ## ULL",
+ "__INT24_MIN__=(-__INT24_MAX__-1)",
+ "__SACCUM_MAX__=0X7FFFP-7HK",
+ "__BUILTIN_AVR_ABSHR=1",
+ "__SIG_ATOMIC_MAX__=0x7f",
+ "__GCC_ATOMIC_WCHAR_T_LOCK_FREE=1",
+ "__cpp_sized_deallocation=201309",
+ "__SIZEOF_PTRDIFF_T__=2",
+ "__AVR=1",
+ "__BUILTIN_AVR_ABSLK=1",
+ "__BUILTIN_AVR_ABSLR=1",
+ "__LACCUM_EPSILON__=0x1P-31LK",
+ "__DEC32_SUBNORMAL_MIN__=0.000001E-95DF",
+ "__INT_FAST16_MAX__=0x7fff",
+ "__UINT_FAST32_MAX__=0xffffffffUL",
+ "__UINT_LEAST64_TYPE__=long long unsigned int",
+ "__USACCUM_MAX__=0XFFFFP-8UHK",
+ "__SFRACT_EPSILON__=0x1P-7HR",
+ "__FLT_HAS_QUIET_NAN__=1",
+ "__FLT_MAX_10_EXP__=38",
+ "__LONG_MAX__=0x7fffffffL",
+ "__DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL",
+ "__FLT_HAS_INFINITY__=1",
+ "__cpp_unicode_literals=200710",
+ "__USA_FBIT__=16",
+ "__UINT_FAST16_TYPE__=unsigned int",
+ "__DEC64_MAX__=9.999999999999999E384DD",
+ "__INT_FAST32_WIDTH__=32",
+ "__BUILTIN_AVR_RBITS=1",
+ "__CHAR16_TYPE__=unsigned int",
+ "__PRAGMA_REDEFINE_EXTNAME=1",
+ "__SIZE_WIDTH__=16",
+ "__INT_LEAST16_MAX__=0x7fff",
+ "__DEC64_MANT_DIG__=16",
+ "__UINT_LEAST32_MAX__=0xffffffffUL",
+ "__SACCUM_FBIT__=7",
+ "__FLT32_DENORM_MIN__=1.40129846e-45F32",
+ "__GCC_ATOMIC_LONG_LOCK_FREE=1",
+ "__SIG_ATOMIC_WIDTH__=8",
+ "__INT_LEAST64_TYPE__=long long int",
+ "__INT16_TYPE__=int",
+ "__INT_LEAST8_TYPE__=signed char",
+ "__SQ_FBIT__=31",
+ "__DEC32_MAX_EXP__=97",
+ "__INT_FAST8_MAX__=0x7f",
+ "__INTPTR_MAX__=0x7fff",
+ "__QQ_FBIT__=7",
+ "__cpp_range_based_for=200907",
+ "__UTA_IBIT__=16",
+ "__AVR_ERRATA_SKIP__=1",
+ "__FLT32_MIN_10_EXP__=(-37)",
+ "__LDBL_MANT_DIG__=24",
+ "__SFRACT_FBIT__=7",
+ "__SACCUM_MIN__=(-0X1P7HK-0X1P7HK)",
+ "__DBL_HAS_QUIET_NAN__=1",
+ "__SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)",
+ "AVR=1",
+ "__BUILTIN_AVR_FMULS=1",
+ "__cpp_return_type_deduction=201304",
+ "__INTPTR_TYPE__=int",
+ "__UINT16_TYPE__=unsigned int",
+ "__WCHAR_TYPE__=int",
+ "__SIZEOF_FLOAT__=4",
+ "__AVR__=1",
+ "__BUILTIN_AVR_INSERT_BITS=1",
+ "__USQ_FBIT__=32",
+ "__UINTPTR_MAX__=0xffffU",
+ "__INT_FAST64_WIDTH__=64",
+ "__DEC64_MIN_EXP__=(-382)",
+ "__cpp_decltype=200707",
+ "__FLT32_DECIMAL_DIG__=9",
+ "__INT_FAST64_MAX__=0x7fffffffffffffffLL",
+ "__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1",
+ "__FLT_DIG__=6",
+ "__UINT_FAST64_TYPE__=long long unsigned int",
+ "__BUILTIN_AVR_BITSHK=1",
+ "__BUILTIN_AVR_BITSHR=1",
+ "__INT_MAX__=0x7fff",
+ "__LACCUM_FBIT__=31",
+ "__USACCUM_MIN__=0.0UHK",
+ "__UHA_IBIT__=8",
+ "__INT64_TYPE__=long long int",
+ "__BUILTIN_AVR_BITSLK=1",
+ "__BUILTIN_AVR_BITSLR=1",
+ "__FLT_MAX_EXP__=128",
+ "__UTQ_IBIT__=0",
+ "__DBL_MANT_DIG__=24",
+ "__cpp_inheriting_constructors=201511",
+ "__BUILTIN_AVR_ULLKBITS=1",
+ "__INT_LEAST64_MAX__=0x7fffffffffffffffLL",
+ "__DEC64_MIN__=1E-383DD",
+ "__WINT_TYPE__=int",
+ "__UINT_LEAST32_TYPE__=long unsigned int",
+ "__SIZEOF_SHORT__=2",
+ "__ULLFRACT_IBIT__=0",
+ "__LDBL_MIN_EXP__=(-125)",
+ "__UDA_IBIT__=32",
+ "__WINT_WIDTH__=16",
+ "__INT_LEAST8_MAX__=0x7f",
+ "__LFRACT_FBIT__=31",
+ "__LDBL_MAX_10_EXP__=38",
+ "__ATOMIC_RELAXED=0",
+ "__DBL_EPSILON__=double(1.19209290e-7L)",
+ "__BUILTIN_AVR_BITSUK=1",
+ "__BUILTIN_AVR_BITSUR=1",
+ "__UINT8_C(c)=c",
+ "__INT_LEAST32_TYPE__=long int",
+ "__BUILTIN_AVR_URBITS=1",
+ "__SIZEOF_WCHAR_T__=2",
+ "__LLFRACT_MAX__=0X7FFFFFFFFFFFFFFFP-63LLR",
+ "__TQ_FBIT__=127",
+ "__INT_FAST8_TYPE__=signed char",
+ "__ULLACCUM_EPSILON__=0x1P-48ULLK",
+ "__BUILTIN_AVR_ROUNDK=1",
+ "__BUILTIN_AVR_ROUNDR=1",
+ "__UHQ_IBIT__=0",
+ "__LLACCUM_IBIT__=16",
+ "__FLT32_EPSILON__=1.19209290e-7F32",
+ "__DBL_DECIMAL_DIG__=9",
+ "__STDC_UTF_32__=1",
+ "__INT_FAST8_WIDTH__=8",
+ "__DEC_EVAL_METHOD__=2",
+ "__TA_FBIT__=47",
+ "__UDQ_IBIT__=0",
+ "__ORDER_BIG_ENDIAN__=4321",
+ "__cpp_runtime_arrays=198712",
+ "__WITH_AVRLIBC__=1",
+ "__UINT64_TYPE__=long long unsigned int",
+ "__ACCUM_EPSILON__=0x1P-15K",
+ "__UINT32_C(c)=c ## UL",
+ "__BUILTIN_AVR_COUNTLSUHK=1",
+ "__INTMAX_MAX__=0x7fffffffffffffffLL",
+ "__cpp_alias_templates=200704",
+ "__BUILTIN_AVR_COUNTLSUHR=1",
+ "__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__",
+ "__FLT_DENORM_MIN__=1.40129846e-45F",
+ "__LLFRACT_IBIT__=0",
+ "__INT8_MAX__=0x7f",
+ "__LONG_WIDTH__=32",
+ "__UINT_FAST32_TYPE__=long unsigned int",
+ "__CHAR32_TYPE__=long unsigned int",
+ "__BUILTIN_AVR_COUNTLSULK=1",
+ "__BUILTIN_AVR_COUNTLSULR=1",
+ "__FLT_MAX__=3.40282347e+38F",
+ "__cpp_constexpr=201304",
+ "__USACCUM_FBIT__=8",
+ "__BUILTIN_AVR_COUNTLSFX=1",
+ "__INT32_TYPE__=long int",
+ "__SIZEOF_DOUBLE__=4",
+ "__FLT_MIN_10_EXP__=(-37)",
+ "__UFRACT_EPSILON__=0x1P-16UR",
+ "__INT_LEAST32_WIDTH__=32",
+ "__BUILTIN_AVR_COUNTLSHK=1",
+ "__BUILTIN_AVR_COUNTLSHR=1",
+ "__INTMAX_TYPE__=long long int",
+ "__BUILTIN_AVR_ABSLLK=1",
+ "__BUILTIN_AVR_ABSLLR=1",
+ "__DEC128_MAX_EXP__=6145",
+ "__AVR_HAVE_16BIT_SP__=1",
+ "__ATOMIC_CONSUME=1",
+ "__GNUC_MINOR__=3",
+ "__INT_FAST16_WIDTH__=16",
+ "__UINTMAX_MAX__=0xffffffffffffffffULL",
+ "__DEC32_MANT_DIG__=7",
+ "__HA_FBIT__=7",
+ "__BUILTIN_AVR_COUNTLSLK=1",
+ "__BUILTIN_AVR_COUNTLSLR=1",
+ "__BUILTIN_AVR_CLI=1",
+ "__DBL_MAX_10_EXP__=38",
+ "__LDBL_DENORM_MIN__=1.40129846e-45L",
+ "__INT16_C(c)=c",
+ "__cpp_generic_lambdas=201304",
+ "__STDC__=1",
+ "__PTRDIFF_TYPE__=int",
+ "__LLFRACT_MIN__=(-0.5LLR-0.5LLR)",
+ "__BUILTIN_AVR_LRBITS=1",
+ "__ATOMIC_SEQ_CST=5",
+ "__DA_FBIT__=31",
+ "__UINT32_TYPE__=long unsigned int",
+ "__BUILTIN_AVR_ROUNDLLK=1",
+ "__UINTPTR_TYPE__=unsigned int",
+ "__BUILTIN_AVR_ROUNDLLR=1",
+ "__USA_IBIT__=16",
+ "__BUILTIN_AVR_ULRBITS=1",
+ "__DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD",
+ "__DEC128_MANT_DIG__=34",
+ "__LDBL_MIN_10_EXP__=(-37)",
+ "__BUILTIN_AVR_COUNTLSUK=1",
+ "__BUILTIN_AVR_COUNTLSUR=1",
+ "__SIZEOF_LONG_LONG__=8",
+ "__ULACCUM_EPSILON__=0x1P-32ULK",
+ "__cpp_user_defined_literals=200809",
+ "__SACCUM_IBIT__=8",
+ "__GCC_ATOMIC_LLONG_LOCK_FREE=1",
+ "__LDBL_DIG__=6",
+ "__FLT_DECIMAL_DIG__=9",
+ "__UINT_FAST16_MAX__=0xffffU",
+ "__GCC_ATOMIC_SHORT_LOCK_FREE=1",
+ "__BUILTIN_AVR_ABSHK=1",
+ "__BUILTIN_AVR_FLASH_SEGMENT=1",
+ "__INT_LEAST64_WIDTH__=64",
+ "__ULLFRACT_MAX__=0XFFFFFFFFFFFFFFFFP-64ULLR",
+ "__UINT_FAST8_TYPE__=unsigned char",
+ "__USFRACT_EPSILON__=0x1P-8UHR",
+ "__ULACCUM_FBIT__=32",
+ "__QQ_IBIT__=0",
+ "__cpp_init_captures=201304",
+ "__ATOMIC_ACQ_REL=4",
+ "__ATOMIC_RELEASE=3",
+ "__BUILTIN_AVR_FMUL=1",
+ "USBCON"
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/test_motor/test_motor.ino b/test_motor/test_motor.ino
new file mode 100644
index 0000000..af2b789
--- /dev/null
+++ b/test_motor/test_motor.ino
@@ -0,0 +1,13 @@
+#include <AFMotor.h> // adafruit motor shield library
+#include "RobotMotor.h"
+
+void setup(){
+ motorBegin(MOTOR_LEFT);
+ motorBegin(MOTOR_RIGHT);
+ motorSetSpeed(MOTOR_LEFT, 15);
+ motorSetSpeed(MOTOR_RIGHT, 15);
+ motorStop(MOTOR_LEFT);
+ motorStop(MOTOR_RIGHT);
+}
+
+void loop(){} \ No newline at end of file