1

Bon ca a peut être déja été fait, mais ça a dû se perdre.

J'envisage de faire un site HardWare TI sérieux genre nthc.ovh.org.

pour cela j'aimerais savoir d'abord quels sont les projets HardWare TI qui:

- marchent
- ont été testés

Je mettrai à jour ce post avec les infos que vous posterai.

- Interface imprimante par I²C, fait par moi.
- ...

Si vous avez un projet ti qui fonctionne, postez le ac une description la plus complète possible. merci. si vous voulez des précisions vous pouvez poster des questions.
En effet, je veux bien centraliser les projets, mais j'ai peu de temps pour écrire le contenu. Si vous voulez que je prenne en compte votre projet, remplissez les champs suivants:
- Description rapide (en 3 lignes maxi)
- A quoi ça sert (5 lignes)
- Le schéma du montage
- Explication du schéma (5 à 10 lignes suivant complexité)
- Si ya un circuit à faire, dessin du circuit et implantation des composants
- Explications pour la réalisations (5 à 10 lignes aussi)
- Si nécessaire, partie software:
- drivers et / ou programmes de gestion à télécharger (un seul zip)
- explications du fonctionnement permettant de se servir du programme quand on ne l'a jamais vu
- screenshoots du programme pour montrer ce que l'on doit faire


Nota: je veux pas vous prendre la tête, mais ce topic est sérieux. Les pourrisseurs seront kickés et lockés.

et si quelqu'un (une) est intéressé pour m'aider, qu'il se manifeste!

2

je suis intéressé par ton projet.

- Que penses-tu d'adapter le moteur nuke-clan pour présenter du contenu ?

- je connais cette mouture de site et déja adapter des versions pour des copains : je connais (modestement) en html, dhtml et php.....

Dj@MDjem
avatar
Dj@MDjem.
Que la force avec vous soit.

3

je connais pas ce site.

je voulais faire un site complet à partir de rien, programmé correctement en php pour les besoins de la chose, je trouve que c'est mieux que d'adapter un truc existant et pas forcément fait pour. il suffit de trouver des gfx et le site je sais le faire en php.

4

ok patron.
avatar
Dj@MDjem.
Que la force avec vous soit.

5

au fait, j'ai vu que tu avais fais une interface i2c ?
les librairies qui circulent sur le net sont de toi ?

si oui, tu pourrais m'expliquer leur fonctionnement (pas l'i2c, les librairies) : mode maitre, esclave....

Dj@MDjem
avatar
Dj@MDjem.
Que la force avec vous soit.

6

il y en a qui sont de moi oui
mais c pas les seules

