Prośba do elektroników - programistów (C++)
Masz problem? Zapytaj na forum elektroda.pl
From: "M.S." <nicramus_at_nospam_gazeta.pl>
Subject: Prośba do elektroników - programistów (C++)
Date: Wed, 24 Aug 2005 13:11:16 +0200
Witam
Wiem, że wśród aktywistów grupy jest wielu znakomitych programistów.
Dlatego zwracam się z ogromną prośbą.
Zbudowałem urządzenie (oczywiście na dyplom) - najogólniej mówiąc
przetwornik A/C, dwa kanały 8-bitowe.
Ma ono komunikować się z PC poprzez USB 2.0. Interfejs realizowany za pomocą
mikrokontrolera CY7C68013-56PVC (CYPRESS FX2). Urządzenie jest już gotowe i
nawet działa co należy uznać za niebywały sukces zważywszy na błędy, które
popełniłem w projekcie (o części z nich pisałem na grupe).
Żeby urządzenie było kompletne wymaga oprogramowania komunikującego się z
nim. Ta część pracy nie należy już do mnie, tym bardziej, że ze mnie
programista marny.
Nie mniej muszę jakoś zbadać przydatność urządzenia do użytku. Wymyśliłem,
że użyję oprogramowania od CYPRESS-a. Nazywa się toto EZ-USB Control Panel i
jest bardzo przydatne, gdyby nie jedno ograniczenie.
Nie pozwala na jednorazowe odebranie więcej niż 65536 bajtów danych w trybie
"Bulk".
Na rysunku http://home.twojekonto.pl/nicramus/CtrlPanel.JPG zaznaczyłem
numerem 1 miejsce gdzie należy wpisać liczbę bajtów, które chcę odebrać
(jeśli wybrany w polu nr 3 endpoint typu "IN" - kierunek od urządzenia).
Transfer danych wyzwala się przyciskiem oznaczonym nr 2 lub przyciskiem nr
4 - wtedy jednocześnie dane są zapisywane do pliku (po wpisaniu nazwy pliku
w pojawiającym się oknie dialogowym).
Mi zależy na tym aby wartość w polu nr 1 mogła być rzędu 10 000 000. Przy
zapisie do pliku można by sobie darować wyświetlanie danych.
Zamieszczam link do źródeł programu
http://home.twojekonto.pl/nicramus/EzMr.zip
Niesety: "Cypress Semiconductor will not provide technical support for this
example code."
I jeszcze informacja: "Version 6.0 of Microsoft Developer Studio was used to
build and maintain
the Control Panel."
Jeśli by ktoś znalazł chwilkę czasu i mógł zerknąć czy taka modyfikacja
wogóle jest możliwa to byłbym niewymownie wdzięczny i zobowiązany.
Ewentualnie w jaki inny sposób można przeprowadzać akwizycję danych z tego
urządzenia?
Pozdrawiam
Marcin
From: "Mister" <wojpie_at_nospam_wywal_to.poczta.onet.pl>
Subject: Re: Prośba do elektroników - programistów (C++)
Date: Wed, 24 Aug 2005 14:52:17 +0200
Nie mniej muszę jakoś zbadać przydatność urządzenia do użytku. Wymyśliłem,
że użyję oprogramowania od CYPRESS-a. Nazywa się toto EZ-USB Control Panel
i
jest bardzo przydatne, gdyby nie jedno ograniczenie.
Nie pozwala na jednorazowe odebranie więcej niż 65536 bajtów danych w
trybie
Mówisz że Ci transmisja USB działa? to co za problem odczytywać co 64KB?
Mister
From: "M.S." <nicramus_at_nospam_gazeta.pl>
Subject: Re: Prośba do elektroników - programistów (C++)
Date: Wed, 24 Aug 2005 20:14:36 +0200
Użytkownik "Mister" <wojpie_at_nospam_wywal_to.poczta.onet.pl> napisał w wiadomości
news:dehqh9$n3n$1_at_nospam_news.dialog.net.pl...
....
Mówisz że Ci transmisja USB działa? to co za problem odczytywać co 64KB?
Transmisja działa. Sprawdziłem to właśnie odbierając jednorazowo max 64kB.
Ale tu nie chodzi o to czy działa ale o parametry urządzenia (głównie o
nieliniowość różniczkową) a tu potrzeba dużej ilości danych. Wiadomo, że
błąd względny maleje wraz ze wzrostem liczby pomiarów. Oczywiście przy
odrobinie cierpliwości i samozaparcia mogę zainicjować sto kilkadziesiąt
pomiarów po 64kB, tylko że nie będzie to odpowiadać rzeczywistym warunkom
pracy urządzenia, które normalnie będzie musiało zbierać w jednym cyklu po
kilka milionów danych.
Dzięki za zainteresowanie i proszę o więcej :)
Pozdrawiam
Marcin
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: =?ISO-8859-2?Q?Pro=B6ba_do_elektronik=F3w_-_programi?=
Date: Sun, 28 Aug 2005 22:47:21 +0200
M.S. wrote:
Nie mniej muszę jakoś zbadać przydatność urządzenia do użytku. Wymyśliłem,
że użyję oprogramowania od CYPRESS-a. Nazywa się toto EZ-USB Control Panel i
jest bardzo przydatne, gdyby nie jedno ograniczenie.
Nie pozwala na jednorazowe odebranie więcej niż 65536 bajtów danych w trybie
"Bulk".
[...]
Mi zależy na tym aby wartość w polu nr 1 mogła być rzędu 10 000 000. Przy
zapisie do pliku można by sobie darować wyświetlanie danych.
Zamieszczam link do źródeł programu
http://home.twojekonto.pl/nicramus/EzMr.zip
Spróbuj stałą MAX_FILE_SIZE w pliku EzMr.h zwiększyć do żądanej
wartości. Nie mam jak tego sprawdzić, napisz czy zadziałało.
--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/
Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.
From: "M.S." <nicramus_at_nospam_gazeta.pl>
Subject: Re: Prośba do elektroników - programistów (C++)
Date: Mon, 29 Aug 2005 11:24:13 +0200
Użytkownik "Adam Dybkowski" <adybkows123_at_nospam_amwaw.edu.pl> napisał w wiadomości
news:det7sd$kco$1_at_nospam_nemesis.news.tpi.pl...
[...]
Spróbuj stałą MAX_FILE_SIZE w pliku EzMr.h zwiększyć do żądanej wartości.
Nie mam jak tego sprawdzić, napisz czy zadziałało.
Od tego zaczynalem swoje proby. Niestety nie zadzialalo. Kompilacja jest bez
bledow, ale program sie wywala jesli wpisze liczbe wieksza niz 65536 z
nastepujacym komunikatem (WinXp):
"Instrukcja spod "0x0040d5c0" odwołuje się do pamięci pod adresem
"0xdddddfb9". Pamięć nie może być "read"."
Dzieki za zainteresowanie
Pozdrawiam
Marcin
From: Adam Dybkowski <adybkows123_at_nospam_amwaw.edu.pl>
Subject: Re: =?ISO-8859-2?Q?Pro=B6ba_do_elektronik=F3w_-_programi?=
Date: Mon, 29 Aug 2005 22:14:03 +0200
M.S. wrote:
Spróbuj stałą MAX_FILE_SIZE w pliku EzMr.h zwiększyć do żądanej wartości.
Nie mam jak tego sprawdzić, napisz czy zadziałało.
Od tego zaczynalem swoje proby. Niestety nie zadzialalo. Kompilacja jest bez
bledow, ale program sie wywala jesli wpisze liczbe wieksza niz 65536 z
nastepujacym komunikatem (WinXp):
"Instrukcja spod "0x0040d5c0" odwołuje się do pamięci pod adresem
"0xdddddfb9". Pamięć nie może być "read"."
Ten adres 0xdddd... wygląda jakoś podejrzanie. Uruchom w trybie
debugowania i zobacz, w jakim module występuje 0x0040d5c0. Zobacz poza
tym ścieżkę wywołań funkcji (call stack). Ale na uczenie Visual C++ to
już raczej NTG.
--
Adam Dybkowski
http://www.amwaw.edu.pl/~adybkows/
Uwaga: przed wysłaniem do mnie maila usuń "123" z adresu.