stepfunc / rodbus

Rust implementation of Modbus with idiomatic bindings for C, C++, .NET, and Java
https://stepfunc.io/products/libraries/modbus/
Other
83 stars 23 forks source link

Feat: Implementation of Function Code FC43 (Read Device Identification) #124

Closed grewek closed 7 months ago

grewek commented 1 year ago

This pull request implements the MODBUS Read Device Identification function code as described in the "MODBUS Application Specification" (see page 43 - 46).

The implementation was conducted by Kay Grewe in the name of Iniationware GmbH and initialized by Klaus Landsdorf.

Client and Server now have support for the aforementioned Function Code. The functionality was tested with a new integration test and should work as expected.

If you have concerns, suggestions or questions about the code please let me know, i am pretty new to the rust language and pull requests in general.

Kay Grewe, trainee @Iniationware

jadamcrain commented 10 months ago

Hey @grewek. I'll be able to review this late this week.

A quick heads up that we'll need to individually review the function code additions. So please keep the mask-write-register support separate from read-device-identification.

We'll want to get RDI reviewed and merged before looking at MWR.

grewek commented 10 months ago

Oh that wasn't actually intended my apologies i will fix that as soon as i get back to work.

grewek commented 10 months ago

I did a reset to the development branch i hope that this fixes the Issue at hand if this causes any other issues for you please let me know. Again my apologies.

jadamcrain commented 10 months ago

Hey @grewek.

I've started a review branch here where I'll add additional commits:

https://github.com/stepfunc/rodbus/tree/iware/review

Nothing major yet, just fmt and clippy fixes. My overall impression is that this is well written and really appreciate the effort with the test cases.

grewek commented 10 months ago

Hi @jadamcrain

Thank you it's good to hear that there is nothing of major concern yet. But if you find anything that needs fixing please don't hesitate to write me.

I also like to give you my corporate email so you can contact me for discussing further meetings.

kg@iniationware.com My usual office hours are Monday - Wednesday 9:00AM - 5:30PM (UTC + 1/GMT + 1)

grewek commented 8 months ago

Hi @jadamcrain

Just as a heads up, i wanted to let you know that i will now fix the issues you mentioned in our meeting.

Also i found something i implemented a few months back in regards of the serial handler i don't know if it is working correctly but it can, at least in testing, receive a DeviceInfo message and consume it until it reaches the crc.

The commit is: https://github.com/grewek/rodbus/commit/5ae788af0a28cbe436c16255247863dd099aff9f

My apologies for not sending this earlier but things got a bit pushed back, and then i totally forgot about it. I don't want to push it yet as i think i still need more testing.

grewek commented 7 months ago

I made a mess with my git repositories and accidentally force pulled this mess onto development which in turn landed here...my apologies, i will close this pull request for now and make a new one :(