00001 /*----------------------------------------------------------------------------*/ 00009 /*----------------------------------------------------------------------------*/ 00010 #include <ProgConfig.h> 00011 #include <serial.h> 00012 00013 #ifdef NOEUD 00014 00018 PT_THREAD (NodeCoord (struct pt *pt)) 00019 { 00020 noeud *ptr_bases ; 00021 00022 PT_BEGIN (pt) ; 00023 00024 while (1) 00025 { 00026 /*expect for having flag*/ 00027 PT_WAIT_UNTIL (pt, Flag_PT.nodeCoord == 1) ; 00028 Flag_PT.nodeCoord = 0; 00029 00030 if((Ptr_bases!=Tab_bases)&& BUFFER_ENVOI_PAS_PLEIN()) 00031 { 00032 Ptr_envoi->historique = ETAPE1; 00033 Ptr_envoi->nb_envois = 0 ; 00034 Ptr_envoi->trame_brute.Noeud.mode_transmission = MULTI_HOP ; 00035 Ptr_envoi->trame_brute.Noeud.type = NODE_COORD ; 00036 Ptr_envoi->trame_brute.Noeud.id_x_source = Id_x ; 00037 Ptr_envoi->trame_brute.Noeud.id_y_source = Id_y ; 00038 Ptr_envoi->trame_brute.Noeud.id_x_dest = Tab_bases->x ; 00039 Ptr_envoi->trame_brute.Noeud.id_y_dest = Tab_bases->y ; 00040 Ptr_envoi->trame_brute.Noeud.id_x_capteur = Id_x ; 00041 Ptr_envoi->trame_brute.Noeud.id_y_capteur = Id_y ; 00042 Ptr_envoi++; 00043 }else Term_serial_puts("\t emission buffer full"); 00044 ptr_bases++; 00045 00046 } 00047 PT_END (pt) ; 00048 } 00049 00050 #endif