voici ma lib I²C je l'ai retrouvée sur mon site ifrance.
On peut encore l'optimiser en vitesse en remplaçant les pokeIO par de l'assembleur.
/*************************************************************************\ |   IIIIII  222    CCCC   2-WIRES SERIAL BUS                              | |     II      22  C                  Generic Library  v1.0                | |     II    222   C           By Mathieu ALLORY aka Hiddenfiles           | |   IIIIII 22222   CCCC              hiddenfiles@online.fr                | \*************************************************************************/ // Allow to control every I2C chip in standard mode (7-bit addressing, 100kbauds). // See documentation for help // It has been tested and debugged on several circuits but if you find errors, // send a mail to : hiddenfiles@online.fr // Copyright 2001 by Hiddenfiles // You are not allowed to modify the library without the authorization // of the author. // C Header File with TIGCC IDE // Created 19/02/01; 22:27:26 //anciens noms gardés pour la compatibilité #define I2CDRV_Ver I2C_DRV_Ver #define InitI2C I2C_Init #define CloseI2C I2C_Close #define SendStart I2C_SendStart #define SendStop I2C_SendStop #define SendByte I2C_SendByte #define WaitACK I2C_WaitACK #define ReadByte I2C_ReadByte #define I2CDRV_Ver I2C_Version // Définition des constantes d'information #define VERSION 0x0001 #define I2C_ENABLED // Configuration de la librairie // Définition de SCL et SDA // Au choix SDA ou SCL. Toute autre valeur provoque une erreur. - You can choose SDA or SCL, another value causes an error #assert red (SDA) // Assignation de la ligne rouge - What the red line is #assert wht (SCL) // Assignation de la ligne blanche - What the white line is // Définition des timers #define WAIT_FOR_ACK 20 // X*50 ms // Macro de vérification de la bonne assignation des lignes #if ((!(#red(SDA))&&(!(#red(SCL))))||((!(#wht(SDA)))&&(!(#wht(SCL))))||(#red(SDA)&&#wht(SDA))||(#red(SCL)&&#wht(SCL))) #error "Mauvaise initialisation des constantes de lignes." #error "Bad init of the wire-identifying constants." #endif // Définition des macros d'écriture bas niveau #if #red(SDA) #define RstSDA pokeIO(0x60000E,peekIO(0x60000E)|1); #define SetSDA pokeIO(0x60000E,peekIO(0x60000E)&254); #else #define RstSCL pokeIO(0x60000E,peekIO(0x60000E)|1); #define SetSCL pokeIO(0x60000E,peekIO(0x60000E)&254); #endif #if #wht(SDA) #define RstSDA pokeIO(0x60000E,peekIO(0x60000E)|2); #define SetSDA pokeIO(0x60000E,peekIO(0x60000E)&253); #else #define RstSCL pokeIO(0x60000E,peekIO(0x60000E)|2); #define SetSCL pokeIO(0x60000E,peekIO(0x60000E)&253); #endif #define DELAY 50 // Routines d'initialisation et de nettoyage void I2C_Init(void) {      asm("bset.b #6,0x60000C");      SetSDA      SetSCL      } void I2C_Close(void) {           SetSDA      SetSCL           poke(0x60000C,0x8D); } // Routines d'envoi des drapeaux void I2C_SendStart(void) { int t;       RstSCL       RstSDA       //l'envoi de bits normaux nécessite que SDA soit stable quand on applique l'horloge.       //pour le start c'est l'inverse. On a une transition de SDA quand SCL est stable.       for(t=0;t!=DELAY;t++); } void I2C_SendStop(void) {       RstSDA       SetSCL       SetSDA } // Routines de lecture bas niveau interne à la librairie #if #red(SDA) int ReadSDA(void) #else int ReadSCL(void) #endif { #if 0 //version 2      unsigned char i=0;      i=peekIO(0x60000E)&4;      return 1-(i>>2);      if(i==0) return 1;      if(i==4) return 0; #else      return 1-((peekIO(0x60000E)&4)>>2); #endif } #if #wht(SDA) int ReadSDA(void) #else int ReadSCL(void) #endif { #if 0 //version 2      unsigned char i=0;      i=peekIO(0x60000E)&2;      return 1-(i>>2);      if(i==0) return 1;      if(i==2) return 0; #else      return 1-((peekIO(0x60000E)&2)>>1); #endif } // Routines d'envoi de données int I2C_SendByte(unsigned char byte) {      int i,t; #if 0 //version 2      unsigned char buff; #else      unsigned char buff=byte; #endif      RstSCL      for(i=0;i<8;i++)      { #if 0 //version 2           buff=byte<<i; #else     buff=buff<<1; #endif #if 0 //version 2           if((buff&128)==128) SetSDA           if((buff&128)==0) RstSDA #else           if((buff&128)){ SetSDA } else { RstSDA }; #endif           SetSCL           //attente de l'esclave           for(t=0;t<DELAY;t++);           RstSCL      }      return TRUE; } int I2C_WaitACK(void) {      OSFreeTimer(USER_TIMER);      OSRegisterTimer(USER_TIMER, WAIT_FOR_ACK);      SetSDA      OSTimerRestart(USER_TIMER);      SetSCL      while(!OSTimerExpired(USER_TIMER))      { #if 0 //version 2           if(ReadSDA()==0){RstSCL return TRUE;}      #else           if(!ReadSDA()){RstSCL return TRUE;}      #endif      }      RstSCL      return FALSE; } //Routines de reception unsigned char I2C_ReadByte(void) {      unsigned char byte=0;      int i;      RstSCL      for(i=0;i<8;i++)      {           byte=byte<<1;                     SetSCL           if(ReadSDA()) byte++;           RstSCL      }      RstSDA      SetSCL      RstSCL      return byte; } // Routines diverses int I2C_Version(void) {      return (VERSION); } int I2C_SendWait(unsigned char byte) {      I2C_SendByte(byte);      return I2C_WaitACK(); } /******************* END OF FILE *** 28/02/2001;22:05 *********************/ /* Historique ---------------------------------------------------------------------------------------            6/3/2003: version 2          * Remplacement de peek et poke par peekIO et pokeIO, selon les instructions données            dans la documentation de peekpoke.h          * Optimisation de l'envoi de bits. 5 lignes de code -> une ligne. En fait c'est aussi rapide.        E: 43.2 kbps, L:48.5 kbps          * Optimisation de l'envoi d'octets. Au lieu de calculer un shift variable, on fait un            shift avec une constante. D'où:        E: 46.8 kbps au lieu de 43.2. L: 48.5 (idem)          * Séparation de l'envoi d'octet et de l'attente d'acknowledge, pour pouvoir faire des tests            de vitesse théorique.          * Modification des noms de procédures, avec des #define pour maintenir la compatibilité.            Voir la liste de #define pour les d&tails.          * Ajout de la fonction I2C_SendWait(uchar) qui correspond à l'ancienne version            de 'SendByte'. Cette nouvelle fonction attend l'ACK de l'esclave, alors            que I2C_SendByte n'attend pas.          * Déplacement des lignes d'allocation de timer de la fonction 'send' vers la fonction 'ack'.            C'était un oubli important en effet maintenant les débits sont:        E: 65.5 kbps; L: 48.5. La lecture sera plus difficile à optimiser...             ---------------------------------------------------------------------------------------            * Le débit théorique du port i/o est de 50 kbps. * Test du débit de données en écriture: 8192 octets en 1800 ms soit un débit de 4.6 ko/s ou 36.4 kbps, * Test du débit de données en écriture: 8192 octets en 1350 ms soit un débit de 6.1 ko/s ou 48.5 kbps, * Avec un délai de 50 au lieu de 100, on a écriture à 42.3 kbps et lecture à 48.5 kbps */ (je viens de me rendre compte que j'ai même pas mis mon nom dedans!)

