コード例 #1
0
    private void LoadDb(TextAsset csvFile)
    {
        var blank = "";

        string[][] grid = CsvReadWrite.LoadTextFile(csvFile);
        for (int i = 1; i < grid.Length; i++)
        {
            if (grid[i][0] == blank)
            {
                return;
            }

            ItemData row = new ItemData();
            row.GlobalID     = Int32.Parse(grid[i][0]);
            row.CategoryID   = Int32.Parse(grid[i][1]);
            row.CategoryName = grid[i][2];
            row.TypeID       = Int32.Parse(grid[i][3]);
            row.TypeName     = grid[i][4];
            TypeNameList.Add(row.TypeName);
            row.Size       = new IntVector2(Int32.Parse(grid[i][5]), Int32.Parse(grid[i][6]));
            row.Icon       = Resources.Load <Sprite>("ItemIcons/" + grid[i][4]); // TODO : Use Stringbuilder 스트링빌더 이용하기
            row.MinYield   = Int32.Parse(grid[i][7]);
            row.MaxYield   = Int32.Parse(grid[i][8]);
            row.YieldAdder = Int32.Parse(grid[i][9]);
            dbList.Add(row);
        }
    }
コード例 #2
0
ファイル: DataFltr.cs プロジェクト: REHYB/SpasticityCoach
    // ==================================== Read from CSV file ====================================
    public (int[], int[], int[], int[], int[], int[], int[], int[], string[]) readEMGCSV(string filename)
    {
        CsvReadWrite csv      = new CsvReadWrite();
        string       filePath = csv.getPath(filename);

        List <string> col_01 = new List <string>();
        List <string> col_02 = new List <string>();
        List <string> col_03 = new List <string>();
        List <string> col_04 = new List <string>();
        List <string> col_05 = new List <string>();
        List <string> col_06 = new List <string>();
        List <string> col_07 = new List <string>();
        List <string> col_08 = new List <string>();
        List <string> col_09 = new List <string>();

        using (var reader = new StreamReader(filePath)) {
            while (!reader.EndOfStream)
            {
                var line   = reader.ReadLine();
                var values = line.Split(',');

                col_01.Add(values[0]);
                col_02.Add(values[1]);
                col_03.Add(values[2]);
                col_04.Add(values[3]);
                col_05.Add(values[4]);
                col_06.Add(values[5]);
                col_07.Add(values[6]);
                col_08.Add(values[7]);
                col_09.Add(values[8]);
            }
        }

        // Convert list to array
        string[] emg_Pod01 = col_01.ToArray();
        string[] emg_Pod02 = col_02.ToArray();
        string[] emg_Pod03 = col_03.ToArray();
        string[] emg_Pod04 = col_04.ToArray();
        string[] emg_Pod05 = col_05.ToArray();
        string[] emg_Pod06 = col_06.ToArray();
        string[] emg_Pod07 = col_07.ToArray();
        string[] emg_Pod08 = col_08.ToArray();
        string[] emg_time  = col_09.ToArray();


        int[] i_emg_Pod01 = arrStr2arrInt(emg_Pod01);
        int[] i_emg_Pod02 = arrStr2arrInt(emg_Pod02);
        int[] i_emg_Pod03 = arrStr2arrInt(emg_Pod03);
        int[] i_emg_Pod04 = arrStr2arrInt(emg_Pod04);
        int[] i_emg_Pod05 = arrStr2arrInt(emg_Pod05);
        int[] i_emg_Pod06 = arrStr2arrInt(emg_Pod06);
        int[] i_emg_Pod07 = arrStr2arrInt(emg_Pod07);
        int[] i_emg_Pod08 = arrStr2arrInt(emg_Pod08);


        return(i_emg_Pod01, i_emg_Pod02, i_emg_Pod03, i_emg_Pod04, i_emg_Pod05, i_emg_Pod06, i_emg_Pod07, i_emg_Pod08, emg_time);
    }
