-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: release version 0.2.0 #72
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Resolves #1
The merged code requires some refactoring after implementing the game observer from #7 .
Closes #17 Note that this commit also includes a minor refactoring, moving the transition between different `State`s from `GameDriver::run` to `State::tick`.
This commit condenses the `GameDriver` to its bare minimum. Timer tick handling is now done in `GameTickDriver` Closes #10
This commit makes `GameTickDriver` expose a `Started` and `Stopped` state. Closes #25
This commit makes the `GameTickDriver` skip every other timer tick, unless button A is pressed. To match the previous game tick frequency, the timer tick frequency is doubled. Closes #26
Summary of implemented components: - `RotationDriver` alongside `GpioResources` to bridge between peripherals and `GameDriver` - `State::rotate` to bridge between `GameDriver` and game engine - boilerplate in application to setup the `RotationDriver` Closes #27
This commit drops `Message::BtnAPress`, as button A is not required to trigger interrupts. Instead, it is queried upon timer tick. Closes #38
Summary of what is implemented in this commit: - setup of CI/CD pipeline consisting of jobs to - check, - format, - lint and - build the code. - store built binaries as artifacts (currently accessible via the workflow only, i.e. no release generation or similar). - move configuration of `clippy` lints to `Cargo.toml` - resolve open lints Note that as of now, documentation related lints are kept `allow`ed. This is because of time constraints and source code documentation not being required for hand-in. Closes #45, closes #44, closes #36
Summary of changes implemented in this commit: - implement driver to move tile horizontally up to the point that accelerometer data is read from the sensor - work around known bug in interface MCU firmware to clear the internal I2C's interrupt line Note that stopping the driver remains untested for the moment. Closes #42
Summary of what is implemented in this PR: - make `GameDriver` (and in turn `State`) generic wrt. the methodology of generating `BasicTile`s. Different methodologies are abstracted by means of the `TileProducer` trait. - implement producer looping through all available `BasicTiles` - refactoring of the `game` module into smaller submodules Closes #31
Summary of changes implemented in this PR: - write up a module `cli` containing drivers to drive the processing of commands - `DownlinkDriver` takes care of consuming serial data coming from the host, mapping byte-strings to commands - `CommandReceiver` drives execution of commands - `UplinkDriver` takes care of sending strings back to the host by means of the serial interface - write up a `util` module featuring several helpers - `nb_async` to bridge between `nb::Result` and `async` Rust by means of busy waiting - `StringIter` to aid conversion from `&str` to message-passable `heapless::String`s - "serial" commands `help` and `ver` to print a help string and VCS information respectively Closes #28
This commit streamlines issued calls to `demft`-based logging macros. Closes #55
Summary of what is implemented in this commit: - demote warning in `GameDriver` when having multiple messages pending to debug print, as the condition of having multiple messages pending is not inherently problematic - raise frame update task priority from 1 to 2 to allow for preemption (frame update preempting the surrounding `GameDriver` logic) and avoid frame updates getting dropped - raise soft-drop frequency from 2Hz to 3Hz to make the change in speed more obvious to the user - raise high-level display toggle frequency from 5Hz to 6Hz to have at least one blink per soft-drop interval Closes #59
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.