Commit Graph

12 Commits

Author SHA1 Message Date
Jilay Pandya
ecada895da drivers: stepper: update drivers as per the api changes
This commit deprecates passing of async signal in functions such as move
and set_target_position. As per the new API, the async signal has to be
set via set_async_signal.

If RAMPSTAT_POLL is activated then enable_constant_velocity_mode would be
able to raise signals like END_STOP_DETECTED & SENSORLESS_STALL_DETECTED.
This commit also adjusts shell script in order to test these signals.

Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
2024-10-15 13:53:16 +02:00
Jilay Pandya
4f18d64b30 drivers: stepper: api: introduce stepper_set_event_callback function
- Refactor stepper_signal_result to stepper_event.
- Introduce stepper_set_event_callback function
- Deprecate k_poll_signal

Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
2024-10-15 13:53:16 +02:00
Jilay Pandya
9cf1269e0e shell: stepper: add further stepper signals to shell
This commit adds further signals to stepper shell
- STEPPER_SIGNAL_SENSORLESS_STALL_DETECTED
- STEPPER_SIGNAL_LEFT_END_STOP_DETECTED
- STEPPER_SIGNAL_RIGHT_END_STOP_DETECTED

Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
2024-10-09 18:24:08 +01:00
Jilay Pandya
52c6a289f1 drivers: stepper: adi: trinamic tmc5041
This commit introduces initial structure for trinamic drivers
TMC5041 is implemented with following features:
- StallGuard
- RAMPSTAT_POLL
- RAMP_GEN

Signed-off-by: Dipak Shetty <dipak.shetty@zeiss.com>
Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
2024-10-09 18:24:08 +01:00
Fabio Baltieri
5e2203a6cd stepper: shell: fix uninitialized variable compiler warning
Fixes:

/__w/zephyr/zephyr/include/zephyr/drivers/stepper.h:429:16: error:
'direction' may be used uninitialized [-Werror=maybe-uninitialized]

found with:

west build -p -b esp32s3_touch_lcd_1_28/esp32s3/appcpu -T
tests/drivers/stepper/shell/drivers.stepper.shell

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2024-09-30 17:13:07 +01:00
Fabian Blatz
c525dc0813 drivers: stepper: Add fake stepper driver
Add `zephyr,fake-stepper` compatible which can be used inside of unit
tests.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2024-09-21 12:23:19 +01:00
Fabian Blatz
c694858d06 drivers: stepper: add stepper shell
Add shell commands to enable/disable, move, set velocity, configure
micro-step resolution, and display stepper motor status. Includes an
`info` command to output all relevant data with graceful handling of
unsupported features.

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2024-09-21 12:23:19 +01:00
Jilay Pandya
fda97de253 drivers: stepper: refactor gpio stepper driver
This commit refactors gpio stepper driver

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-09-03 10:42:19 +02:00
Jilay Pandya
28cd1c8439 stepper: fix: introduce step count check in gpio stepper
This commit introduces step count check before updating
actual position.

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2024-09-03 10:42:19 +02:00
Fabian Blatz
6ae753f5bd drivers: stepper: Fix missing _driver_api suffix
The gen_kobject_list.py script expects the __subystem declaration to end
with _driver_api. Adjust the stepper api and existing driver implementation
accordingly.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2024-08-29 18:03:01 +02:00
Jilay Pandya
4f36fa8010 stepper: driver: introduce gpio driver
This commit introduces a basic gpio stepper driver

Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2024-08-27 12:43:39 +02:00
Jilay Pandya
1af0ec1d96 stepper motor controller: introduce api
This commit introduces api for stepper motor controllers

Signed-off-by: Dipak Shetty <dipak.shetty@zeiss.com>
Signed-off-by: Florian Guhl <florian.guhl@zeiss.com>
Signed-off-by: Jilay Pandya <jilay.pandya@zeiss.com>
Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2024-08-27 12:43:39 +02:00