implement-state-merge #27

Merged
sebgab merged 31 commits from implement-state-merge into main 2026-03-07 10:14:48 +00:00
Owner

Blocked by #25
Closes #9
Related to #4

Blocked by #25 Closes #9 Related to #4
sebgab self-assigned this 2026-02-25 16:01:41 +00:00
Create basic RX handler implementation
Some checks failed
/ build_and_test (push) Failing after 27s
a15cdd0b56
Correct comparison logic in TX handler
All checks were successful
/ build_and_test (push) Successful in 34s
17b6f89a1a
Write RX handler tests
All checks were successful
/ build_and_test (push) Successful in 34s
2ad04c24cb
Make more readable error log
All checks were successful
/ build_and_test (push) Successful in 34s
db6e1f42a5
Implement network task test
Some checks are pending
/ build_and_test (push) Waiting to run
89d9b0389f
Merge branch 'main' into implement-state-merge
All checks were successful
/ build_and_test (push) Successful in 19s
/ Static Release Build (push) Has been skipped
f24c0b66ce
Start creating supporting functions
Some checks failed
/ build_and_test (push) Failing after 18s
/ Static Release Build (push) Has been skipped
942a512c00
Implement update_elevators
Some checks failed
/ build_and_test (push) Failing after 19s
/ Static Release Build (push) Has been skipped
6939fa8ea4
Implement tests for update_elevators
Some checks failed
/ build_and_test (push) Failing after 19s
/ Static Release Build (push) Has been skipped
4f9e97391c
Move update_elevators function from SystemState to ElevatorInfo
Some checks failed
/ build_and_test (push) Failing after 19s
/ Static Release Build (push) Has been skipped
0f84055378
Implement system state merge for new calls
Some checks failed
/ build_and_test (push) Failing after 20s
/ Static Release Build (push) Has been skipped
49fd73493b
Change elevator ID to u8 type alias rather than IpAddr
Some checks failed
/ build_and_test (push) Failing after 19s
/ Static Release Build (push) Has been skipped
5e2c39107f
Start implementing alternate time system
Some checks failed
/ build_and_test (push) Failing after 21s
/ Static Release Build (push) Has been skipped
ba0c4bd3a0
Finish implementation of [Time]
Some checks failed
/ build_and_test (push) Failing after 19s
/ Static Release Build (push) Has been skipped
48fad87932
Remove Into<f32> for Time. Users should instead go via Duration
Some checks failed
/ build_and_test (push) Failing after 19s
/ Static Release Build (push) Has been skipped
6ebba2bfeb
Change ElevatorCall to use new Time type
Some checks failed
/ build_and_test (push) Failing after 19s
/ Static Release Build (push) Has been skipped
f80e694b3f
Fix bug where we did not update last_updated for ourselves
All checks were successful
/ build_and_test (push) Successful in 21s
/ Static Release Build (push) Has been skipped
647ad0f3c6
Initialize NTP time
All checks were successful
/ build_and_test (push) Successful in 1m16s
/ Static Release Build (push) Has been skipped
9a43af2bfc
Change to use NTP time everywhere
Some checks failed
/ build_and_test (push) Failing after 18s
/ Static Release Build (push) Has been skipped
ae34340c2e
Implement call update mechanism & fix global NTP time
Some checks failed
/ build_and_test (push) Failing after 22s
/ Static Release Build (push) Has been skipped
d4c885887b
Implement custom PartialEq for ElevatorCall
All checks were successful
/ build_and_test (push) Successful in 23s
/ Static Release Build (push) Has been skipped
b279784259
Add more to comment about ElevatorTime
All checks were successful
/ build_and_test (push) Successful in 23s
/ Static Release Build (push) Has been skipped
aa7a477e57
Add more logging
All checks were successful
/ build_and_test (push) Successful in 24s
/ Static Release Build (push) Has been skipped
66c2118c4f
Fix test error where state_b contained incorrrect IP
All checks were successful
/ build_and_test (push) Successful in 23s
/ Static Release Build (push) Has been skipped
c908d49dad
Write tests for update_call_unchecked
All checks were successful
/ build_and_test (push) Successful in 23s
/ Static Release Build (push) Has been skipped
92eeb7ffd6
Add comment
All checks were successful
/ build_and_test (push) Successful in 23s
/ Static Release Build (push) Has been skipped
c55fb4fc30
Comments galore!
All checks were successful
/ build_and_test (push) Successful in 23s
/ Static Release Build (push) Has been skipped
75a00c9bf8
Write some tests
All checks were successful
/ build_and_test (push) Successful in 23s
/ Static Release Build (push) Has been skipped
78ffe948a7
Add another test
Some checks failed
/ build_and_test (push) Has been cancelled
/ Static Release Build (push) Has been cancelled
cb3e4cae14
Add more tests and change order of operations for update
All checks were successful
/ build_and_test (push) Successful in 24s
/ Static Release Build (push) Has been skipped
54838ec3d1
Merge branch 'main' into implement-state-merge
All checks were successful
/ build_and_test (push) Successful in 25s
/ Static Release Build (push) Has been skipped
a1399dfa10
sebgab changed title from WIP: implement-state-merge to implement-state-merge 2026-03-07 09:30:18 +00:00
Athamantis requested changes 2026-03-07 10:05:22 +00:00
Dismissed
@ -486,2 +689,3 @@
// Serialize the data
// Serialize each section of the state to get a size breakdown
println!(
Owner

thought lights were removed? to send

thought lights were removed? to send
Owner

me problem apparently

me problem apparently
Athamantis marked this conversation as resolved
@ -259,0 +298,4 @@
// Elevator must not be obstructed
match self.state {
// TODO: Test
Owner

todo!

todo!
Athamantis marked this conversation as resolved
@ -259,0 +305,4 @@
_ => {}
}
// TODO: Test
Owner

tototodo!

tototodo!
Athamantis marked this conversation as resolved
@ -353,0 +480,4 @@
}
/// Update the last seen value for an Elevator
pub fn see_call(&mut self, seen_by: ElevatorId, state: CallState) {
Owner

not sure i like the name see call.
not descriptive enough

not sure i like the name see call. not descriptive enough
Author
Owner

Skill issue in English, marking as resolved.

Skill issue in English, marking as resolved.
sebgab marked this conversation as resolved
@ -353,0 +536,4 @@
/// NOTE: I know this is a horrible function name, becuase it does check a lot of things.
/// Honestly, I just couldn't be bothered to think of a better name...
///
/// TODO: Find better name
Owner

non blocking: agree, but no idea what
update unchecked values?

non blocking: agree, but no idea what update unchecked values?
Author
Owner

We'll leave the TODO and fix in cleanup.

We'll leave the TODO and fix in cleanup.
sebgab marked this conversation as resolved
Remove TODOs without doing them :)
All checks were successful
/ build_and_test (push) Successful in 25s
/ Static Release Build (push) Has been skipped
8a522a54d2
Athamantis approved these changes 2026-03-07 10:14:38 +00:00
sebgab merged commit ef562a2642 into main 2026-03-07 10:14:48 +00:00
sebgab deleted branch implement-state-merge 2026-03-07 10:14:48 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
TTK4145/elevator!27
No description provided.