コード例 #3
0
        public JsonResult SensorsLevels(int id)
        {
            var sensorsUpdates = CsvReadWrite.ReadSensorsLevel(@"C:\Users\ASUS\Desktop\WaterLeakDetection\sensorsLevel.txt");

            foreach (var item in sensorsUpdates)
            {
                var sensor = sensorRepository.GetSensorById(item.Id);
                var leakDB = leakRepository.GetLastLeak(sensor);
                sensor.CurrentLevel = item.CurrentLevel;
                var leakState = leakDB != null ? leakDB.IsRepared : true;
                if (sensor.CurrentLevel > 200)
                {
                    sensor.Count += 1;
                }
                if (sensor.CurrentLevel < 200 && leakState)
                {
                    sensor.Count = 0;
                }
                if (sensor.CurrentLevel < 200 && leakState)
                {
                    sensor.Count -= 1;
                }
                System.Diagnostics.Debug.WriteLine(sensor.Count);



                if (sensor.Count == -1 && leakState && leakDB != null)
                {
                    leakDB.IsRepared = true;
                    leakRepository.Update(leakDB);
                    sensor.Count = 0;
                }
                if (sensor.Count == 1)
                {
                    var leak = new Leak {
                        Sensor = sensor, OccurrenceDate = DateTime.Now
                    };
                    leakRepository.Add(leak);
                    sensor.Count = 0;
                    string subjet   = "New Leak";
                    string body     = string.Format("New leak has been occured .\n Sensor : {0}", sensor.Name);
                    string addresse = "*****@*****.**";
                    SendEmail(addresse, subjet, body);
                    System.Diagnostics.Debug.WriteLine("email sent");
                }

                sensorRepository.update(sensor);
            }
            var departement = departementRepository.GetDepartementById(id);
            var sensors     = sensorRepository.GetAllDepartementSensors(departement);
            var json        = JsonConvert.SerializeObject(sensors);

            return(Json(json));
        }
コード例 #4
0
        public async void ChangeState(int id)
        {
            var sensor = sensorRepository.GetSensorById(id);

            sensor.IsOn = !sensor.IsOn;
            sensorRepository.update(sensor);
            var sensors = sensorRepository.GetAllSensors();
            await CsvReadWrite.AsyncWriteSensorsState(@"C:\Users\ASUS\Desktop\WaterLeakDetection\sensorsState.txt", sensors);

            await CsvReadWrite.AsyncWriteSensorsLevel(@"C:\Users\ASUS\Desktop\WaterLeakDetection\sensorsLevel.txt", sensors);
        }
コード例 #5
0
    public List <ItemClass> LoadItems(TextAsset itemFile)
    {
        string[][]       grid     = CsvReadWrite.LoadTextFile(itemFile);
        List <ItemClass> itemList = new List <ItemClass>();

        for (int i = 1; i < grid.Length; i++)
        {
            ItemClass item = new ItemClass();
            ItemClass.SetItemValues(item, Int32.Parse(grid[i][0]), Int32.Parse(grid[i][1]), Int32.Parse(grid[i][2]));
            itemList.Add(item);
        }
        return(itemList);
    }
コード例 #6
0
        static void Main(string[] args)
        {
            OperationsUtlity util = new OperationsUtlity();
            DataTable        data = util.createDataTable();

            Console.WriteLine(data);

            CsvReadWrite csv = new CsvReadWrite();

            csv.WriteTest();
            csv.ReadTest();

            Console.ReadKey();
        }
コード例 #7
0
    public override void AgentReset()
    {
        ResetTransform();
        //PrintDead();
        _shootingCD          = 0;
        bodyIntegrity.health = 15;

        if (states.Count() != 0)
        {
            Debug.Log("write");
            CsvReadWrite writer = new CsvReadWrite();
            writer.Save(states);
            states.Clear();
        }
    }
コード例 #8
0
    public void SaveState()
    {
        state st = new state();

        st.shoot = System.Convert.ToInt32(0);

        states.Add(st);

        if (state.done == true && bSaved == false)
        {
            CsvReadWrite writer = new CsvReadWrite();
            writer.Save(states);
            states.Clear();
            bSaved = true;
        }
    }
コード例 #9
0
 private void LoadDb(TextAsset csvFile)
 {
     string[][] grid = CsvReadWrite.LoadTextFile(csvFile);
     for (int i = 1; i < grid.Length; i++)
     {
         ItemData row = new ItemData();
         row.GlobalID     = Int32.Parse(grid[i][0]);
         row.CategoryID   = Int32.Parse(grid[i][1]);
         row.CategoryName = grid[i][2];
         row.TypeID       = Int32.Parse(grid[i][3]);
         row.TypeName     = grid[i][4];
         TypeNameList.Add(row.TypeName);
         row.Size = new IntVector2(Int32.Parse(grid[i][5]), Int32.Parse(grid[i][6]));
         row.Icon = Resources.Load <Sprite>("ItemIcons/" + grid[i][4]);
         dbList.Add(row);
     }
 }
コード例 #10
0
 // Start is called before the first frame update
 void Start()
 {
     csvWriteCoordinates = new CsvReadWrite("PunctureCoordinates");
 }
