LivingLikeKrillin opened a new pull request, #2597:
URL: https://github.com/apache/plc4x/pull/2597

   First increment of the SLMP driver proposed in #2585 — the codegen-layer 
protocol module only (`protocols/slmp`), opened as a draft per the Slack 
suggestion so the work is visible early.
   
   ### What''s in it
   - 3E binary frame (request/response discriminated on the subheader byte), 
little-endian, read-only
   - Commands: Batch Read (`0x0401`), Random Read (`0x0403`), Batch Read 
Multiple Blocks (`0x0406`), word units
   - Root type declares the new-SPI encoding defaults
   - ParserSerializer vectors derived from the worked examples in the public 
Mitsubishi reference manual SH-080008 (sections 8.1 / 8.3 / 8.4)
   
   ### Validation so far
   - `mvn -pl protocols/slmp test` green on current develop (post-SPI3 merge): 
the mspec parses and all type references resolve
   - `0x0401` / `0x0403` cross-checked against pymcprotocol (independent 
MIT-licensed client): its request bytes are byte-identical to the vectors 
except the monitoring-timer field, and it decodes the responses to the 
manual''s exact values
   - `0x0406`: pymcprotocol has no multi-block API, so the request vector rests 
on the manual''s worked example plus an independent re-encode check — flagging 
this honestly
   - The ParserSerializer suite is not yet executed by any build module — like 
the other protocols, it runs from the (upcoming) driver module; until then the 
in-module test validates that the mspec parses and all type references resolve
   - Byte round-trip through generated code will come with the driver module
   
   ### Next (not in this PR)
   - `plc4j/drivers/slmp` on the new SPI (slmp-tcp; single in-flight request 
since the 3E frame has no serial number)
   - Bit units, more devices, write commands, ASCII mode, 4E — per the staged 
roadmap in #2585
   
   ---
   Developed with AI assistance; every wire-layer byte was verified against 
SH-080008, with the batch and random reads additionally cross-checked against 
pymcprotocol as noted above.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to