- 
          
 - 
                Notifications
    
You must be signed in to change notification settings  - Fork 1k
 
Step counter history added #2120
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
base: main
Are you sure you want to change the base?
Conversation
| 
           Build size and comparison to main: 
  | 
    
| 
           Nice! You should be able to test this on your sealed watch without problems. As long as you don't verify the firmware, a reboot will be enough to get it back to working. And if you do verify it, a force reboot into the backup firmware still enables you to install another firmware.  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool feature, looking good :) haven't tried it yet on my PT yet but hopefully will soon
| 
           Sorry for the seemingly endless review! It's looking really good now, almost there  | 
    
| 
           It's alright, I'm actually enjoying this opportunity to "nerd out" with people on a project 😄  | 
    
20168fa    to
    7f7189e      
    Compare
  
    7f7189e    to
    85c1f4e      
    Compare
  
    Since most if not all calls expect today, I set it as default value
85c1f4e    to
    e973125      
    Compare
  
    | 
           Very nice! Do you have any InfiniSim screenshots or pictures of it on a real watch?  | 
    
| 
           Yes, I have some pictures both in InfiniSim and on the real watch Nothing fancy, so far. If there's demand, I'm thinking about storing the past 7 or so days and displaying it in a table (like the tasks in the Settings > About menu's 4th screen). Eventually I'd also like to tell companion applications the step history count, but I'll need to look more into how BLE communication works for that.  | 
    
| 
           Been testing this a while, work fine so far. The halo which fills up as one approaches the goal is an unusual pick, especially for a square device. The menu to check the amount of steps taken and configure the step goals seem very disconnected from one another—but I think that can be refined later and doesn't need to be a blocker for this patch.  | 
    
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry it's taken ages for me to look at this
Looking really good :)
| Utility::CircularBuffer<uint32_t, stepHistorySize> nbSteps = {0}; | ||
| uint32_t currentTripSteps = 0; | ||
| 
               | 
          ||
| uint32_t& NbStepsRef(Days day = Days::Today) { | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Having thought about this for a bit, I think this API of returning a mutable reference is a bit unexpected.
I think I'd prefer something more explicit along the lines of SetSteps(Days day)
          
 Circular progress dial looks nice to me. Do you think a square dial would be better then? Agreed on the app configuration. This is a broader problem in InfiniTime where app settings and apps themselves live in different places, and worse the settings pages are not modular while the apps are. More in #2314 (and probably other tracking issues I've forgotten) This patch only concerns step history though, so I think your points are probably better addressed elsewhere :) Please do feel free to open new issues to track them (if there isn't a ticket already)  | 
    

I changed the MotionController to remember the past N (currently 2) day's step counter history after the midnight reset. And I also changed the Steps screen to display (and update) yesterday's step count in addition to today's.
I didn't feel comfortable changing the return type of
MotionService::NbSteps()yet without feedback, instead I wrote a new method to return the whole history.I've tested this only using InfiniSim, testing with devkits would be welcome!
In the future I would like to increase the history size from 2 to 7 and transfer the whole history to the companion applications, but I haven't really looked into how bluetooth communication or "API"s work, so feedback would be most appreciated!