Struktura aplikacji do kalibracji kanałów analogowych
: 27 lis 2012 12:15
Mam pytanie odnośnie wyboru struktury aplikacji służącej do kalibracji kanałów analogowych.
Chodzi o to aby program wczytał informacje o sprzęcie zainstalowanym na danej platformie, umożliwiał wybór karty pomiarowej na której będzie dokonywana kalibracja i następnie uruchamiał pomiar. Dane mają być wyświetlane na ekranie (np co 1 sekundę, najłatwiej chyba w tabeli), razem z współczynnikami wzmocnienia i zerowania dla każdego z kanałów. Przycisk zapisu ma umożliwiać zapisanie współczynników do pliku. Przycisk "zeruj" ustawia współczynniki zerowania kiedy czujniki mierzą wartość 0. przycisk "ustaw wzmocnienie" oblicza wzmocnienie dla kanałów kiedy czujniki mierzą określoną znaną wartość. Zastanawiałem się nad maszyną stanów z eventami lub producent/konsument z eventami. Niestety nie bardzo wiem jak do tego podejść żeby wszystko działało. W maszynie stanów przechodzę w stan "pomiar" i program nie reaguje na GUI (przez osobny stan w którym program czeka na reakcję użytkownika). W producent/konsument górna pętla odpowiada za GUI, dolna odpowiada za pomiar i zapis współczynników do pliku ale uruchamia się tylko raz jak dostanie coś do kolejki w pętli górnej.
Chodzi o to aby program wczytał informacje o sprzęcie zainstalowanym na danej platformie, umożliwiał wybór karty pomiarowej na której będzie dokonywana kalibracja i następnie uruchamiał pomiar. Dane mają być wyświetlane na ekranie (np co 1 sekundę, najłatwiej chyba w tabeli), razem z współczynnikami wzmocnienia i zerowania dla każdego z kanałów. Przycisk zapisu ma umożliwiać zapisanie współczynników do pliku. Przycisk "zeruj" ustawia współczynniki zerowania kiedy czujniki mierzą wartość 0. przycisk "ustaw wzmocnienie" oblicza wzmocnienie dla kanałów kiedy czujniki mierzą określoną znaną wartość. Zastanawiałem się nad maszyną stanów z eventami lub producent/konsument z eventami. Niestety nie bardzo wiem jak do tego podejść żeby wszystko działało. W maszynie stanów przechodzę w stan "pomiar" i program nie reaguje na GUI (przez osobny stan w którym program czeka na reakcję użytkownika). W producent/konsument górna pętla odpowiada za GUI, dolna odpowiada za pomiar i zapis współczynników do pliku ale uruchamia się tylko raz jak dostanie coś do kolejki w pętli górnej.