PC-64, driver ja startup
#11
(24-11-2011, 09:46 PM)felch Kirjutas: Kuidas USB porti detectitakse ?
Ehk on abiks.

Kena lugu aga miks on netis tuhanded lingid Windows 7 ja USB probleemidele?

Mul peab see komplekt minema käima korra päevas või nädalas.
Aga ta PEAB minema.
Vasta
#12
(24-11-2011, 10:08 PM)A.R. Kirjutas: Kena lugu aga miks on netis tuhanded lingid Windows 7 ja USB probleemidele?
Ju siis on probleeme W7 64-bitises versioonis. Mul endal on 32-bitine, seega ei saa olukorda korrata. USBi seadmed tulevad ja lähevad kenasti.
Kas sinu seade on pidevalt küljes või siis kui paned? Ja siis kord ühendub ja kord mitte?
Relee on muidugi nutikas aga sama asja saaks teha ka prose USB-pordi uuesti initsialiseerimisega. Kui sidet ei saada, ootab mõne aja ja siis lõlitab USB välja ning pordi otsad sisenditeks. See on sama hea kui kivi lahti ühendamine. Siis peale mõningast ootamist proovida uuesti USBi initsialiseerida. PC peaks seda nägema kui USB seadme ühendamist. Sisuliselt sama mida releega teeks.
Prose koodis võib kasutada vahikoera, kui kahtlustad et kood mingil hetkel kokku jookseb.

Vasta
#13
(26-11-2011, 02:06 PM)felch Kirjutas:
(24-11-2011, 10:08 PM)A.R. Kirjutas: Kena lugu aga miks on netis tuhanded lingid Windows 7 ja USB probleemidele?
Ju siis on probleeme W7 64-bitises versioonis. Mul endal on 32-bitine, seega ei saa olukorda korrata. USBi seadmed tulevad ja lähevad kenasti.
Kas sinu seade on pidevalt küljes või siis kui paned? Ja siis kord ühendub ja kord mitte?
Relee on muidugi nutikas aga sama asja saaks teha ka prose USB-pordi uuesti initsialiseerimisega. Kui sidet ei saada, ootab mõne aja ja siis lõlitab USB välja ning pordi otsad sisenditeks. See on sama hea kui kivi lahti ühendamine. Siis peale mõningast ootamist proovida uuesti USBi initsialiseerida. PC peaks seda nägema kui USB seadme ühendamist. Sisuliselt sama mida releega teeks.
Prose koodis võib kasutada vahikoera, kui kahtlustad et kood mingil hetkel kokku jookseb.
Usun et nii oleks hea.
See peaks olema selline arvuti mis pannakse hommikul käima ja õhtul välja.
Või siis jääbki käima. Aga lülitab seda server või juhuslik inimene.
Mitte IT persoon.

Startup paneb PC programmi käima ja see ajab siis PICiga juttu.
PIC USB kaabel võiks kogu aeg küljes olla.
On aga nii et kui PC käib, ühendan kaabli ja stardin käsitsi programmi käik töötab.
Startup aga mõni kord käivitub aga tavaliselt mitte.
Kui programmist välju, Kaabel välja-sisse ja käsistart siis töötab.
Relee on laual aga pole veel tina pannud Smile

Hetkel olen PIC programmi kallal.
Seal on C programm, Jan Andersoni demo.
http://www.lvr.com/hidpage.htm

