Cooja: Add LQI-Support to DGRM
This commit is contained in:
parent
610f6cba14
commit
80e7a6fd8c
|
@ -382,6 +382,20 @@ public class Msp802154Radio extends Radio implements CustomDataRadio {
|
||||||
rssiLastCounter = 8;
|
rssiLastCounter = 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* This will set the CORR-value of the CC2420
|
||||||
|
*
|
||||||
|
* @see se.sics.cooja.interfaces.Radio#setLQI(int)
|
||||||
|
*/
|
||||||
|
public void setLQI(int lqi){
|
||||||
|
radio.setLQI(lqi);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getLQI(){
|
||||||
|
return radio.getLQI();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public Mote getMote() {
|
public Mote getMote() {
|
||||||
return mote;
|
return mote;
|
||||||
}
|
}
|
||||||
|
|
|
@ -170,6 +170,25 @@ public abstract class Radio extends MoteInterface {
|
||||||
*/
|
*/
|
||||||
public abstract int getOutputPowerIndicatorMax();
|
public abstract int getOutputPowerIndicatorMax();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the current LQI-value. This might differ from platform to platform
|
||||||
|
* @return Current LQI value.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public int getLQI() throws UnsupportedOperationException {
|
||||||
|
throw new UnsupportedOperationException();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the LQI. This in not supported by all platforms. Also results may differ
|
||||||
|
* from platform to platform.
|
||||||
|
*
|
||||||
|
* @param lqi The current LQI
|
||||||
|
*/
|
||||||
|
public void setLQI(int lqi){
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Current surrounding signal strength
|
* @return Current surrounding signal strength
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -173,13 +173,19 @@ public class DirectedGraphMedium extends AbstractRadioMedium {
|
||||||
conn.getSource().setCurrentSignalStrength(SS_STRONG);
|
conn.getSource().setCurrentSignalStrength(SS_STRONG);
|
||||||
}
|
}
|
||||||
//Maximum reception signal of all possible radios received
|
//Maximum reception signal of all possible radios received
|
||||||
DGRMDestinationRadio dstRadios[] = edgesTable.get(conn.getSource());
|
DGRMDestinationRadio dstRadios[] = getPotentialDestinations(conn.getSource());
|
||||||
if (dstRadios == null) continue;
|
if (dstRadios == null) continue;
|
||||||
for (DGRMDestinationRadio dstRadio : dstRadios) {
|
for (DGRMDestinationRadio dstRadio : dstRadios) {
|
||||||
if (dstRadio.radio.getCurrentSignalStrength() < dstRadio.signal) {
|
if (dstRadio.radio.getCurrentSignalStrength() < dstRadio.signal) {
|
||||||
dstRadio.radio.setCurrentSignalStrength(dstRadio.signal);
|
dstRadio.radio.setCurrentSignalStrength(dstRadio.signal);
|
||||||
}
|
}
|
||||||
|
/* We can set this without further checks, as it will only be read
|
||||||
|
* if a packet is actually received. In that case it is set to the
|
||||||
|
* correct value */
|
||||||
|
dstRadio.radio.setLQI(dstRadio.lqi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue