Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Horloge
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Horloge

Posté le 01/05/2014 21:07

Bonjour,
Je sais pas si je suis au bon endroit mais je me demandai comment ce programme pouvait marcher...
Parce qu'il faut que l'add-in tourne toujours quand la calto est éteinte ou que la calto ai quelque chose en Hard qui lui permette de savoir le temps écoulé depuis la dernière extinction ...
Donc voila ça m’intéresse beaucoup et si quelqu'un pouvait m’éclairer sur le sujet


1, 2, 3, 4, 5 Suivante
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 01/05/2014 21:07 | #


C'est les syscalls RTC.

Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 01/05/2014 21:12 | #


Ça veut dire qu'en réglant avec RTC_SetDateTime une fois, après si tu appelles RTC_GetTime, il te ressort l'heure exact par rapport a l'heure donné au début ?
mais il faut mettre quoi dans la chaine data ?
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 01/05/2014 21:13 | #


C'est un tableau de pointeurs sur les données (de mémoire).
C'est détaillé dans la doc.

Ajouté le 01/05/2014 à 21:13 :
Ici, la doc.
Dans le pdf.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Totoyo Hors ligne Membre d'honneur Points: 16102 Défis: 102 Message

Citer : Posté le 01/05/2014 21:50 | #


Je déplace dans "Autres questions" (ex-"Questions diverses", lui-même ex-"Problèmes avec un programme ou de programmation"). N'hésitez pas à laisser un commentaire sur les nouveaux noms des forums, je cherche à les rendre plus clairs et explicites.
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 01/05/2014 21:54 | #


Merci Totoyo
donc je fait face a un probleme, je sais pas bien utiliser les syscalls
J'ai tenté de faire tourner ca:
#include "fxlib.h"
#include <stdio.h>
#include <stdlib.h>

// PROTO FONCTIONS
int RTC_getTicks();
int SYS_call();
int RTC_getTime(unsigned int *hours, unsigned int *mins, unsigned int *secs, unsigned int *msecs);

// VARIABLES
static int SysCallCode[] = {0xD201422B,0x60F20000,0x80010070}; // déclaration des adresses
static int (*SysCall)(int R4, int R5, int R6, int R7, int FNo ) = (void*)&SysCallCode; // et des registres (en global)


int AddIn_main(int isAppli, unsigned short OptionNum)
{
    unsigned int key;
    unsigned int hours, mins, secs, msecs;
    char buffer[60];
    
    Bdisp_AllClr_DDVRAM();
    RTC_getTicks();
    RTC_getTime(&hours, &mins, &secs, &msecs);
    
    sprintf(buffer, "%d-%d-%d", hours, mins, secs);
    PrintMini(1,1,buffer,0);

    while(1){
        GetKey(&key);
    }

    return 1;
}

int RTC_getTicks()
{
     return (*SysCall)(0, 0, 0, 0, 0x3B); // on déclare la fonction voulue selon son numéro (ici 0x3B)
}

int RTC_getTime(unsigned int *hours, unsigned int *mins, unsigned int *secs, unsigned int *msecs)
{
     return (*SysCall)(0, 0, 0, 0, 0x03A);
}


int SYS_call(void)
{
     return (*SysCall)(0, 0, 0, 0, 0x42);
}


#pragma section _BR_Size
unsigned long BR_Size;
#pragma section
#pragma section _TOP
int InitializeSystem(int isAppli, unsigned short OptionNum){return INIT_ADDIN_APPLICATION(isAppli, OptionNum);}
#pragma section

Et ca m'a retourné un SE
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 01/05/2014 21:57 | #


Ça doit être sur le syscall RTC_getTime. Mets-le en commentaire pour voir ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 01/05/2014 22:02 | # | Fichier joint


bon c'est un peu barbare mais la doc est protégée
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 01/05/2014 22:05 | #


