Conversation
adrianchan787
left a comment
There was a problem hiding this comment.
just finished shoot_or_chip, will review halt_test later, but really nice work i think! basically only thing i can think of is maybe including the comment // src_state + event [guard] / action = dest_state into make_transition_table since the other fsms seem to have that, though that's very small.
Also, why is chip_target an optional? (personal question since i likely am wrong, but just curious because with this code, it doesn't seem to need to be an optional?)
nycrat
left a comment
There was a problem hiding this comment.
Looks good, should probably add doc comments to the fsm classes
nycrat
left a comment
There was a problem hiding this comment.
Still need doc comments for methods on those FSM classes. Look at free_kick_play_fsm.h or ball_placement_play_fsm.h as examples
|
I took a look at different fsm plays and realized many of them (such as offense play) don't have the documentation. I will add the docs for the affected fsms in this PR, but we should open a ticket to write docs for all FSM once all coroutines are converted. edit: Actually, I will add the other docs in the clean up coroutine to FSM ticket I have when i delete all the coroutines |
Description
This ticket resolves #3605, which is the first part of #2359 . The following plays are converted from coroutines into FSM:
The process includes adding a new *_fsm.h file (also *_fsm.cpp file for shoot or chip play), and refactoring the old play files. Tests are created for halt test play and move test play.
Shoot or chip play is also moved into a subfolder in plays for clarity, and a BUILD file is added as a result.
The completion of #2359 is blocked by 3 other issues recorded in #3605 .
Testing Done
Resolved Issues
#3605 , #2359
Length Justification and Key Files to Review
Review Checklist
It is the reviewers responsibility to also make sure every item here has been covered
.hfile) should have a javadoc style comment at the start of them. For examples, see the functions defined inthunderbots/software/geom. Similarly, all classes should have an associated Javadoc comment explaining the purpose of the class.TODO(or similar) statements should either be completed or associated with a github issue