NXT Toolkit problemy: Cegła <=I2C=> czujnik temp.

Wszelkie sprawy związane z LabVIEW i komunikacją ze sprzętem. Problemy i ciekawe rozwiązania.
finni
Posty: 2
Rejestracja: 13 paź 2009 10:31
Wersja środowiska: LabVIEW 7.1

NXT Toolkit problemy: Cegła <=I2C=> czujnik temp.

Post autor: finni »

Witam, (na wstępnie zaznaczam iż użyłem opcji szukaj i googla)

Mam układ zmontowany przez siebie, jest to czujnik temperatury gdzie komunikacja z NXTBrick odbywa się przez I2C.
Algorytm działania w skrócie:
1. Inicjowanie portu - przebiega OK
2. Konfiguracja czujnika - przebiega OK (tak domniemam)
3. Odczyt wartości temperatury (tutaj jest error)


KOD w załacznikach. Plik main_module to główny plik programu, najpierw jest inicjacja portu (podobnie jak w ultrasonic sensor), potem jest konfiguracja czujnika (ustawienie dokładności pomiaru, dobranie czasu pomiędzy pomiarami), następnie jeśli wszystko OK to przystępujemy do odczytu temperatury w pętli while. I w tym ostatnim kroku jest error...(plik read_tmp.jpg)

Jeśli w funkcjach NXTCommLSWrite i NXTCommLSRead dam BuferLength = 0 wtedy niby jest OK bo funkcje zwracają wartość 0. Jednak muszę tam pobrać tą temp (wiec ustawiam BufferLength = 2, bo 2 bajty musze odczytać). W takim przypadku pierwsza funkcja zwraca 0 lecz w pętli oczekiwania (LSCheckStatus) zwrcane jest -35 co wg. dokumentacji oznacza: Last transaction failed (possible device failiture). I teraz nie wiem gdzie tkwi problem (w sprzęcie raczej nie bo lejos daje rade) wiec obstaje ze to programowa sprawa.

Wg. przykładów (ze strony mindsensors.com oraz wg dokumentacji LEGO) robię wszystko ok. Dodam tylko że czujnik jest poprawnie skonstruowany i programując wszystko za pomocą javy (LEJOS) wszystko śmiga jak należy.

Jestem w LabView nowy więc jeśli jakieś głupoty robię w kodzie to dajcie znać od razu.
-------------------------------------------
LabView 7.1 z NXTToolkit, W NXTBrick firmware w wersji 1.26, czujnik temp to TMP100 Texas Instruments.
Załączniki
Czytanie temperatury
Czytanie temperatury
Konfiguracja
Konfiguracja
main_module.jpg - plik glowny,
main_module.jpg - plik glowny,
finni
Posty: 2
Rejestracja: 13 paź 2009 10:31
Wersja środowiska: LabVIEW 7.1

Re: NXT Toolkit problemy: Cegła <=I2C=> czujnik temp.

Post autor: finni »

Problem rozwiązany. Źle był adres wpisywany (trzeba uwzględnić bit [R/!W]). A wiec adres trzeba mnożyć x2 i wtedy wpisywać do rejestru.
Pozdrawiam
ODPOWIEDZ