Non, c'est juste que ce sont des images.
Ah oui, int RTC_getTime !
Tu est sûr que tu as lu la documentation ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 01/05/2014 22:12 | #


Je comprend pas
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 01/05/2014 22:15 | #


Ben, c'est void RTC_getTime(...); !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 01/05/2014 22:20 | #


Si je mets void: (E) Void function returns value
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 01/05/2014 22:21 | #


Oui, parce que dans le code de ta fonction tu as mis return.
Enlève-le.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 01/05/2014 22:34 | #


Toujours le SE
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 01/05/2014 22:39 | #


Quel est le nouveau code ?
Et à quoi correspond SYS_Call ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 01/05/2014 22:58 | #


Le nouveau code est
#include "fxlib.h"
#include <stdio.h>
#include <stdlib.h>

// PROTO FONCTIONS
int RTC_getTicks();
int SYS_call();
void RTC_getTime(unsigned int *hours, unsigned int *mins, unsigned int *secs, unsigned int *msecs);

// VARIABLES
static int SysCallCode[] = {0xD201422B,0x60F20000,0x80010070}; // déclaration des adresses
static int (*SysCall)(int R4, int R5, int R6, int R7, int FNo ) = (void*)&SysCallCode; // et des registres (en global)


int AddIn_main(int isAppli, unsigned short OptionNum)
{
    unsigned int key;
    unsigned int hours, mins, secs, msecs;
    char buffer[60];
    
    Bdisp_AllClr_DDVRAM();
    RTC_getTicks();
    RTC_getTime(&hours, &mins, &secs, &msecs);
    
    sprintf(buffer, "%d-%d-%d", hours, mins, secs);
    PrintMini(1,1,buffer,0);

    while(1){
        GetKey(&key);
    }

    return 1;
}

int RTC_getTicks()
{
     return (*SysCall)(0, 0, 0, 0, 0x3B); // on déclare la fonction voulue selon son numéro (ici 0x3B)
}

void RTC_getTime(unsigned int *hours, unsigned int *mins, unsigned int *secs, unsigned int *msecs)
{
     (*SysCall)(0, 0, 0, 0, 0x03A);
}


int SYS_call(void)
{
     return (*SysCall)(0, 0, 0, 0, 0x42);
}


#pragma section _BR_Size
unsigned long BR_Size;
#pragma section
#pragma section _TOP
int InitializeSystem(int isAppli, unsigned short OptionNum){return INIT_ADDIN_APPLICATION(isAppli, OptionNum);}
#pragma section


Après j'ai copié l'exemple de de dans le tuto " maitriser le temps donc je sais pas a quoi ça correspond
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 01/05/2014 23:04 | #


C'est bien l'appel de RTC_getTime() qui génère cette erreur.
Je vais essayer de regarder ce qu'on a dans la doc.

Ajouté le 01/05/2014 à 23:15 :
Bizarre, je n'arrive pas non plus à utiliser le syscall setDateTime().
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 02/05/2014 10:55 | #


t'as oublié (je crois) syscall.h
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 02/05/2014 11:04 | #


Il n'y en a pas besoin, puisqu'il a déclaré ses protoypes.
Justement, syscall.h contient les define et le (*SysCall) qui sont définis en haut.
Pour preuve, le syscall RTC_getTicks() fonctionne bien.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Gollum Hors ligne Membre Points: 1262 Défis: 2 Message

Citer : Posté le 03/05/2014 10:58 | #


mais le problème, c'est que le syscall n'est plus valide en SH4, si ?
https://telegram.me/BrokenClock
Je suis de l'autre coté de la manche maintenant. Yay.
Lephenixnoir Hors ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 03/05/2014 11:03 | #


Ça se pourrait... mais c'est invraisemblable, ça reste un syscall primaire du sytème RTC.
C'est juste une idée de ta part, ou y a-t-il une source particulière (si oui, laquelle) ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
1, 2, 3, 4, 5 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 144 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd