From 6cc8af24b9d6d4aa616f88b3e1e5060ad2f8d4a9 Mon Sep 17 00:00:00 2001
From: Felipe Neves <ryukokki.felipe@gmail.com>
Date: Sun, 7 Jul 2024 13:06:13 -0300
Subject: [PATCH] arch: refactor espFoC to be a motor control solution instead
 of a library

Signed-off-by: Felipe Neves <ryukokki.felipe@gmail.com>
---
 CMakeLists.txt                                |   0
 README.md                                     |  14 +-
 app/CMakeLists.txt                            |  41 +++
 app/boards/esp32s3_devkitm.conf               |   1 +
 app/boards/esp32s3_devkitm.overlay            |  19 ++
 app/espfoc_app_core/esp_foc_app_shell.c       |  60 ++++
 app/espfoc_app_core/esp_foc_main.c            |  54 ++++
 app/espfoc_app_core/esp_foc_user.c            |  32 +++
 app/espfoc_motor_core/CMakeLists.txt          |  19 ++
 .../boards/esp32s3_devkitm_appcpu.overlay     | 172 +++++++++++
 app/espfoc_motor_core/esp_foc_hardware_if.c   | 268 ++++++++++++++++++
 .../espfoc_motor_core/esp_foc_hardware_if.h   |  13 +-
 app/espfoc_motor_core/esp_foc_motor.c         | 160 +++++++++++
 app/espfoc_motor_core/prj.conf                |  13 +
 app/prj.conf                                  |   6 +
 common/include/espFoC/ipc/esp_foc_ipc.h       |  86 ++++++
 .../include/espFoC/motor_control}/esp_foc.h   |  16 +-
 .../motor_control}/esp_foc_motor_interface.h  |  38 ++-
 .../espFoC/motor_control}/esp_foc_pid.h       |   0
 .../espFoC/motor_control}/esp_foc_svm.h       |   0
 common/ipc/esp_foc_ipc.c                      | 167 +++++++++++
 {src => common/motor_control}/esp_foc.c       |  51 +++-
 .../motor_control}/esp_foc_consts.c           |   0
 .../motor_control}/esp_foc_our_sin_cos.c      |   0
 {src => common/motor_control}/esp_foc_pid.c   |   2 +-
 {src => common/motor_control}/esp_foc_svm.c   |   2 +-
 doc/images/arch.png                           | Bin 0 -> 117374 bytes
 examples/stubs/main.cpp                       |  35 ---
 examples/stubs/motor_hardware_stub.c          | 133 ---------
 29 files changed, 1202 insertions(+), 200 deletions(-)
 delete mode 100644 CMakeLists.txt
 create mode 100644 app/CMakeLists.txt
 create mode 100644 app/boards/esp32s3_devkitm.conf
 create mode 100644 app/boards/esp32s3_devkitm.overlay
 create mode 100644 app/espfoc_app_core/esp_foc_app_shell.c
 create mode 100644 app/espfoc_app_core/esp_foc_main.c
 create mode 100644 app/espfoc_app_core/esp_foc_user.c
 create mode 100644 app/espfoc_motor_core/CMakeLists.txt
 create mode 100644 app/espfoc_motor_core/boards/esp32s3_devkitm_appcpu.overlay
 create mode 100644 app/espfoc_motor_core/esp_foc_hardware_if.c
 rename examples/stubs/motor_hardware_stub.h => app/espfoc_motor_core/esp_foc_hardware_if.h (82%)
 create mode 100644 app/espfoc_motor_core/esp_foc_motor.c
 create mode 100644 app/espfoc_motor_core/prj.conf
 create mode 100644 app/prj.conf
 create mode 100644 common/include/espFoC/ipc/esp_foc_ipc.h
 rename {include/espFoC => common/include/espFoC/motor_control}/esp_foc.h (86%)
 rename {include/espFoC => common/include/espFoC/motor_control}/esp_foc_motor_interface.h (72%)
 rename {include/espFoC => common/include/espFoC/motor_control}/esp_foc_pid.h (100%)
 rename {include/espFoC => common/include/espFoC/motor_control}/esp_foc_svm.h (100%)
 create mode 100644 common/ipc/esp_foc_ipc.c
 rename {src => common/motor_control}/esp_foc.c (85%)
 rename {src => common/motor_control}/esp_foc_consts.c (100%)
 rename {src => common/motor_control}/esp_foc_our_sin_cos.c (100%)
 rename {src => common/motor_control}/esp_foc_pid.c (98%)
 rename {src => common/motor_control}/esp_foc_svm.c (98%)
 create mode 100644 doc/images/arch.png
 delete mode 100644 examples/stubs/main.cpp
 delete mode 100644 examples/stubs/motor_hardware_stub.c

