2016-02-27 5 views
0

Я пытаюсь создать приложение, которое может отображать линейные графы с частотой дискретизации 15 кГц и сталкиваться с двумя основными проблемами: Я не могу настроить частоту дискретизации в пределах ниже 1 мс (Я использую thread.sleep (1), чтобы установить продолжительность времени между каждым значением. Также график показывает слишком мало на экране в любой момент времени. Я установил xAxis.setSpaceBetweenLabels в 1, и все равно получаю около 6 записей в любой момент времени. Возможно ли получить более высокую частоту дискретизации (порядка наносекунд) и получить диаграмму для отображения гораздо большего числа записей на экране?Приложение осциллографа с использованием mpandroidchart

В настоящее время приложение отображает случайные значения как Это фрагмент кода:

@Override 
protected void onResume() { 
    super.onResume(); 

    //real time addition 

    new Thread(new Runnable() { 
     @Override 
     public void run() { 
      //adding 100 entries 
      for (int i = 0;i<3000; i++) { 
       runOnUiThread(new Runnable() { 
        @Override 
        public void run() { 
         addEntry(); 
        } 
       }); 

       //pausing between each addition 
       //pausing between each addition 
       try{ 
        Thread.sleep(600); 
       } catch (InterruptedException e) { 

        // to manage error.... 
       } 


      } 
     } 
    }).start(); 
} 

РЕДАКТИРОВАТЬ: показать, как показать больше записей на экране (setVisibleXRange), но все еще есть проблема увеличения частоты выборки.

ответ

0

Чтобы увеличить частоту дискретизации, просто используйте TimeUnit.NANOSECONDS.sleep вместо Thread.sleep. Также не забудьте импортировать библиотеку TimeUnit (alt enter does not work);)

Спасибо за помощь.

Смежные вопросы