Stránka 3 z 4

Napsal: 3. 2. 2009, 5:00
od PavelZ
Krutor: Jak myslíš, dřív nebo později na to přijdeš :)

Jinak nejlepší výsledky dává tato konstrukce časovače:
#define TARGET_RESOLUTION 5
TIMECAPS tc;
UINT wTimerRes;
if(timeGetDevCaps(&tc,sizeof(TIMECAPS))!=TIMERR_NOERROR) return FALSE;
wTimerRes=min(max tc.wPeriodMin,TARGET_RESOLUTION),tc.wPeriodMax);
timeBeginPeriod(wTimerRes);
// spuštění vlákna časovače LPT
Pulse_Event=CreateEvent(NULL,TRUE,FALSE,NULL);
Exit_Event=CreateEvent(NULL,TRUE,FALSE,NULL);
SM_Thread=::CreateThread(NULL,0,LPT_ThreadProc,LPVOID(this),0,&SM_ThreadID);
if(SM_Thread==NULL) return FALSE;

a ve vláknu při jeho inicializaci nastavit

HANDLE Proc=GetCurrentProcess();
DWORD OldPC=GetPriorityClass(Proc);
SetPriorityClass(Proc,HIGH_PRIORITY_CLASS);
int OldTP=::GetThreadPriority(SM_Thread);
SetThreadPriority(SM_Thread,THREAD_PRIORITY_HIGHEST); //THREAD_PRIORITY_TIME_CRITICAL);

avlastní spuštění časovače pak funkcí

TimerID=timeSetEvent(msPeriod,0,(LPTIMECALLBACK)Pulse_Event,0,TIME_PERIODIC|TIME_CALLBACK_EVENT_PULSE);
At se daří ... tímto jsem dosáhl 1 ms tedy 1kHz :lol:

Napsal: 3. 2. 2009, 5:39
od robokop
to uz ale existuje hotove viz treba g-rex

rychlost

Napsal: 3. 2. 2009, 5:53
od lubos
Taky jsem si psal vlatní program ale díky takřka nemožnosti získat přesnou časovou základnu jsem zvolil jinou metodu. Jinak ve win se dá dosta na 10Khz ( pentium 200) což myslím bohatě stačí. Co se týká ramp, já to řeším tak že rampa je závislá na na úhlu po sobě dvou jdoucích úseků, čím ostřejší úhel jím se stroj do rohu více zpomalí. U některých softů jsem se setkal s tím že na dvou rovných přímkách dochází ke zpomalení absolutně zbytečně. Při určitém nastavení pak dochází hlavně u krátých úseků k neustálému poskakování. Myslímže cesta vlastního softu navazuje na cestu vlastní frézky. Minimálně se člověk naučí něco nového a zkušenost je k nezaplacení. Nenech se odradit, já taky pracuju na programu a nejsem programátor ( učím se za pochodu a občas to dost bolí). V zásadě je to středoškolská matematika.
Pokud se tedy chceš dostat na rozumnou rychlost a nechceš psát vlastní knihovu použij. Ted koukám že to umí už i usb
http://www.b-kainka.de/msrwin.htm

Re: rychlost

Napsal: 3. 2. 2009, 5:59
od PavelZ
lubos píše: ...díky takřka nemožnosti získat přesnou časovou základnu jsem zvolil jinou metodu. Jinak ve win se dá dosta na 10Khz ( pentium 200) což myslím bohatě stačí.
Mohu se zeptat ze zvědavosti, jakou jsi použil metodu? Pokud to není teda tajné know-how :D

metoda

Napsal: 3. 2. 2009, 6:32
od lubos
Tajemství to není použil jsem interpolační kartu od www.soprolec.com
je super, a navíc jí lze obsluhovat přes hyperterminál. Chtěl jsem si napsat vlastní picku ale nemůžu dělat vše a interpcnc chodí dobře a je tam vše co potřubuju. Zatím ve svém programu řeším uživatelské rozhraní pro 2D 3D, což znamenalo předělat 95% hotového kodu, a to nemluvím o tom že při pádu programu jsem přišel o 2 roky práce když se smazal největší soubor se zdrojákem. A to nemluvím ani o tom že jsem zvolil špatný programovací jazyk ale na změnu je už pozdě je toho příliš hotové.

Napsal: 3. 2. 2009, 7:13
od PavelZ
Koukám, že to nikdo nemá jednoduchý. Mám také pár trochu méně smutných podobných příhod.

když se daří

Napsal: 3. 2. 2009, 7:26
od lubos
jo jo když se daří tak se daří, ale taková je cesta když si člověk musí každou byt slepou uličku projít sám, ale pak si všeho váží víc.

Napsal: 3. 2. 2009, 8:49
od robokop
vsechno spatny je pro neco dobry
tady je to mysllim evidentni

Napsal: 4. 2. 2009, 6:59
od k
Krutor píše: To K: S Linuxem nechci mít nic spoleèného :-P
Tak skuste bootnut len to EMC ;) po nejakom dobrom poldecaku alebo paru pivach sa ten linux pod tym strati :)

Napsal: 4. 2. 2009, 4:35
od Josef
Krutor píše: To K: S Linuxem nechci mít nic společného :-P
To jsi agentem pana Branky, nebo se nechceš nic dalšího naučit?
Ale říká se, že člověk nemá umřít úplně hloupý!

Napsal: 4. 2. 2009, 5:47
od robokop
chmm taky si rikam
clovek schopny programovat interpolator a boji se linuxu
nechapu

Napsal: 5. 2. 2009, 5:56
od k
No keby som ja mal kupeny MS WIN s podporou tak by som sa mozno na ten linux tiez nikdy nepozrel :)

Napsal: 5. 2. 2009, 6:42
od robokop
vzdyt v tom temer neni rozdil
na podpore ti prectou help kterej mas ve windows :-(

Napsal: 5. 2. 2009, 7:23
od PavelZ
Ať se to někomu líbí nebo ne, Win jsou nutností kvůli masovému použití v našich zeměpisných šířkách.
V práci je mám, doma taky, i když s dual bootem s Ubuntu (Ubuntu je default :twisted: )

Napsal: 5. 2. 2009, 7:37
od Krutor
Ne že bych se nechtěl učit nic nového - to bych se nepouštěl do stavby CNC. Ale já prostě nemám čas řešit tu spoustu komplikací, které by MI Linux přinesl.

Navrhuju ukončit toto vlákno. Začalo to rozběhovými rampami, pak se tady kritizoval můj jazyk, pak se tady pochybuje zda mi to vůbec pojede, a nakonec by z toho byla obligátní Win x Linux hádka :-)