Previous | Next --- Slide 26 of 41
Back to Lecture Thumbnails
kayvonf

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.

oulgen

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.

kayvonf

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.

source: https://developer.android.com/reference/com/google/android/gms/location/ActivityRecognition.html

kayvonf

@msebek. Very cool. Thanks for sharing!