 |
Lydia - Printhead
|
Go to the documentation of this file.
8 #include <ModbusValue.h>
17 #define E_PID_MB_QUEUE_STATUS 1
18 #define E_PID_MB_QUEUE_USER_1 2
19 #define E_PID_MB_QUEUE_USER_2 3
20 #define E_PID_MB_QUEUE_LENGTH 1
22 #define E_PID_MB_M_QUEUE_PID_0 OMRON_PID_SLAVE_START
23 #define E_PID_MB_M_QUEUE_PID_1 OMRON_PID_SLAVE_START + 1
24 #define E_PID_MB_M_QUEUE_LENGTH NB_OMRON_PIDS
48 ShiftRegister<uchar, E_PID_MB_QUEUE_LENGTH>
queue;
85 Serial.print(
"PID - ");
87 Serial.print(
" : Slave Addr : ");
89 Serial.print(
" | PV : ");
91 Serial.print(
" | SP : ");
93 Serial.print(
" | LastUpdate : ");
95 Serial.print(
" | DT : ");
97 Serial.print(
" | Flags : ");
98 Serial.print(
flags, HEX);
99 Serial.print(
" | Status Low : ");
101 Serial.print(
" | Status High : ");
108 class OmronPID :
public Component,
public ModbusValue<int[]>
112 short _slaveStart) : Component(
"OmronPID",
COMPONENT_KEY_PID_0, Component::COMPONENT_DEFAULT, NULL),
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);
130 virtual short loop();
131 virtual short setup();
177 int eachPID(
short fn,
int addr,
int value);
179 int singlePID(
int slave,
short fn,
int addr,
int value);
180 int singlePIDW(
int slave,
int addr,
int value);
182 short read10_16(
int slaveAddress,
int addr,
int prio);
195 ShiftRegister<uchar, E_PID_MB_M_QUEUE_LENGTH>
queue;
short onRegisterMethods(Bridge *bridge)
int eachPID(short fn, int addr, int value)
#define MB_REGISTER_OFFSET_TC
#define E_PID_MB_QUEUE_STATUS
short queryResponse(short error)
OmronState * nextToUpdate2()
short onRawResponse(short size, uint8_t rxBuffer[])
@ OR_E5_S1_Control_OutputOpenOutput
OmronState * pidBySlave(int slave)
ShiftRegister< uchar, E_PID_MB_M_QUEUE_LENGTH > queue
int singlePID(int slave, short fn, int addr, int value)
#define OR_E5_STATUS_BIT(H, L, B)
short responseFn(short error)
int singlePIDW(int slave, int addr, int value)
ShiftRegister< uchar, E_PID_MB_QUEUE_LENGTH > queue
OmronState * nextToUpdate()
#define OMRON_PID_UPDATE_INTERVAL
short onError(short error)
OmronPID(ModbusBridge *_bridge, short _slaveStart)
@ OR_E5_S1_Control_OutputCloseOutput
short read10_16(int slaveAddress, int addr, int prio)
int eachPIDW(int addr, int value)
#define MB_REGISTER_OFFSET_TC_RANGE
#define E_PID_MB_M_QUEUE_PID_0
short onResponse(short error)
#define E_PID_MB_M_QUEUE_PID_1
OmronState states[NB_OMRON_PIDS]