Ja palju minu lõike sees teevad tegelikku tööd.
__________________________________
if(A=='R'){
USBModuleDisable(); // vajalik_lisa.h, rida 1333
Oota(2000); // 6 sek
// 10000 on ca 29,7 sek
// 1 on 3 mSek.
// 333 on 1 sek
// 1000 on 3 sek
Veel_R:
// USBModuleEnable(); // vajalik_lisa.h, rida ca 1333
// Kui on Enable, siis "not regognize"
InitializeSystem();
// Kui ainult InitializeSystem(); siis tuleb uuesti COM2 aga edasi ei tööta.

/*
USBTasks(); // USB Tasks
if((usb_device_state < CONFIGURED_STATE)||(UCONbits.SUSPND==1))
goto Veel_R;
*/
/*
if(mUSBUSARTIsTxTrfReady()){
sprintf(output_buffer, (const far rom char*)
"X Reset");
mUSBUSARTTxRam((byte*)output_buffer,strlen(output_buffer));
}
*/
return;
}
_________________________
See on nüüd täpselt viimane, silumisi täis lõik,
mis võiks teha Reset.
Käivitan, vajutan 'R', DeviceManagerist kaob ComPort.
6 sek ja ilmub tagasi. Aga rohkem midagi vastu ei võta.

Katsetan edasi.
Kirjutades tuli üks idee.
Vasta
#14
Käivita PC 6 korda järjest. Edukalt. Ja siis lülitan välja.
Siis ta ei ava käivitamisel COM faili.
3 korda masin sisse- välja. Ei midagi.
Tõmban Com kaabli välja ja siis sisse.
Ta kurat käivitub normaalselt.

Eelviimas hea korra ees oli pikem (3 min) vahe.

See pole korralik digital arvuti.
Mis ta tahab?
Kas tõesti releed?
Vasta
#15
See pole küll eriti elegantne lahendus aga kui kirjutaks PC programmi juhendi:
- tõmba USB-vidina kaabel küljest
+ ootab, kui detektib pordi kadumise siis
- ühenda vidin nüüd tagasi
+ ootab ja kui detektib pordi tekke, hakkab tööle.

W7-t nagunii ise parandama ei hakka...

PS. Äkki on asi selles et detektitakse vale kiirusega port ? Õiget peaks saama saama peale surruda.
Vasta
#16
(27-11-2011, 11:46 AM)felch Kirjutas: See pole küll eriti elegantne lahendus aga kui kirjutaks PC programmi juhendi:
- tõmba USB-vidina kaabel küljest
+ ootab, kui detektib pordi kadumise siis
- ühenda vidin nüüd tagasi
+ ootab ja kui detektib pordi tekke, hakkab tööle.
Juhendis on juba kirjas kes probleeme lahendab.
Kui ei käivitu, siis helistatakse teatud numbrile.
Üks mees istub Tartus autosse,
3 tundi hiljem vajutab ekraanil nuppu Cancel,
tõmbab välja USB kaabli paremalt-ülemisest pesast.
Paneb kohe tagasi ja vajutab **** ikoonile.
Ja sõidab tagasi.
Nii ca korra kuus. Sad

Kui käiks 24x7, poleks probleemi.
Monitor lülitub välja, klaviatuuri pole vaja, hiirt ka.
Ainult PIC ja kass.
Tsitaat:W7-t nagunii ise parandama ei hakka...
Siin keegi tahtis hakata XP USB>>LPT porti togima et
saaks sealt baite otse läbi saata. Vast saab siis ka W7 tööle.
Kui driver juba lahti lõhutud.
(Mul peeglis vilksatas üks selline sell.)
Tsitaat:PS. Äkki on asi selles et detektitakse vale kiirusega port ?
Õiget peaks saama peale suruda.
Seda kiiruse asja ma kontrollin. Olgugi et on jäänud selline tunne et
kohe lülitades töötab alati.
Kui välja-sisse vahel on pikem vahe, on tõrkeid nagu rohkem.
NAGU, piisavalt tüütu kontrollida.

Aga kontrollime.
Vasta
#17
12 korda töötas kenasti.
13. kord andis vea.
14. jälle korras.