diff --git a/CMakeLists.txt b/CMakeLists.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/README.md b/README.md
index 268e95c..ae90190 100644
--- a/README.md
+++ b/README.md
@@ -3,22 +3,26 @@
 ![Build](https://github.com/uLipe/espFoC/workflows/Build/badge.svg)
 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
 
-espFoC is a simple implementation of voltage mode, vector controller intended to be used with permanent-magnet synchronous motors (PMSM), and general brushless motors. This component was developed to be used with Zephyr RTOS for example and is aimed to transform
-your esp32 chip into a dual axis PMSM motor controller chip
+espFoC is a simple implementation of voltage mode, vector controller intended to be used with permanent-magnet synchronous motors (PMSM), and general brushless motors for ESP32S3 Espressif SoC, other SoC from espressif might be supported but the primary requirement is to be a dual
+core variant. espFoC started as a library for motor control, but it suffered a goal change, and now it is intended to create a programmable
+BLDC (FoC based) motor control-IC, the dual core capabillity splits the controller into application side and motor control core side
+the former is intended for user to write it own application or exchange packets with external controller via CAN-Bus, the later is 
+100% focused on perform motor control algorithm achieving better control bandwidth. Up two axis are supported in this new variant, refer the
+simplified architecture below:
+![espFoC Simplified Architecture](/doc/images/arch.png)
 
 ## Features:
 
 * Voltage mode control, control a PMSM like a DC motor!;
 * Position and Speed closed-loop control;
 * Single-precision Floating point implementation;
-* Sample inverter driver based on esp32 LEDC PWM (easy to wire!);
-* Sample rotor position driver based on as5600 encoder (very popular!);
+* Easy to wire motor using common drivers and I2C encoders out there!
 * Uses openAMP to offload motor control tasks to one of the core, and leave the other for communication;
 * support UART and CAN communication;
 
 ## Limitations:
 
-* Support for esp32 and esp32s3 only;
+* Support for esp32 and esp32s3(primary) only;
 * Requires and rotor position sensor, for example, incremental encoder.
 
 ## Getting started:
diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt
new file mode 100644
index 0000000..a1cef5e
--- /dev/null
+++ b/app/CMakeLists.txt
@@ -0,0 +1,41 @@
+# SPDX-License-Identifier: Apache-2.0
+
+cmake_minimum_required(VERSION 3.20.0)
+
+set(REMOTE_ZEPHYR_DIR ${CMAKE_CURRENT_BINARY_DIR}/ipm_esp32_appcpu-prefix/src/ipm_esp32_appcpu-build/zephyr)
+
+if("${BOARD}" STREQUAL "esp32s3_devkitm/esp32s3/procpu")
+set(BOARD_REMOTE "esp32s3_devkitm/esp32s3/appcpu")  
+else()
+  message(FATAL_ERROR "${BOARD} was not supported for this project yet!")
+endif()
+
+find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
+project(espfoc)
+
+set(MOTOR_CONTROL_SRC ${APPLICATION_SOURCE_DIR}/../common)
+set(MOTOR_CONTROL_INC ${APPLICATION_SOURCE_DIR}/../common/include/espFoC)
+
+FILE(GLOB ipc ${MOTOR_CONTROL_SRC}/ipc/*.c)
+
+set_source_files_properties(${REMOTE_ZEPHYR_DIR}/esp32_appcpu_firmware.c PROPERTIES GENERATED TRUE)
+target_sources(app PRIVATE esp_foc_app_core/esp_foc_app.c 
+                           esp_foc_app_core/esp_foc_app_main.c
+                           esp_foc_app_core/esp_foc_app_user.c
+                           ${ipc}
+                           ${REMOTE_ZEPHYR_DIR}/esp32_appcpu_firmware.c)
+
+target_include_directories(app PRIVATE  ${MOTOR_CONTROL_INC})
+
+include(ExternalProject)
+
+ExternalProject_Add(
+	espfoc_remote
+	SOURCE_DIR ${APPLICATION_SOURCE_DIR}/espfoc_motor_core
+	INSTALL_COMMAND ""
+	CMAKE_CACHE_ARGS -DBOARD:STRING=${BOARD_REMOTE}
+	BUILD_BYPRODUCTS "${REMOTE_ZEPHYR_DIR}/${KERNEL_BIN_NAME}"
+	BUILD_ALWAYS True
+)
+
+add_dependencies(app espfoc_remote)
diff --git a/app/boards/esp32s3_devkitm.conf b/app/boards/esp32s3_devkitm.conf
new file mode 100644
index 0000000..a8ee714
--- /dev/null
+++ b/app/boards/esp32s3_devkitm.conf
@@ -0,0 +1 @@
+CONFIG_SOC_ESP32S3_PROCPU=y
diff --git a/app/boards/esp32s3_devkitm.overlay b/app/boards/esp32s3_devkitm.overlay
new file mode 100644
index 0000000..ad437c1
--- /dev/null
+++ b/app/boards/esp32s3_devkitm.overlay
@@ -0,0 +1,19 @@
+/*
+ * Copyright (c) 2023 Felipe Neves <ryukokki.felipe@gmail.com>
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/ {
+	chosen {
+		/*
+		 * shared memory reserved for the inter-processor communication
+		 */
+		zephyr,ipc_shm = &shm0;
+		zephyr,ipc = &ipm0;
+	};
+};
+
+&ipm0 {
+	status = "okay";
+};
diff --git a/app/espfoc_app_core/esp_foc_app_shell.c b/app/espfoc_app_core/esp_foc_app_shell.c
new file mode 100644
index 0000000..e0e3d10
--- /dev/null
+++ b/app/espfoc_app_core/esp_foc_app_shell.c
@@ -0,0 +1,60 @@
+/*
+ * MIT License
+ *
+ * Copyright (c) 2021 Felipe Neves
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+#include <stdlib.h>
+#include <zephyr/kernel.h>
+#include <zephyr/device.h>
+#include <zephyr/shell/shell.h>
+#include <espFoC/ipc/esp_foc_ipc.h>
+
+static int set_pid_gains_vel(const struct shell *shell, size_t argc, char **argv)
+{
+    struct motor_command command;
+
+	if (argc != 5) {
+		return -EINVAL;
+	}
+
+	// pid_control_law_tune(&motor_pid_1,
+	// 					(strtof(argv[1], NULL)),
+	// 					(strtof(argv[2], NULL)),
+	// 					(strtof(argv[3], NULL)),
+	// 					(strtof(argv[4], NULL)));
+
+	return 0;
+
+}
+
+SHELL_STATIC_SUBCMD_SET_CREATE(
+	esp_foc,
+	SHELL_CMD(set_position, NULL, "sets position in degrees", motor_gen_ramp),
+	SHELL_CMD(set_speed, NULL, "sets speed in degrees per second", motor_set_ref),
+	SHELL_CMD(enable, NULL, "enable motor driver", motor_change_control),
+	SHELL_CMD(disable, NULL, "disable motor driver", motor_set_power),
+	SHELL_CMD(set_gains_pid_vel, NULL, "set pids velocity", motor_set_gains_pid),
+	SHELL_CMD(set_gains_pid_pos, NULL, "set pids speed", motor_set_gains_adrc),
+
+	SHELL_SUBCMD_SET_END
+	);
+
+SHELL_CMD_REGISTER(esp_foc, &esp_foc, "espFoC Basic shell commands", NULL);
diff --git a/app/espfoc_app_core/esp_foc_main.c b/app/espfoc_app_core/esp_foc_main.c
new file mode 100644
index 0000000..11d353f
--- /dev/null
+++ b/app/espfoc_app_core/esp_foc_main.c
@@ -0,0 +1,54 @@
+/*
+ * MIT License
+ *
+ * Copyright (c) 2021 Felipe Neves
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#include <stdio.h>
+#include <zephyr/kernel.h>
+#include <espFoC/ipc/esp_foc_ipc.h>
+
+static void esp_foc_motor_on_state (const struct motor_state *cmd);
+ESP_FOC_DEFINE_IPC_CALLBACK(state_callback, NULL, esp_foc_motor_on_state);
+
+static void esp_foc_motor_on_state (const struct motor_state *cmd)
+{
+    printk("espFoC Motor core sent state \n");
+}
+
+int esp_foc_early_init(void)
+{
+    esp_foc_ipc_init();
+    esp_foc_ipc_register_callback(&state_callback);
+    return 0;
+}
+SYS_INIT(esp_foc_early_init, POST_KERNEL, CONFIG_APPLICATION_INIT_PRIORITY);
+
+int main (void)
+{
+    printk("espFoC is running in the %s\n", CONFIG_BOARD);
+}
+
+__weak void esp_foc_user_entry(void)
+{
+    printk("Weak user entry of the espFoC \n");
+}
+K_THREAD_DEFINE(foc_tid, 4096, esp_foc_user_entry, NULL, NULL, NULL, 1, 0, 0);
\ No newline at end of file
diff --git a/app/espfoc_app_core/esp_foc_user.c b/app/espfoc_app_core/esp_foc_user.c
new file mode 100644
index 0000000..5547526
--- /dev/null
+++ b/app/espfoc_app_core/esp_foc_user.c
@@ -0,0 +1,32 @@
+/*
+ * MIT License
+ *
+ * Copyright (c) 2021 Felipe Neves
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#include <stdio.h>
+#include <zephyr/kernel.h>
+#include <espFoC/ipc/esp_foc_ipc.h>
+
+void esp_foc_user_entry(void)
+{
+
+}
diff --git a/app/espfoc_motor_core/CMakeLists.txt b/app/espfoc_motor_core/CMakeLists.txt
new file mode 100644
index 0000000..dceaa4b
--- /dev/null
+++ b/app/espfoc_motor_core/CMakeLists.txt
@@ -0,0 +1,19 @@
+# SPDX-License-Identifier: Apache-2.0
+
+cmake_minimum_required(VERSION 3.20.0)
+
+find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
+project(espfoc_remote)
+
+set(MOTOR_CONTROL_SRC ${APPLICATION_SOURCE_DIR}/../../common)
+set(MOTOR_CONTROL_INC ${APPLICATION_SOURCE_DIR}/../../common/include/espFoC)
+
+FILE(GLOB ipc ${MOTOR_CONTROL_SRC}/ipc/*.c)
+FILE(GLOB motor_control ${MOTOR_CONTROL_SRC}/motor_control/*.c)
+
+target_sources(app PRIVATE  esp_foc_motor.c
+                            esp_foc_hardware_if.c
+                            ${ipc}
+                            ${motor_control})
+
+target_include_directories(app PRIVATE  ${MOTOR_CONTROL_INC})
diff --git a/app/espfoc_motor_core/boards/esp32s3_devkitm_appcpu.overlay b/app/espfoc_motor_core/boards/esp32s3_devkitm_appcpu.overlay
new file mode 100644
index 0000000..e82605e
--- /dev/null
+++ b/app/espfoc_motor_core/boards/esp32s3_devkitm_appcpu.overlay
@@ -0,0 +1,172 @@
+/*
+ * Copyright (c) 2023 Felipe Neves <ryukokki.felipe@gmail.com>
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
+ #include <zephyr/dt-bindings/i2c/i2c.h>
+ #include <zephyr/dt-bindings/pwm/pwm.h> 
+ #include <dt-bindings/pinctrl/esp32s3-pinctrl.h>
+
+/ {
+	chosen {
+		/*
+		 * shared memory reserved for the inter-processor communication
+		 */
+		zephyr,ipc_shm = &shm0;
+		zephyr,ipc = &ipm0;
+	};
+
+	aliases {
+		motor-pwm-0 = &ledc0;
+		motor-pwm-1 = &ledc1;
+		angle-0 = &i2c0;
+		angle-0 = &i2c1;
+	};
+
+	gpio_enable {
+		compatible = "gpio-keys";
+		inverter_enable_0: button {
+			label = "inverter_enable";
+			gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
+		};
+
+		inverter_enable_1: button {
+			label = "inverter_enable";
+			gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>;
+		};
+
+	};
+};
+
+&pinctrl {
+	ledc0_default: ledc0_default {
+		group1 {
+			pinmux = <LEDC_CH0_GPIO2>;
+			output-enable;
+		};
+		group2 {
+			pinmux = <LEDC_CH1_GPIO3>;
+			output-enable;
+		};
+		group3 {
+			pinmux = <LEDC_CH2_GPIO4>;
+			output-enable;
+		};
+
+	};
+
+	i2c0_default: i2c0_default {
+		group1 {
+			pinmux = <I2C0_SDA_GPIO17>,
+				 <I2C0_SCL_GPIO18>;
+			bias-pull-up;
+			drive-open-drain;
+			output-high;
+		};
+	};
+
+	ledc1_default: ledc1_default {
+		group1 {
+			pinmux = <LEDC_CH0_GPIO5>;
+			output-enable;
+		};
+		group2 {
+			pinmux = <LEDC_CH1_GPIO6>;
+			output-enable;
+		};
+		group3 {
+			pinmux = <LEDC_CH2_GPIO7>;
+			output-enable;
+		};
+
+	};
+
+	i2c1_default: i2c1_default {
+		group1 {
+			pinmux = <I2C1_SDA_GPIO19>,
+				 <I2C1_SCL_GPIO20>;
+			bias-pull-up;
+			drive-open-drain;
+			output-high;
+		};
+	};
+
+};
+
+&ipm0 {
+	status = "okay";
+};
+
+&ledc0 {
+	pinctrl-0 = <&ledc0_default>;
+	pinctrl-names = "default";
+	status = "okay";
+	#address-cells = <1>;
+	#size-cells = <0>;
+	channel0@0 {
+		reg = <0x0>;
+		timer = <0>;		
+	};
+
+	channel1@0 {
+		reg = <0x0>;
+		timer = <0>;		
+	};
+
+	channel2@0 {
+		reg = <0x0>;
+		timer = <0>;		
+	};
+};
+
+&i2c0 {
+	pinctrl-0 = <&i2c0_default>;
+	pinctrl-names = "default";
+	status = "okay";
+	clock-frequency = <I2C_BITRATE_FAST>;
+
+	angle_sensor_0: as5600@36 {
+		compatible = "ams,as5600";
+		status = "okay";
+		reg = <0x36>
+	};
+};
+
+&ledc1 {
+	pinctrl-0 = <&ledc1_default>;
+	pinctrl-names = "default";
+	status = "okay";
+	#address-cells = <1>;
+	#size-cells = <0>;
+	channel0@0 {
+		reg = <0x0>;
+		timer = <0>;		
+	};
+
+	channel1@0 {
+		reg = <0x0>;
+		timer = <0>;		
+	};
+
+	channel2@0 {
+		reg = <0x0>;
+		timer = <0>;		
+	};
+};
+
+&i2c1 {
+	pinctrl-0 = <&i2c1_default>;
+	pinctrl-names = "default";
+	status = "okay";
+	clock-frequency = <I2C_BITRATE_FAST>;
+
+	angle_sensor_0: as5600@36 {
+		compatible = "ams,as5600";
+		status = "okay";
+		reg = <0x36>
+	};
+};
+
+&timer3 {
+	status = "okay";
+};
\ No newline at end of file
diff --git a/app/espfoc_motor_core/esp_foc_hardware_if.c b/app/espfoc_motor_core/esp_foc_hardware_if.c
new file mode 100644
index 0000000..ad476ff
--- /dev/null
+++ b/app/espfoc_motor_core/esp_foc_hardware_if.c
@@ -0,0 +1,268 @@
+/*
+ * MIT License
+ *
+ * Copyright (c) 2021 Felipe Neves
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#include <stdbool.h>
+#include <zephyr/kernel.h>
+#include <zephyr/device.h>
+#include <zephyr/drivers/gpio.h>
+#include <zephyr/drivers/i2c.h>
+#include <zephyr/drivers/pwm.h>
+#include <zephyr/sys/util.h>
+#include <espFoC/motor_control/esp_foc.h>
+#include "esp_foc_hardware_if.h"
+
+#define PWM_PERIOD_NSEC                 31250
+#define DC_BUS_VOLTAGE                  24.0f
+
+struct z_esp_foc_motor_if {
+    struct device *pwm_device;
+    struct device *angle_sensor;
+    struct gpio_dt_spec enable_pins;
+    float accumulated_angle_deg;
+    float current_rotor_deg;
+    float prev_rotor_deg;
+    float current_rotor_speed_dps;
+    struct esp_foc_motor_interface interface;
+};
+
+static int reset(struct esp_foc_motor_interface *self)
+{
+    int ret;
+
+    ret = esp_foc_motor_enable(self);
+    if (ret < 0) {
+        return ret;
+    }
+
+    return esp_foc_motor_align_rotor(self);
+}
+
+static int enable(struct esp_foc_motor_interface *self)
+{
+    struct z_esp_foc_motor_if *if = CONTAINER_OF(self, struct z_esp_foc_motor_if, interface);
+
+    ret = esp_foc_motor_set_duty_cycles(self, 0.0f, 0.0f, 0.0f);
+    if (ret < 0) {
+        return ret;
+    }
+
+    k_msleep(100);
+
+    gpio_pin_configure_dt(&enable_pins, GPIO_OUTPUT);
+    gpio_pin_set_dt(&enable_pins, 1);
+
+    k_msleep(100);
+
+    return 0;
+}
+
+static int disable(struct esp_foc_motor_interface *self)
+{
+    struct z_esp_foc_motor_if *if = CONTAINER_OF(self, struct z_esp_foc_motor_if, interface);
+
+    gpio_pin_configure_dt(&enable_pins, GPIO_OUTPUT);
+    gpio_pin_set_dt(&enable_pins, 1);
+    esp_foc_motor_set_duty_cycles(self, 0.0f, 0.0f, 0.0f);
+    k_msleep(100);
+
+    return 0;
+}
+
+static int align_rotor(struct esp_foc_motor_interface *self)
+{
+    int ret;
+
+    ret = esp_foc_motor_set_duty_cycles(self, 0.0f, 0.0f, 0.0f);
+    if (ret < 0) {
+        return ret;
+    }
+
+    k_msleep(500);
+
+    ret = esp_foc_motor_set_duty_cycles(self, 0.2f, 0.0f, 0.0f);
+    if (ret < 0) {
+        return ret;
+    }
+
+    k_msleep(500);
+
+    return esp_foc_motor_fetch_sensors(self);
+}
+
+static int set_duty_cycles(struct esp_foc_motor_interface *self, float dc_a, float dc_b, float dc_c)
+{
+    struct z_esp_foc_motor_if *if = CONTAINER_OF(self, struct z_esp_foc_motor_if, interface);
+
+    if(dc_a > 1.0f) {
+		dc_a = 1.0f;
+	} else if (dc_a < 0.0f) {
+		dc_a = 0.0f;
+	}
+
+	if(dc_b > 1.0f) {
+		dc_b = 1.0f;
+	} else if (dc_b < 0.0f) {
+		dc_b = 0.0f;
+	}
+
+	if(dc_c > 1.0f) {
+		dc_c = 1.0f;
+	} else if (dc_c < 0.0f) {
+		dc_c = 0.0f;
+	}
+
+    dc_a *= PWM_PERIOD_NSEC - 1;
+    dc_b *= PWM_PERIOD_NSEC - 1;
+    dc_c *= PWM_PERIOD_NSEC - 1;
+
+	pwm_set(pwm_device, 1 , PWM_PERIOD_NSEC, dc_a, 0);
+	pwm_set(pwm_device, 2 , PWM_PERIOD_NSEC, dc_b, 0);
+	pwm_set(pwm_device, 3 , PWM_PERIOD_NSEC, dc_c, 0);
+
+    return 0;
+}
+
+static int get_rotor_angle(struct esp_foc_motor_interface *self, float *angle)
+{
+    struct z_esp_foc_motor_if *if = CONTAINER_OF(self, struct z_esp_foc_motor_if, interface);
+
+    if(!angle)
+        return -EINVAL;
+
+    *angle = if->current_rotor_deg;
+
+    return 0;
+}
+
+static int get_rotor_speed_dps(struct esp_foc_motor_interface *self, float *speed_dps)
+{
+    struct z_esp_foc_motor_if *if = CONTAINER_OF(self, struct z_esp_foc_motor_if, interface);
+
+    if(!speed_dps)
+        return -EINVAL;
+
+    *speed_dps = if->current_rotor_speed_dps;
+
+    return 0;
+}
+
+static int get_acumulated_angle(struct esp_foc_motor_interface *self, float *angle)
+{
+    struct z_esp_foc_motor_if *if = CONTAINER_OF(self, struct z_esp_foc_motor_if, interface);
+
+    if(!angle)
+        return -EINVAL;
+
+    *angle = if->accumulated_angle_deg;
+
+    return 0;
+}
+
+static int get_dc_bus_voltage(struct esp_foc_motor_interface *self, float *vdc)
+{
+    if(!vdc)
+        return -EINVAL;
+
+    *vdc = DC_BUS_VOLTAGE;
+
+    return 0;
+}
+
+static int fetch_sensors(struct esp_foc_motor_interface *self)
+{
+    struct z_esp_foc_motor_if *if = CONTAINER_OF(self, struct z_esp_foc_motor_if, interface);
+    struct sensor_value raw;
+    int ret;
+
+    if->prev_rotor_deg = if->current_rotor_deg;
+
+    ret = sensor_sample_fetch(if->angle_sensor);
+    if(ret) {
+        return ret;
+    }
+
+    ret = sensor_channel_get(if->angle_sensor, SENSOR_CHAN_ROTATION, &raw);
+    if(ret) {
+        return ret;
+    }
+
+    if->current_rotor_deg = sensor_value_to_float(&raw);
+    if->current_rotor_speed_dps = (if->current_rotor_deg - if->prev_rotor_deg);
+    if->accumulated_angle_deg += if->current_rotor_speed_dps;
+    
+    return ret;
+}
+
+static struct z_esp_foc_motor_if z_esp_hw_if[Z_ESP_FOC_MAX] = {
+    {
+        .pwm_device = DEVICE_DT_GET(DT_NODELABEL(ledc0)),
+        .angle_sensor = DEVICE_DT_GET(DT_NODELABEL(angle_sensor_0)),
+        .enable_pins = GPIO_DT_SPEC_GET_BY_IDX(DT_NODELABEL(inverter_enable_0),gpios,0),
+        .reset = reset,
+        .enable = enable,
+        .disable = disable,
+        .set_duty_cycles = set_duty_cycles,
+        .get_rotor_angle = get_rotor_angle,
+        .get_rotor_speed_dps = get_rotor_speed_dps,
+        .align_rotor = align_rotor,
+        .get_acumulated_angle = get_acumulated_angle,
+        .get_encoder_ppr = NULL,
+        .get_dc_bus_voltage = get_dc_bus_voltage,
+        .get_currents = NULL,
+        .number_of_shunts = NULL,
+        .fetch_sensors = fetch_sensors,
+        .current_rotor_deg = 0.0f,
+        .current_rotor_speed_dps = 0.0f,
+        .accumulated_angle_deg = 0.0f, 
+    },
+    {
+        .pwm_device = DEVICE_DT_GET(DT_NODELABEL(ledc1)),
+        .angle_sensor = DEVICE_DT_GET(DT_NODELABEL(angle_sensor_1)),
+        .enable_pins = GPIO_DT_SPEC_GET_BY_IDX(DT_NODELABEL(inverter_enable_1),gpios,0),
+        .reset = reset,
+        .enable = enable,
+        .disable = disable,
+        .set_duty_cycles = set_duty_cycles,
+        .get_rotor_angle = get_rotor_angle,
+        .get_rotor_speed_dps = get_rotor_speed_dps,
+        .align_rotor = align_rotor,
+        .get_acumulated_angle = get_acumulated_angle,
+        .get_encoder_ppr = NULL,
+        .get_dc_bus_voltage = get_dc_bus_voltage,
+        .get_currents = NULL,
+        .number_of_shunts = NULL,
+        .fetch_sensors = fetch_sensors,
+        .current_rotor_deg = 0.0f,
+        .current_rotor_speed_dps = 0.0f,
+        .accumulated_angle_deg = 0.0f, 
+    }
+} 
+
+struct esp_foc_motor_interface* z_esp_foc_get_interface(enum zephyr_esp_foc_instances instance)
+{
+    if(instance >= Z_ESP_FOC_MAX)
+        return NULL;
+
+    return &z_esp_hw_if.self[instance];
+}
diff --git a/examples/stubs/motor_hardware_stub.h b/app/espfoc_motor_core/esp_foc_hardware_if.h
similarity index 82%
rename from examples/stubs/motor_hardware_stub.h
rename to app/espfoc_motor_core/esp_foc_hardware_if.h
index cc544d8..abe7b4d 100644
--- a/examples/stubs/motor_hardware_stub.h
+++ b/app/espfoc_motor_core/esp_foc_hardware_if.h
@@ -21,13 +21,14 @@
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
-#pragma once
+#pragma once 
 
-#include <espFoc/esp_foc.h>
+#include <espFoC/motor_control/esp_foc.h>
 
-struct motor_hardware_stub {
-    struct esp_foc_motor_interface self;
+enum zephyr_esp_foc_instances {
+    Z_ESP_FOC_1 = 0,
+    Z_ESP_FOC_2,
+    Z_ESP_FOC_MAX;
 };
 
-int motor_hardware_stub_init(struct motor_hardware_stub *stub,
-                            struct esp_foc_motor_interface **itf);
+struct esp_foc_motor_interface* z_esp_foc_get_interface(enum zephyr_esp_foc_instances instance);
\ No newline at end of file
diff --git a/app/espfoc_motor_core/esp_foc_motor.c b/app/espfoc_motor_core/esp_foc_motor.c
new file mode 100644
index 0000000..8d58c61
--- /dev/null
+++ b/app/espfoc_motor_core/esp_foc_motor.c
@@ -0,0 +1,160 @@
+/*
+ * MIT License
+ *
+ * Copyright (c) 2021 Felipe Neves
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#include <zephyr/kernel.h>
+#include <espFoC/motor_control/esp_foc.h>
+#include <espFoC/ipc/esp_foc_ipc.h>
+#include <zephyr/drivers/counter.h>
+
+#define ESP_FOC_INNER_CONTROL_US_PERIOD     (100)
+
+static const struct device *timer_dev = DEVICE_DT_GET(DT_INST(3,espressif_esp32_timer));
+static float now_seconds = 0.0f;
+static struct counter_alarm_cfg alarm_cfg;
+static struct esp_foc_motor_control axis;
+static struct motor_state outgoing_state;
+static struct motor_state next_state;
+static struct esp_foc_pid pid_vel_1;
+static struct esp_foc_pid pid_pos_1;
+static uint32_t timestamp_us = 0;
+
+static void esp_foc_motor_on_cmd (const struct motor_command *cmd)
+{
+    float position_deg = cmd->position_mdeg * 0.001f;
+    float speed_dps = cmd->speed_mdps * 0.001f;
+    float pid_gains[3] = {
+        (float *)cmd->pid_gains[0] * 0.001f,
+        (float *)cmd->pid_gains[1] * 0.001f,
+        (float *)cmd->pid_gains[2] * 0.001f,
+    };
+
+    if(cmd->command_mask & MOTOR_CMD_SPEED_MASK) {
+        esp_foc_controller_set_speed(&axis, speed_dps);
+    }
+
+    if(cmd->command_mask & MOTOR_CMD_POSITION_MASK) {
+        esp_foc_controller_set_position(&axis, position_deg);
+    }
+
+    if(cmd->command_mask & MOTOR_CMD_SHUTDOWN_MASK) {
+        if(cmd->power_state)
+            esp_foc_enable_axis(&axis);
+        else 
+            esp_foc_disable_axis(&axis);
+    }
+
+    if(cmd->command_mask & MOTOR_CMD_RESET_MASK) {
+        esp_foc_motor_reset(z_esp_foc_get_interface(Z_ESP_FOC_1));
+    }
+
+    if(cmd->command_mask & MOTOR_CMD_SPD_PID_MASK) {
+        if(cmd->command_mask & MOTOR_CMD_KP_MASK) {
+            esp_foc_pid_set_kp(&pid_vel_1, pid_gains[0]);
+        }
+
+        if(cmd->command_mask & MOTOR_CMD_KI_MASK) {
+            esp_foc_pid_set_ki(&pid_vel_1, pid_gains[1]); 
+        }
+
+        if(cmd->command_mask & MOTOR_CMD_KD_MASK) {
+            esp_foc_pid_set_kd(&pid_vel_1, pid_gains[2]);
+        }
+    }
+
+    if(cmd->command_mask & MOTOR_CMD_POS_PID_MASK) {
+        if(cmd->command_mask & MOTOR_CMD_KP_MASK) {
+            esp_foc_pid_set_kp(&pid_pos_1, pid_gains[0]);
+        }
+
+        if(cmd->command_mask & MOTOR_CMD_KI_MASK) {
+            esp_foc_pid_set_ki(&pid_pos_1, pid_gains[1]); 
+        }
+
+        if(cmd->command_mask & MOTOR_CMD_KD_MASK) {
+            esp_foc_pid_set_kd(&pid_pos_1, pid_gains[2]);
+        }
+    }
+}
+ESP_FOC_DEFINE_IPC_CALLBACK(cmd_callback,esp_foc_motor_on_cmd, NULL);
+
+static void esp_foc_control_work_handler(struct k_work *work)
+{
+    esp_foc_run(&axis);
+}
+
+K_WORK_DEFINE(esp_foc_work, motor_control_work_handler);
+
+static void esp_foc_timer_isr(const struct device *counter_dev,
+                            uint8_t chan_id, uint32_t ticks,
+                            void *user_data)
+{
+    k_work_submit(&esp_foc_work);
+    timestamp_us += counter_ticks_to_us(timer_dev, ticks);
+    counter_set_channel_alarm(timer_dev, 0, &alarm_cfg);
+}
+
+/* We don't actually need a main function*/
+static int esp_foc_early_init(void)
+{
+    float sample_time_seconds = (float)ESP_FOC_INNER_CONTROL_US_PERIOD * 0.000001f;
+
+    esp_foc_pid_init(&pid_vel_1,
+                    sample_time_seconds * ESP_FOC_SPEED_CONTROL_RATIO,
+                    10000.0f);
+
+    esp_foc_pid_init(&pid_pos_1,
+                    sample_time_seconds * ESP_FOC_POSITION_CONTROL_RATIO,
+                    10000.0f);
+
+    esp_foc_init_controller(&axis, z_esp_foc_get_interface(Z_ESP_FOC_1));
+    esp_foc_add_position_control(&axis, &pid_pos_1);
+    esp_foc_add_speed_control(&axis, &pid_vel_1);
+
+    counter_start(timer_dev);
+    alarm_cfg.flags = 0;
+    alarm_cfg.ticks = counter_us_to_ticks(timer_dev, CONTROL_PIPELINE_US_PERIOD);
+    alarm_cfg.callback = esp_foc_timer_isr;
+    alarm_cfg.user_data = &alarm_cfg;
+    counter_set_channel_alarm(timer_dev, 0, &alarm_cfg);
+
+    esp_foc_ipc_init();
+    esp_foc_ipc_register_callback(&cmd_callback);
+
+    return 0;
+}
+
+SYS_INIT(esp_foc_early_init, POST_KERNEL, CONFIG_APPLICATION_INIT_PRIORITY);
+
+int main(void)
+{
+    /* Report motor state each 1 milisecond asynchronously */
+    while(1) {
+        k_msleep(K_USEC(1000));
+        outgoing_state.timestamp_us = timestamp_us;
+        outgoing_state.position_mdeg = (uint32_t)(axis.current_position_degrees * 1000.0f);
+        outgoing_state.speed_mdps = (uint32_t)(axis.current_speed_dps * 1000.0f);
+        outgoing_state.power_state = (uint8_t)axis.is_enabled;
+        esp_foc_ipc_send_state(&outgoing_state);
+    }
+}
diff --git a/app/espfoc_motor_core/prj.conf b/app/espfoc_motor_core/prj.conf
new file mode 100644
index 0000000..7b505d2
--- /dev/null
+++ b/app/espfoc_motor_core/prj.conf
@@ -0,0 +1,13 @@
+CONFIG_STDOUT_CONSOLE=n
+CONFIG_PRINTK=n
+CONFIG_HEAP_MEM_POOL_SIZE=256
+
+CONFIG_IPM=y
+CONFIG_PWM=y
+CONFIG_I2C=y
+CONFIG_SENSOR=y
+CONFIG_COUNTER=y
+
+CONFIG_SENSOR=y
+CONFIG_AMS_AS5600=y
+CONFIG_FLOAT=y
\ No newline at end of file
diff --git a/app/prj.conf b/app/prj.conf
new file mode 100644
index 0000000..3393bef
--- /dev/null
+++ b/app/prj.conf
@@ -0,0 +1,6 @@
+CONFIG_PRINTK=y
+CONFIG_IPM=y
+CONFIG_TIMESLICE_SIZE=1
+CONFIG_MAIN_STACK_SIZE=8192
+CONFIG_HEAP_MEM_POOL_SIZE=2048
+CONFIG_FLOAT=y
\ No newline at end of file
diff --git a/common/include/espFoC/ipc/esp_foc_ipc.h b/common/include/espFoC/ipc/esp_foc_ipc.h
new file mode 100644
index 0000000..9db4327
--- /dev/null
+++ b/common/include/espFoC/ipc/esp_foc_ipc.h
@@ -0,0 +1,86 @@
+/*
+ * MIT License
+ *
+ * Copyright (c) 2024 Felipe Neves
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#pragma once
+
+#include <stdint.h>
+#include <stbool.h>
+#include <zephyr/kernel.h>
+
+#define MOTOR_CMD_TORQUE_MASK    0x00
+#define MOTOR_CMD_SPEED_MASK     0x02
+#define MOTOR_CMD_POSITION_MASK  0x04
+#define MOTOR_CMD_SHUTDOWN_MASK  0x08
+#define MOTOR_CMD_RESET_MASK     0x10
+#define MOTOR_CMD_KP_MASK        0x20
+#define MOTOR_CMD_KI_MASK        0x40
+#define MOTOR_CMD_KD_MASK        0x80
+#define MOTOR_CMD_POS_PID_MASK   0x100
+#define MOTOR_CMD_SPD_PID_MASK   0x200
+
+struct motor_state {
+    uint32_t timestamp_us;
+    uint32_t position_mdeg;
+    uint32_t speed_mdps;
+    uint32_t qvoltage_mvolts;
+    uint32_t dvoltage_mvolts;
+    uint32_t encoder;
+    uint8_t power_state;
+    uint8_t last_cmd_result;
+    uint8_t motor_number;
+    uint8_t direction;
+};
+
+struct motor_command {
+    uint32_t command_mask;
+    uint32_t speed_mdps;
+    uint32_t qvoltage_mvolts;
+    uint32_t dvoltage_mvolts;
+    uint32_t pid_gains[3];
+    uint8_t power_state;
+    uint8_t motor_number;
+    uint8_t direction;
+    uint8_t res3;
+};
+
+typedef void (*esp_foc_ipc_motor_state_callback_t) (const struct motor_state *state);
+typedef void (*esp_foc_ipc_motor_cmd_callback_t) (const struct motor_command *cmd);
+
+struct motor_report_callback {
+    esp_foc_ipc_motor_state_callback_t cmd_cb;
+    esp_foc_ipc_motor_cmd_callback_t state_cb
+    sys_dnode_t node;
+};
+
+#define ESP_FOC_DEFINE_IPC_CALLBACK(name,cmd_callback, state_callback) \
+struct motor_report_callback cn_##name = {  \
+    .state_cb = state_callback,             \
+    .cmd_cb = cmd_callback,                 \
+}
+
+int esp_foc_ipc_init(void);
+int esp_foc_ipc_send_command(const struct motor_command *cmd);
+int esp_foc_ipc_send_state(const struct motor_state *state);
+int esp_foc_ipc_register_callback(const struct motor_report_callback *cb);
+int esp_foc_ipc_remove_callback(const struct motor_report_callback *cb);
diff --git a/include/espFoC/esp_foc.h b/common/include/espFoC/motor_control/esp_foc.h
similarity index 86%
rename from include/espFoC/esp_foc.h
rename to common/include/espFoC/motor_control/esp_foc.h
index 0105b2a..90b22a4 100644
--- a/include/espFoC/esp_foc.h
+++ b/common/include/espFoC/motor_control/esp_foc.h
@@ -24,11 +24,12 @@
 
 #pragma once
 
+#include <stdbool.h>
 #include <math.h>
 #include <errno.h>
-#include <espFoC/esp_foc_motor_interface.h>
-#include <espFoC/esp_foc_svm.h>
-#include <espFoC/esp_foc_pid.h>
+#include "esp_foc_motor_interface.h"
+#include "esp_foc_svm.h"
+#include "esp_foc_pid.h"
 
 struct esp_foc_motor_control {
     struct esp_foc_motor_interface *motor_hw;
@@ -42,8 +43,13 @@ struct esp_foc_motor_control {
     float target_position_degrees;
     float current_speed_dps;
     float current_position_degrees;
+
+    bool is_enabled;
 };
 
+extern const int ESP_FOC_SPEED_CONTROL_RATIO;
+extern const int ESP_FOC_POSITION_CONTROL_RATIO;
+
 int esp_foc_init_controller(struct esp_foc_motor_control *ctl,
                             const struct esp_foc_motor_interface *hw);
 
@@ -59,4 +65,8 @@ int esp_foc_add_position_control(struct esp_foc_motor_control *ctl,
 int esp_foc_add_speed_control(struct esp_foc_motor_control *ctl,
                                 const struct esp_foc_pid *speed_pid);
 
+int esp_foc_enable_axis(struct esp_foc_motor_control *ctl);
+
+int esp_foc_disable_axis(struct esp_foc_motor_control *ctl);
+
 int esp_foc_controller_run(struct esp_foc_motor_control *ctl);
diff --git a/include/espFoC/esp_foc_motor_interface.h b/common/include/espFoC/motor_control/esp_foc_motor_interface.h
similarity index 72%
rename from include/espFoC/esp_foc_motor_interface.h
rename to common/include/espFoC/motor_control/esp_foc_motor_interface.h
index 3322acd..a103a23 100644
--- a/include/espFoC/esp_foc_motor_interface.h
+++ b/common/include/espFoC/motor_control/esp_foc_motor_interface.h
@@ -27,6 +27,7 @@
 struct esp_foc_motor_interface {
     int (*reset)(struct esp_foc_motor_interface *self);
     int (*enable)(struct esp_foc_motor_interface *self);
+    int (*disable)(struct esp_foc_motor_interface *self);
     int (*set_duty_cycles)(struct esp_foc_motor_interface *self, float a, float b, float c);
     int (*get_rotor_angle)(struct esp_foc_motor_interface *self, float *angle);
     int (*get_rotor_speed_dps)(struct esp_foc_motor_interface *self, float *speed_dps);
@@ -39,7 +40,7 @@ struct esp_foc_motor_interface {
     int (*fetch_sensors)(struct esp_foc_motor_interface *self);
 };
 
-int esp_foc_motor_reset(struct esp_foc_motor_interface *self)
+static inline int esp_foc_motor_reset(struct esp_foc_motor_interface *self)
 {
     if(!self)
         return -EINVAL;
@@ -51,7 +52,7 @@ int esp_foc_motor_reset(struct esp_foc_motor_interface *self)
 
 }
 
-int esp_foc_motor_enable(struct esp_foc_motor_interface *self)
+static inline int esp_foc_motor_enable(struct esp_foc_motor_interface *self)
 {
     if(!self)
         return -EINVAL;
@@ -62,7 +63,18 @@ int esp_foc_motor_enable(struct esp_foc_motor_interface *self)
     return self->enable(self);
 }
 
-int esp_foc_motor_set_duty_cycles(struct esp_foc_motor_interface *self, float a, float b, float c)
+static inline int esp_foc_motor_disable(struct esp_foc_motor_interface *self)
+{
+    if(!self)
+        return -EINVAL;
+
+    if(!self->disable)
+        return -ENOTSUP;
+
+    return self->disable(self);
+}
+
+static inline int esp_foc_motor_set_duty_cycles(struct esp_foc_motor_interface *self, float a, float b, float c)
 {
     if(!self)
         return -EINVAL;
@@ -73,7 +85,7 @@ int esp_foc_motor_set_duty_cycles(struct esp_foc_motor_interface *self, float a,
     return self->set_duty_cycles(Self, a, b, c);
 }
 
-int esp_foc_motor_get_rotor_angle(struct esp_foc_motor_interface *self, float *angle)
+static inline int esp_foc_motor_get_rotor_angle(struct esp_foc_motor_interface *self, float *angle)
 {
     if(!self)
         return -EINVAL;
@@ -84,7 +96,7 @@ int esp_foc_motor_get_rotor_angle(struct esp_foc_motor_interface *self, float *a
     return self->get_rotor_angle(self, angle);
 }
 
-int esp_foc_motor_get_rotor_speed_dps(struct esp_foc_motor_interface *self, float *speed_dps)
+static inline int esp_foc_motor_get_rotor_speed_dps(struct esp_foc_motor_interface *self, float *speed_dps)
 {
     if(!self)
         return -EINVAL;
@@ -95,7 +107,7 @@ int esp_foc_motor_get_rotor_speed_dps(struct esp_foc_motor_interface *self, floa
     return self->get_rotor_speed_dps(self, speed_dps);
 }
 
-int esp_foc_motor_align_rotor(struct esp_foc_motor_interface *self)
+static inline int esp_foc_motor_align_rotor(struct esp_foc_motor_interface *self)
 {
     if(!self)
         return -EINVAL;
@@ -106,7 +118,7 @@ int esp_foc_motor_align_rotor(struct esp_foc_motor_interface *self)
     return self->align_rotor(self);
 }
 
-int esp_foc_motor_get_acumulated_angle(struct esp_foc_motor_interface *self, float *angle)
+static inline int esp_foc_motor_get_acumulated_angle(struct esp_foc_motor_interface *self, float *angle)
 {
     if(!self)
         return -EINVAL;
@@ -117,7 +129,7 @@ int esp_foc_motor_get_acumulated_angle(struct esp_foc_motor_interface *self, flo
     return self->get_acumulated_angle(self, angle);
 }
 
-int esp_foc_motor_get_encoder_ppr(struct esp_foc_motor_interface *self, float *ppr)
+static inline int esp_foc_motor_get_encoder_ppr(struct esp_foc_motor_interface *self, float *ppr)
 {
     if(!self)
         return -EINVAL;
@@ -128,7 +140,7 @@ int esp_foc_motor_get_encoder_ppr(struct esp_foc_motor_interface *self, float *p
     return self->get_encoder_ppr(self, ppr);
 }
 
-int esp_foc_motor_get_dc_bus_voltage(struct esp_foc_motor_interface *self, float *vdc)
+static inline int esp_foc_motor_get_dc_bus_voltage(struct esp_foc_motor_interface *self, float *vdc)
 {
     if(!self)
         return -EINVAL;
@@ -139,7 +151,7 @@ int esp_foc_motor_get_dc_bus_voltage(struct esp_foc_motor_interface *self, float
     return self->get_dc_bus_voltage(self, vdc);
 }
 
-int esp_foc_motor_get_currents(struct esp_foc_motor_interface *self, float *ia, float *ib, float *ic)
+static inline int esp_foc_motor_get_currents(struct esp_foc_motor_interface *self, float *ia, float *ib, float *ic)
 {
     if(!self)
         return -EINVAL;
@@ -150,7 +162,7 @@ int esp_foc_motor_get_currents(struct esp_foc_motor_interface *self, float *ia,
     return self->get_currents(self, ia, ib, ic);
 }
 
-int esp_foc_motor_number_of_shunts(struct esp_foc_motor_interface *self, int *shunts)
+static inline int esp_foc_motor_number_of_shunts(struct esp_foc_motor_interface *self, int *shunts)
 {
     if(!self)
         return -EINVAL;
@@ -161,7 +173,7 @@ int esp_foc_motor_number_of_shunts(struct esp_foc_motor_interface *self, int *sh
     return self->number_of_shunts(self, shunts);
 }
 
-int esp_foc_motor_fetch_sensors(struct esp_foc_motor_interface *self)
+static inline int esp_foc_motor_fetch_sensors(struct esp_foc_motor_interface *self)
 {
     if(!self)
         return -EINVAL;
@@ -170,4 +182,4 @@ int esp_foc_motor_fetch_sensors(struct esp_foc_motor_interface *self)
         return -ENOTSUP;
 
     return self->fetch_sensors(self);
-}
\ No newline at end of file
+}
diff --git a/include/espFoC/esp_foc_pid.h b/common/include/espFoC/motor_control/esp_foc_pid.h
similarity index 100%
rename from include/espFoC/esp_foc_pid.h
rename to common/include/espFoC/motor_control/esp_foc_pid.h
diff --git a/include/espFoC/esp_foc_svm.h b/common/include/espFoC/motor_control/esp_foc_svm.h
similarity index 100%
rename from include/espFoC/esp_foc_svm.h
rename to common/include/espFoC/motor_control/esp_foc_svm.h
diff --git a/common/ipc/esp_foc_ipc.c b/common/ipc/esp_foc_ipc.c
new file mode 100644
index 0000000..a474cc2
--- /dev/null
+++ b/common/ipc/esp_foc_ipc.c
@@ -0,0 +1,167 @@
+/*
+ * MIT License
+ *
+ * Copyright (c) 2024 Felipe Neves
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#include <string.h>
+#include <zephyr/device.h>
+#include <zephyr/drivers/ipm.h>
+#include <espFoc/ipc/esp_foc_ipc.h>
+
+#define LOCK_FREE_VAL 0xA5A5A5A5
+#define DIRECTION_TX 0x01
+#define DIRECTION_RX 0x81
+
+static const struct device *ipc_dev = DEVICE_DT_GET(DT_CHOSEN(zephyr_ipc));
+static uint8_t *ipc_shm = DT_REG_ADDR(DT_CHOSEN(zephyr_ipc_shm));
+const static uint32_t ipc_shm_size = DT_REG_SIZE(DT_CHOSEN(zephyr_ipc_shm));
+
+static atomic_t *shm_lock;
+static struct motor_command *tx_motor_cmd;
+static struct motor_command *rx_motor_cmd;
+static struct motor_state *tx_motor_state;
+static struct motor_state *rx_motor_state;
+
+BUILD_ASSERT(ipc_shm_size >= (2 * sizeof(motor_command)) + 
+             (2 * sizeof(motor_state)), "Not enough shared memory!");
+
+#define LOCK_OFFSET     0
+#define TX_CMD_OFFSET   (LOCK_OFFSET + sizeof(atomic_t))
+#define RX_CMD_OFFSET   (TX_CMD_OFFSET + sizeof(struct motor_command))
+#define TX_STATE_OFFSET (RX_CMD_OFFSET + sizeof(struct motor_command))
+#define RX_STATE_OFFSET (TX_STATE_OFFSET + sizeof(struct motor_state))
+
+static sys_dlist_t ipc_callbacks;
+
+static void ipc_work_handler(struct k_work *work)
+{
+    sys_dnode_t *node;
+
+    while (!atomic_cas(shm_lock, LOCK_FREE_VAL,
+            id)) {
+        ;
+    }
+
+    SYS_DLIST_FOR_EACH_NODE(&ipc_callbacks, node) {
+        struct motor_report_callback * report = CONTAINER_OF(ipc_callbacks, struct motor_report_callback, node)
+        if(report) {
+
+            if(report->cmd_cb) {
+                report->cmd_cb(rx_motor_cmd);
+            }
+
+            if(report->state_cb) {
+                report->state_cb(rx_motor_state);
+            }
+        }
+    }
+
+    atomic_set(shm_lock, LOCK_FREE_VAL);
+}
+
+K_WORK_DEFINE(ipc_work, ipc_work_handler);
+
+static void ipc_dev_callback(const struct device *dev, void *context,
+				  uint32_t id, volatile void *data)
+{
+    k_work_submit(&ipc_work);
+}
+
+int esp_foc_ipc_init(void)
+{
+    shm_lock = (atomic_t *)&ipc_shm[LOCK_OFFSET];
+    atomic_set(shm_lock, LOCK_FREE_VAL);
+
+    tx_motor_cmd = (struct motor_command *)&ipc_shm[TX_CMD_OFFSET];
+    rx_motor_cmd = (struct motor_command *)&ipc_shm[RX_CMD_OFFSET];
+    tx_motor_state = (struct motor_state *)&ipc_shm[TX_STATE_OFFSET];
+    rx_motor_state = (struct motor_state *)&ipc_shm[RX_STATE_OFFSET];
+
+    sys_dlist_init(&ipc_callbacks);
+    ipm_register_callback(ipc_dev, ipc_dev_callback, NULL);
+	ipm_set_enabled(ipc_dev, 1);
+
+    return 0;
+}
+int esp_foc_ipc_send_command(const struct motor_command *cmd)
+{
+    if(!cmd)
+        return -EINVAL;
+
+    uint32_t key = irq_lock();
+    while (!atomic_cas(shm_lock, LOCK_FREE_VAL,
+            cmd->command_mask)) {
+        ;
+    }
+
+    memcpy(rx_motor_cmd, cmd. sizeof(*rx_motor_cmd));
+    atomic_set(shm_lock, LOCK_FREE_VAL);
+    irq_unlock(key);
+
+    ipm_send(ipc_dev, -1, 0, NULL, 0);
+
+    return 0;
+}
+
+int esp_foc_ipc_send_state(const struct motor_state *state)
+{
+    if(!state) 
+        return -EINVAL;
+
+    uint32_t key = irq_lock();
+    while (!atomic_cas(shm_lock, LOCK_FREE_VAL,
+            state->timestamp_us)) {
+        ;
+    }
+
+    memcpy(rx_motor_state, state. sizeof(*rx_motor_cmd));
+    atomic_set(shm_lock, LOCK_FREE_VAL);
+
+    ipm_send(ipc_dev, -1, 0, NULL, 0);
+    irq_unlock(key);
+
+    return 0;
+}
+
+int esp_foc_ipc_register_callback(const struct motor_report_callback *cb)
+{
+    if(!cb)
+        return -EINVAL;
+
+    uint32_t key = irq_lock();
+    sys_dlist_append(&ipc_callbacks, &cb->node);
+    irq_unlock(key);
+
+    return 0;
+}
+
+int esp_foc_ipc_remove_callback(const struct motor_report_callback *cb)
+{
+    if(!cb)
+        return -EINVAL;
+
+    uint32_t key = irq_lock();
+    sys_dlist_remove(&cb->node);
+    irq_unlock(key);
+
+    return 0;
+}
diff --git a/src/esp_foc.c b/common/motor_control/esp_foc.c
similarity index 85%
rename from src/esp_foc.c
rename to common/motor_control/esp_foc.c
index dc33bfb..2dc9c3c 100644
--- a/src/esp_foc.c
+++ b/common/motor_control/esp_foc.c
@@ -23,7 +23,7 @@
  */
 
 #include <math.h>
