Domanda

In the EnergyModule() method in ns-2 has parameters l1 and l2 , i want to know the meaning of the levels, why we calling it has levels. And what is the purpose of setting it?

EnergyModel::EnergyModel    (   
  MobileNode *  n,
  double    energy,
  double    l1,
 double     l2
 )  
È stato utile?

Soluzione

The L1 and L1 are values for changing node color with respect to energy depletion. double l1 = 0.5; double l2 = 0.2;

     if (srcnode) {
         if (srcnode->energy_model()) {
                 energy = srcnode->energy_model()->energy();
                 initenergy = srcnode->energy_model()->initialenergy();
                 l1 = srcnode->energy_model()->level1();
                 l2 = srcnode->energy_model()->level2();
         }
     }

     int energyLevel = 0 ;
     double energyLeft = (double)(energy/initenergy) ;

     if ((energyLeft <= 1 ) && (energyLeft >= l1 )) energyLevel = 3; 
     if ((energyLeft >= l2 ) && (energyLeft < l1 )) energyLevel = 2; 
     if ((energyLeft > 0 ) && (energyLeft < l2 )) energyLevel = 1;   

     if (energyLevel == 0) 
             strcpy(colors,"-c black -o red");
     else if (energyLevel == 1) 
             strcpy(colors,"-c red -o yellow");
     else if (energyLevel == 2) 
             strcpy(colors,"-c yellow -o green");
     else if (energyLevel == 3) 
             strcpy(colors,"-c green -o black");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top