Commit Graph

49 Commits

Author SHA1 Message Date
Brian Harrison
8074bf0fee bump timeout to 30s to deal with modem slowness. 2026-03-31 12:12:36 -04:00
Brian Harrison
de02f9cccf Handle cold-boot timeout for TCP connections
- bridges/tcp_serial_bridge.py: increase default boot_delay 2s → 8s to
  cover MiniMate Plus cold-start time (unit wakes from RS-232 line
  assertion but takes 5-10s to be ready for POLL_PROBE).
- sfm/server.py: add _run_with_retry() — on TCP connections only, retries
  once on ProtocolError. Serial timeouts are not retried (usually a real
  fault). Confirmed behaviour: unit wakes purely from RS-232 line voltage,
  no software wake-up frame needed.
2026-03-31 12:02:52 -04:00
Brian Harrison
da446cb2e3 add tcp_serial_bridge.py 2026-03-31 11:52:11 -04:00
Brian Harrison
51d1aa917a Add TCP/modem transport (Sierra Wireless RV55/RX55 field units)
- minimateplus/transport.py: add TcpTransport — stdlib socket-based transport
  with same interface as SerialTransport. Overrides read_until_idle() with
  idle_gap=1.5s to absorb the modem's 1-second serial data forwarding buffer.
- minimateplus/client.py: make `port` param optional (default "") so
  MiniMateClient works cleanly when a pre-built transport is injected.
- minimateplus/__init__.py: export SerialTransport and TcpTransport.
- sfm/server.py: add `host` / `tcp_port` query params to all device endpoints.
  New _build_client() helper selects TCP or serial transport automatically.
  OSError (connection refused, timeout) now returns HTTP 502.
- docs/instantel_protocol_reference.md: add changelog entry and full §14
  (TCP/Modem Transport) documenting confirmed transparent passthrough, no ENQ
  on connect, modem forwarding delay, call-up vs ACH modes, and hardware note
  deprecating Raven X in favour of RV55/RX55.