Un maitre I²C c un système qui peut générer des conditions de start/stop et des adresses pour commander un ou des esclaves.

Un esclave I²C c un système qui sait répondre au commandes du maitre et envoyer/recevoir les données qu'on lui demande/donne. C'est plus difficile à programmer qu'un maitre.

la librairie que j'ai fait est un maitre I²C qui sait gérer 127 périphs au max selon les normes I²C.

Note que l'I²C est un protocole qui supporte le multi-maitre si on rajoute un système de détection d'activité du bus.

7

c'est justement à ce dernier cas de figure auquel je pensais. en effet, j'ai des routines qui tournent sur pic pour la gestion d'eeprom et me demande dans quelle mesure le multi-maitre peut fonctionner avec une TI. Apparemment ce n'est pas le cas de ta librairie ?

avatar
Dj@MDjem.
Que la force avec vous soit.

8

Tu veux connecter la TI et le PIC en même temps?
Ben tu peux faire en sorte que la TI scrute le bus pdt une demi-seconde et en prenne le contrôle uniquement si elle n'a détecté aucun changement d'état dans le laps de temps.
Idem pour le pic.

ceci dit, je te déconseille le multi-maitre. ca peut marcher, mais en cas de double maitrise simultanée du bus, les résultats sont improbables.

9

j'va y réfléchir et faire quelques essais, merci squalyl.
avatar
Dj@MDjem.
Que la force avec vous soit.

10

t'en es où de ton site hardware ?
avatar
Dj@MDjem.
Que la force avec vous soit.

11

g pas commencé vu que ya que moi qui a un truc à y mettre pour le moment neutral

12

j'suis pret à y mettre mon projet mp3:

1/ faut y intégrer un pilotage par TI (ce serait cool) : d'où mes questions sur les liaisons pic<->ti et pilotage d'une ti par un le port i/o....

