-
Notifications
You must be signed in to change notification settings - Fork 88
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
Add support for goals to GPS Watch model #27
Comments
johnrwolfe
pushed a commit
that referenced
this issue
May 12, 2014
johnrwolfe
pushed a commit
that referenced
this issue
May 12, 2014
johnrwolfe
pushed a commit
that referenced
this issue
Jun 10, 2014
support for goal-assessment of heart-rate based goals.
johnrwolfe
pushed a commit
that referenced
this issue
Jun 11, 2014
supporting workout goals. This version runs successfully in Verifier with the following exceptions: 1. When the workout timer is paused, the class-based state model for the GPS continues ignoring a timeout event. Probably this is caused by a failure to unregister with the GPS when the workout timer is stopped. 2. When the workout timer is reset, the heart-rate samples are cleared, but not the rest of data in the WorkoutSession such as currentSpeed, currentPace, accumulatedDistance, and currentHeartRate.
johnrwolfe
pushed a commit
that referenced
this issue
Jun 11, 2014
supporting workout goals. See previous commit comment for details, as it seems I failed to check the boxes for any of the files during the previous commit operation.
johnrwolfe
pushed a commit
that referenced
this issue
Jun 12, 2014
johnrwolfe
pushed a commit
that referenced
this issue
Jun 12, 2014
intelligence and layering of control. This version works fine in Verifier with the watch GUI. It also fixes the problem with the GPS timeout events mentioned for the previous commit.
johnrwolfe
pushed a commit
that referenced
this issue
Jun 12, 2014
johnrwolfe
pushed a commit
that referenced
this issue
Jun 12, 2014
unnecessary, leaving the question of whether the class should be deleted. For now, it will remain.
johnrwolfe
pushed a commit
that referenced
this issue
Jun 12, 2014
log, but on a singleton instance of workout session, navigating through the session to find the associated track log.
johnrwolfe
pushed a commit
that referenced
this issue
Jun 13, 2014
failed invocation of timer_cancel() against a recurring timer in Verifier. It seems that when timer_cancel() returns a failing return code when invoked against a recurring timer the recurring timer continues firing. This is odd, as the expectation is that a failing return code indicates that at most a single event is already in flight when the timer is cancelled, but in any case, the recurring timer is cancelled.
johnrwolfe
pushed a commit
that referenced
this issue
Jun 13, 2014
a square-root function, hence the addition of the MATH EE. While rebuilding the project to produce the Math.class file, I hit a compilation error in UI.java, for a missing constructor, SetData( Float, Unit ). For now, I've added that constructor to SetData.java, but it's not clear precisely when or how this issue was injected. This commit also includes the following files that were not previously in the Git index: Debug/.gitignore bin/library/UI$GuiConnection.class bin/library/UI.class bin/uidatatypes/Unit.class bin/uiinterfaces/IActionsAndDataFromProvider.class bin/uiinterfaces/IActionsAndDataToProvider.class javasrc/lib/MATH.java bin/lib/MATH.class I created the final two to provide access to the square-root function, so I'm confident that adding these into the Git index is correct. However, I'm less confident about the others, as they may have been intentionally left out, perhaps because they include path names that are specific to a particular Eclipse installation. This version runs fine with Verifier now.
johnrwolfe
pushed a commit
that referenced
this issue
Jun 14, 2014
distance between each of the last five track points and dividing by the elapsed time between the first and last points in the subset. While this version runs in Verifier, I still need to: - determine whether the calculated speed is correct - fix pace (currently displays as 0) - test boundary cases (0, 1, 2, and 3 track points) As part of this work I eliminated the Location structured data type, as leaving it in place will teach the students bad habits.
johnrwolfe
pushed a commit
that referenced
this issue
Jun 16, 2014
simulated GPS. Fixed calculation errors (kilometers vs. meters) in distance calculation. Boundary conditions mentioned in previous commit tested successfully. Speed and pace values appear to be valid. Speed/pace varies immediately after a paused timer, but for now I'll leave it as is. This appears to be due to jitter between the GPS update rate and the timer rate. Need to decide what to do on this front. The specification indicates the watch stores one track point per second, but the simulated GPS produces a new location every two seconds.
johnrwolfe
pushed a commit
that referenced
this issue
Jun 17, 2014
with each tick of the workout timer. However, there is still a bit of jitter in the time stamps on track points.
johnrwolfe
pushed a commit
that referenced
this issue
Jun 17, 2014
realistic by adding some variation into the distance moved during each update period. This version runs well in Verifer.
johnrwolfe
pushed a commit
that referenced
this issue
Jun 26, 2014
johnrwolfe
pushed a commit
that referenced
this issue
Jul 9, 2014
a bit of OAL that causes an internal parse error. I will try to isolate the offending piece of code and open an issue for it.
johnrwolfe
pushed a commit
that referenced
this issue
Jul 9, 2014
johnrwolfe
pushed a commit
that referenced
this issue
Jul 9, 2014
johnrwolfe
pushed a commit
that referenced
this issue
Jul 10, 2014
work includes: - notify UI of current goal achievement status - add support to animated watch for indicating goal achievement status - ensure in-flight goal-achievement timer events are handled properly after cancellation of timer - make GoalSpec attribute names follow convention (lower case first letter) - test workout goal handling with Verifier
johnrwolfe
pushed a commit
that referenced
this issue
Jul 10, 2014
and no side effects, leaving the goal state machine to handle achievement records and updating of the disposition attribute.
johnrwolfe
pushed a commit
that referenced
this issue
Jul 10, 2014
both occur in that state due to the asynchronous nature of button pushes and timer expirations, but neither event is interesting once the goal instance is in the completed state. Small change in invocation of Goal::create() for the sake of clarity, no semantic change.
johnrwolfe
pushed a commit
that referenced
this issue
Jul 10, 2014
operation with startTest operation as is used by the version supplied with the tool. Basic capabilities work in Verifier. Have not yet begun testing workout goal capabilities.
johnrwolfe
pushed a commit
that referenced
this issue
Jul 11, 2014
testing in Verifier. Have not yet modified Java animation of the watch to support newly defined indicator (down, flat, up) which will be used to provide a visual indication of goal achievement.
johnrwolfe
pushed a commit
that referenced
this issue
Jul 11, 2014
capabilities work in Verifier on this version, but testing of goals has not yet begun.
johnrwolfe
pushed a commit
that referenced
this issue
Jul 11, 2014
employing lower case for the first letter.
johnrwolfe
pushed a commit
that referenced
this issue
Jul 11, 2014
johnrwolfe
pushed a commit
that referenced
this issue
Jul 11, 2014
definition and one function for creating a set of goal specs. Also added reset support for goals. Tested with Verifier and basic goal capaiblities appear to work fine. A few things to consider include: 1. Goal min/max/disposition/indicator is weird for pace because a lower number means a faster (higher) speed. Need to decide whether to change the way this works. 2. Add a behavioral model of the user with some functions that allow his speed and heart rate to be manipulated. 3. Convert Display from class-based state model to instance-based singleton state model, eliminating assignment of interface signals to transitions, replacing them with port OAL that generates the appropriate event.
johnrwolfe
pushed a commit
that referenced
this issue
Jul 15, 2014
johnrwolfe
pushed a commit
that referenced
this issue
Jul 15, 2014
johnrwolfe
pushed a commit
that referenced
this issue
Jul 16, 2014
Evaluate currently executing goal only when workout timer is running.
johnrwolfe
pushed a commit
that referenced
this issue
Jul 17, 2014
deleted some unused, older code associated with the animated watch.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
For the xtUML modeling courses, the case study requires additional richness in the class and state models.
The text was updated successfully, but these errors were encountered: