USB hjälp

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
fatpo83
Inlägg: 282
Blev medlem: 21 april 2004, 22:42:28
Ort: Sthlm

USB hjälp

Inlägg av fatpo83 »

Jag håller på o bygger en USB mus med 16C745 och undrar om nån vet hur man flyttar musen i x-led??

Jag har tittat på koden från microchip (som får musen att cirkla runt) men jag undrar vad man måste skicka i descriptorn för att flytta på cursern??
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Inlägg av Chribbe76 »

Jag vill uttrycka det så här istället:

Report-descriptorn beskriver hur paketet ska se ut som man skickar till datorn när man ska flytta musen, vrida scrollhjulet eller ändra tillstånd för en eller flera knappar.
Report-descriptorn är uppbyggd som ett program med kommandon, nästan onödigt flexibelt.
Descriptorerna skickas bara till datorn när musen kopplas in, därefter är komunikationen kompakt och inte "tjatig" och allmänt irriterande som när en enhet kopplas in.

När man skickar sitt paket till datorn så innehåller det info om allt för musen, det vanliga är att muspil-förflyttningen beskrivs incrementalt, dvs om de bitar som står för X-förflyttningen är 3 så flyttas muspilen 3 pixlar åt höger.

Paketet brukar se ut så här(innehåller alltså inga descriptorer, bara rå data):

Byte1: Knappar
Byte2: X-förflyttning
Byte3: Y-förflyttning
(Byte4: Scrollhjul)
fatpo83
Inlägg: 282
Blev medlem: 21 april 2004, 22:42:28
Ort: Sthlm

Inlägg av fatpo83 »

Aha, så om vi tilldelar X-paketet värdena {-2,4,1 } så betyder det att X markören flyttas 2 pixlar åt höger, 4 pixlar åt vänster och sedan 1 pixel åt vänster igen??

Har jag uppfattat det rätt eller? Ifall det är så betyder det att man maximalt kan flytta markören 128 pixlar åt gången (både väntster och höger)??
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Inlägg av Chribbe76 »

Musen kan flytta sig 128 pixlar/rapportering om man använder 8 bitar/axel men det fiffiga är att du kan konfigurera ditt paket hur du vill. så om du vill använda 12 bitar/axel eller kanske 16 bitar/axel så ändrar du bara lite i Report-descriptorn.
Vanliga möss rapporterar 125 gånger/sekund men du kan rapportera ända upp till 1000 gånger/sekund.
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Inlägg av Chribbe76 »

Så här brukar det vara: X+Höger X-Vänster Y+Ner Y-Upp
fatpo83
Inlägg: 282
Blev medlem: 21 april 2004, 22:42:28
Ort: Sthlm

Inlägg av fatpo83 »

OK. Du verkar vara vass på det här :)

Så fort jag får min 16c745 så ska jag testa....ifall jag har frågor ang USB (vilket är säkert) kan jag då skriva el. maila till dig??

mitt mail: fatpo@spray.se
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Inlägg av Chribbe76 »

Det är OK att du mailar till mig men jag tycker att man inte ska ge upp forumet för fort för andra kan ju vara intresserade oxå.
Användarvisningsbild
mrmike
Inlägg: 301
Blev medlem: 29 oktober 2003, 20:40:12

Inlägg av mrmike »

Nä, sluta inte. Det här verkar intressant.
fatpo83
Inlägg: 282
Blev medlem: 21 april 2004, 22:42:28
Ort: Sthlm

Inlägg av fatpo83 »

OK. Jag skriver mina "framtida" frågor här. btw en till fråga :)

När man skriver:

Input (Data, Variable, Relative)

så är väl data=antal pixlar, variable=X/Y...men vad är relative?
Användarvisningsbild
Earendil
EF Sponsor
Inlägg: 448
Blev medlem: 2 juni 2004, 09:06:43
Ort: Lund

Inlägg av Earendil »

relative betyder antal pixlar plus/minus jämfört med föregående punkt.

Om din mus först pekar på koordinat (100, 100) och du flyttar musen lite grand åt höger (5 pixlar), så skickas kanske de 5 relativkoordinaterna (1, 0) (1, 0) (1, 0) (1, 0) (1, 0). Anledningen är att musen kan inte veta vilka de faktiska koordinaterna är (det kan ju datorn ändra på genom att flytta muspekaren). Däremot är musen den enda som vet något om de faktiska _förflyttningarna_. Och det är dessa som beskrivs i relativkoordinater. Dessutom tar dessa upp mindre datautrymme.
Användarvisningsbild
Earendil
EF Sponsor
Inlägg: 448
Blev medlem: 2 juni 2004, 09:06:43
Ort: Lund

Inlägg av Earendil »

mrmike skrev:Nä, sluta inte. Det här verkar intressant.
Håller med! Kul med PIC och USB. Jag hajade till när min PICkit-programmerare var PIC-USB-baserad. Coolt!
fatpo83
Inlägg: 282
Blev medlem: 21 april 2004, 22:42:28
Ort: Sthlm

Inlägg av fatpo83 »

Hur många knappar stödjer USB 1.1? Om man har en höger och vänster musknapp + en scroll, kan man då ha 3-4 extra till?
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Inlägg av Chribbe76 »

Om man gör en egen drivrutin så kan man ha hur många knappar som helst.

Om man inte vill göra en drivrutin så vet jag att musen kan ha 5 knappar + scrollhjul. Det borde gå att ha fler men jag är inte säker.

En annan metod att få fler knappar utan drivrutin är att låta musen vara mus + tanjentbord, då har du tillgång till alla knappar på tanjentbordet oxå(kanske även fler).

Jag håller på att klurar lite på det nu men kommer nog att överge det för jag har inte tid med det just nu.
Skriv svar