FM: Add support to get rssi, sinr for Silabs FM.
Add support to get rssi, sinr from RF Stats application
for Silabs FM solution.
Change-Id: I7797560f0724f7376369e65159548e63e00c9aa9
CRs-fixed: 725041
diff --git a/fmapp2/res/values/arrays.xml b/fmapp2/res/values/arrays.xml
index 6686eb8..a1216f4 100644
--- a/fmapp2/res/values/arrays.xml
+++ b/fmapp2/res/values/arrays.xml
@@ -375,6 +375,7 @@
<item> Get AFJumpRssi Threshold</item>
<item> Set RDS FIFO count</item>
<item> Get RDS FIFO count</item>
+ <item> RF Statistics</item>
</string-array>
<string-array name="stats_options">
diff --git a/fmapp2/src/com/caf/fmradio/FMStats.java b/fmapp2/src/com/caf/fmradio/FMStats.java
index 38099ea..6347096 100644
--- a/fmapp2/src/com/caf/fmradio/FMStats.java
+++ b/fmapp2/src/com/caf/fmradio/FMStats.java
@@ -337,12 +337,18 @@
/*Initialize the column header with
constant values*/
- mColumnHeader.setFreq("Freq");
- mColumnHeader.setRSSI("RMSSI");
- mColumnHeader.setIoC("IoC");
- mColumnHeader.setSINR("SINR");
- mColumnHeader.setMpxDcc("Offset");
- mColumnHeader.setIntDet("IntDet");
+ if (isRomeChip()) {
+ mColumnHeader.setFreq("Freq");
+ mColumnHeader.setRSSI("RMSSI");
+ mColumnHeader.setSINR("SINR");
+ } else {
+ mColumnHeader.setFreq("Freq");
+ mColumnHeader.setRSSI("RMSSI");
+ mColumnHeader.setIoC("IoC");
+ mColumnHeader.setSINR("SINR");
+ mColumnHeader.setMpxDcc("Offset");
+ mColumnHeader.setIntDet("IntDet");
+ }
bandSweepSettingButton = (TextView)findViewById(R.id.BandSweepSetting);
if(bandSweepSettingButton != null) {
@@ -510,10 +516,6 @@
(mSpinCfgRfListener1);
break;
case 2:
- /* RF statics option is for non-Silabs targets */
- if (isRomeChip())
- break;
-
txtbox1 = (EditText)findViewById(R.id.txtbox1);
tv1 = (TextView)findViewById(R.id.label);
if(txtbox1 != null) {
@@ -1773,8 +1775,7 @@
tv1.setText(" " + String.valueOf(ret));
}
break;
-/*
- case 2:
+ case 8:
tLayout.removeAllViewsInLayout();
mNewRowIds = NEW_ROW_ID;
tLayout.setVisibility(View.VISIBLE);
@@ -1793,7 +1794,6 @@
spinOptionFmRf.setOnItemSelectedListener(
mSpinRfCfgListener);
break;
-*/
}
}
@@ -1917,12 +1917,15 @@
colRMSSI.setWidth(width/4);
tr2.addView(colRMSSI);
- TextView colIoC = new TextView(getApplicationContext());
- colIoC.setText(aRes.getIoC());
- colIoC.setTextSize(TypedValue.COMPLEX_UNIT_SP, 25);
- colIoC.setWidth(width/4);
- tr2.addView(colIoC);
- if(isTransportLayerSMD())
+ if(!isRomeChip()) {
+ TextView colIoC = new TextView(getApplicationContext());
+ colIoC.setText(aRes.getIoC());
+ colIoC.setTextSize(TypedValue.COMPLEX_UNIT_SP, 25);
+ colIoC.setWidth(width/4);
+ tr2.addView(colIoC);
+ }
+
+ if(isTransportLayerSMD() || isRomeChip())
{
TextView colSINR = new TextView(getApplicationContext());
colSINR.setText(aRes.getSINR());
@@ -1948,9 +1951,13 @@
StringBuilder tempStr = new StringBuilder();
tempStr.append(String.format("%10s", aRes.getFreq()));
tempStr.append(String.format("%10s", aRes.getRSSI()));
- tempStr.append(String.format("%10s", aRes.getIoC()));
- tempStr.append(String.format("%10s", aRes.getIntDet()));
- if(isTransportLayerSMD())
+
+ if(!isRomeChip()) {
+ tempStr.append(String.format("%10s", aRes.getIoC()));
+ tempStr.append(String.format("%10s", aRes.getIntDet()));
+ }
+
+ if(isTransportLayerSMD() || isRomeChip())
{
tempStr.append(String.format("%10s", aRes.getSINR()));
} else
@@ -2245,19 +2252,21 @@
e.printStackTrace();
}
- try {
- nIoC = mService.getIoC();
- if (nIoC != Integer.MAX_VALUE)
- result.setIoC(Integer.toString(nIoC));
- else
- return null;
- } catch (RemoteException e) {
- e.printStackTrace();
- } catch(Exception e) {
- e.printStackTrace();
+ if(!isRomeChip()) {
+ try {
+ nIoC = mService.getIoC();
+ if (nIoC != Integer.MAX_VALUE)
+ result.setIoC(Integer.toString(nIoC));
+ else
+ return null;
+ } catch (RemoteException e) {
+ e.printStackTrace();
+ } catch(Exception e) {
+ e.printStackTrace();
+ }
}
- if(isTransportLayerSMD()) {
+ if(isTransportLayerSMD() || isRomeChip()) {
try {
dummy = mService.getSINR();
if (dummy != Integer.MAX_VALUE) {
@@ -2285,16 +2294,18 @@
}
}
- try {
- nIntDet = mService.getIntDet();
- if (nIntDet != Integer.MAX_VALUE)
- result.setIntDet(Integer.toString(nIntDet));
- else
- return null;
- } catch (RemoteException e) {
- e.printStackTrace();
- }catch (Exception e) {
- e.printStackTrace();
+ if(!isRomeChip()) {
+ try {
+ nIntDet = mService.getIntDet();
+ if (nIntDet != Integer.MAX_VALUE)
+ result.setIntDet(Integer.toString(nIntDet));
+ else
+ return null;
+ } catch (RemoteException e) {
+ e.printStackTrace();
+ }catch (Exception e) {
+ e.printStackTrace();
+ }
}
} else {
return null;