Skip to content

Commit da3be0b

Browse files
authored
Added masked_write_register to sync client. (#287)
1 parent 8e807b8 commit da3be0b

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

src/client/sync/mod.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ pub trait Writer: Client {
7171
fn write_multiple_coils(&mut self, addr: Address, coils: &[Coil]) -> Result<()>;
7272
fn write_single_register(&mut self, addr: Address, word: Word) -> Result<()>;
7373
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<()>;
7476
}
7577

7678
/// A synchronous Modbus client context.
@@ -193,4 +195,18 @@ impl Writer for Context {
193195
self.async_ctx.write_multiple_coils(addr, data),
194196
)
195197
}
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+
}
196212
}

0 commit comments

Comments
 (0)