Ejemplo n.º 1
0
    // wait n sec & stop recording & get acc data from tilt manager
    private IEnumerator saveAccData(float waitTime)
    {
        // wait
        // Debug.Log("wait: " + waitTime);
        yield return(new WaitForSeconds(waitTime));

        // stop recording
        tiltManager.stopRecording();
        cursor.stopRecording();

        // get acc data from tilt manager
        List <float>   timeStampRecord = tiltManager.getTimeStampRecord();
        List <Vector3> rawAccRecord    = tiltManager.getRawAccRecord();
        List <Vector3> filtAccRecord   = tiltManager.getFiltAccRecord();

        // get cursor data from cursor
        List <float>   cursorTimeStampRecord = cursor.getTimeStampRecord();
        List <Vector3> cursorPositionRecord  = cursor.getCursorPositionRecord();

        // save acc data
        string       path   = experimentManager.GetAccDataPath();
        StreamWriter sw     = new StreamWriter(path, false);
        string       header = "header sample \n" +
                              "time stamp, raw acc x, raw acc y, raw acc z, filt acc x, filt acc y, filt acc z";

        sw.WriteLine(header);
        int nRecord = timeStampRecord.Count;

        for (int iRecord = 0; iRecord < nRecord; iRecord++)
        {
            string record = timeStampRecord[iRecord] + "," +
                            rawAccRecord[iRecord].x + "," + rawAccRecord[iRecord].y + "," + rawAccRecord[iRecord].z + "," +
                            filtAccRecord[iRecord].x + "," + filtAccRecord[iRecord].y + "," + filtAccRecord[iRecord].z;
            sw.WriteLine(record);
        }
        sw.Flush();
        sw.Close();


        // save cursor position
        path   = experimentManager.GetCursorDataPath();
        sw     = new StreamWriter(path, false);
        header = "header sample \n" +
                 "time stamp, cursor x, cursor y";
        sw.WriteLine(header);
        nRecord = cursorTimeStampRecord.Count;
        for (int iRecord = 0; iRecord < nRecord; iRecord++)
        {
            string record = cursorTimeStampRecord[iRecord] + "," +
                            cursorPositionRecord[iRecord].x + "," + cursorPositionRecord[iRecord].y;
            sw.WriteLine(record);
        }
        sw.Flush();
        sw.Close();
    }