Looking For Help Adapting a Library to SAMD21 - "iAccelstepper"

This page summarizes the projects mentioned and recommended in the original post on /r/embedded

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • GUIslice

    GUIslice drag & drop embedded GUI in C for touchscreen TFT on Arduino, Raspberry Pi, ARM, ESP8266 / ESP32 / M5stack using Adafruit-GFX / TFT_eSPI / UTFT / SDL

  • I am working on a project that uses an adafruit metro m0 express development board (using the ATSAMD21G18 ARM Cortex M0 processor) to drive a stepper motor. I have elected to use the Accelstepper library as it is well documented and makes controlling the stepper simple. The project also is driving a touchscreen display with the GUIslice library. Now - the Accelstepper library uses the main polling loop() function to repeatedly call the .run() method from the library to produce pulses to the stepper driver and move the motor. I have noted that when having the GUIslice function for polling the display in the same loop() function, it can hang the stepper motion for a split second as the processor is taking time to perform those functions (rightfully so).

  • iAccelStepper

    interrupt driven stepper controller inherited from AccelStepper

  • I was searching online for a solution to this problem and noted several years ago someone created a patch for Accelstepper called iAccelstepper, which uses a hardware timer interrupt to call the .run() method instead of the main polling loop() function to produce the pulses for the driver. After looking at this library, I believe it is a great solution to mine (and possibly others) problem in that it keeps the main polling loop() available to do other functions without inhibiting the motion of the stepper motor. As I looked through the iAccelstepper library it would seem the author created it for the Texas Instruments Tiva-C development board, which uses an ARM Cortex M4 processor, and the TI ecosystem has simple driver libraries to easily access the timer peripherals to do so.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • AccelStepper

    Fork of AccelStepper

  • I am working on a project that uses an adafruit metro m0 express development board (using the ATSAMD21G18 ARM Cortex M0 processor) to drive a stepper motor. I have elected to use the Accelstepper library as it is well documented and makes controlling the stepper simple. The project also is driving a touchscreen display with the GUIslice library. Now - the Accelstepper library uses the main polling loop() function to repeatedly call the .run() method from the library to produce pulses to the stepper driver and move the motor. I have noted that when having the GUIslice function for polling the display in the same loop() function, it can hang the stepper motion for a split second as the processor is taking time to perform those functions (rightfully so).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Display and Touch Driver not supported by GUIslice

    3 projects | /r/arduino | 7 Jul 2023
  • Visual editor for a TFT Touchscreen with Arduino Mega

    1 project | /r/arduino | 2 Jul 2023
  • Help me, Reddit…

    2 projects | /r/arduino | 13 Apr 2023
  • RouterPi – A Compute Module 4 Router

    1 project | news.ycombinator.com | 28 Mar 2024
  • Unstable Wifi Connection VBox

    1 project | /r/Kalilinux | 7 Dec 2023