Class: ModBus::Slave
- Inherits:
-
Object
- Object
- ModBus::Slave
- Defined in:
- ext/modbus4r.c
Instance Method Summary collapse
- #coil_status ⇒ Object
- #coil_status=(value) ⇒ Object
- #holding_registers ⇒ Object
- #holding_registers=(value) ⇒ Object
- #input_registers ⇒ Object
- #input_registers=(value) ⇒ Object
- #input_status ⇒ Object
- #input_status=(value) ⇒ Object
- #join ⇒ Object
- #stoped? ⇒ Boolean
Instance Method Details
#coil_status ⇒ Object
119 120 121 122 123 124 125 |
# File 'ext/slave.c', line 119 VALUE mb_sl_get_coil_status(VALUE self) { modbus_slave_t *mb_slave; Data_Get_Struct(self, modbus_slave_t, mb_slave); return mb_slave->coil_status; } |
#coil_status=(value) ⇒ Object
127 128 129 130 131 132 133 134 135 136 |
# File 'ext/slave.c', line 127 VALUE mb_sl_set_coil_status(VALUE self, VALUE value) { modbus_slave_t *mb_slave; Data_Get_Struct(self, modbus_slave_t, mb_slave); value = rb_funcall(value, rb_intern("to_a"), 0); mb_slave->coil_status = rb_ary_dup(value); return mb_slave->coil_status; } |
#holding_registers ⇒ Object
157 158 159 160 161 162 163 |
# File 'ext/slave.c', line 157 VALUE mb_sl_get_holding_registers(VALUE self) { modbus_slave_t *mb_slave; Data_Get_Struct(self, modbus_slave_t, mb_slave); return mb_slave->holding_registers; } |
#holding_registers=(value) ⇒ Object
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 |
# File 'ext/slave.c', line 165 VALUE mb_sl_set_holding_registers(VALUE self, VALUE value) { modbus_slave_t *mb_slave; Data_Get_Struct(self, modbus_slave_t, mb_slave); value = rb_funcall(value, rb_intern("to_a"), 0); mb_slave->holding_registers = rb_ary_dup(value); VALUE *reg = RARRAY_PTR(mb_slave->holding_registers); int i; for (i = 0; i < RARRAY_LEN(mb_slave->holding_registers); i++) { *reg = rb_funcall(*reg, rb_intern("to_i"), 0); } return mb_slave->holding_registers; } |
#input_registers ⇒ Object
182 183 184 185 186 187 188 |
# File 'ext/slave.c', line 182 VALUE mb_sl_get_input_registers(VALUE self) { modbus_slave_t *mb_slave; Data_Get_Struct(self, modbus_slave_t, mb_slave); return mb_slave->input_registers; } |
#input_registers=(value) ⇒ Object
190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 |
# File 'ext/slave.c', line 190 VALUE mb_sl_set_input_registers(VALUE self, VALUE value) { modbus_slave_t *mb_slave; Data_Get_Struct(self, modbus_slave_t, mb_slave); value = rb_funcall(value, rb_intern("to_a"), 0); mb_slave->input_registers = rb_ary_dup(value); VALUE *reg = RARRAY_PTR(mb_slave->input_registers); int i; for (i = 0; i < RARRAY_LEN(mb_slave->input_registers); i++) { *reg = rb_funcall(*reg, rb_intern("to_i"), 0); } return mb_slave->input_registers; } |
#input_status ⇒ Object
138 139 140 141 142 143 144 |
# File 'ext/slave.c', line 138 VALUE mb_sl_get_input_status(VALUE self) { modbus_slave_t *mb_slave; Data_Get_Struct(self, modbus_slave_t, mb_slave); return mb_slave->input_status; } |
#input_status=(value) ⇒ Object
146 147 148 149 150 151 152 153 154 155 |
# File 'ext/slave.c', line 146 VALUE mb_sl_set_input_status(VALUE self, VALUE value) { modbus_slave_t *mb_slave; Data_Get_Struct(self, modbus_slave_t, mb_slave); value = rb_funcall(value, rb_intern("to_a"), 0); mb_slave->input_status = rb_ary_dup(value); return mb_slave->input_status; } |
#join ⇒ Object
207 208 209 210 211 212 213 214 215 |
# File 'ext/slave.c', line 207 VALUE mb_sl_join(VALUE self) { modbus_slave_t *mb_slave; Data_Get_Struct(self, modbus_slave_t, mb_slave); pthread_join(mb_slave->tid, NULL); return self; } |
#stoped? ⇒ Boolean
107 108 109 110 111 112 113 114 115 116 117 |
# File 'ext/slave.c', line 107 VALUE mb_sl_is_stoped(VALUE self) { modbus_slave_t *mb_slave; Data_Get_Struct(self, modbus_slave_t, mb_slave); if (read(mb_slave->listen_sock, NULL, 0) || mb_slave->listen_sock == 0) { return Qtrue; } return Qfalse; } |