コード例 #11
0
ファイル: SaveRoutine.cs プロジェクト: REHYB/SpasticityCoach
    // ---------- Save moving average values to CSV by name ----------
    public void emgCSVsave(string filename)
    {
        // Get raw EMG pod data values
        raw_emg_Pod01 = StoreEMG.storeEMG01;
        raw_emg_Pod02 = StoreEMG.storeEMG02;
        raw_emg_Pod03 = StoreEMG.storeEMG03;
        raw_emg_Pod04 = StoreEMG.storeEMG04;
        raw_emg_Pod05 = StoreEMG.storeEMG05;
        raw_emg_Pod06 = StoreEMG.storeEMG06;
        raw_emg_Pod07 = StoreEMG.storeEMG07;
        raw_emg_Pod08 = StoreEMG.storeEMG08;
        raw_emg_time  = StoreEMG.timestamp;


        // Get processed EMG pod data values
        prc_emg_Pod01 = LineChartController_EMG01.avg_emg_Pod01;
        prc_emg_Pod02 = LineChartController_EMG02.avg_emg_Pod02;
        prc_emg_Pod03 = LineChartController_EMG03.avg_emg_Pod03;
        prc_emg_Pod04 = LineChartController_EMG04_Plotless.avg_emg_Pod04;
        prc_emg_Pod05 = LineChartController_EMG05_Plotless.avg_emg_Pod05;
        prc_emg_Pod06 = LineChartController_EMG06_Plotless.avg_emg_Pod06;
        prc_emg_Pod07 = LineChartController_EMG07_Plotless.avg_emg_Pod07;
        prc_emg_Pod08 = LineChartController_EMG08_Plotless.avg_emg_Pod08;

        /*
         * UnityEngine.Debug.Log("----------------------------------------------");
         * UnityEngine.Debug.Log("Size of Processed EMG 01: " + prc_emg_Pod01.Count);
         * UnityEngine.Debug.Log("Size of Processed EMG 02: " + prc_emg_Pod02.Count);
         * UnityEngine.Debug.Log("Size of Processed EMG 03: " + prc_emg_Pod03.Count);
         * UnityEngine.Debug.Log("Size of Processed EMG 04: " + prc_emg_Pod04.Count);
         * UnityEngine.Debug.Log("Size of Processed EMG 05: " + prc_emg_Pod05.Count);
         * UnityEngine.Debug.Log("Size of Processed EMG 06: " + prc_emg_Pod06.Count);
         * UnityEngine.Debug.Log("Size of Processed EMG 07: " + prc_emg_Pod07.Count);
         * UnityEngine.Debug.Log("Size of Processed EMG 08: " + prc_emg_Pod08.Count);
         */
        // The sizes of EMG 01 and 06 are +1 element bigger than the others
        // This is fixed by trimming them in the savePrcCSV function


        // ------------------------- Raw EMG -------------------------
        // Write raw EMG into a CSV file
        CsvReadWrite csv = new CsvReadWrite();

        csv.saveRawCSV(filename, raw_emg_Pod01, raw_emg_Pod02, raw_emg_Pod03, raw_emg_Pod04, raw_emg_Pod05, raw_emg_Pod06, raw_emg_Pod07, raw_emg_Pod08, raw_emg_time);
        UnityEngine.Debug.Log("Raw EMG CSV created!");

        /*
         * // ------------------------- Processed EMG -------------------------
         * // Read timestamps for processed EMG
         * DataFltr csvFltr = new DataFltr();
         * var values = csvFltr.readEMGCSV("EMG_data.csv");
         * int len = prc_emg_Pod01.Count;
         * UnityEngine.Debug.Log("Processed EMG CSV creating... (1/3)");
         *
         * // Convert string back to timestamp for CSV.
         * // Avoids the output in a CSV being System.string[] instead of the actual timestamp
         * DateTime[] prc_emg_time = new DateTime[len];
         * string[] emg_time = values.Item9;
         *
         * int counter = 0;
         * for (int i = 1; i < len + 1; i++)
         * {
         *  prc_emg_time[counter] = DateTime.ParseExact(emg_time[i], "yyyy-MM-dd H:mm:ss.fff", null);
         *  counter = counter + 1;
         * }
         * UnityEngine.Debug.Log("Processed EMG CSV creating... (2/3)");
         *
         * // Write processed EMG into a CSV file
         * csv.savePrcCSV("EMG_processed.csv", prc_emg_Pod01, prc_emg_Pod02, prc_emg_Pod03, prc_emg_Pod04, prc_emg_Pod05, prc_emg_Pod06, prc_emg_Pod07, prc_emg_Pod08, prc_emg_time);
         * UnityEngine.Debug.Log("Processed EMG CSV creating... (3/3)");
         */
    }