-
Notifications
You must be signed in to change notification settings - Fork 25
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
Actively maintained Branch: Lots of bugfixes, huge improvements application and physics Engine #164
Open
JaapvanEkris
wants to merge
232
commits into
laberning:v1beta
Choose a base branch
from
JaapvanEkris:main
base: v1beta
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
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
Fixed a bug in the tick rollover (which seems to happen every 60 minutes of processtime).
Bugfix: Fixed a bug where a new year or month would crash the workoutrecorder due to a missing data directory Several improvements: * Added possibility of only creating RowingData file * Improved HRR data when restarting a workout
A bit more defensive programming as one bad (NaN) measurement of CurrentDt will kill all metrics for the entire session.
To add insult to injury: by a typo in the error logging function, the app would crash if there was a recoverable error
Addittion of the interval type, as a preperation of the more complex workout schedules
Replaced the horrible ested If...then....else with a much more readable case statement to implement the Concept 2 table
Added a lot of sanity checks to the loading of the config.
Improvement of code quality
Fixed Lint errors
Removed sanity checks in RowingStatistics, as the configmanager centralises the parameter check
Removed sanity checks in RowingStatistics, as the configmanager centralises the parameter check
Added the ability to automatically fix forgotten or implausible settings when possible.
Added logic for more complex workouts: RowingStatistics will handle this completely independently
Update to facilitate more complex workouts. RowingStatistics will now manage the intervals completely independently and alert server.js only when the session has ended.
Added Intervals.icu to the list of compatible users of tcx files.
Updates to fix review comments
Added workout management to the role of RowingStatistics
Fixed Line error
Checked that the sanity check would fix all mew variables, allowing a 0.8.4 config file to be used with V1Beta without any crashes or issues.
Added a restart limit to the service definition to prevent an infinite bootloop
Added a restart limit to the service definition to prevent an infinite bootloop
On hindsight, the approach of letting the FSM handle all state transitions explicitly is much clearer
On hindsight, the approach of letting the FSM handle all state transitions explicitly is much clearer
Added a paragraph about handle-based sensors.
Added reason to modify hardware setup in documentation
Added link to software setup
* Update package.json * Update package-lock.json
* Update install.sh * Create .npmrc * Update install.sh * Update server.js * Update config.js * Update RowingStatistics.js
Added an active depreciation warning to the Pi Zero W installs (see #33)
* Switch to Node.js V20 * Failsafe for updating using the wrong branch * Update to Node.js v20 and support for RPi OS Bookworm * Update to Node.js V20 * Update to Node.js V20 * Update install.sh * Update install.sh * Update install.sh * Update install.sh * Update package.json * Update package-lock.json
Update to fix an error in both Theil-Sen regressors, as the arrays used were not processed completely. Thanks to @Abasz for reporting.
… the install fails
Change the startup and powerdown behaviour to depend on Angular velocity, as that is constructed using the TS-calculation, reducing the dependency on an individual measurement. Inserted more explicit memory management by setting values to null before destroying the node, in order to make the Garbage collector's work a bit easier. This fixes a lot of memory leaks. Performance improvement of the Quadratic TS Series: Implementation of a lazy algorithm to calculate B, C and goodnessOfFit, avoiding the unneccessary calculation of them when not needed/used. Improved coding style: Instead of making explicit function calls, we now expose the underlying series, allowing use of their functions directly. Adds different rowers, including the model C (see laberning#157 )
# New functionality in 0.9.5 - Added **FIT-File support**: you an now automatically generate a FIT-file after a rowing session, which alows for a more detailed reporting than the tcx-format, and is commonly accepted by most platforms - **Introduction of the session manager**, which provides support for intervals, splits, rest intervals and spontanuous pauses in the session and also adds these to the FIT, tcx and RowingData recordings. Please note, setting predetermined intervals and splits in a user friendly way (via PM5 and webinterface) is still a ToDo that is intended for 1.0.0. - **Improvement of Magnetic rower support**: the new session manager makes sure that the session is nicely stopped, even when the flywheel has stopped quite abruptly before pause timeouts have time to kick in. This is the case on some magnetic rowers which have an extreme high drag, resulting in very short spin down times of their flywheel. # Bugfixes and robustness improvements in 0.9.5 - **Improvement of the architecture**: we cleaned up the old architecture and went to a more message bus structure where clients are responsible for listening to the datatransmissions they are interested in. See [the architecture description](Architecture.md) for a deep-dive of the implementation. Key benefit is that this is more maintainable as it allows serving data more easily to totally different clients (webGUI, recorders and BLE/ANT+) with totally different needs, making future enhancements easier. - **Improvement of Bluetooth stability**: we moved away from abandonware's BLE NoBle/BleNo implementation and moved to stoprocent's implementation, as that package is better maintained and works better with newer installs of BlueZ, which should fix some issues on Raspberry Pi Bookworm. Unfortunatly, none of the NoBle/BleNo descendents are immune to some specific BlueZ issues (see known issues). - **Performance improvement of the TS estimator**, further reducing CPU load, which significantly improves accuracy of the measurements and metrics as the Linux kernel has an easier job keeping the time accurate. - **Removed a lot of memory leaks**, although only being problematic in large simulations (i.e. over 3000K), we want to keep our code to behave nice - **Improved robustness of the stroke detection algorithm** - **Validation of the engine against a PM5 for over 3000KM**, where the deviation is a maximum of 0.1% # Known issues in 0.9.5 - **Bluetooth Heartrate can't be switched dynamically**: due to some underlying changes in the OS, BLE heartrate monitors can't be activated through the GUI without crashing the BLE metrics broadcast (see [the description of issue 69](#69)). As this is an issue in the OS, and all previous versions of OpenRowingMonitor are also affected by this issue. Version 0.9.5 has a workaround implemented that mitigates this at startup. So configuring the use of a BLE heartrate monitor in the config file should work.
We just released version 0.9.5 New functionality in 0.9.5
Bugfixes and robustness improvements in 0.9.5
Known issues in 0.9.5
|
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.
New functionality:
Added some bugfixes/robustness/accuracy improvements: