Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS...
Transcript of Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS...
![Page 1: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/1.jpg)
Gerontechnology II
Collecting Smart Phone Sensor Data for Gerontechnology
Using iOS
![Page 2: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/2.jpg)
Introduction to iOS
• iOS devices and sensors
• Xcode
• Swift
• Getting started with Sensor App
![Page 3: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/3.jpg)
iOS Devices
iPhoneiPad Apple Watch
![Page 4: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/4.jpg)
iOS Sensors
• Motion–Accelerometer–Gyroscope
• Location and course–GPS
Available on iPad, iPhone andApple Watch.
![Page 5: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/5.jpg)
iOS Sensors
iPhone/iPad only–Magnetometer–Barometer
Watch only–Heart rate
• Green and infrared LEDs• Photodiodes
![Page 6: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/6.jpg)
Sensor App
Include if time
![Page 7: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/7.jpg)
Sensor App
![Page 8: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/8.jpg)
Xcode
• Main iOS app development environment
• Storyboard: Visual editor for app interface
• iOS simulator
![Page 9: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/9.jpg)
Xcode
![Page 10: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/10.jpg)
Storyboard (Main.storyboard)
![Page 11: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/11.jpg)
Swift
• Programming language for iOS
• Swift Tour at http://swift.org/getting-started
• Swift Playground
![Page 12: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/12.jpg)
Constants, Variables and Types
• Constants (let)
• Variables (var)
• Basic types: Bool, Int, Float, Double, String
• Collection types: Array, Set, Dictionary
let numCandy = 4 // let numCandy:Int = 4var shoppingList = ["coffee": 3, "candy": numCandy]for (item, amount) in shoppingList {
print("\(item): \(amount)")}
![Page 13: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/13.jpg)
Optional Type
• Optional variable (?) can be empty or a value
• Access value by unwrapping (!)
let possibleStr: String? = “Hello” // optional typeprint(possibleStr)
let unwrappedStr: String = possibleStr! // unwrappingprint(unwrappedStr)
![Page 14: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/14.jpg)
Functions
func addTwoInts (first: Int, second: Int) -> Int {let sum = first + secondreturn sum
}addTwoInts(first: 3, second: 4)
func addTwoInts2 (_ first: Int, _ second: Int) -> Int {let sum = first + secondreturn sum
}addTwoInts2(3,4)
![Page 15: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/15.jpg)
Classes
class Location {var latitude: Floatvar longitude: Floatvar altitude: Float = 0.0var heading: Float?
init (latitude lat: Float, longitude lon: Float) {self.latitude = latself.longitude = lon
}
func jump () {altitude += 2.0
}}var location1 = Location(latitude: 46.73, longitude: -117.17)location1.jump()
![Page 16: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/16.jpg)
Sensor App Interface
![Page 17: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/17.jpg)
Labels and Buttons
• UILabel– var messageLabel: UILabel!– messageLabel.text = “Press Start to begin.”
• UIButton– var startButton: UIButton!– startButton.isEnabled = true
![Page 18: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/18.jpg)
Outlets and Actions
• Outlet– Provides access to view elements– @IBOutlet weak var messageLabel: UILabel!
• Action– Reacts to user interaction with view elements– @IBAction func startTapped (_ sender: UIButton)
{…}
• Connection created by Ctrl-Click from element to ViewController class
![Page 19: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/19.jpg)
Connecting Label Outlets
ctrl-click
![Page 20: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/20.jpg)
Connecting Button Actions
ctrl-click
![Page 21: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/21.jpg)
Sensor App
![Page 22: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/22.jpg)
Motion Sensors
• Accelerometer • Gyroscope
![Page 23: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/23.jpg)
Motion Sensor Authorization
• App must provide description for why motion data is necessary– To protect user privacy– App terminates if not provided
• Info.plist– “Privacy – Motion Usage Description”
![Page 24: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/24.jpg)
Motion Sensors
• Accelerometer and gyroscope
• Sensor availability
• Sensor authorization
• Updates to Sensor App
![Page 25: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/25.jpg)
Core Motion Framework
• Import CoreMotion
• Create instance of CMMotionManager
• Set update interval
• Start updates: Calls handler– Handler gets CMDeviceMotion object
• userAcceleration.x/y/z (minus gravity)• attitude.yaw/pitch/roll
• Stop updates
• developer.apple.com/documentation/coremotion
![Page 26: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/26.jpg)
Core Motion Framework
• Import CoreMotion
• Create instance of CMMotionManager
• Set update interval
• Start updates: Calls handler– Handler gets CMDeviceMotion object
• userAcceleration.x/y/z (minus gravity)• attitude.yaw/pitch/roll
• Stop updates
• developer.apple.com/documentation/coremotion
![Page 27: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/27.jpg)
Core Motion Initializationimport CoreMotion
class ViewController: UIViewController {
var motionManager: CMMotionManager!
func initializeMotion() { // call from viewDidLoadmotionManager = CMMotionManager()motionManager.deviceMotionUpdateInterval = 0.1 // secs
}
func startMotionUpdates () { // call from startTappedmotionManager.startDeviceMotionUpdates(
to: OperationQueue.main, withHandler: motionHandler)}
func stopMotionUpdates () { // call from stopTappedmotionManager.stopDeviceMotionUpdates()
}
![Page 28: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/28.jpg)
Motion Handler
func motionHandler (deviceMotion: CMDeviceMotion?, error: Error?){if let err = error {
print("motionHandler error: \(err.localizedDescription)")} else {
if let dm = deviceMotion {self.processMotionData(dm)
} else {print("motionHandler: deviceMotion = nil")
}}
}
![Page 29: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/29.jpg)
Process Device Motion Data
func processMotionData (_ dm: CMDeviceMotion) {let accX = String(format: "%.3f", dm.userAcceleration.x)let accY = String(format: "%.3f", dm.userAcceleration.y)let accZ = String(format: "%.3f", dm.userAcceleration.z)let rotX = String(format: "%.3f", dm.attitude.pitch)let rotY = String(format: "%.3f", dm.attitude.roll)let rotZ = String(format: "%.3f", dm.attitude.yaw)accelerationXLabel.text = "Acceleration X = \(accX)"accelerationYLabel.text = "Acceleration Y = \(accY)"accelerationZLabel.text = "Acceleration Z = \(accZ)"rotationXLabel.text = "Rotation X (pitch) = \(rotX)"rotationYLabel.text = "Rotation Y (roll) = \(rotY)"rotationZLabel.text = "Rotation Z (yaw) = \(rotZ)"
}
![Page 30: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/30.jpg)
Testing Core Motion
• Not included in iOS simulator– Handler never called
• Must use real device
![Page 31: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/31.jpg)
Location Sensors
• GPS
• And if available…• Wifi
• Bluetooth
• Magnetometer
• Barometer
• Cellular hardware
![Page 32: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/32.jpg)
Sensor App
![Page 33: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/33.jpg)
Send: Communication Over the Web
• HTTP vs. HTTPS
• GET vs. POST requests
• JSON
• Web server
![Page 34: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/34.jpg)
Alerts
• Alerts
• Local notifications
• Remote (push) notifications
![Page 35: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/35.jpg)
func showAlert(titleText: String, messageText: String) {let alert = UIAlertController(title: titleText, message:
messageText, preferredStyle: .alert)let action = UIAlertAction(title: "Dismiss", style:
.default, handler: { (action) in alert.dismiss(animated: true, completion: nil)
})
alert.addAction(action)
self.present(alert, animated: true, completion: nil)}
![Page 36: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/36.jpg)
var totalMotion = 0.0
func processMotionData(_ dm: CMDeviceMotion) {let accX = dm.userAcceleration.x// omitting previous lines heretotalMotion += abs(accX) + abs(accY) + abs(accZ)if totalMotion > 100.0 {
DispatchQueue.main.async {self.showAlert(titleText: "Congrats!",
messageText: "Congratulations, you reached your exercise goal!")}totalMotion = 0.0
}print(“totalMotion”, totalMotion)
}
![Page 37: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/37.jpg)
Example
![Page 38: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/38.jpg)
Try running the app
![Page 39: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/39.jpg)
var totalRotation = 0.0
func processMotionData(_ dm: CMDeviceMotion) {let accX = dm.userAcceleration.x// omitting previous lines hereif totalRotation > 1000.0 {
DispatchQueue.main.async {self.showAlert(titleText: "Hi there!",
messageText: "Waving back at you")}totalRotation = 0.0
}}
![Page 40: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/40.jpg)
Example
![Page 41: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/41.jpg)
Try running the app
![Page 42: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/42.jpg)
Review
• iOS, Xcode, Swift
• Sensors
• CoreMotion and CoreLocation frameworks
• Alerts
• iOS Communication over the Web
• Sensor App
![Page 43: Gerontechnology IIcook/gt2/presentations/apps.pdf•Swift •Getting started with Sensor App. iOS Devices iPad Apple WatchiPhone. iOS Sensors •Motion –Accelerometer ... Communication](https://reader033.fdocuments.in/reader033/viewer/2022050101/5f40bf38cb88957d117f00d9/html5/thumbnails/43.jpg)
Activity Recognition2015-09-09 21:57:08 Yaw -1.78542015-09-09 21:57:08 Pitch 0.12062015-09-09 21:57:08 Roll 0.82952015-09-09 21:57:08 AccelerationX 0.03802015-09-09 21:57:08 AccelerationY -0.09872015-09-09 21:57:08 AccelerationZ 0.08602015-09-09 21:57:08 Latitude 46.73882015-09-09 21:57:08 Longitude -117.17202015-09-09 21:57:08 Altitude 729.63902015-09-09 21:57:08 Course 286.52302015-09-09 21:57:08 Speed 0.00002015-09-09 21:57:09 Yaw -1.63752015-09-09 21:57:09 Pitch 0.24502015-09-09 21:57:09 Roll 0.67562015-09-09 21:57:09 AccelerationX -0.00292015-09-09 21:57:09 AccelerationY 0.00672015-09-09 21:57:09 AccelerationZ -0.01202015-09-09 21:57:09 Latitude 46.73882015-09-09 21:57:09 Longitude -117.17202015-09-09 21:57:09 Altitude 729.68102015-09-09 21:57:09 Course 241.17202015-09-09 21:57:09 Speed 0.00002015-09-09 21:57:10 Yaw -1.26862015-09-09 21:57:10 Pitch 0.15702015-09-09 21:57:10 Roll -0.39322015-09-09 21:57:10 AccelerationX 0.10572015-09-09 21:57:10 AccelerationY -0.11792015-09-09 21:57:10 AccelerationZ -0.02622015-09-09 21:57:10 Latitude 46.73882015-09-09 21:57:10 Longitude -117.17202015-09-09 21:57:10 Altitude 729.65002015-09-09 21:57:10 Course 273.86702015-09-09 21:57:10 Speed 0.0000
v = <251, 3, 21, 1260, 75612, -1.0539, -1.7854,-6.8586, -1.3717, -1.2686, 0.3238, 0.2718,-1.2686, 1, 1, -0.5343, -0.3292, -2.1163,9.8273, 1.2776, 1.9655, -0.7784, -0.2150,…>
AR: v Eat