======== CASIO3.1 ========



lib et documentation rédigée par Superna


===== Télechargement=====

[[http://afxteam.free.fr/mods/casio_downloads/casio_downloads_actions.php?act=dl&id=34|cliquer ici]]






=====A propos de cette lib=====

Cette librairie est a usage général est bien adaptée pour débuter la prog sur G100.
En effet il y a beaucoup de fonctions simples d’utilisations qui y ont été regroupées.
La version 3.1 n’a pas énormément été modifiée par rapport a la version 2.01 si ce n’est qu’elle a été organisée dans les règles de l’art de la programmation (à savoir un fichier .c contenant le code et un fichier .h contenant les prototypes).

Cette lib regroupe 3 groupes de fonctions :
  * les fonctions graphiques en mode noir et blanc
  * les fonctions utilitaires
  * les fonctions temporelles
  * inclure CASIO31.h dans les fichiers utilisant ces fonctions


=====Ajouter cette lib proprement a votre projet=====

CASIO3 peux être compilée sans aucun problème avec TC3.
 
Pour utiliser les fonctions proposées par cette Lib faites les opérations suivantes :


 - créer un projet avec TC3

 - mettre les fichiers « CASIO3.h » et « CASIO3.c » dans le même répertoire que votre fichier « main.c »

 - rajouter le fichier « CASIO3.c » au projet en utilisant la commande « Add item » dans l’onglet « Project » (Si cette commande est grisée cliquez sur le petit carré vert dans le block du bas et réessayez)

Voila la lib est rajouté a votre projet.
 
=====Choix des fonctions a compiler=====

Le fichier CASIO3.h possède un ensemble de macros des fonctions de la lib.

  #define	KFUNC_CASIO_setPix
  #define	KFUNC_CASIO_setbPix
  #define	KFUNC_CASIO_setwPix
  #define	KFUNC_CASIO_invpixel
  #define	KFUNC_CASIO_tstpixel

Afin de réduire la taille de votre exécutable mettez la macro correspondante à la fonction non utilisée en commentaire.

Par exemple, si vous  ne voulez pas utiliser tstpixel ()

  #define	KFUNC_CASIO_setbPix
  #define	KFUNC_CASIO_setwPix
  #define	KFUNC_CASIO_invpixel
  //#define	KFUNC_CASIO_tstpixel
  #define	KFUNC_CASIO_clearpage

Attention, il se peux que certaines fonctions fassent appelle e d’autres donc ne mettez pas tout en commentaire …

=====Utilisation=====


====Les fonctions graphiques ====


Les fonctions graphiques nécessitent  des paramètres dont le paramètre page qui définit le buffer vidéo a utilisé. La page principale est "0" et vous pouvez utiliser les pages jusqu'a "4" normalement.

Pour les fonctions de pixel X varie entre 0 et 127 et Y entre 0 et 63.

  setPix (x,y,page,couleur);


Met un pixel de la couleur aux coordonnées x et y  sur la page, couleur varie entre 0 et 1.

  setbPix (x,y,page);
Met un pixel noir au coordonnées x et y sur la page.

  setwPix(x,y,page);
Met un pixel blanc aux coordonnées x et y sur la page.

  invpixel (x,y,page) ;
Inverse un pixel aux coordonnées x et y sur la page

  couleur = tstpixel (x,y,page) ;
Retourne la valeur du pixel eux coordonnées x et y sur la page entre 0 et 1.

  clearpage (page) ;
Efface la page.

  page = getpage () ;
Retourne le numéro de page affiché a l'écran.

  shootpage (page) ;
Met la page dans une prise d'écran HCOPY de la calculatrice. 

Vous devrez préalablement créer une prise d'écran Hcopy1 (voir Nota).

  setpage (page) ;
Affiche à l'écran la page.

  hline2 (x1,x2,y,page) ;
Trace une ligne horizontale du point (x1,y) jusqu'au point (x2,y) sur la page.

  vline2 (y1,y2,x,page) ;
Trace une ligne horizontale du point (x1,y) jusqu'au point (x2,y) sur la page.

  rect (x1,y1,x2,y2,page,state) ;
Trace un rectangle non rempli ABCD avec A(x1,y1) B(x2,y1) C(x2,y2) D(x1,y2) sur la page de la couleur state. State varie entre 0 et 1.

  fillRect (x1,y1,x2,y2,page,state) ;
Trace un rectangle rempli ABCD de la couleur state avec A(x1,y1) B(x2,y1) C(x2,y2) D(x1,y2) sur la page. State varie entre 0 et 1.
	
  invpage (page) ;
Inverse les pixels de la page complète.


  copypage (source,target) ;
Copie la page source a la page target.

  disp_bmp (BMPTabType BmpTab,page) ;
Affiche a l'ecran le bmp convertit en C avec Bmp2C ou bmp100 sur la page.




====Les fonctions utilitaires ====


  Touche = waitkey () ;
Attends l'appui d'une touche et retourne le numéro de la touche.

  waitakey (K) ;
Attends l'appui de la touche numéro k (K_MENU, K_F1, K_ESC…).


  touche = getkey () ;
Retourne la valeur de la dernière touche pressée.

  locate (x,y, «Sieg Heil !») ;
Affiche des caractères a l'écran (Seulement des caractères) aux coordonnées x et y.

  wait (t) ;
Boucle d’attente de durée t. 

  shutcalc () ;
Met la calculatrice en veille.

  rebootcalc () ;
Redemander la calculatrice.

  contless () ;
Diminue le contraste de l'écran.

  contplus () ;
Augmente le contraste de l'écran.



====Fonctions temporelles ====



  set_time (what,time) ;
Configure l'Heure ou les minutes et remet les secondes a zéro :

What=1 : Heures


What=2 : Minutes

Time doit être compris entre 0 et 59 compris.



  valeur_demandé = get_date (what,jour) ;
Retourne la date réelle de la calculatrice en plusieurs parties:

What=0 : Jours


What=1 : Mois

What=2 : Année

What=3 : Jour dans la Semaine

Le jour de la semaine est : 0:Lundi a 6:Dimanche

jours permet d'indiquer un nombre de jours depuis le 1/1/2000

et de le retourner en date, laissez le a 0 si inutilisé.

  set_date (year,month,days) ;
Configure la date réelle de la calculatrice avec :

year : l'année (superieure a 2000)

month : le mois de l'année

days : les jours du mois


Elle retourne le nombre de jours depuis 1/1/2000 de la date demandée.

Note : cette fonction gère les années bissextiles

Ex :
Regle sur le 22/10/2004 : set_date (2004,10,22) ;



===== Remerciment =====

Superna, Whyp, 2072, BradN, Y@SS, Niff, Bugbug, Libthium, Duobab, Roeoender, Julien, Casiomax, Casioworld..


----


__Nota :__

Pour mettre en mémoire un HCOPY1 Il faut faire dans le menu Link :

-     [CTRL] puis [F4]

-	choisir "Mem"

-	faire [CTRL] puis [F6]

Pour transférer le screnshot fait avec Shootpage(page), faire  dans le menu Link :

-      [F1] choisir "Hcopy"

-      Préparer le logiciel de transtert  a la réception

-      appuyer sur  [F6]

