run 9
This commit is contained in:
19
captures/rcp-buttons-call-exact-echo-delay-100ms.txt
Normal file
19
captures/rcp-buttons-call-exact-echo-delay-100ms.txt
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
Button test on COM5 at 38400 8N1
|
||||||
|
Listening for 15.0s; respond_to_cam_power=False, respond_to_call=True, mirror_call=False
|
||||||
|
16:38:07.222 RX 001 bytes 00
|
||||||
|
16:38:07.253 RX 005 bytes 00 00 00 80 DA
|
||||||
|
16:38:07.923 RX 001 bytes 00
|
||||||
|
16:38:07.954 RX 005 bytes 00 00 00 80 DA
|
||||||
|
16:38:08.076 RX 006 bytes 00 00 15 80 00 CF
|
||||||
|
16:38:08.076 DETECT call-on x1
|
||||||
|
16:38:08.177 TX button response frame 006 00 00 15 80 00 CF
|
||||||
|
16:38:08.177 TX button response frame 006 00 00 15 00 00 4F
|
||||||
|
16:38:10.134 RX 001 bytes 00
|
||||||
|
16:38:10.164 RX 005 bytes 00 00 00 80 DA
|
||||||
|
16:38:10.288 RX 001 bytes 00
|
||||||
|
16:38:10.318 RX 005 bytes 00 15 00 00 4F
|
||||||
|
16:38:10.933 RX 006 bytes 00 00 00 00 80 DA
|
||||||
|
16:38:10.933 DETECT heartbeat x1
|
||||||
|
16:38:11.633 RX 006 bytes 00 00 00 00 80 DA
|
||||||
|
16:38:11.633 DETECT heartbeat x1
|
||||||
|
Stopped.
|
||||||
16
captures/rcp-buttons-call-exact-echo-delay-60ms.txt
Normal file
16
captures/rcp-buttons-call-exact-echo-delay-60ms.txt
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Button test on COM5 at 38400 8N1
|
||||||
|
Listening for 15.0s; respond_to_cam_power=False, respond_to_call=True, mirror_call=False
|
||||||
|
16:36:57.448 RX 001 bytes 00
|
||||||
|
16:36:57.479 RX 005 bytes 00 00 00 80 DA
|
||||||
|
16:36:57.935 RX 006 bytes 00 00 15 80 00 CF
|
||||||
|
16:36:57.935 DETECT call-on x1
|
||||||
|
16:36:57.996 TX button response frame 006 00 00 15 80 00 CF
|
||||||
|
16:36:57.996 TX button response frame 006 00 00 15 00 00 4F
|
||||||
|
16:36:59.948 RX 001 bytes 00
|
||||||
|
16:36:59.978 RX 006 bytes 00 00 00 80 DA 00
|
||||||
|
16:37:00.008 RX 005 bytes 00 15 00 00 4F
|
||||||
|
16:37:00.651 RX 001 bytes 00
|
||||||
|
16:37:00.684 RX 005 bytes 00 00 00 80 DA
|
||||||
|
16:37:01.355 RX 006 bytes 00 00 00 00 80 DA
|
||||||
|
16:37:01.355 DETECT heartbeat x1
|
||||||
|
Stopped.
|
||||||
19
captures/rcp-buttons-call-exact-echo-delay-70ms.txt
Normal file
19
captures/rcp-buttons-call-exact-echo-delay-70ms.txt
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
Button test on COM5 at 38400 8N1
|
||||||
|
Listening for 15.0s; respond_to_cam_power=False, respond_to_call=True, mirror_call=False
|
||||||
|
16:37:16.300 RX 001 bytes 00
|
||||||
|
16:37:16.330 RX 005 bytes 00 00 00 80 DA
|
||||||
|
16:37:17.000 RX 001 bytes 00
|
||||||
|
16:37:17.030 RX 005 bytes 00 00 00 80 DA
|
||||||
|
16:37:17.060 RX 006 bytes 00 00 15 80 00 CF
|
||||||
|
16:37:17.060 DETECT call-on x1
|
||||||
|
16:37:17.131 TX button response frame 006 00 00 15 80 00 CF
|
||||||
|
16:37:17.131 TX button response frame 006 00 00 15 00 00 4F
|
||||||
|
16:37:19.114 RX 006 bytes 00 00 00 00 80 DA
|
||||||
|
16:37:19.114 DETECT heartbeat x1
|
||||||
|
16:37:19.145 RX 001 bytes 00
|
||||||
|
16:37:19.175 RX 005 bytes 00 15 00 00 4F
|
||||||
|
16:37:19.817 RX 006 bytes 00 00 00 00 80 DA
|
||||||
|
16:37:19.817 DETECT heartbeat x1
|
||||||
|
16:37:20.489 RX 001 bytes 00
|
||||||
|
16:37:20.520 RX 005 bytes 00 00 00 80 DA
|
||||||
|
Stopped.
|
||||||
17
captures/rcp-buttons-call-exact-echo-delay-80ms-v2.txt
Normal file
17
captures/rcp-buttons-call-exact-echo-delay-80ms-v2.txt
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
Button test on COM5 at 38400 8N1
|
||||||
|
Listening for 15.0s; respond_to_cam_power=False, respond_to_call=True, mirror_call=False
|
||||||
|
16:37:34.047 RX 001 bytes 00
|
||||||
|
16:37:34.077 RX 005 bytes 00 00 00 80 DA
|
||||||
|
16:37:34.597 RX 006 bytes 00 00 15 80 00 CF
|
||||||
|
16:37:34.597 DETECT call-on x1
|
||||||
|
16:37:34.678 TX button response frame 006 00 00 15 80 00 CF
|
||||||
|
16:37:34.678 TX button response frame 006 00 00 15 00 00 4F
|
||||||
|
16:37:36.666 RX 006 bytes 00 00 00 00 80 DA
|
||||||
|
16:37:36.666 DETECT heartbeat x1
|
||||||
|
16:37:36.818 RX 001 bytes 00
|
||||||
|
16:37:36.849 RX 005 bytes 00 15 00 00 4F
|
||||||
|
16:37:37.461 RX 006 bytes 00 00 00 00 80 DA
|
||||||
|
16:37:37.461 DETECT heartbeat x1
|
||||||
|
16:37:38.162 RX 006 bytes 00 00 00 00 80 DA
|
||||||
|
16:37:38.162 DETECT heartbeat x1
|
||||||
|
Stopped.
|
||||||
19
captures/rcp-buttons-call-exact-echo-delay-90ms.txt
Normal file
19
captures/rcp-buttons-call-exact-echo-delay-90ms.txt
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
Button test on COM5 at 38400 8N1
|
||||||
|
Listening for 15.0s; respond_to_cam_power=False, respond_to_call=True, mirror_call=False
|
||||||
|
16:37:51.520 RX 001 bytes 00
|
||||||
|
16:37:51.551 RX 005 bytes 00 00 00 80 DA
|
||||||
|
16:37:51.673 RX 006 bytes 00 00 15 80 00 CF
|
||||||
|
16:37:51.673 DETECT call-on x1
|
||||||
|
16:37:51.764 TX button response frame 006 00 00 15 80 00 CF
|
||||||
|
16:37:51.764 TX button response frame 006 00 00 15 00 00 4F
|
||||||
|
16:37:53.742 RX 006 bytes 00 00 00 00 80 DA
|
||||||
|
16:37:53.742 DETECT heartbeat x1
|
||||||
|
16:37:53.984 RX 001 bytes 00
|
||||||
|
16:37:54.015 RX 005 bytes 00 15 00 00 4F
|
||||||
|
16:37:54.626 RX 001 bytes 00
|
||||||
|
16:37:54.656 RX 005 bytes 00 00 00 80 DA
|
||||||
|
16:37:55.326 RX 001 bytes 00
|
||||||
|
16:37:55.357 RX 005 bytes 00 00 00 80 DA
|
||||||
|
16:37:56.026 RX 001 bytes 00
|
||||||
|
16:37:56.058 RX 005 bytes 00 00 00 80 DA
|
||||||
|
Stopped.
|
||||||
@@ -3034,3 +3034,55 @@ python scripts/serial_button_response_test.py --port COM5 --duration 15 --prompt
|
|||||||
This test is deliberately secondary. Run it only after the `0x45` family
|
This test is deliberately secondary. Run it only after the `0x45` family
|
||||||
repeats, so any change can be attributed to the follow-up rather than to the
|
repeats, so any change can be attributed to the follow-up rather than to the
|
||||||
initial CALL echo timing.
|
initial CALL echo timing.
|
||||||
|
|
||||||
|
### 2026-05-13 CALL 60-100 ms Repeat Result
|
||||||
|
|
||||||
|
Captures:
|
||||||
|
|
||||||
|
- `captures/rcp-buttons-call-exact-echo-delay-60ms.txt`
|
||||||
|
- `captures/rcp-buttons-call-exact-echo-delay-70ms.txt`
|
||||||
|
- `captures/rcp-buttons-call-exact-echo-delay-80ms-v2.txt`
|
||||||
|
- `captures/rcp-buttons-call-exact-echo-delay-90ms.txt`
|
||||||
|
- `captures/rcp-buttons-call-exact-echo-delay-100ms.txt`
|
||||||
|
|
||||||
|
Observed result:
|
||||||
|
|
||||||
|
| Delay | Result |
|
||||||
|
| --- | --- |
|
||||||
|
| 60 ms | no `0x45` response |
|
||||||
|
| 70 ms | no `0x45` response |
|
||||||
|
| 80 ms repeat | no `0x45` response |
|
||||||
|
| 90 ms | no `0x45` response |
|
||||||
|
| 100 ms | no `0x45` response |
|
||||||
|
|
||||||
|
Interpretation:
|
||||||
|
|
||||||
|
- The `07 80 45 30 D0 78` response from the earlier 80 ms run did not repeat in
|
||||||
|
the 80 ms repeat or nearby 60-100 ms bracket.
|
||||||
|
- The trigger is not controlled by the simple delay between CALL high detection
|
||||||
|
and the two-frame echo pair alone.
|
||||||
|
- A more likely variable is the spacing between the host's CALL-high echo and
|
||||||
|
CALL-low echo, or the RCP's internal heartbeat/call-scan phase when the echo
|
||||||
|
pair arrives.
|
||||||
|
|
||||||
|
Next test direction:
|
||||||
|
|
||||||
|
- Keep the initial response delay fixed near the values that have produced hits
|
||||||
|
before, but vary the spacing between the two echoed CALL frames.
|
||||||
|
|
||||||
|
Tooling note:
|
||||||
|
|
||||||
|
- `scripts/serial_button_response_test.py` now supports
|
||||||
|
`--response-frame-interval`, which inserts a delay between multiple
|
||||||
|
`--response-frame` values sent for the same observed button event.
|
||||||
|
|
||||||
|
Inter-frame timing ladder:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
python scripts/serial_button_response_test.py --port COM5 --duration 15 --prompt --respond-to-call --respond-once --response-delay 0.05 --response-frame-interval 0.02 --response-frame "00 00 15 80 00 CF" --response-frame "00 00 15 00 00 4F" --watch-frame "07 80 45 20 D0 68" --watch-frame "07 80 45 30 D0 78" --log captures/rcp-buttons-call-frame-gap-20ms.txt
|
||||||
|
python scripts/serial_button_response_test.py --port COM5 --duration 15 --prompt --respond-to-call --respond-once --response-delay 0.05 --response-frame-interval 0.05 --response-frame "00 00 15 80 00 CF" --response-frame "00 00 15 00 00 4F" --watch-frame "07 80 45 20 D0 68" --watch-frame "07 80 45 30 D0 78" --log captures/rcp-buttons-call-frame-gap-50ms.txt
|
||||||
|
python scripts/serial_button_response_test.py --port COM5 --duration 15 --prompt --respond-to-call --respond-once --response-delay 0.05 --response-frame-interval 0.08 --response-frame "00 00 15 80 00 CF" --response-frame "00 00 15 00 00 4F" --watch-frame "07 80 45 20 D0 68" --watch-frame "07 80 45 30 D0 78" --log captures/rcp-buttons-call-frame-gap-80ms.txt
|
||||||
|
python scripts/serial_button_response_test.py --port COM5 --duration 15 --prompt --respond-to-call --respond-once --response-delay 0.08 --response-frame-interval 0.05 --response-frame "00 00 15 80 00 CF" --response-frame "00 00 15 00 00 4F" --watch-frame "07 80 45 20 D0 68" --watch-frame "07 80 45 30 D0 78" --log captures/rcp-buttons-call-delay-80ms-frame-gap-50ms.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
For each run, power-cycle first and use the same roughly 2 second CALL hold.
|
||||||
|
|||||||
Binary file not shown.
@@ -176,6 +176,12 @@ def parse_args() -> argparse.Namespace:
|
|||||||
)
|
)
|
||||||
parser.add_argument("--followup-delay", type=float, default=0.05)
|
parser.add_argument("--followup-delay", type=float, default=0.05)
|
||||||
parser.add_argument("--response-delay", type=float, default=0.05)
|
parser.add_argument("--response-delay", type=float, default=0.05)
|
||||||
|
parser.add_argument(
|
||||||
|
"--response-frame-interval",
|
||||||
|
type=float,
|
||||||
|
default=0.0,
|
||||||
|
help="delay between multiple response frames sent for one button event",
|
||||||
|
)
|
||||||
parser.add_argument("--response-repeat", type=int, default=1)
|
parser.add_argument("--response-repeat", type=int, default=1)
|
||||||
parser.add_argument("--response-interval", type=float, default=0.2)
|
parser.add_argument("--response-interval", type=float, default=0.2)
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
@@ -302,7 +308,9 @@ def main() -> int:
|
|||||||
responded = True
|
responded = True
|
||||||
time.sleep(args.response_delay)
|
time.sleep(args.response_delay)
|
||||||
for _ in range(args.response_repeat):
|
for _ in range(args.response_repeat):
|
||||||
for response in response_frames:
|
for response_index, response in enumerate(response_frames):
|
||||||
|
if response_index and args.response_frame_interval:
|
||||||
|
time.sleep(args.response_frame_interval)
|
||||||
send_frame(ser, emit, "button response", response)
|
send_frame(ser, emit, "button response", response)
|
||||||
if args.response_repeat > 1:
|
if args.response_repeat > 1:
|
||||||
time.sleep(args.response_interval)
|
time.sleep(args.response_interval)
|
||||||
|
|||||||
Reference in New Issue
Block a user