Пример #1
0
 /* Версия функции, предназначенная в первую очередь для LabView, так как LabView медленно работает
  * со структурами C#, то сделан вариант, где все поля доп. информации передаются отдельным массивом */
 public _LTRNative.LTRERROR ProcessData(uint[] src, double[] dest, ref int size, ProcFlags flags,
                                        out FRAME_STATUS frame_status,
                                        byte[] digBits, byte[] ch, AdcRanges[] range)
 {
     uint[] info             = new uint[size];
     _LTRNative.LTRERROR err = LTR210_ProcessData(ref hnd, src, dest, ref size, flags, out frame_status, info);
     if (err == _LTRNative.LTRERROR.OK)
     {
         for (int i = 0; i < size; i++)
         {
             DATA_INFO cur_info = new DATA_INFO(info[i]);
             if (digBits.Length > i)
             {
                 digBits[i] = (byte)(cur_info.DigBitState & 1);
             }
             if (ch.Length > i)
             {
                 ch[i] = cur_info.Ch;
             }
             if (range.Length > i)
             {
                 range[i] = cur_info.Range;
             }
         }
     }
     return(err);
 }
Пример #2
0
        public static void InsertRow(SQLiteConnection connection, DATA_INFO db)
        {
            string _HandleP        = string.Join(",", db.HandleP);
            string _SaddleP        = string.Join(",", db.SaddleP);
            string _PedalLeftP     = string.Join(",", db.PedalLeftP);
            string _PedalLeftAcc   = string.Join(",", db.PedalLeftAcc);
            string _PeadlLeftGyro  = string.Join(",", db.PeadlLeftGyro);
            string _PeadlRightP    = string.Join(",", db.PeadlRightP);
            string _PedalRightAcc  = string.Join(",", db.PedalRightAcc);
            string _PeadlRightGyro = string.Join(",", db.PeadlRightGyro);
            string _CrankAcc       = string.Join(",", db.CrankAcc);
            string _CrankGyro      = string.Join(",", db.CrankGyro);

            string sql = string.Format("INSERT INTO [itec] (" +
                                       "[ID], [EventType], [EventTime], [Cadence], [Power], [Resistance], " +
                                       "[HandleP], [SaddleP], [PedalLeftP], [PedalLeftAcc], [PeadlLeftGyro], " +
                                       "[PeadlRightP], [PedalRightAcc], [PeadlRightGyro], [CrankAcc], " +
                                       "[CrankGyro]) " +
                                       "VALUES (" +
                                       "'{0}','{1}','{2}',{3},{4},{5}," +
                                       "'{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}'," +
                                       "'{14}','{15}')",
                                       db.ID, db.EventType, db.EventTime, db.Cadence, db.Power, db.Resistance,
                                       _HandleP, _SaddleP, _PedalLeftP, _PedalLeftAcc, _PeadlLeftGyro,
                                       _PeadlRightP, _PedalRightAcc, _PeadlRightGyro,
                                       _CrankAcc, _CrankGyro
                                       );


            using (ISQLiteStatement sqliteStatement = connection.Prepare(sql))
            {
                sqliteStatement.Step();
            }
        }
Пример #3
0
 public _LTRNative.LTRERROR ProcessData(uint[] src, double[] dest, ref int size, ProcFlags flags,
                                        out FRAME_STATUS frame_status,
                                        DATA_INFO[] data_info)
 {
     /* напрямую нельзя передать массив структур. нужно либо через спец. методы маршалинга, либо через
      * эквивалентный массив 32-битных слов, как сделано тут */
     uint[] info             = new uint[size];
     _LTRNative.LTRERROR err = LTR210_ProcessData(ref hnd, src, dest, ref size, flags, out frame_status, info);
     if (err == _LTRNative.LTRERROR.OK)
     {
         for (int i = 0; i < size; i++)
         {
             if (data_info.Length > i)
             {
                 data_info[i] = new DATA_INFO(info[i]);
             }
         }
     }
     return(err);
 }