Skip to content

Commit

Permalink
Changed architecture
Browse files Browse the repository at this point in the history
  • Loading branch information
tainfante committed Aug 29, 2019
1 parent e3750d8 commit 17e3b3e
Show file tree
Hide file tree
Showing 15 changed files with 501 additions and 125 deletions.
66 changes: 60 additions & 6 deletions app/src/main/java/com/example/rehabapp/AccFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,21 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import com.example.rehabapp.ValuesToLoad.Companion.accEntries
import com.example.rehabapp.ValuesToLoad.Companion.gyrEntries

import com.example.rehabapp.ValuesToLoad.Companion.accXEntries
import com.example.rehabapp.ValuesToLoad.Companion.accYEntries
import com.example.rehabapp.ValuesToLoad.Companion.accZEntries

import com.example.rehabapp.ValuesToLoad.Companion.gyrXEntries
import com.example.rehabapp.ValuesToLoad.Companion.gyrYEntries
import com.example.rehabapp.ValuesToLoad.Companion.gyrZEntries
import com.github.mikephil.charting.charts.LineChart
import com.github.mikephil.charting.data.Entry
import com.github.mikephil.charting.data.LineData
import com.github.mikephil.charting.data.LineDataSet
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet


class AccFragment : Fragment() {
Expand All @@ -25,20 +33,66 @@ class AccFragment : Fragment() {
): View {
var view: View =inflater.inflate(R.layout.acc_layout, container, false)

var color1 = ContextCompat.getColor((activity as MainActivity).applicationContext, R.color.colorblue)
var color2 = ContextCompat.getColor((activity as MainActivity).applicationContext, R.color.colorpink)
var color3 = ContextCompat.getColor((activity as MainActivity).applicationContext, R.color.colorgreen)

accChart=view.findViewById(R.id.accChart)

val accDataSet= LineDataSet(accEntries, "Random")
val accXDataSet=LineDataSet(accXEntries, "X")
accXDataSet.lineWidth = 0.4f
accXDataSet.setDrawCircles(false)
accXDataSet.color = color1

val accYDataSet=LineDataSet(accYEntries, "Y")
accYDataSet.lineWidth = 0.4f
accYDataSet.setDrawCircles(false)
accYDataSet.color = color2

val accZDataSet=LineDataSet(accZEntries, "Z")
accZDataSet.lineWidth = 0.4f
accZDataSet.setDrawCircles(false)
accZDataSet.color = color3

val accLineData= LineData(accDataSet)
var accDataSets = ArrayList<ILineDataSet>()
accDataSets.add(accXDataSet)
accDataSets.add(accYDataSet)
accDataSets.add(accZDataSet)

val accLineData= LineData(accDataSets)
accChart.data = accLineData
accChart.axisLeft.axisMinimum = 0.0F
accChart.axisLeft.axisMaximum = 65535.0F
accChart.axisRight.isEnabled = false
accChart.invalidate()

gyrChart=view.findViewById(R.id.gyrChart)

val gyrDataSet= LineDataSet(gyrEntries, "Random")
val gyrXDataSet=LineDataSet(gyrXEntries, "X")
gyrXDataSet.lineWidth = 0.4f
gyrXDataSet.setDrawCircles(false)
gyrXDataSet.color = color1

val gyrYDataSet=LineDataSet(gyrYEntries, "Y")
gyrYDataSet.lineWidth = 0.4f
gyrYDataSet.setDrawCircles(false)
gyrYDataSet.color = color2

val gyrZDataSet=LineDataSet(gyrZEntries, "Z")
gyrZDataSet.lineWidth = 0.4f
gyrZDataSet.setDrawCircles(false)
gyrZDataSet.color=color3

var gyrDataSets = ArrayList<ILineDataSet>()
gyrDataSets.add(gyrXDataSet)
gyrDataSets.add(gyrYDataSet)
gyrDataSets.add(gyrZDataSet)

val gyrLineData= LineData(gyrDataSet)
val gyrLineData= LineData(gyrDataSets)
gyrChart.data = gyrLineData
gyrChart.axisLeft.axisMinimum = 0.0F
gyrChart.axisLeft.axisMaximum = 65535.0F
gyrChart.axisRight.isEnabled = false
gyrChart.invalidate()

return view
Expand Down
47 changes: 47 additions & 0 deletions app/src/main/java/com/example/rehabapp/AccFrame.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package com.example.rehabapp

class AccFrame(dataArray: UByteArray) {

private var dataArray = UByteArray(12)
private var accX: Float = 0.0F
private var accY: Float = 0.0F
private var accZ: Float = 0.0F
private var gyrX: Float = 0.0F
private var gyrY: Float = 0.0F
private var gyrZ: Float = 0.0F

init{
this.dataArray=dataArray
accX = ((dataArray[0].toInt() shl 8) or dataArray[1].toInt()).toFloat()
accY = ((dataArray[2].toInt() shl 8) or dataArray[3].toInt()).toFloat()
accZ = ((dataArray[4].toInt() shl 8) or dataArray[5].toInt()).toFloat()
gyrX = ((dataArray[6].toInt() shl 8) or dataArray[7].toInt()).toFloat()
gyrY = ((dataArray[8].toInt() shl 8) or dataArray[9].toInt()).toFloat()
gyrZ = ((dataArray[10].toInt() shl 8) or dataArray[11].toInt()).toFloat()
}

fun getAccX(): Float {
return accX
}

fun getAccY(): Float {
return accY
}

fun getAccZ(): Float {
return accZ
}

fun getGyrX(): Float {
return gyrX
}

fun getGyrY(): Float {
return gyrY
}

fun getGyrZ(): Float {
return gyrZ
}

}
53 changes: 42 additions & 11 deletions app/src/main/java/com/example/rehabapp/ComFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Button
import androidx.fragment.app.Fragment
import android.app.Activity
import android.bluetooth.BluetoothDevice
import android.widget.ArrayAdapter
import android.widget.Spinner
import android.widget.*

class ComFragment : Fragment() {
class ComFragment : Fragment(), AdapterView.OnItemSelectedListener {

lateinit var devicesList:ArrayList<BluetoothDevice>
var justCreatedView = true

override fun onCreateView(
inflater: LayoutInflater,
Expand All @@ -20,28 +20,59 @@ class ComFragment : Fragment() {
): View {
val view : View=inflater.inflate(R.layout.com_layout, container, false)


val selectDeviceSpinner: Spinner = view.findViewById(R.id.spinner)
val startButton:Button=view.findViewById(R.id.startButton)
val stopButton:Button=view.findViewById(R.id.stopButton)

val devicesList: ArrayList<BluetoothDevice> = (activity as MainActivity).pairedDeviceList()
//variable for avoiding calling onItemSelected after creating view
justCreatedView=true

//populating the list of bluetooth devices
devicesList = (activity as ComFragmentInterface).getPairedDeviceList()
val devicesNamesList: ArrayList<String> = ArrayList()
devicesNamesList.add(0, "BT Device")
for(device:BluetoothDevice in devicesList){
devicesNamesList.add(device.name)
}
val adapter=ArrayAdapter((activity as MainActivity).applicationContext,android.R.layout.simple_spinner_item, devicesNamesList)
adapter.setNotifyOnChange(true)
val adapter=ArrayAdapter((activity as MainActivity).applicationContext,R.layout.spinner_item, devicesNamesList)
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
selectDeviceSpinner.adapter=adapter

selectDeviceSpinner.onItemSelectedListener = this


startButton.setOnClickListener(View.OnClickListener {
(activity as MainActivity).startChronometer()
(activity as ComFragmentInterface).onStartButtonClicked()
})

stopButton.setOnClickListener(View.OnClickListener {
(activity as MainActivity).stopChronometer()
(activity as ComFragmentInterface).onStopButtonClicked()
})

return view
}

override fun onNothingSelected(p0: AdapterView<*>?) {

}

override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
if(parent!!.getItemAtPosition(position) == "BT Device" || justCreatedView){
justCreatedView=false
} else{
for(device:BluetoothDevice in devicesList){
if (device.name== parent.getItemAtPosition(position)){
(activity as ComFragmentInterface).onDevicePicked(device.address, device.name)
}
}
}

}
interface ComFragmentInterface {
fun onDevicePicked(macaddress: String, deviceName: String)
fun onStartButtonClicked()
fun onStopButtonClicked()
fun getPairedDeviceList():ArrayList<BluetoothDevice>
}

}
Loading

0 comments on commit 17e3b3e

Please sign in to comment.