I'd be interested if to discuss some of the future applications enabled by the motion co-processor. (Any good links?)
subliminal
Most promotional material for the M7 and M8 Apple motion coprocessors seem to focus on the benefit they have for always-on, low-power health and fitness applications: http://www.imore.com/apple-m7
kayvonf
Yeah, there seems to be very little technical material about the specifics of what operations they perform. Someone could potentially take a look at iOS programmer APIs and see if there are motion-related API entry points (beyond just "give me my current acceleration") that might be revealing information.
Thanks @oulgen. I'm still curious what the API for using it is. (How does an app specify that it wants data logged?)
Berry
@kayvonf The CMLogItem base class provides a timestamp for a bunch of derived classes that hold rotation, position, acceleration. The derived classes eventually reveal a method similar to "startGyroUpdatesToQueue:withHandler:" that puts event data on a user defined queue. With the timestamped events in a queue we have everything we need. Without diving too much into OO it looks like most of these use queues in a similar fashion.
msebek
@kayvonf One of the thrusts for a research group that I was a part of was activity recognition for Android (using the main device processor), and the APIs that we were designing allowed applications to register callbacks when activities like walking, stair climbing, running, or biking were started/ended, and to receive information about their intensity over time.
In the Android main line, there is currently some support for general android devices for activity detection, but this is mostly based around driving vs. walking vs. bicycling, and is done mainly through location services.
I'd be interested if to discuss some of the future applications enabled by the motion co-processor. (Any good links?)
Most promotional material for the M7 and M8 Apple motion coprocessors seem to focus on the benefit they have for always-on, low-power health and fitness applications: http://www.imore.com/apple-m7
Yeah, there seems to be very little technical material about the specifics of what operations they perform. Someone could potentially take a look at iOS programmer APIs and see if there are motion-related API entry points (beyond just "give me my current acceleration") that might be revealing information.
The second answer on http://apple.stackexchange.com/questions/146586/why-do-we-need-a-motion-coprocessor explains why we need a separate unit for motion coprocessor. I really like his explanation about power usage. It supplements Kayvon's explanation from the lecture.
Thanks @oulgen. I'm still curious what the API for using it is. (How does an app specify that it wants data logged?)
@kayvonf The CMLogItem base class provides a timestamp for a bunch of derived classes that hold rotation, position, acceleration. The derived classes eventually reveal a method similar to "startGyroUpdatesToQueue:withHandler:" that puts event data on a user defined queue. With the timestamped events in a queue we have everything we need. Without diving too much into OO it looks like most of these use queues in a similar fashion.
@kayvonf One of the thrusts for a research group that I was a part of was activity recognition for Android (using the main device processor), and the APIs that we were designing allowed applications to register callbacks when activities like walking, stair climbing, running, or biking were started/ended, and to receive information about their intensity over time.
In the Android main line, there is currently some support for general android devices for activity detection, but this is mostly based around driving vs. walking vs. bicycling, and is done mainly through location services.
source: https://developer.android.com/reference/com/google/android/gms/location/ActivityRecognition.html
@msebek. Very cool. Thanks for sharing!