Add channel numbers and RSSI-Values

This commit is contained in:
Moritz 'Morty' Strübe 2013-08-14 16:36:43 +02:00
parent 244b06f25d
commit e292d31640

View file

@ -17,11 +17,12 @@ import javax.swing.*;
import java.awt.*; import java.awt.*;
import java.io.*; import java.io.*;
public class ViewRSSI extends JPanel { public class ViewRSSI extends JPanel {
private int[] rssi = new int[80]; private int[] rssi = new int[80];
private int[] rssiMax = new int[80]; private int[] rssiMax = new int[80];
/* 55 is added by the scanner. 45 is the offset of the CC2420 */
private final int DELTA = -55 -45
/* this is the max value of the RSSI from the cc2420 */ /* this is the max value of the RSSI from the cc2420 */
private static final int RSSI_MAX_VALUE = 200; private static final int RSSI_MAX_VALUE = 200;
@ -30,6 +31,7 @@ public class ViewRSSI extends JPanel {
} }
public void paint(Graphics g) { public void paint(Graphics g) {
int h = getHeight(); int h = getHeight();
int w = getWidth(); int w = getWidth();
double factor = (h - 20.0) / RSSI_MAX_VALUE; double factor = (h - 20.0) / RSSI_MAX_VALUE;
@ -38,6 +40,10 @@ public class ViewRSSI extends JPanel {
if (sWidth == 0) if (sWidth == 0)
sWidth = 1; sWidth = 1;
Graphics2D g2d=(Graphics2D)g;
Font myFont=new Font("Arial", Font.PLAIN, 8);
g2d.setFont( myFont );
g.setColor(Color.white); g.setColor(Color.white);
g.fillRect(0, 0, w, h); g.fillRect(0, 0, w, h);
@ -46,14 +52,19 @@ public class ViewRSSI extends JPanel {
for (int i = 0, n = rssi.length; i < n; i++) { for (int i = 0, n = rssi.length; i < n; i++) {
int rssi = (int) (rssiMax[i] * factor); int rssi = (int) (rssiMax[i] * factor);
g.fillRect((int) xpos, h - 20 - rssi, sWidth, rssi + 1); g.fillRect((int) xpos, h - 20 - rssi, sWidth, rssi + 1);
g2d.drawString(Integer.toString(rssiMax[i] + DELTA), (int)xpos,h - 20 - rssi - 5 );
xpos += sSpacing; xpos += sSpacing;
} }
g.setColor(Color.black);
xpos = 10; xpos = 10;
for (int i = 0, n = rssi.length; i < n; i++) { for (int i = 0, n = rssi.length; i < n; i++) {
g.setColor(Color.black);
int rssiVal = (int) (rssi[i] * factor); int rssiVal = (int) (rssi[i] * factor);
g.fillRect((int) xpos, h - 20 - rssiVal, sWidth, rssiVal + 1); g.fillRect((int) xpos, h - 20 - rssiVal, sWidth, rssiVal + 1);
g2d.drawString(Integer.toString(rssi[i] + DELTA), (int)xpos,h - 20 - rssiVal - 8 );
g.setColor(Color.white);
g2d.drawString(Float.toString((float)i / 5 + (float)56/5), (int)xpos,h - 20 - 5 );
xpos += sSpacing; xpos += sSpacing;
} }
} }