From a8fa984633790652f26887bf47f6876b74f34bd8 Mon Sep 17 00:00:00 2001 From: Jazmin Ferreiro Date: Mon, 19 Jul 2021 01:33:29 -0300 Subject: [PATCH] guardar archivo con nombre --- lib/main.dart | 4 + lib/model/movement.dart | 104 ++++++++++++++++++++++-- lib/screens/connection/wifi/socket.dart | 6 +- lib/screens/files/storage.dart | 19 +++-- 4 files changed, 117 insertions(+), 16 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index bb0eaf3..dcb433a 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,3 +1,5 @@ +import 'dart:convert'; + import 'package:assets_audio_player/assets_audio_player.dart'; import 'package:flutter/material.dart'; import 'package:lsa_gloves/screens/connection/ble/find_connection.dart'; @@ -7,6 +9,8 @@ import 'package:lsa_gloves/screens/files/file_list.dart'; import 'dart:developer'; import 'package:lsa_gloves/screens/files/storage.dart'; +import 'model/movement.dart'; + void main() { runApp(MyApp()); diff --git a/lib/model/movement.dart b/lib/model/movement.dart index f8b9291..afddb77 100644 --- a/lib/model/movement.dart +++ b/lib/model/movement.dart @@ -1,18 +1,108 @@ class Movement { final String deviceId; final int eventNum; - final double acc; - final double gyro; - Movement(this.deviceId, this.eventNum, this.acc, this.gyro); + final Hand hand; + + Movement(this.deviceId, this.eventNum, this.hand); Movement.fromJson(Map json) : deviceId = json['device_id'], eventNum = json['event_num'], - acc = json['acc'], gyro = json['gyro']; + hand = Hand.fromJson(json['hand'] as Map); Map toJson() => { 'device_id': deviceId, 'event_num': eventNum, - 'acc': acc, - 'gyro': gyro, + 'hand': hand.toJson(), + }; +} + + +class Hand { + final Finger thump; + /* + final Finger index; + final Finger middle; + final Finger ring; + final Finger pinky; + */ + + Hand(this.thump); + + Hand.fromJson(Map json) + : thump = Finger.fromJson(json['thump'] as Map); + + Map toJson() => { + 'thump': thump.toJson(), + }; + +} + +class Finger { + final Acceleration acc; + final Gyro gyro; + final Inclination inclination; + + Finger(this.acc, this.gyro, this.inclination); + + Finger.fromJson(Map json) + : acc = Acceleration.fromJson(json['acc'] as Map), + gyro = Gyro.fromJson(json['gyro'] as Map), + inclination = Inclination.fromJson(json['inclination']as Map); + Map toJson() => { + 'acc': acc.toJson(), + 'gyro': gyro.toJson(), + 'inclination': inclination.toJson(), + }; + +} +class Acceleration { + final double x; + final double y; + final double z; + + Acceleration(this.x, this.y, this.z); + + Acceleration.fromJson(Map json) + : x = json['x'], y = json['y'], z = json['z']; + + Map toJson() => { + 'x': x, + 'y': y, + 'z': z, + }; +} + +class Gyro { + final double x; + final double y; + final double z; + Gyro (this.x, this.y, this.z); + + Gyro .fromJson(Map json) + : x = json['x'], y = json['y'], z = json['z']; + + Map toJson() => { + 'x': x, + 'y': y, + 'z': z, }; -} \ No newline at end of file +} + +class Inclination { + final double roll; + final double pitch; + final double yaw; + Inclination(this.roll, this.pitch, this.yaw); + + Inclination.fromJson(Map json) + : roll = json['roll'], pitch = json['pitch'], yaw = json['yaw']; + + Map toJson() => { + 'roll': roll, + 'pitch': pitch, + 'yaw': yaw, + }; + +} + + diff --git a/lib/screens/connection/wifi/socket.dart b/lib/screens/connection/wifi/socket.dart index dafcc0b..13d0a82 100644 --- a/lib/screens/connection/wifi/socket.dart +++ b/lib/screens/connection/wifi/socket.dart @@ -97,7 +97,7 @@ class _MovementRecorderWidget extends State { showDialog( context: context, builder: (BuildContext context) => AlertDialog( - title: const Text('Desea guardar los movimientos medidos?'), + title: const Text('Guardar los movimientos?'), content: TextField( onChanged: (value) { setState(() { @@ -106,7 +106,7 @@ class _MovementRecorderWidget extends State { }, controller: _fileNameFieldController, - decoration: InputDecoration(hintText: "Nombre"), + decoration: InputDecoration(hintText: "Nombre del archivo"), ), actions: [ TextButton( @@ -195,7 +195,7 @@ class _MovementRecorderWidget extends State { print('map to -> ${pkg.toJson().toString()}'); sc.add(pkg); }catch(e){ - print('cant parse : jsonString'); + print('cant parse : ${list[i]}'); } } } diff --git a/lib/screens/files/storage.dart b/lib/screens/files/storage.dart index caccbb2..eb31c85 100644 --- a/lib/screens/files/storage.dart +++ b/lib/screens/files/storage.dart @@ -137,7 +137,6 @@ class DeviceMeasurementsFile { "${date.minute.toString()}:" + "${date.second.toString()}"; } - } class SensorMeasurements { @@ -147,14 +146,22 @@ class SensorMeasurements { SensorMeasurements(this.deviceId, this.word, this.values); - bool add(Movement measurement) { - if(measurement.deviceId != this.deviceId){ - print("wrong deviceId $measurement.deviceId"); + bool add(Movement mov) { + if(mov.deviceId != this.deviceId){ + print("wrong deviceId $mov.deviceId"); return false; } List measurementList = []; - measurementList.add(measurement.acc); - measurementList.add(measurement.gyro); + var thump = mov.hand.thump; + measurementList.add(thump.acc.x); + measurementList.add(thump.acc.y); + measurementList.add(thump.acc.z); + measurementList.add(thump.gyro.x); + measurementList.add(thump.gyro.y); + measurementList.add(thump.gyro.z); + measurementList.add(thump.inclination.yaw); + measurementList.add(thump.inclination.pitch); + measurementList.add(thump.inclination.roll); this.values.add(measurementList); return true; }