 |
Lydia - Printhead
|
Go to the documentation of this file.
19 #define DEBUG_OPID_ERRORS
20 #ifdef DEBUG_OPID_ERRORS
21 #define _DEBUG_OPID_ERRORS(format, ...) Log.verboseln(format, ##__VA_ARGS__)
23 #define _DEBUG_OPID_ERRORS(format, ...)
35 if (c->
flags == OmronState::FLAGS::UPDATING &&
38 c->
flags == OmronState::FLAGS::DIRTY;
40 if (c->
flags == OmronState::FLAGS::UPDATING)
61 next->
flags = OmronState::FLAGS::UPDATING;
64 Log.verboseln(
"OmronPID::updateState : Slave=%d", next->
slaveID);
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();
127 next->
slave = slaveAddress;
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))
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);
242 Log.verboseln(
"Omron PID :: onError %d : %d", error,
readInterval);
251 Log.errorln(
"Omron PID :: onError - can't find last query! ");
339 if (
states[i].slaveID == slave)
bool skipRead(int slave, int fn, int addr, int num, int prio)
#define ku8MBWriteSingleRegister
Modbus function 0x06 Write Single Register.
#define MB_REGISTER_OFFSET_TC
#define ku8MBReadHoldingRegisters
Modbus function 0x03 Read Holding Registers.
#define MB_MAX_POLL_INTERVAL
#define OMRON_PID_MAX_TEMPERATURE
short queryResponse(short error)
short query(int slave, short function, long start, int coils, Component *_owner, ComponentFnPtr _responseFn)
OmronState * nextToUpdate2()
short onRawResponse(short size, uint8_t rxBuffer[])
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 OR_E_MSG_INVALID_RANGE
OmronState * nextToUpdate()
#define OMRON_PID_UPDATE_INTERVAL
short onError(short error)
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 MB_POLL_RETRY_STEP
short onResponse(short error)
OmronState states[NB_OMRON_PIDS]