Lydia - Printhead
MotorLoad Class Reference

#include <MotorLoad.h>

Inheritance diagram for MotorLoad:
[legend]

Public Types

enum  MSTATE {
  NONE = 0, IDLE = 1, LOAD = 2, OVERLOAD = 2,
  ERROR = 3
}
 

Public Member Functions

short debug ()
 
short idle ()
 
short info ()
 
short loop ()
 
 MotorLoad (Component *_owner, short _pin, short _id, int _addr)
 
short overload ()
 
short setup ()
 
short working ()
 

Public Attributes

short currentState
 
millis_t dt
 
millis_t lastIdle
 
millis_t lastLoad
 
millis_t lastOverload
 
short lastState
 
short pin
 
short value
 

Detailed Description

Definition at line 15 of file MotorLoad.h.

Member Enumeration Documentation

◆ MSTATE

Enumerator
NONE 
IDLE 
LOAD 
OVERLOAD 
ERROR 

Definition at line 18 of file MotorLoad.h.

19  {
20  NONE = 0,
21  IDLE = 1,
22  LOAD = 2,
23  OVERLOAD = 2,
24  ERROR = 3
25  };

Constructor & Destructor Documentation

◆ MotorLoad()

MotorLoad::MotorLoad ( Component *  _owner,
short  _pin,
short  _id,
int  _addr 
)
inline

Definition at line 27 of file MotorLoad.h.

30  : dt(0),
31  pin(_pin),
32  value(0),
33  lastIdle(0),
34  lastLoad(0),
35  lastOverload(0),
37  lastState(NONE),
38  ModbusValue<int>(_addr, MB_FC::MB_FC_READ_REGISTERS),
39  Component("MotorLoad", _id, Component::COMPONENT_DEFAULT, _owner)
40  {
41  //this->setFlag(OBJECT_RUN_FLAGS::E_OF_DEBUG);
42  SBI(nFlags, OBJECT_NET_CAPS::E_NCAPS_MODBUS);
43  setRegisterMode(MB_REGISTER_MODE::E_MB_REGISTER_MODE_READ);
44  }

Member Function Documentation

◆ debug()

short MotorLoad::debug ( )
inline

Definition at line 101 of file MotorLoad.h.

102  {
103  return E_OK;
104  // return info();
105  }

◆ idle()

short MotorLoad::idle ( )
inline

Definition at line 51 of file MotorLoad.h.

52  {
54  }

◆ info()

short MotorLoad::info ( )
inline

Definition at line 107 of file MotorLoad.h.

108  {
109  // Log.verboseln("MotorLoad::info - Pin=%d | Key=%d | Addr=%d | Val=%d | NetVal=%d ", pin, id, addr, value, netVal());
110  return E_OK;
111  }

◆ loop()

short MotorLoad::loop ( )
inline

Definition at line 66 of file MotorLoad.h.

67  {
68  if (now - last > MOTOR_LOAD_READ_INTERVAL)
69  {
70  value = analogRead(pin);
71  last = now;
72  uchar newState = NONE;
73  if (idle())
74  {
75  lastIdle = now;
76  newState = IDLE;
77  }
78  else if (overload())
79  {
80  Log.errorln("MotorLoad::loop - Overload detected : %d", value);
81  lastOverload = now;
82  newState = OVERLOAD;
83  }
84  else if (working())
85  {
86  lastLoad = now;
87  newState = LOAD;
88  }
89 
90  if (newState != currentState)
91  {
92  dt = now;
94  currentState = newState;
95  }
96  onSet(value);
97  }
98  return E_OK;
99  }

◆ overload()

short MotorLoad::overload ( )
inline

Definition at line 46 of file MotorLoad.h.

47  {
49  }

◆ setup()

short MotorLoad::setup ( )
inline

Definition at line 61 of file MotorLoad.h.

62  {
63  return E_OK;
64  }

◆ working()

short MotorLoad::working ( )
inline

Definition at line 56 of file MotorLoad.h.

57  {
59  }

Member Data Documentation

◆ currentState

short MotorLoad::currentState

Definition at line 115 of file MotorLoad.h.

◆ dt

millis_t MotorLoad::dt

Definition at line 113 of file MotorLoad.h.

◆ lastIdle

millis_t MotorLoad::lastIdle

Definition at line 116 of file MotorLoad.h.

◆ lastLoad

millis_t MotorLoad::lastLoad

Definition at line 117 of file MotorLoad.h.

◆ lastOverload

millis_t MotorLoad::lastOverload

Definition at line 118 of file MotorLoad.h.

◆ lastState

short MotorLoad::lastState

Definition at line 114 of file MotorLoad.h.

◆ pin

short MotorLoad::pin

Definition at line 129 of file MotorLoad.h.

◆ value

short MotorLoad::value

Definition at line 128 of file MotorLoad.h.


The documentation for this class was generated from the following file:
MotorLoad::lastIdle
millis_t lastIdle
Definition: MotorLoad.h:116
MOTOR_OVERLOAD_RANGE_MAX
#define MOTOR_OVERLOAD_RANGE_MAX
Definition: config_adv.h:61
MOTOR_LOAD_RANGE_MAX
#define MOTOR_LOAD_RANGE_MAX
Definition: config_adv.h:57
MotorLoad::lastLoad
millis_t lastLoad
Definition: MotorLoad.h:117
MotorLoad::lastOverload
millis_t lastOverload
Definition: MotorLoad.h:118
MotorLoad::value
short value
Definition: MotorLoad.h:128
MotorLoad::idle
short idle()
Definition: MotorLoad.h:51
MotorLoad::NONE
@ NONE
Definition: MotorLoad.h:20
MOTOR_IDLE_LOAD_RANGE_MAX
#define MOTOR_IDLE_LOAD_RANGE_MAX
Definition: config_adv.h:53
MOTOR_LOAD_READ_INTERVAL
#define MOTOR_LOAD_READ_INTERVAL
Definition: config_adv.h:49
MotorLoad::working
short working()
Definition: MotorLoad.h:56
MotorLoad::pin
short pin
Definition: MotorLoad.h:129
MotorLoad::lastState
short lastState
Definition: MotorLoad.h:114
MotorLoad::LOAD
@ LOAD
Definition: MotorLoad.h:22
MOTOR_IDLE_LOAD_RANGE_MIN
#define MOTOR_IDLE_LOAD_RANGE_MIN
Definition: config_adv.h:52
MotorLoad::currentState
short currentState
Definition: MotorLoad.h:115
MOTOR_LOAD_RANGE_MIN
#define MOTOR_LOAD_RANGE_MIN
Definition: config_adv.h:56
MOTOR_OVERLOAD_RANGE_MIN
#define MOTOR_OVERLOAD_RANGE_MIN
Definition: config_adv.h:60
MotorLoad::IDLE
@ IDLE
Definition: MotorLoad.h:21
E_OK
#define E_OK
Definition: enums.h:11
MotorLoad::OVERLOAD
@ OVERLOAD
Definition: MotorLoad.h:23
MotorLoad::overload
short overload()
Definition: MotorLoad.h:46
MotorLoad::dt
millis_t dt
Definition: MotorLoad.h:113
ERROR
ERROR
Definition: enums.h:71