Commit Graph

20 Commits

Author SHA1 Message Date
Jilay Pandya
d25b1d1959 drivers: stepper: add check for inval resolution in set_microstep_res
Add check for invalid microstep resolution directly in api to avoid the
check in each and every driver
Set microstep resolution is made a mandatory function now as all
stepper drivers support it and hence should implement it

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-06-19 22:35:51 -07:00
Josselin Bunt
c4970880a1 drivers: stepper: Add unit tests for stepper API using work_q
This commit adds unit tests for the stepper API using work_q scheduler.

Signed-off-by: Josselin Bunt <josselin@sensible.health>
2025-05-04 19:55:51 +02:00
Dipak Shetty
c9645c9d9c tests: drivers: stepper: remove downstream-specific boards not run in CI
Removed boards that are not exercised in the CI pipeline, as they are
highly downstream-specific and not relevant to upstream validation.

Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
2025-04-16 14:53:19 +02:00
Jan Behrens
f75c057e85 drivers: stepper: Renamed DRV8424 to DRV84XX
Renamed the drv8424 stepper driver to indicate its support of the drv8424,
drv8425, drv8426, drv8434 and drv8436 stepper controllors. Also made the
microstep pins optional. All test files are renamed as well.

Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
2025-04-09 19:34:00 +02:00
Jilay Pandya
4838c0f200 drivers: stepper: introduce valid micro-step resolution check
Introduce macro to check for valid microstep resolution in stepper api
Use this macro in tmc50xx driver. Stepper api tests adjusted in order to
accomodate the not implemented stepper api functions.

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-04-08 11:45:40 +02:00
Jilay Pandya
d18f49132c drivers: stepper: refactor enable(dev,flag) to enable & disable
refactoring enable function into enable and disable increasing readability
and increasing coherence with other stepper apis in terms of
nomenclature

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-04-03 00:03:29 +02:00
Jilay Pandya
71947627ce tests: stepper_api: add a4979 to common stepper api tests
Add a4979 to common stepper api test

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-03-19 20:27:35 +01:00
Jilay Pandya
761c6fbae6 tests: stepper_api: test stop, set_micro_step_res, set_micro_step_interval
unify error codes from all drivers based on stepper specification
add a generic test case for set_micro_step_interval and stop

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-03-13 07:31:06 +01:00
Jilay Pandya
f780df495d tests: stepper_api: create a scaffold to generalize tests
This commit creates a scaffold for executing stepper_api tests
on the existing step_dir drivers.

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-03-13 07:31:06 +01:00
Fabian Blatz
705365c747 drivers: stepper: Change stepper velocity to step interval
Change the stepper API to instead of changing the stepper speed based on
the velocity in microsteps per second to use the delay in usec between
successive steps. Also remove the velocity from the `stepper_run` function
as typical API usage is enable -> set step interval -> run.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2025-01-15 15:06:37 +01:00
Jan Behrens
75463fe950 drivers: stepper: test: Added drv8424 to stepper_api and build_all tests
Adds the drv8424 stepper driver to the build_all/stepper test and the
stepper_api test. The later test is also modified to ensure compatibility.

Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
2024-12-19 15:21:44 +01:00
Jilay Pandya
030444822e drivers: stepper: api: rename stepper_set_target_pos to stepper_move_to
rename stepper_set_target_position to stepper_move_to in following files:
- doc/hardware/peripherals/stepper.rst
- doc/releases/migration-guide-4.1.rst
- drivers/stepper/adi_tmc/adi_tmc5041_stepper_controller.c
- drivers/stepper/fake_stepper_controller.c
- drivers/stepper/gpio_stepper_controller.c
- drivers/stepper/stepper_shell.c
- include/zephyr/drivers/stepper.h
- include/zephyr/drivers/stepper/stepper_fake.h
- tests/drivers/stepper/shell/src/main.c
- tests/drivers/stepper/stepper_api/src/main.c

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-12-06 22:21:44 +01:00
Jilay Pandya
719cd2639c drivers: stepper: refactor set_actual_position to set_reference_position
This commit refactos set_actual_position to set_reference_position.
stepper_set_reference_position is more apt in regards to what this func
actually does

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-11-27 10:29:47 +01:00
Jilay Pandya
195c2c1360 drivers: stepper: fix stepper_set_event_callback c prototype and definition
This commit fixes incorrect c prototype and defintion of
stepper_set_callback to stepper_set_event_callback

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-11-18 19:37:37 -05:00
Jilay Pandya
843625a29b drivers: stepper: change gpio-stepper dt-compatible
This commit changes compatible of gpio-stepper in driver

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-11-18 19:37:37 -05:00
Jilay Pandya
367f853a4c drivers: stepper: rename compatible of gpio-stepper
This commit fixes minor copyright issues and corrects the compatible of
gpio-stepper with the vendor name as zephyr

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-10-26 11:29:57 +02:00
Jilay Pandya
271aeaf5f9 tests: drivers: stepper: stepper_api: test cb user_data
This commit does the following:
1. tests set_callback and user_data
2. fixes the api as well as the drivers by passing user_data
back to the set callback

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-10-22 22:46:26 -04:00
Jilay Pandya
abf5520a19 test: drivers: stepper: adjust tests as per the new api
This commit adjusts the tests as per the updated stepper api.

Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
2024-10-15 13:53:16 +02:00
Fabian Blatz
20b218985c tests: drivers: stepper: stepper_api: Fix UAF of poll signal
The test_target_position test used a stack allocated `poll_signal` which is
kept as a refrence inside the gpio driver. Since the time for polling the
signal was chosen pretty narrow, the function exited with the driver still
trying to signal the stack allocated value upon movement completion.
Fix by adding the structs to the test fixture and increase the timeout.

Resolves #78466.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2024-09-16 20:17:01 +02:00
Jilay Pandya
95f8292329 test: drivers: stepper: add tests for stepper api
This commit adds tests for stepper api

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-09-03 10:42:19 +02:00