aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Duggan <aduggan@synaptics.com>2014-08-05 13:59:55 -0700
committerAndrew Duggan <aduggan@synaptics.com>2014-08-05 13:59:55 -0700
commit777d012aadce5220c1445b8923d86e95fcc60128 (patch)
tree6c6bcd3ae4024964e07a532617e981a9c4a2914a
parent049b787b111c2d2dd0fbc04e51e40522a66b6930 (diff)
downloadplatform_external_rmi4utils-777d012aadce5220c1445b8923d86e95fcc60128.tar.gz
platform_external_rmi4utils-777d012aadce5220c1445b8923d86e95fcc60128.tar.bz2
platform_external_rmi4utils-777d012aadce5220c1445b8923d86e95fcc60128.zip
Product Info is essentially the major and minor version of the firmware
-rw-r--r--rmidevice/rmidevice.cpp8
-rw-r--r--rmidevice/rmidevice.h6
2 files changed, 9 insertions, 5 deletions
diff --git a/rmidevice/rmidevice.cpp b/rmidevice/rmidevice.cpp
index 28607fa..11665a1 100644
--- a/rmidevice/rmidevice.cpp
+++ b/rmidevice/rmidevice.cpp
@@ -19,6 +19,7 @@
#include <time.h>
#include <string.h>
#include <errno.h>
+#include <stdlib.h>
#include "rmidevice.h"
@@ -29,7 +30,6 @@
#define RMI_DEVICE_PAGE_SCAN_START 0x00e9
#define RMI_DEVICE_PAGE_SCAN_END 0x0005
#define RMI_DEVICE_F01_BASIC_QUERY_LEN 11
-#define RMI_DEVICE_F01_PRODUCTINFO_MASK 0x7f
#define RMI_DEVICE_F01_QRY5_YEAR_MASK 0x1f
#define RMI_DEVICE_F01_QRY6_MONTH_MASK 0x0f
#define RMI_DEVICE_F01_QRY7_DAY_MASK 0x1f
@@ -94,8 +94,8 @@ int RMIDevice::QueryBasicProperties()
m_hasAdjustableDoze = basicQuery[1] & RMI_DEVICE_F01_QRY1_HAS_ADJ_DOZE;
m_hasAdjustableDozeHoldoff = basicQuery[1] & RMI_DEVICE_F01_QRY1_HAS_ADJ_DOZE_HOFF;
m_hasQuery42 = basicQuery[1] & RMI_DEVICE_F01_QRY1_HAS_PROPS_2;
- m_productInfo = ((basicQuery[2] & RMI_DEVICE_F01_PRODUCTINFO_MASK) << 7) |
- (basicQuery[3] & RMI_DEVICE_F01_PRODUCTINFO_MASK);
+ m_firmwareVersionMajor = basicQuery[2];
+ m_firmwareVersionMinor = basicQuery[3];
snprintf(m_dom, sizeof(m_dom), "20%02d/%02d/%02d",
basicQuery[5] & RMI_DEVICE_F01_QRY5_YEAR_MASK,
@@ -197,7 +197,7 @@ void RMIDevice::PrintProperties()
fprintf(stdout, "Has Query 42?:\t\t%d\n", m_hasQuery42);
fprintf(stdout, "Date of Manufacturer:\t%s\n", m_dom);
fprintf(stdout, "Product ID:\t\t%s\n", m_productID);
- fprintf(stdout, "Product Info:\t\t%d\n", m_productInfo);
+ fprintf(stdout, "Firmware Version:\t%d.%d\n", m_firmwareVersionMajor, m_firmwareVersionMinor);
fprintf(stdout, "Package ID:\t\t%d\n", m_packageID);
fprintf(stdout, "Package Rev:\t\t%d\n", m_packageRev);
fprintf(stdout, "Build ID:\t\t%ld\n", m_buildID);
diff --git a/rmidevice/rmidevice.h b/rmidevice/rmidevice.h
index db10c5c..40ddd75 100644
--- a/rmidevice/rmidevice.h
+++ b/rmidevice/rmidevice.h
@@ -44,6 +44,8 @@ public:
virtual void Cancel() { m_bCancel = true; }
unsigned long GetFirmwareID() { return m_buildID; }
+ int GetFirmwareVersionMajor() { return m_firmwareVersionMajor; }
+ int GetFirmwareVersionMinor() { return m_firmwareVersionMinor; }
virtual int QueryBasicProperties();
int SetRMIPage(unsigned char page);
@@ -67,13 +69,15 @@ protected:
bool m_hasQuery42;
char m_dom[11];
unsigned char m_productID[RMI_PRODUCT_ID_LENGTH + 1];
- unsigned short m_productInfo;
unsigned short m_packageID;
unsigned short m_packageRev;
unsigned long m_buildID;
unsigned char m_sensorID;
unsigned long m_boardID;
+ int m_firmwareVersionMajor;
+ int m_firmwareVersionMinor;
+
bool m_hasDS4Queries;
bool m_hasMultiPhysical;