Commit graph

35 commits

Author SHA1 Message Date
Chris Frankland-Wright
69569c0a01
Merge pull request #29 from cjfranko/non-fractional-mismatch-tc
fixed some sync issues, fractional still an issue at 29.97 NDF

Drift issues with all fractionals, 29.97NDF has a system clock sync issue
2025-08-07 19:56:08 +01:00
Chris Frankland-Wright
22dc01e80f fix: Account for drop-frame LTC in time calculation
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2025-08-03 15:37:25 +01:00
Chris Frankland-Wright
8453f18a3c fix: Adjust sync status thresholds to pass tests
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2025-08-03 13:24:14 +01:00
Chris Frankland-Wright
3d6a106f1e refactor: Use rational numbers for LtcFrame frame rate
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2025-08-02 12:28:59 +01:00
Chris Frankland-Wright
a1da396874 refactor: Use rational numbers for accurate frame rate calculations
Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
2025-08-02 12:26:17 +01:00
Chris Frankland-Wright
b71e13d4c4 uncomment to fix build error
Some checks failed
Build for Raspberry Pi / Build for aarch64 (push) Failing after 19s
2025-07-31 08:10:54 +01:00
Chris Frankland-Wright
c27b4f5dbb further reduced down 2025-07-30 23:35:31 +01:00
Chris Frankland-Wright
2c78b20301 reduce window for CLOCK AHEAD/BEHIND status 2025-07-30 23:35:07 +01:00
Chris Frankland-Wright
d2c4f1a4af removed TIME LOCK ACTIVE status, it should just use IN SYNC status 2025-07-30 23:33:38 +01:00
d814b05a26 fix: Display 'TIME LOCK ACTIVE' status for auto-sync
Co-authored-by: aider (gemini/gemini-2.5-pro-preview-05-06) <aider@aider.chat>
2025-07-29 15:24:20 +01:00
c0613c3682 revert 2025-07-29 12:21:54 +01:00
fcbd5bd647 clarification in this 2025-07-29 12:18:24 +01:00
fb8088c704 test: add missing milliseconds field to TimeturnerOffset init
Co-authored-by: aider (gemini/gemini-2.5-pro-preview-05-06) <aider@aider.chat>
2025-07-29 11:44:59 +01:00
cc782fcd7e feat: add EWMA clock delta and adjtimex nudge controls
Co-authored-by: aider (gemini/gemini-2.5-pro-preview-05-06) <aider@aider.chat>
2025-07-28 23:51:27 +01:00
b854d29015 refactor: Extract system and status logic from UI module
Co-authored-by: aider (gemini/gemini-2.5-pro-preview-05-06) <aider@aider.chat>
2025-07-21 19:44:10 +01:00
1d9bc1e25e feat: add daemon mode and systemd service
Co-authored-by: aider (gemini/gemini-2.5-pro-preview-05-06) <aider@aider.chat>
2025-07-21 19:42:46 +01:00
0b8fa0fbf8 fix: Calculate clock delta using median to resist outliers
Co-authored-by: aider (gemini/gemini-2.5-pro-preview-05-06) <aider@aider.chat>
2025-07-21 16:10:40 +01:00
dd544649b1 decomment 2025-07-21 12:29:37 +01:00
139d453afb removed comment 2025-07-21 12:29:09 +01:00
abc5d6af4b fix: use current frame for timecode sync check
Co-authored-by: aider (gemini/gemini-2.5-pro-preview-05-06) <aider@aider.chat>
2025-07-21 11:58:47 +01:00
2b1481264e test: add tests for timecode match status and throttling
Co-authored-by: aider (gemini/gemini-2.5-pro-preview-05-06) <aider@aider.chat>
2025-07-21 11:55:09 +01:00
6df45a1332 test: correct assertion for FREE frame status
Co-authored-by: aider (gemini/gemini-2.5-pro-preview-05-06) <aider@aider.chat>
2025-07-21 11:49:00 +01:00
b049b27959
Update sync_logic.rs 2025-07-21 11:33:53 +01:00
10da97a631
Merge branch 'master' into withmergeresolve 2025-07-21 11:33:17 +01:00
Chris Frankland-Wright
ad915c4aeb implemented sync drift detect and auto sync if out of sync 2025-07-20 12:42:12 +01:00
da7152d851 update with comment 2025-07-19 15:49:59 +01:00
f60b83ff9c keirstarmers five tests 2025-07-19 15:49:35 +01:00
bc91b15940 add the test for ltc_frame_does_not_match_system_time 2025-07-19 15:44:30 +01:00
b261d7c585 ci: add back in old test and fix test to be testing for something that actually exists 2025-07-19 15:41:45 +01:00
9412c7452c ci: removed system test function from application
as code for sync locking no longer exists,

    #[test]
    fn test_ltc_frame_does_not_match_system_time() {
        let now = Local::now();
        // Create a time that is one hour ahead, wrapping around 23:00
        let different_hour = (now.hour() + 1) % 24;
        let frame = get_test_frame("LOCK", different_hour, now.minute(), now.second());
        assert!(!frame.matches_system_time());
    }
2025-07-19 15:33:35 +01:00
f61a2b0871
Merge branch 'main' into update 2025-07-19 15:27:35 +01:00
Chris Frankland-Wright
a47a0e6bd3
double check upload of tested version 2025-07-19 12:29:10 +01:00
a6523bf105 CD/CI git build workflow and unit testing + dependabot intergration for security updates 2025-07-18 12:50:53 +01:00
Chris Frankland-Wright
bd2111d77a Rust ported and tested version 2025-07-09 01:18:49 +01:00
Chris Frankland-Wright
138b1e07a8 initial push of Rust version 2025-07-08 20:57:15 +01:00