 |
Lydia - Printhead
|
#include <OmronPID.h>
|
int | eachPID (short fn, int addr, int value) |
|
int | eachPIDW (int addr, int value) |
|
short | fromTCP () |
|
OmronState * | pidBySlave (int slave) |
|
void | print () |
|
short | read10_16 (int slaveAddress, int addr, int prio) |
|
void | resetStates () |
|
int | singlePID (int slave, short fn, int addr, int value) |
|
int | singlePIDW (int slave, int addr, int value) |
|
void | updateState () |
|
void | updateTCP () |
|
Definition at line 108 of file OmronPID.h.
◆ OmronPID()
OmronPID::OmronPID |
( |
ModbusBridge * |
_bridge, |
|
|
short |
_slaveStart |
|
) |
| |
|
inline |
Definition at line 111 of file OmronPID.h.
117 ModbusValue<
int[]>(_slaveStart)
120 SBI(nFlags, OBJECT_NET_CAPS::E_NCAPS_MODBUS);
124 setFunctionCode(MB_FC::MB_FC_READ_REGISTERS);
127 setRegisterMode(MB_REGISTER_MODE::E_MB_REGISTER_MODE_READ);
◆ debug()
short OmronPID::debug |
( |
| ) |
|
Definition at line 39 of file OmronPID.cpp.
41 Log.verboseln(
"Omron PID :: debug %d",
id);
◆ eachPID()
int OmronPID::eachPID |
( |
short |
fn, |
|
|
int |
addr, |
|
|
int |
value |
|
) |
| |
|
private |
Definition at line 119 of file OmronPID.cpp.
135 Log.errorln(
"Omron-PID::eachPID : no buffer free");
◆ eachPIDW()
int OmronPID::eachPIDW |
( |
int |
addr, |
|
|
int |
value |
|
) |
| |
|
private |
◆ fromTCP()
short OmronPID::fromTCP |
( |
| ) |
|
|
private |
◆ info()
◆ initPIDS()
void OmronPID::initPIDS |
( |
| ) |
|
|
protected |
◆ isHeatingUp()
bool OmronPID::isHeatingUp |
( |
| ) |
|
◆ isRunning()
bool OmronPID::isRunning |
( |
| ) |
|
◆ loop()
◆ modbusLoop()
short OmronPID::modbusLoop |
( |
| ) |
|
Definition at line 69 of file OmronPIDModbus.cpp.
88 nextCommand->
ts = millis();
92 if (millis() -
d0TS > 1000)
94 Log.verboseln(
"OmronPID::loop : Query Modbus : Slave=%d | FN=%d | Addr=%d | Nb=%d",
100 nextCommand->
print();
◆ nextToUpdate()
Definition at line 29 of file OmronPIDModbus.cpp.
35 if (c->
flags == OmronState::FLAGS::UPDATING &&
38 c->
flags == OmronState::FLAGS::DIRTY;
40 if (c->
flags == OmronState::FLAGS::UPDATING)
◆ nextToUpdate2()
◆ onError()
short OmronPID::onError |
( |
short |
error | ) |
|
Definition at line 238 of file OmronPIDModbus.cpp.
242 Log.verboseln(
"Omron PID :: onError %d : %d", error,
readInterval);
251 Log.errorln(
"Omron PID :: onError - can't find last query! ");
◆ onRawResponse()
short OmronPID::onRawResponse |
( |
short |
size, |
|
|
uint8_t |
rxBuffer[] |
|
) |
| |
Definition at line 138 of file OmronPIDModbus.cpp.
143 Log.verboseln(
"OmronPID::rawResponse : size=%d | %X", size, rxBuffer);
154 Serial.print(
"------ \n Command Error: ");
155 Serial.print(rxBuffer[2]);
175 Serial.println(
"\n------");
179 if (size == 8 && (rxBuffer[0] != current->
slave || rxBuffer[2] != current->
addr))
◆ onRegisterMethods()
short OmronPID::onRegisterMethods |
( |
Bridge * |
bridge | ) |
|
Definition at line 23 of file OmronPID.cpp.
26 bridge->registerMemberFunction(
id,
this, C_STR(
"testPIDs"), (ComponentFnPtr)&
OmronPID::testPIDs);
27 bridge->registerMemberFunction(
id,
this, C_STR(
"debug"), (ComponentFnPtr)&
OmronPID::debug);
◆ onResponse()
short OmronPID::onResponse |
( |
short |
error | ) |
|
Definition at line 189 of file OmronPIDModbus.cpp.
192 if (!last || last->
owner !=
id)
200 Log.warningln(
"Omron-PID :: invalid slave : %d", last->
slave);
208 state->
flags = OmronState::FLAGS::UPDATED;
223 state->
flags = OmronState::FLAGS::UPDATED;
229 Log.verboseln(
"Omron-PID :: Updated Slave : %d : ", state->
slaveID);
◆ pidBySlave()
◆ print()
◆ printStates()
void OmronPID::printStates |
( |
| ) |
|
◆ queryResponse()
short OmronPID::queryResponse |
( |
short |
error | ) |
|
◆ read10_16()
short OmronPID::read10_16 |
( |
int |
slaveAddress, |
|
|
int |
addr, |
|
|
int |
prio |
|
) |
| |
|
private |
◆ resetStates()
void OmronPID::resetStates |
( |
| ) |
|
|
private |
◆ responseFn()
short OmronPID::responseFn |
( |
short |
error | ) |
|
◆ runAll()
void OmronPID::runAll |
( |
| ) |
|
◆ setAllSP()
void OmronPID::setAllSP |
( |
int |
sp | ) |
|
◆ setup()
short OmronPID::setup |
( |
| ) |
|
|
virtual |
◆ singlePID()
int OmronPID::singlePID |
( |
int |
slave, |
|
|
short |
fn, |
|
|
int |
addr, |
|
|
int |
value |
|
) |
| |
|
private |
Definition at line 70 of file OmronPID.cpp.
75 Log.verboseln(
"OmronPID::singlePID : failed : no buffer");
80 Log.verboseln(
"OmronPID::singlePID : failed : num same");
87 Log.errorln(
"Omron-PID::singlePID : invalid PID : %d", slave);
94 Log.verboseln(
"OmronPID::singlePID : failed : no free query");
104 pid->
flags = OmronState::FLAGS::UPDATING;
◆ singlePIDW()
int OmronPID::singlePIDW |
( |
int |
slave, |
|
|
int |
addr, |
|
|
int |
value |
|
) |
| |
|
private |
◆ stopAll()
void OmronPID::stopAll |
( |
| ) |
|
◆ testPIDs()
void OmronPID::testPIDs |
( |
| ) |
|
◆ updateState()
void OmronPID::updateState |
( |
| ) |
|
|
private |
Definition at line 55 of file OmronPIDModbus.cpp.
61 next->
flags = OmronState::FLAGS::UPDATING;
64 Log.verboseln(
"OmronPID::updateState : Slave=%d", next->
slaveID);
◆ updateTCP()
void OmronPID::updateTCP |
( |
| ) |
|
|
private |
◆ d0TS
◆ lastError
short OmronPID::lastError |
|
private |
◆ modbus
◆ queries
Vector<Query> OmronPID::queries |
◆ queue
◆ readInterval
millis_t OmronPID::readInterval |
|
private |
◆ slaveStart
short OmronPID::slaveStart |
|
private |
◆ startTS
millis_t OmronPID::startTS |
|
private |
◆ states
The documentation for this class was generated from the following files:
int eachPID(short fn, int addr, int value)
bool skipRead(int slave, int fn, int addr, int num, int prio)
#define ku8MBWriteSingleRegister
Modbus function 0x06 Write Single Register.
#define ku8MBReadHoldingRegisters
Modbus function 0x03 Read Holding Registers.
#define MB_REGISTER_OFFSET_TC
#define MB_MAX_POLL_INTERVAL
#define OMRON_PID_MAX_TEMPERATURE
int numByState(int state=DONE)
short query(int slave, short function, long start, int coils, Component *_owner, ComponentFnPtr _responseFn)
OmronState * nextToUpdate2()
uint16_t ModbusSlaveRegisters[8]
@ VARIABLE_OPERATION_ERROR
#define ERR_MODBUS_TIMEOUT
OmronState * pidBySlave(int slave)
ShiftRegister< uchar, E_PID_MB_M_QUEUE_LENGTH > queue
#define OR_E_MSG_OPERATION_ERROR
int singlePID(int slave, short fn, int addr, int value)
Query * nextQueryByState(uchar state=DONE, int owner=-1)
#define OR_E_MSG_INVALID_ADDRESS
#define MB_QUERY_TYPE_STATUS_POLL
#define MB_QUERY_TYPE_CMD
#define OR_E_MSG_INVALID_RANGE
int numSame(uchar state, short slave, int addr, short fn, int value)
#define OMRON_PID_UPDATE_INTERVAL
Query * nextQueryByState2(uchar state, int owner)
short read10_16(int slaveAddress, int addr, int prio)
#define MB_REGISTER_OFFSET_TC_RANGE
#define OMRON_PID_READ_STATUS_REGISTERS
#define E_PID_MB_M_QUEUE_PID_0
#define MB_POLL_RETRY_STEP
#define E_PID_MB_M_QUEUE_PID_1
OmronState states[NB_OMRON_PIDS]