File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change @@ -71,6 +71,8 @@ pub trait Writer: Client {
71
71
fn write_multiple_coils ( & mut self , addr : Address , coils : & [ Coil ] ) -> Result < ( ) > ;
72
72
fn write_single_register ( & mut self , addr : Address , word : Word ) -> Result < ( ) > ;
73
73
fn write_multiple_registers ( & mut self , addr : Address , words : & [ Word ] ) -> Result < ( ) > ;
74
+ fn masked_write_register ( & mut self , addr : Address , and_mask : Word , or_mask : Word )
75
+ -> Result < ( ) > ;
74
76
}
75
77
76
78
/// A synchronous Modbus client context.
@@ -193,4 +195,18 @@ impl Writer for Context {
193
195
self . async_ctx . write_multiple_coils ( addr, data) ,
194
196
)
195
197
}
198
+
199
+ fn masked_write_register (
200
+ & mut self ,
201
+ addr : Address ,
202
+ and_mask : Word ,
203
+ or_mask : Word ,
204
+ ) -> Result < ( ) > {
205
+ block_on_with_timeout (
206
+ & self . runtime ,
207
+ self . timeout ,
208
+ self . async_ctx
209
+ . masked_write_register ( addr, and_mask, or_mask) ,
210
+ )
211
+ }
196
212
}
You can’t perform that action at this time.
0 commit comments