diff options
author | Andrew Duggan <aduggan@synaptics.com> | 2014-08-05 13:59:55 -0700 |
---|---|---|
committer | Andrew Duggan <aduggan@synaptics.com> | 2014-08-05 13:59:55 -0700 |
commit | 777d012aadce5220c1445b8923d86e95fcc60128 (patch) | |
tree | 6c6bcd3ae4024964e07a532617e981a9c4a2914a | |
parent | 049b787b111c2d2dd0fbc04e51e40522a66b6930 (diff) | |
download | platform_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.cpp | 8 | ||||
-rw-r--r-- | rmidevice/rmidevice.h | 6 |
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; |