Skip to content

File syn_actuator.c

FileList > motor > syn_actuator.c

Go to the source code of this file

Linear actuator implementation.

  • #include "../motor/syn_dc_motor.h"
  • #include "../util/syn_assert.h"
  • #include "syn_actuator.h"
  • #include <string.h>

Public Functions

Type Name
void syn_actuator_clear_stall (SYN_Actuator * act)
Clear stall condition and re-enable.
void syn_actuator_init (SYN_Actuator * act, const SYN_Actuator_Config * cfg)
Initialize linear actuator.
void syn_actuator_set_position (SYN_Actuator * act, int16_t pct_x10)
Set desired position.
void syn_actuator_stop (SYN_Actuator * act)
Stop the actuator immediately.
int16_t syn_actuator_update (SYN_Actuator * act)
Update — read pot, run PID, drive motor.

Public Static Functions

Type Name
int16_t adc_to_pct (const SYN_Actuator * act, int32_t adc)
Convert ADC value to position percentage.
int32_t pct_to_adc (const SYN_Actuator * act, int16_t pct)
Convert position percentage (0.0–1000 = 0–100%) to ADC units.

Public Functions Documentation

function syn_actuator_clear_stall

Clear stall condition and re-enable.

void syn_actuator_clear_stall (
    SYN_Actuator * act
) 

Parameters:

  • act Actuator.

function syn_actuator_init

Initialize linear actuator.

void syn_actuator_init (
    SYN_Actuator * act,
    const SYN_Actuator_Config * cfg
) 

Parameters:

  • act Actuator instance.
  • cfg Configuration.

function syn_actuator_set_position

Set desired position.

void syn_actuator_set_position (
    SYN_Actuator * act,
    int16_t pct_x10
) 

Parameters:

  • act Actuator instance.
  • pct_x10 Position in 0.1% units (0 = retracted, 1000 = extended).

function syn_actuator_stop

Stop the actuator immediately.

void syn_actuator_stop (
    SYN_Actuator * act
) 

Parameters:

  • act Actuator instance.

function syn_actuator_update

Update — read pot, run PID, drive motor.

int16_t syn_actuator_update (
    SYN_Actuator * act
) 

Call from your scheduler task at the configured update_hz.

Parameters:

  • act Actuator instance.

Returns:

Current position (0-1000).


Public Static Functions Documentation

function adc_to_pct

Convert ADC value to position percentage.

static int16_t adc_to_pct (
    const SYN_Actuator * act,
    int32_t adc
) 

Parameters:

  • act Actuator instance.
  • adc ADC reading.

Returns:

Position in 0.1% units (0–1000).


function pct_to_adc

Convert position percentage (0.0–1000 = 0–100%) to ADC units.

static int32_t pct_to_adc (
    const SYN_Actuator * act,
    int16_t pct
) 

Parameters:

  • act Actuator instance.
  • pct Position in 0.1% units (0–1000).

Returns:

ADC value.



The documentation for this class was generated from the following file src/syntropic/motor/syn_actuator.c