Struct liba::pid_fuzzy

source ·
#[repr(C)]
pub struct pid_fuzzy { pub pid: pid, pub kp: float, pub ki: float, pub kd: float, /* private fields */ }
Expand description

fuzzy proportional integral derivative controller

Fields§

§pid: pid

proportional integral derivative controller

§kp: float

base proportional constant

§ki: float

base integral constant

§kd: float

base derivative constant

Implementations§

source§

impl pid_fuzzy

source

pub fn new() -> Self

initialize for fuzzy PID controller

source

pub fn rule( &mut self, col: usize, me: &[float], mec: &[float], mkp: &[float], mki: &[float], mkd: &[float] ) -> &mut Self

set rule base for fuzzy PID controller

source

pub fn kpid(&mut self, kp: float, ki: float, kd: float) -> &mut Self

set proportional integral derivative constant for fuzzy PID controller

source

pub const fn BLOCK(n: usize) -> usize

compute size of memory block for fuzzy PID controller

source

pub fn block(&mut self) -> &mut [u8]

get memory block for fuzzy PID controller

source

pub fn set_block(&mut self, ptr: &mut [u8], num: usize) -> &mut Self

set memory block for fuzzy PID controller

source

pub fn op(&mut self, op: c_uint) -> &mut Self

set fuzzy relational operator for fuzzy PID controller

source

pub fn run(&mut self, set: float, fdb: float) -> float

calculate for fuzzy PID controller

source

pub fn pos(&mut self, set: float, fdb: float) -> float

calculate for positional fuzzy PID controller

source

pub fn inc(&mut self, set: float, fdb: float) -> float

calculate for incremental fuzzy PID controller

source

pub fn zero(&mut self) -> &mut Self

zeroing for fuzzy PID controller

Trait Implementations§

source§

impl Default for pid_fuzzy

source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.