Nagu anektoot.
Vasta
#18
Oot, mis siis ikkagi juhtub või ei juhtu?
Proge on startup'is, kaabel vahest küljes, vahest mitte
Masina käivitamisel on kaabel küljes või torgatakse hiljem? Viimasel juhul su proge ei saagi käivituda, onju?
Oletame, et on pidevalt küljes.
Startupist tõmmatakse miskit käima ja mis siis veaolukorras öeldakse? Et ei leita draiverit (äkki viga katalooma otsimisel?) ? Või midagi muud?
Su katsetest pordi resetiga tekkis mulje, et port küll tekib aga ajuti ei anna teda mööda sidet võtta. Kas oled saanud debugida, kumba poole süül see nii on?

PS. Võtame nt. FT232 kiviga USB2UART kivi ja proovime sama asja. Kas ka siis tekib jamasid? Sel juhul on ikka Win ise p..s ja tuleb mingi eriti tumegantne häkk välja mõelda sest operaatorit koolitada pole vist võimalik Smile
Vasta
#19
(27-11-2011, 08:51 PM)felch Kirjutas: Oot, mis siis ikkagi juhtub või ei juhtu?
Proge on startup'is, kaabel vahest küljes, vahest mitte
Kaabel on küljes, kaabli teises otsas on PIC18F4550.
Arvuti on kas laptop ja WindowsXP kus LCC-32 all Kirjutan PC programmi.
Seal on eraldi moodul mis pöördub COM pordi poole. C tekst, lingitakse juurde. 256 porti kui vaja.
Kasutan jubakuskil 10-15 aastat.(Tahad?)

Teises otsas on siis PIC ja seal MPLAB IDE v8.36 all transleeritud C programm.

Siis käivitan Windows 7 64 all.
PC on väljas, PIC saab toite USB kaablist. PIC-i taga on optronid ja siis mootord, LEDid jne.
PC on leidnud PIC USB driveri, tunnistanud selle õigeks.
Kiirused mõlemalpool 115200. 8, N, 1

Algses PC väljas, monitor sees. USB kaabel küljes. Starup kataloogis on viit roboti programmile.
Lülitan sisse toite. Arvuti käivitub ja lõpuks käivitub programm.
Programmi alguses on lõik kus avatakse COM port.
Kui port avaneb, läheb järg edasi ja robot rakendub.
Kui port 2 ei avane, proovitakse veelkahte COM numbrit.
Com number sõltub sellest millist pesa kasutada.
Kui ükski kolmest pordist ei avane ilmub veateade.
OK vastus teeb veelproovi avada, CANCEL katkestab programmi.

Kui saan vea siis korduv OK ei aita. Kui tõmban välja ja panen kohe
tagasi kaabli siis OK käivitab programmi.
Piisab ka USB kaabli punase (+5V) soone korraks katkestamisest.

Võin ka väljuda, kaabliga S-V teha ja programmi uuesti startida. Rakendub ok.

Veider oli et päeval 15 korra peale oli üks tõrge (13.)
Katsetasin õhtul, praktiliselt iga katse oli tõrge ja iga kord aitas + soone katkestus.
Võrgu pinge oli 223 V. Vast homme käib ja siis mõõdan uuesti pinget.

Kui nüüd panna PC-sse veel üks USB-COM kaabel ja
vea puhul üle DTR või RTS teha korraks katkestus
siis peaks kõik ilus olema. Saaks ka PIC juurest katkestada aga seal on
hetkel tehniliselt natuke raskem. PIC on sügaval metallkarpides.

Ma ei TAHA sinna mingit manuaalse operaatori vajadust.
See on VIST ikka arvuti ja mitte vändaga Felix.

Võtame nt. FT232 kiviga USB2UART kivi ja proovime sama asja.
Ealon hiir ja CAT, mõlemad ok. Homme proovin USB-> COM kaablit.
Vasta
#20
Jääb kangesti selline mulje, et just PICi kood takerdub kuhugi. Kas seda saad debugida?
Vasta


Alamfoorumi hüpe:


Kasutaja, kes vaatavad seda teemat: 1 külali(st)ne