You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+13-12Lines changed: 13 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -220,25 +220,24 @@ Instead, a callback based API (like http server handler) is used for both server
220
220
## Implemented
221
221
222
222
- Serial RTU
223
+
- Modbus over TCP
223
224
- Function Codes 1-6,15,16
224
225
- Server and Client API
225
226
- Server and Client Tester (examples/memory)
226
227
227
228
## Development
228
229
229
-
This project is mostly stable, and I am using it in production.
230
+
This project and API is stable, and I am using it in production.
230
231
231
-
API stability is best effort. This means:
232
+
My primary usage is RTU (over RS-485). TCP is also supported. Others may or may not be implemented in the future.
232
233
233
-
- Changes should not break users code unless there is a compelling reason.
234
-
235
-
- Code broken by API changes should not compile, new errors to user code should not be introduced silently.
234
+
Contribution to new or existing functionally, or just changing a private identifier public are welcome, as well as documentation, test, example code or any other improvements.
236
235
237
-
- API changes will be documented to speed adoption of new versions.
236
+
Development tools:
238
237
239
-
My primary usage is RTU (over RS-485). Others may or may not be implemented in the future.
240
-
241
-
Contribution to new or existing functionally, or just changing a private identifier public are welcome, as well as documentation, test, example code or any other improvements.
238
+
-`go generate` runs `embedmd` to copy parts of the examples_test.go to this readme file
239
+
-`golangci-lint run` for improvement hints. Ideally there are no warnings.
240
+
- Use `go test -race -count=5 ./...` pre release.
242
241
243
242
## Breaking Changes
244
243
@@ -255,16 +254,18 @@ Contribution to new or existing functionally, or just changing a private identif
255
254
256
255
Compatibility with a wide range of serial hardware/drivers. (good)
257
256
258
-
Compatibility with existing Modbus environments. (good)
257
+
Compatibility with existing Modbus environments, including non-compliance and extensions. (good)
259
258
260
259
Recover from transmission errors and timeouts, to work continuously unattended. (good)
261
260
262
-
Better test coverage that also tests error conditions. (todo)
261
+
Better test coverage that also tests error conditions. (todo)
263
262
264
-
Fuzz testing. (todo)
263
+
Fuzz testing. (todo)
265
264
266
265
## Failover mode
267
266
267
+
TLDR: do not use.
268
+
268
269
Failover has landed in v0.2.0, but it should be considered less stable than the other parts.
269
270
270
271
In mission-critical applications, or anywhere hardware redundancy is cheaper than downtime, having a standby system taking over in case of the failure of the primary system is desirable.
0 commit comments