-#include <espFoC/esp_foc.h>
+#include <motor_control/esp_foc.h>
 
 extern const float ESP_FOC_M_PI;
 extern const float ESP_FOC_2_M_PI;
@@ -78,11 +78,13 @@ int esp_foc_init_controller(struct esp_foc_motor_control *ctl,
     ctl->target_position = 0.0f;
     ctl->motor_hw = hw;
 
-    if(esp_foc_motor_enable(ctl->motor_hw)) {
+    if(esp_foc_motor_disable(ctl->motor_hw)) {
         return -ENODEV;
     }
 
-    return esp_foc_motor_reset(ctl->motor_hw);
+    ctl->is_enabled = false;
+
+    return 0;
 }
 
 int esp_foc_controller_set_speed(struct esp_foc_motor_control *ctl,
@@ -130,6 +132,46 @@ int esp_foc_add_speed_control(struct esp_foc_motor_control *ctl,
     return 0;
 }
 
+int esp_foc_enable_axis(struct esp_foc_motor_control *ctl)
+{
+    if(!ctl)
+        return -EINVAL;
+
+    if(ctl->is_enabled)
+        return EALREADY;
+
+    int r = esp_foc_motor_enable(ctl->hw)
+    if(r)
+        return r;
+
+    r = esp_foc_motor_reset(ctl->motor_hw);
+    if(r)
+        return r;
+
+    ctl->is_enabled = true;
+
+    return 0;
+}
+
+int esp_foc_disable_axis(struct esp_foc_motor_control *ctl)
+{
+    if(!ctl)
+        return -EINVAL;
+
+    if(!ctl->is_enabled)
+        return EALREADY;
+
+    int r = esp_foc_motor_disable(ctl->hw)
+    if(r)
+        return r;
+
+    ctl->target_speed = 0.0f;
+    ctl->target_position = 0.0f;
+    ctl->is_enabled = false;
+
+    return 0;
+}
+
 int esp_foc_controller_run(struct esp_foc_motor_control *ctl)
 {
     float vd = 0.0f;
@@ -141,6 +183,9 @@ int esp_foc_controller_run(struct esp_foc_motor_control *ctl)
     if(!ctl)
         return -EINVAL;
 
+    if(!ctl->is_enabled)
+        return -EIO;
+
     esp_foc_motor_fetch_sensors(ctl->hw);
 
     if(ctl->pid_position) {
diff --git a/src/esp_foc_consts.c b/common/motor_control/esp_foc_consts.c
similarity index 100%
rename from src/esp_foc_consts.c
rename to common/motor_control/esp_foc_consts.c
diff --git a/src/esp_foc_our_sin_cos.c b/common/motor_control/esp_foc_our_sin_cos.c
similarity index 100%
rename from src/esp_foc_our_sin_cos.c
rename to common/motor_control/esp_foc_our_sin_cos.c
diff --git a/src/esp_foc_pid.c b/common/motor_control/esp_foc_pid.c
similarity index 98%
rename from src/esp_foc_pid.c
rename to common/motor_control/esp_foc_pid.c
index 83085e6..f179afc 100644
--- a/src/esp_foc_pid.c
+++ b/common/motor_control/esp_foc_pid.c
@@ -22,7 +22,7 @@
  * SOFTWARE.
  */
 
-#include <espFoc/esp_foc_pid.h>
+#include <motor_control/esp_foc_pid.h>
 
 int esp_foc_pid_init(struct esp_foc_pid *p, float sample_time_seconds, float integral_limit)
 {
diff --git a/src/esp_foc_svm.c b/common/motor_control/esp_foc_svm.c
similarity index 98%
rename from src/esp_foc_svm.c
rename to common/motor_control/esp_foc_svm.c
index 47861b7..39c9766 100644
--- a/src/esp_foc_svm.c
+++ b/common/motor_control/esp_foc_svm.c
@@ -2,7 +2,7 @@
  * Copyright (c) 2021 Teslabs Engineering S.L.
  * SPDX-License-Identifier: Apache-2.0
  */
-#include <espFoC/esp_foc.h>
+#include <motor_control/esp_foc.h>
 
 extern const float ESP_FOC_SQRT3;
 extern const float ESP_FOC_1_SQRT3;
diff --git a/doc/images/arch.png b/doc/images/arch.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ddd3099c4028e1333ecb1a86f29089f6b913f54
GIT binary patch
literal 117374
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

literal 0
HcmV?d00001

diff --git a/examples/stubs/main.cpp b/examples/stubs/main.cpp
deleted file mode 100644
index 0a7a080..0000000
--- a/examples/stubs/main.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#include <unistd.h>
-#include <signal.h>
-#include <stdio.h>
-#include <espFoC/esp_foc.h>
-
-struct motor_hardware_stub stub;
-struct esp_foc_motor_interface *hw;
-struct esp_foc_motor_control control;
-int should_stop = 0;
-
-using namespace std;
-
-int main(int argc, char **argv)
-{
-    int err;
-
-    err = motor_hardware_stub_init(&stub, &hw);
-    if(err)
-        cout << "failed to initialize the motor hardware err:" << err << endl;
-
-    err = esp_foc_init_controller(&control, hw);
-    if(err)
-        cout << "failed to initialize esp foc controller err:" << err << endl;
-
-    err = esp_foc_controller_set_speed(&control, 360.0f);
-    if(err)
-        cout << "failed to set the initial speed err" << err << endl;
-
-    while(!should_stop) {
-        err = esp_foc_controller_run(&ctl);
-        if(err)
-            cout << "error when running controller err:" << err << endl;
-        usleep(1000);
-    }
-}
diff --git a/examples/stubs/motor_hardware_stub.c b/examples/stubs/motor_hardware_stub.c
deleted file mode 100644
index 44a46bc..0000000
--- a/examples/stubs/motor_hardware_stub.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * MIT License
- *
- * Copyright (c) 2021 Felipe Neves
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#include <math.h>
-#include "motor_hardware_stub.h"
-
-static const float pole_pairs = 12.0f;
-static float erotor_angle = 0.0f;
-static const float angle_step_per_ms = 0.36f;
-
-static int normalize_angle(float *angle)
-{
-    if(!angle)
-        return -EINVAL;
-
-    float result =  fmod(*angle, (2.0 * 3.141569f));
-    if(result > 3.141569f) {
-        result -= 3.141569f;
-    }
-
-    *angle = result;
-
-    return 0;
-}
-
-static int reset(struct esp_foc_motor_interface *self)
-{
-    if(!self)
-        return -EINVAL;
-
-    return 0;
-}
-
-static int enable(struct esp_foc_motor_interface *self)
-{
-    if(!self)
-        return -EINVAL;
-
-    return 0;
-}
-
-static int set_duty_cycles(struct esp_foc_motor_interface *self, float a, float b, float c)
-{
-    if(!self)
-        return -EINVAL;
-
-    (void)a;
-    (void)b;
-    (void)c;
-
-    return 0;
-}
-
-static int get_rotor_angle(struct esp_foc_motor_interface *self, float *angle)
-{
-    if(!self || !angle)
-        return -EINVAL;
-
-    *angle = erotor_angle * pole_pairs;
-
-    return normalize_angle(angle);
-}
-
-static int get_rotor_speed_dps(struct esp_foc_motor_interface *self, float *speed_dps)
-{
-    if(!self || speed_dps)
-        return -EINVAL;
-
-
-    //360 dps -> 1 RPS -> 1 RPM;
-    *speed_dps = 360.0f;
-
-    return 0;
-}
-
-static int align_rotor(struct esp_foc_motor_interface *self)
-{
-    if(!self)
-        return -EINVAL;
-
-    return 0;
-}
-
-static int fetch_sensors(struct esp_foc_motor_interface *self)
-{
-    if(!self)
-        return -EINVAL;
-
-    erotor_angle += angle_step_per_ms;
-    if(e_angle > 360.0f) {
-        erotor_angle -= 360.0f;
-    }
-
-    return 0;
-}
-
-int motor_hardware_stub_init(struct motor_hardware_stub *stub,
-                            struct esp_foc_motor_interface **itf)
-{
-    if(!stub)
-        return -EINVAL;
-
-    stub->self->reset = reset;
-    stub->self->enable = enable;
-    stub->self->set_duty_cycles = set_duty_cycles;
-    stub->self->get_rotor_angle = get_rotor_angle;
-    stub->self->get_rotor_speed_dps = get_rotor_speed_dps;
-    stub->self->align_rotor = align_rotor;
-    stub->self->fetch_sensors = fetch_sensors;
-
-    itf = stub->self;
-    return 0;
-}
\ No newline at end of file