 |
Lydia - Printhead
|
Go to the documentation of this file.
7 #if defined(MB_RELAY_0) || defined(MB_RELAY_1) || defined(MB_RELAY_2) || defined(MB_RELAY_3)
11 #if (defined(MB_ANALOG_3POS_SWITCH_0) && defined(MB_ANALOG_3POS_SWITCH_1) || defined(MB_ANALOG_3POS_SWITCH_3))
30 #define ADD_RELAY(relayNum, relayPin, relayKey, relayRegister) \
31 relay_##relayNum = new Relay(this, relayPin, relayKey, relayRegister); \
32 components.push_back(relay_##relayNum); \
33 relay_##relayNum->setGateway(modbusBridge->getMudbus())
35 #define ADD_POT(potNum, potPin, potKey, potRegister) \
36 pot_##potNum = new POT(this, potPin, potKey, potRegister); \
37 components.push_back(pot_##potNum); \
38 pot_##potNum->setGateway(modbusBridge->getMudbus())
40 #define ADD_POS3ANALOG(posNum, switchPin1, switchPin2, switchKey, switchRegister) \
41 pos3Analog_##posNum = new Pos3Analog(this, switchPin1, switchPin2, switchKey, switchRegister); \
42 components.push_back(pos3Analog_##posNum); \
43 pos3Analog_##posNum->setGateway(modbusBridge->getMudbus())
47 uchar s = components.size();
48 for (uchar i = 0; i < s; i++)
50 Component *component = components[i];
59 #if ENABLED(HAS_MODBUS_REGISTER_DESCRIPTIONS)
60 Log.setShowLevel(
false);
61 Serial.print(
"| Name | ID | Address | RW | Function Code | Number Addresses |Register Description| \n");
62 Serial.print(
"|------|----------|----|----|----|----|-------|\n");
63 short size = components.size();
64 for (
int i = 0; i < size; i++)
66 Component *component = components[i];
67 if (!(component->nFlags & 1 << OBJECT_NET_CAPS::E_NCAPS_MODBUS))
71 Log.verbose(
"| %s | %d | %d | %s | %d | %d | %s |\n",
72 (Component *)component->name.c_str(),
74 component->getAddress(),
75 component->getRegisterMode(),
76 component->getFunctionCode(),
77 component->getNumberAddresses(),
78 component->getRegisterDescription().c_str());
80 Log.setShowLevel(
true);
88 asm volatile(
"jmp 0");
93 return E_NOT_IMPLEMENTED;
98 uchar s = components.size();
99 for (uchar i = 0; i < s; i++)
101 Component *component = components[i];
102 Log.verboseln(
"PHApp::list - %d | %s", component->id, component->name.c_str());
109 while (!Serial && !Serial.available())
112 Log.begin(LOG_LEVEL_VERBOSE, &Serial);
113 setFlag(OBJECT_RUN_FLAGS::E_OF_DEBUG);
115 bridge =
new Bridge(
this);
116 com_serial =
new SerialMessage(Serial, bridge);
118 components.push_back(bridge);
125 #ifdef OMRON_PID_SLAVE_START
127 components.push_back(
pids);
146 #if (defined(MB_ANALOG_3POS_SWITCH_0) && (defined(MB_ANALOG_3POS_SWITCH_1)))
150 #if (defined(MB_ANALOG_3POS_SWITCH_2) && (defined(MB_ANALOG_3POS_SWITCH_3)))
154 #ifdef HAS_OMRON_VFD_MODBUS
163 #ifdef HAS_FEED_SERVO
175 #ifdef MOTOR_LOAD_PIN
177 components.push_back(
mLoad);
179 #ifdef OMRON_MX2_SLAVE_ID
206 #ifdef HAS_FEED_SERVO
213 _state = APP_STATE::RESET;
217 registerComponents(bridge);
232 #ifdef PRINT_MODBUS_REGISTERS
244 #if defined(HAS_FEED_SERVO) && defined(MB_RW_FEED_VFD_DEFAULT_SPEED_RATIO)
253 Log.verbose(F(
"* App:onRegisterMethods *" CR));
262 Log.warning(F(
"* App:onWarning - code=%d" CR), code);
285 Log.error(F(
"* App:onError - component=%d (%s) code=%d" CR), byId(
id)->name.c_str(),
id, code);
291 Log.errorln(
"App::onError Timeout %d",
id);
297 Log.errorln(
"App::onError Overload %d",
id);
314 Log.verboseln(F(
"* App:onStop - " CR));
321 Log.verboseln(F(
"* App:clearError - " CR));
332 #ifdef HAS_FEED_SERVO
335 return E_INVALID_PARAMETERS;
349 #if defined(MB_W_FEED_VFD_RATIO) && defined(MB_RW_FEED_VFD_DEFAULT_SPEED_RATIO)
357 int vfdState = state->
state;
358 int vfdSpeed = state->
FC;
361 int newSpeed = abs(t1 * vfdSpeed / 100);
#define MB_MONITORING_STATUS_FEEDBACK_0
virtual short list(short val0, short val1)
#define MB_RELAY_0_DEFAULT
#define MB_STEPPER_FEEDBACK_0
#define MB_STEPPER_ENABLED_0
#define MB_R_SYSTEM_CMD_PRINT_MEMORY
#define MB_R_APP_STATE_REG
StepperController * extruderFeed
void setExtruderFeed(StepperController *feed)
#define MB_ANALOG_3POS_SWITCH_0
short onWarning(short code)
#define MB_STEPPER_OVERLOAD_0
void setBlink(bool blink)
#define MB_R_SYSTEM_ERROR
#define MB_RW_FEED_VFD_DEFAULT_SPEED_RATIO
#define STATUS_ERROR_BLINK
#define STATUS_WARNING_OFF
#define ADD_RELAY(relayNum, relayPin, relayKey, relayRegister)
#define OMRON_PID_SLAVE_START
@ COMPONENT_KEY_MB_RELAY_1
#define STATUS_WARNING_BLINK
@ COMPONENT_KEY_MB_ANALOG_3POS_SWITCH_0
#define MB_R_SYSTEM_CMD_PRINT_VFD
@ COMPONENT_KEY_MB_ANALOG_3POS_SWITCH_1
#define OMRON_STATE_ACCELERATING
@ COMPONENT_KEY_FEEDBACK_0
SerialMessage * com_serial
@ COMPONENT_KEY_STEPPER_0
#define STATUS_WARNING_PIN
@ COMPONENT_KEY_MB_RELAY_0
#define MB_STEPPER_PULSE_0
#define STEPPER_DEFAULT_SPEED_0
short print(short arg1, short arg2)
#define MB_R_SYSTEM_CMD_PRINT_QUEUE
#define STATUS_ERROR_BLINK_OFF
OmronVFDState * getVFDState()
#define MB_ANALOG_3POS_SWITCH_1
@ COMPONENT_KEY_MB_ANALOG_0
short onError(short id, short code)
#define MB_ANALOG_3POS_SWITCH_2
@ COMPONENT_KEY_MB_ANALOG_1
#define MB_W_FEED_VFD_RATIO
#define SERIAL_BAUD_RATE
Serial port baud rate.
#define MB_R_SYSTEM_CMD_PRINT_PIDS
#define STEPPER_DEFAULT_DIR_0
short getAppState(short val)
#define MB_ANALOG_3POS_SWITCH_3
Pos3Analog * pos3Analog_1
StepperController * stepperController_0
StatusLight * statusLight_1
#define STATUS_WARNING_ON
short onStop(short code=0)
@ COMPONENT_KEY_FEEDBACK_1
#define OMRON_VFD_MAX_FREQ
#define MB_R_SYSTEM_CMD_PRINT_REGS
#define OMRON_STATE_DECELERATING
virtual short onRegisterMethods(Bridge *bridge)
StatusLight * statusLight_0
#define OMRON_STATE_RUNNING
#define STEPPER_PULSE_WIDTH_0
#define MB_RELAY_1_DEFAULT
short speed(short val0, short val1=0)
#define STEPPER_MAX_SPEED_0
short onRun(short code=0)
short setLastError(short val=0)
#define MB_MONITORING_STATUS_FEEDBACK_1
#define MB_RW_STEPPER_SPEED_0
#define STATUS_WARNING_BLINK_OFF
Pos3Analog * pos3Analog_0
ModbusBridge * modbusBridge
#define OMRON_MX2_SLAVE_ID
#define ADD_POS3ANALOG(posNum, switchPin1, switchPin2, switchKey, switchRegister)
#define ADD_POT(potNum, potPin, potKey, potRegister)