Usage: GET /device/info?host=<modem_ip>&tcp_port=12345
2026-03-31 00:44:50 -04:00
Brian Harrison
b8032e0578 chore: add manuals to gitignore 2026-03-31 00:24:12 -04:00
Brian Harrison
3f142ce1c0 fix: stop raising on S3 checksum mismatches 2026-03-31 00:15:07 -04:00
serversdwn
88adcbcb81 fix: s3parser now looks for bare ETX, not DLE+ETX. 2026-03-31 00:10:13 -04:00
serversdwn
8e985154a7 bumps timeout up 2026-03-30 23:46:34 -04:00
serversdwn
f8f590b19b sfm first build 2026-03-30 23:23:29 -04:00
serversdwn
58a35a3afd feat: add large BW→S3 write frame checksum validation in s3_parser 2026-03-13 17:53:11 -04:00
serversdwn
45f4fb5a68 fix: bug where parser incorrectly preserves both DLE and XX 2026-03-12 13:51:00 -04:00
serversdwn
99d66453fe feat: enhance session completeness tracking in s3_analyzer and seismo_lab 2026-03-11 18:48:42 -04:00
serversdwn
41606d2f31 fixL s3_analyzer noise clean up.
-_extract_a4_inner_frames(payload) — splits the A4 container payload into inner sub-frames using the ACK DLE STX delimiter pattern, returning (sub, page_key, data) tuples
-_diff_a4_payloads(payload_a, payload_b) — matches inner frames by (sub, page_key), diffs data byte-by-byte (with existing noise masking), and reports added/removed inner frames as synthetic entries
2026-03-11 17:31:23 -04:00
serversdwn
8d06492dbc feat: SUB header line in Diff tab now linked to corresponding hex dump. 2026-03-11 16:58:17 -04:00
serversdwn
6be434e65f fix: filter out SESSION START / SESSION END marks in parse_structured_bin, and also add status feedback. 2026-03-11 16:42:50 -04:00
serversdwn
6d99f86502 feat: s3_session.bin now works as index, allowing for AB comparing in same captures 2026-03-11 16:16:04 -04:00
serversdwn
5eb5499034 feat: add unified gui for bridge, parser, and analyzer. All in one. 2026-03-11 15:36:59 -04:00
serversdwn
0db3780e65 feat: raw bin files now recieve timestamped filenames. 2026-03-11 03:09:34 -04:00
serversdwn
d7a0e1b501 doc: adds readme 2026-03-10 12:30:12 -04:00
serversdwn
154a11d057 Add s3_analyzer.py for live protocol analysis of Instantel MiniMate Plus RS-232
- Implement functionality to read and parse raw_s3.bin and raw_bw.bin files.
- Define protocol constants and mappings for various command and response identifiers.
- Create data structures for frames, sessions, and diffs to facilitate analysis.
- Develop functions for annotating frames, splitting sessions, and generating reports.
- Include live mode for continuous monitoring and reporting of protocol frames.
- Add command-line interface for user interaction and configuration.
2026-03-10 05:00:55 -04:00
serversdwn
faa869d03b doc: protocol ref updated to v0.20 2026-03-09 19:02:53 -04:00
serversdwn
fa9873cf4a doc: §2, §10, Appendix C | **MILESTONE — Link-layer grammar formally confirmed.** 2026-03-04 17:42:15 -05:00
serversdwn
a684d3e642 fix: parser no v0.2.2, uses proper frame handling, checksum for large frames still unknown. 2026-03-03 17:54:33 -05:00
serversdwn
22d4023ea0 chore: update version to v0.5.1 in s3_bridge.py
docs: update Instantel protocol reference with framing corrections and clarifications
2026-03-03 16:30:09 -05:00
serversdwn
a5a21a6c32 chore: fix .gitignore 2026-03-03 14:05:49 -05:00
serversdwn
4448c74f6c chore: add captures to .gitignore 2026-03-03 14:01:13 -05:00
serversdwn
feceb7b482 docs: updated protocol reference with findings from 3-2-26 (v0.19) 2026-03-03 13:56:22 -05:00
serversdwn
3acb49da0c doc: s3_parser readme added. 2026-03-03 02:37:43 -05:00
serversdwn
927aad6c1f FIX: s3_parser.py framing/protocol now working. 2026-03-03 02:35:26 -05:00
serversdwn
9c0753f5d3 add tagline 2026-03-03 01:09:57 -05:00
serversdwn
50be6410fe fix: parser frame logic now tracks DLE state. 2026-03-03 00:30:03 -05:00
serversdwn
8ca40d52a4 feat: gui now has "add mark" feature for marking log 2026-03-02 20:25:57 -05:00
serversdwn
9db55ffcee feat: added raw capture pipeline. added simple windows gui. 2026-03-02 19:30:02 -05:00
serversdwn
967a5b2dad fix: actually put the code in the parser file this time... 2026-03-02 18:21:30 -05:00
serversdwn
088e81b55d feat: initial s3_parser build 2026-03-02 18:14:40 -05:00
serversdwn
6e6c9874f0 fix: swapped default COM ports. 2026-03-02 15:56:32 -05:00
serversdwn
43c9c8b3a3 feat: added raw binary data tracking for accurate format parser. 2026-03-02 15:47:52 -05:00
serversdwn
413fc53a39 chanel config float layout mapped, .set file format analyized.
docs: updated
2026-03-01 16:51:18 -05:00
serversdwn
0ad1505cc5 feat: update s3_bridge to v0.4.0 with annotation markers and dual log output 2026-02-27 02:24:47 -05:00
serversdwn
75de3fb2fc doc: confirmed DLE stuffing, geophone trigger/alarm level, etc 2026-02-26 23:10:11 -05:00
serversdwn
20153b8c65 docs: update ref v0.14 2026-02-26 19:31:19 -05:00
serversdwn
e47efa3708 add: log also saved in binary. updated the reference material. 2026-02-26 18:08:37 -05:00
serversdwn
004a2d87a3 doc: added priliminary protocol reference guide. WIP 2026-02-25 17:12:53 -05:00
serversdwn
5e1a532544 fix: fixed loop causing cpu overload, cleaned up outputs, disabled in console logging because apparently its resource heavy and i want this to run on a toaster. 2026-02-25 16:55:34 -05:00
serversdwn
832bc93233 add: timestamped logs, clean shut down and flush with CTRL+C, print to file. 2026-02-25 16:26:13 -05:00
serversdwn
9c0f53edc5 fix: changed time out to 0.1. fixed infinite loop 2026-02-25 15:15:57 -05:00
serversdwn
0a02236d35 initial scaffold 2026-02-25 03:22:00 -05:00
4e523ab44d chore: tuned specs 2026-02-24 21:19:40 +00:00
7c21a2b30e initial commit, added spec sheet 2026-02-24 21:17:19 +00:00