00001
00008
00009 #ifndef _TIME_MANAGE_
00010 #include <bite.h>
00011 #include <Messages.h>
00012
00013 #define INTERMEDIATE_INTERVAL() (Ptr_voisinage - Tab_voisinage)
00014 #define NB_TOP_MAX 60000 // utilise 60000
00015 #define TEMPO_SINGLE_HOP() (3*400)
00016 #define WAIT_DATA_AFTER_WB 100 //ok
00017 #define TIME_BASE 100 //ok
00018 #define WAKEUP_BEACON_INTERVAL 10 //ok
00019 #define TEMPO_BROADCAST() (4*wakeup_interval)
00020 #define TEMPO_HOP_ACK() ((MAX_ENVOIS+1)*TEMPO_RENVOI())//nb of tops before clear message
00021 #define NB_WAITING_FOR_WB 20 //20 nb we wait for a wakeup beacon to emit data
00022 #define TEMPO_RENVOI() (10*wakeup_interval)
00023 #define RANDMAX_WAKEUP_INTERVAL 4
00024 #define NB_TICK_MAX 4294967295U
00025 #define TEMPO_ATTENTE_REP_VOIS 20*TEMPO_BROADCAST()
00026 #define NB_WAITING_FOR_NREQVOIS 16000//req_vois auto
00027 #define TEMPO_REQ_VOIS() 3*400
00028 #define TEMPO_TEMPERATURE 2000
00029
00030
00031
00032 typedef struct
00033 {
00034 unsigned int debut_REQvois : 1;
00035 unsigned int fin_REQvois : 1 ;
00036 unsigned int debut_NREQvois : 1;
00037 unsigned int Check_Temperature : 1;
00038 unsigned int askNodesCoord : 1;
00039 unsigned int order_reprog : 1;
00040 unsigned int purge_send_buffer : 1;
00041 }flag_time_out;
00042
00043 typedef struct
00044 {
00045 UINT16 Deadline : 16;
00046
00047 }DeadlinesStruct;
00048
00049
00050 typedef struct
00051 {
00052 unsigned int recep : 1;
00053 unsigned int envoi : 1;
00054 unsigned int debut_REQvois : 1;
00055 unsigned int fin_REQvois : 1 ;
00056 unsigned int debut_NREQvois : 1;
00057 unsigned int Reprog : 1;
00058 unsigned int Check_Temperature : 1;
00059 unsigned int envoi_liaison : 1;
00060 unsigned int order_reprog : 1;
00061 unsigned int purge_send_buffer : 1;
00062 unsigned int : 6;
00063 }flag_Nb_top_carry;
00064
00065
00066
00067 extern flag_time_out F_TimeOut;
00068 extern DeadlinesStruct Deadlines[NB_DEADLINES];
00069 extern unsigned int Deadline_debut_REQvois ;
00070 extern unsigned int Deadline_fin_REQvois ;
00071 extern unsigned int Deadline_NREQvois ;
00072 extern unsigned int Deadline_askNodesCoord;
00073 extern unsigned int Deadline_Reprog;
00074 extern unsigned int Deadline_purge_send_buffer;
00075 extern unsigned int Deadline_Check_Temperature;
00076
00077 extern UINT8 flag_Clock_ticks_carry;
00078 extern flag_Nb_top_carry F_Carry;
00079 extern unsigned int wakeup_interval;
00080 #endif