2/ les personnes intégressées par un stockage sur disque dur pourront trouver une base intéressante (j'étudie en ce moment l'implémentation des fonctions classique d'ouverture, écriture, de fichiers (equivalent de commandes open, write....sur pc). Le blem avec ces commandes est la taille des programmes pic reproduisant ces fonctionnalités comparée à la mémoire dispo sur pic !

Dj@MDjem
avatar
Dj@MDjem.
Que la force avec vous soit.

13

quels pics utilise tu?
si le 877 te limite, on peut tenter le 18f yen a qui ont 64 kwords de FLASH, avec un jeu d'instructions compatibles bien sur. le pb c que c des chips CMS en QFP64 donc faut un adapteur. mais c un pb relatif.

et je sais pas vous mais:
-des routines de communication rapide
-des codes PIC de gestion disque dur
-des électroniciens qui ont du matos

ca semble bien parti pour le stockage dur externe sur ti, non?
mettons nos ressources en commun!

a ce propos, je sais que c pas bien, mais est ce que vous auriez des compilos C pour PIC en version non limitées?

14

je pense que le stockage sur dur extrerne sur TI est tout a fait accessible !
le +gros blem sera sans doute la vitesse du port i/o de la ti.


sinon, j'utilise effectivement le 877.
l'adaptation des fonctions de gestion de fichier pourrait s'inspirer de 2 projets :
1/ des routines de Rob@robriglar faites pour Atmega128 (avec tout de meme 1M RAM attaché)
2/ CFRW Compact Flash Reader Writer (quasi-similaire à un disque dur dans la gestion ATA)





avatar
Dj@MDjem.
Que la force avec vous soit.

15

Il y a des compilo C pour PIC qui circulent sur certains P2Ps.
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

16

des koi ?
avatar
Dj@MDjem.
Que la force avec vous soit.

17

l'idéal est le PIC18F458
on a 32Ko (16384 instructions), et il est dispo en DIP pour les tests et en PLCC pour des platines plus compactes mais pas trop dure à faire

mes routines TI<->PIC utilisent le MSSP ou l'USART au choix, avec de légères différences de soft côté TI
la version MSSP est potentiellement légèrement plus rapide, car sur la TI add.b d0,d0 est plus rapide que lsr.b #1,d0
je dis potentiellement car je n'ai pas encore réussi à avoir des transmissions fiables sans temps d'attente du côté TI (les signaux du port link sont horribles quand on dépasse 100 kHz)

j'écris les routines pour PIC18, mais elles peuvent fonctionner sur un 16F87x moyennant quelques modifications
on a intérêt à prendre un PIC18, avec la taille du code dispo on pourrait faire une interface complête (stockage, son, link vers PC, E/S numériques et analogiques)
tant que microchip fait des samples, ça va

je n'ai pas trouvé de compilo C pour PIC qui me donne un code satisfaisant (en général c'est 2 fois trop gros : checks de retenue inutiles, optimisation quasi inexistante, gestion bizarre des variables locales, ...)

18

sinon très intéressant (cache de la FAT, mémoire externe) : BQ4017 de chez TI
dispo en sample (heureusement, car sinon à 50$ l'unité par 1000, c'est trop cher)

NVSRAM de 2Mo

19

ha ha tu connais aussi le bq4017! terrible cui la!

20

j'ai pas trouvé plus gros en sample (en plus chez TI ils envoient, alors que dallas/maxim qui ont le même genre de samples n'envoient pas)
dommage TI n'a pas de bon microcontroleur (les DSP c'est pas très adapté aux petites réalisations)

21

t'as déja réussi à choper des samples de dsp? j'ai un copain que ça intéresserait.

22

j'ai jamais essayé car je n'ai pas le matos pour faire des circuits imprimés de qualité suffisante pour souder des QFP ou pire

il n'y a qu'un seul DSP à la fois en sample et en boitier utilisable : le TMS320F241

23

Pour ma part je m'occupe de la rédaction d'articles sur http://www.fxsoft-fr.net/tigen/ et si vous trouvez des sites parlant d'hardware TI je me ferais une joie de les réunir et de rédiger des articles. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

24

je me demandait où était passé tifrv3 auquel j'avais commencé à participer grin :'(

25

en i²c, il y avait un thermomètre numérique réalisé par microbug aussi il me semble grin
sinon, il y a les drivers pour clavier ps2 (c'est hardware quand même ... smile)

26

Commande de cafetière avec Einstein.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

27

bien sûr.

t'as des images?

au fait relis le premier post de la page pour ta culture...

28

Ha oué désolé grin
dehors
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

29

Bin alors ce site ?
NBox6 - The DynaStat Nolrd Six
If U're silly dont think, it'll kill you !
Just go with the wind, you'll be better.
But be aware, don't cross road or holes.

30