-
The link you posted above came back 404. The test harness Gordon developed for Bangle is at:
https://github.com/gfwilliams/step-countÂI had added an extra dot to the URL by mistake, but I was apparrently confused about which of the test harnesses was the test harness (there are two discussed in the forum, and working backwards through the posts the one I came to was the one I found first).
The easiest way to start is to do the work in Javascript
Maybe, but if I'm going to prototype I may as well prototype in any language. As far as I know the test harness(es) only exist in C, so it is write in C or create my own test environment for another language (and if I'm doing that, it may as well be Python).
Someone has kindly sent me the paper I linked to, so I will read that later and see what it brings.
-
but if I'm going to prototype I may as well prototype in any language.
Sure but the point about prototyping in Javascripts is that you can actually run it on the watch as an app and test it out in the real world that your idea's work. Many ideas look like they work on paper but in reality behave less when on the watch.
I implemented the current algorithm (or changes to the current algorithm) in javascript and was able to compare against the existing firmware at the same time.
2 test harnesses.
One is a generic harness that works in C that the guy who managed the oxford step counter built. He added the the Bangle code into it. That would be a good place to start BUT you need to test this on much longer walking samples - 10K steps, not just a burst of 150 steps, an approach I feel is flawed as it hides the errors that will build up over a longer period.
The 2nd Test Harness is is the Espruino codebase and you can fiddle with the step code in C and rerun the harness against all the samples.
If you are really serious about this I could spend sometime writing up how to run the test harnesses but the information is actuall all there. If you get it up and running make some improvements or come up with better code / options that beat the current results, especially in terms of the weak area's like housework, driving, and sleeping which should be lower AND without reducing accuracy on the counting when walking - I will send you my spare Bangle 2.
I read a variety of papers, most of them did not demonstrate test results for non stepping activities; such as driving, sleeping, sitting at a desk. From experiments I came to the conclusion that anyone can think they have built a step counter that counts steps well when walking but 95% of the problem is coming up with one that does not count when driving, sitting, moving a mouse etc etc. Any paper that does not cover how to differentiate between activities or tests for non step activities probably is suspect. The Oxford step counter looked good on paper, the technical paper looked impressive but the results were actually pretty bad under a balanced test regime.
The easiest way to start is to do the work in Javascript, then you can quickly prototype ideas and dont have to compile and flash firmware. If you read this whole thread you will see some sample code I wrote in javascript which Gordon converted to C. I then tweaked the C and tested against various accelerometer logs that I recorded of known step counts. The link you posted above came back 404. The test harness Gordon developed for Bangle is at:
https://github.com/gfwilliams/step-count