[Résolu – merci à tous][USB] Questions non élucidées
14 sujets de 1 à 14 (sur un total de 14)
-
Bon ben voilà, cela fait quelque temps que je bosse sur ma pile USB pour Amiga diminué de base (68000 + Highway). Pour les intimes ce projet s’appelle ANAIIS acronyme pour ANother Amiga Input Interface Stack, nom pompeux qui ne veut rien dire.
Ca marchote! mais j’ai quelques soucis.
1) Quand j’utilise la souris avec la touche shift, ca ne multisélectionne (sic!) pas. En regardant de plus près, j’ai été obligé d’utiliser PeekQualifier d’InputBase pour retrouver les états des fameuses touches. Est-ce judicieux d’utiliser PeekQualifier dans du code de souris ?? Comment faire en v34, vu que PeekQualifier n’est présent qu’à partir de v36…
2) Quand j’utilise trop les répétitions de touches, j’arrive à faire des gourous #3… pas bien! A priori ce n’est pas ma pile qui écrit n’importe quoi à des adresses impaires mais bien input.device qui ne supporte pas qu’on le réveille pendant la sieste, par un afflux de touches. Comment faire pour débugger ce truc?
3) Où trouver le décodage officiel (lisible pour un gars de 36ans) des HID – Humain Interface Device ?
J’obtiens un device descriptor dans le genre
dd.bDeviceClass = 0
dd.bDeviceSubClass = 0
dd.bDeviceProtocol = 0
pour une souris et un clavier.
Alors j’affine en demandant l’interface 1
Pour une souris, j’obtiens
id.bInterfaceClass = 3
id.bInterfaceSubClass = 1 (boot)
id.bInterfaceProtocol = 2 (souris)
whaaou (non ce n’est pas Vista)
Avec un clavier logitec de base
id.bInterfaceClass = 3
id.bInterfaceSubClass = 0 (?)
id.bInterfaceProtocol = 0 (?)
J’aurais bien aimé obtenir
id.bInterfaceClass = 3
id.bInterfaceSubClass = 1 (boot)
id.bInterfaceProtocol = 1 (clavier)
mais ça n’a pas l’air d’être aussi facile.
Pour mes tests, j’ai décidé qu’un device avec une interface 3 0 0 et une taille d’ep 1 à 8 octets est équivalent à un clavier utilisé en boot… :sweat:
Si vous avez des idées… elles sont bienvenues!!
CLS2086 a écrit :
Bonsoir,
PeekQualifier n’est présent qu’à partir de v36
Si tu utilises le dernier SetPatch sur Aminet, qu’est ce que cela fait ?
C’est le 43.6b le dernier SetPatch ?
Bon je vais essayer…
CLS2086 a écrit :
Tu peux « gentillement » demander des conseils à Chris Hodge vu que tu as une Highway
Bah sur ce coup là, j’ai demandé directement à Michael Boehmer, le concepteur de la carte Highway. Par mes essais (2ans que je suis dessus pour occuper les dimanches pluvieux) j’ai prouvé que Highway + 68000 de base = 99% OK !!! K’on se le dise!
Mais là mes problèmes sont 100% input.device… depuis que j’ai mis du code pour gérer la répétition des touches.
:'(
La priorité de la tâche de ma pile est à 15. Si je la met à 20, les plantages se font systématiquement… c’est p’tet une piste mais je ne sais pas comment sortir les tripes de l’input.device ou du timer.device… ou proutproutwawa.device, j’en sais rien
CLS2086 a écrit :
Questions subsidiaires !
Quelle est la révision de ta carte mêre et des chipsets dessus (même le CPU !! Vu que certains sont connus pour avoir du bruit sur le bus !!) ?
As tu fais des modifications dessus ?
As tu fais un « overclock » quelconque ?
Wahou !!!
A2000B 4.4
MC68000 7.14MHz
SuperFatAgnus 2Mo, DeniseECS
overclock ??? je passe en NTSC, du coup je gagne 10%
Aucune modification, à part une déportation de la pile de l’horloge en un lieu plus accessible, un multikickstart.
Depuis vendredi je tourne avec le Setpatch 43.6b et aucun plantage guru#3.
Du coup ça m’a pas plu alors, j’ai repris mon code et revu les CheckIO… en testant un BOOL et surtout pas un pointeur… 😮 ‘tain c’était mon code, ça venait de ça!
Je vais p’tet pouvoir remettre le Setpatch 40.16 d’origine.
Donc on peut très bien réveiller l’input.device pendant sa sieste par une raffale de touches toutes les 10ms depuis un clavier USB…
Bon ben en remettant le Setpatch 40.16 j’ai toujours le problème…
Donc mon code pas clean n’était pas le seul en cause.
Apparement ce phénomène apparait quand on demande au timer.device des petits délais de 1ms après un délai de 200 ms. La requête contenant le délai de 200ms passe aux oubliettes et le guru #3 arrive sans crier gare…
:sweat:
Comment savoir ce que patche exactement le setpatch 43.6b à part CheckIO() ?
😮
Où est le code source ???
la vie est dure, certes, mais ce serait pire si elle était molle.
Comment savoir ce que patche exactement le setpatch 43.6b à part CheckIO()
Peut-être en essayant de trouver le release_note qui va avec ? Faudrait essayer de voir sur les CD OS3.5/3.9, celui du DevCD 2.1 et dans le NDK 3.9.
Le code source n’est pas disponible à ma connaissance. En revanche si tu as de bons contacts avec des developpeurs de l’OS4 peut-être qu’ils pourront retrouver ce que faisait le dit SetPatch ???
CLS2086 a écrit :
Une petite question, as tu déjà fait marcher cette carte usb sur ta machine avec une carte accélératrice et Poseidon ?
Perso j’ai une CM 4.3 plus fonctionnel, et ça a été la galère, même avec les chipsets d’une CM 6.2.
Et sur une vraie CM 6.2, ça allait mieux.
Oui, sur un A3000, 68030 25Mhz.
La carte usb marche correctement.
2ième semaine sans plantage avec le patch 43.6b…
CLS2086 a écrit :
ma 1ère piste était bonne.
Tu voudrais dire que mon miga 2000B rev 4.4 est une daube infâme ? RAaa… on dit pas ça à un ordi de 19ans!!!
Est que ça un rapport avec des délais de 1ms du timer.device?
Niveau perf ?
Bah faut pas s’attendre à des foudres célestes, mais avec un clavier et une souris USB, c’est mieux qu’avec le clavier standard ou la souris standard. J’utilise CPUUsage (aminet) pour me rendre compte de la consommation CPU. Quand on mouline avec une souris classique, sur le gameport, la conso en CPU monte à 75% voire 80%, alors que la souris USB, grimpe difficilement à 45%, 50%. Pour le clavier c’est moins visible, mais il dépote pas mal. Il y a juste pour les touches shift que j’ai un soucis avec la multisélection… (code merdeux!!) mais bon faut s’occuper les dimanches pluvieux pour debugger tout ça avant d’oser sortir une release!!
Il faudrait que je regarde aussi comment utiliser les clefs mémoire USB, mais je n’ai pas trop le courage…
Il me faudrait des trucs dans le genre datagrammes
< SETUP ...>
< IN ...>
< OUT...>
mais je n’ai trouvé cela nulle part…
tout ça avant d’oser sortir une release!!
Et après j’espère que tu bosseras pour un OS actuel :-p
elwood a écrit :
tout ça avant d’oser sortir une release!!
Et après j’espère que tu bosseras pour un OS actuel :-p
Euh os actuel … OuinOuin Vista ???
Aero me donne des nausées, mais bon tant que mon boss me paie les médicaments contre le mal de mer…
sisi je t’assure, un 68000 7.14 dépote avec le WB 1.3
14 sujets de 1 à 14 (sur un total de 14)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › [Résolu – merci à tous][USB] Questions non élucidées