# HG changeset patch # User sl # Date 1404849053 -7200 # Node ID 33e930b11152c7ecc74657889852bc951b4959ca # Parent 36894fc4dad6acd5c04516f0cf3192af8bd5a992 Improving support for device ID and Firmware revision. Untested. diff -r 36894fc4dad6 -r 33e930b11152 FutabaVfd.cpp --- a/FutabaVfd.cpp Tue Jul 08 18:59:41 2014 +0200 +++ b/FutabaVfd.cpp Tue Jul 08 21:50:53 2014 +0200 @@ -84,6 +84,8 @@ iNeedFullFrameUpdate(0), iRequest(EMiniDisplayRequestNone),iPowerOn(false) { + iDeviceId[0]=0; + iFirmwareRevision[0]=0; //ResetBuffers(); } @@ -662,6 +664,16 @@ iPowerOn = false; } } + else if (CurrentRequest()==EMiniDisplayRequestDeviceId) + { + unsigned char* ptr=&iInputReport[1]; + strcpy(iDeviceId,(const char*)ptr); + } + else if (CurrentRequest()==EMiniDisplayRequestFirmwareRevision) + { + unsigned char* ptr=&iInputReport[1]; + strcpy(iFirmwareRevision,(const char*)ptr); + } TMiniDisplayRequest completed=iRequest; //Our request was completed diff -r 36894fc4dad6 -r 33e930b11152 FutabaVfd.h --- a/FutabaVfd.h Tue Jul 08 18:59:41 2014 +0200 +++ b/FutabaVfd.h Tue Jul 08 21:50:53 2014 +0200 @@ -164,6 +164,8 @@ TMiniDisplayRequest AttemptRequestCompletion(); FutabaVfdReport& InputReport() {return iInputReport;} bool PowerOn(){return iPowerOn;} + char* DeviceId(){return iDeviceId;}; + char* FirmwareRevision(){return iFirmwareRevision;}; private: enum DW @@ -205,6 +207,9 @@ //unsigned char *iBackBuffer; TMiniDisplayRequest iRequest; FutabaVfdReport iInputReport; + // + char iDeviceId[KFutabaMaxHidReportSize]; + char iFirmwareRevision[KFutabaMaxHidReportSize]; bool iPowerOn; }; diff -r 36894fc4dad6 -r 33e930b11152 MiniDisplay.cpp --- a/MiniDisplay.cpp Tue Jul 08 18:59:41 2014 +0200 +++ b/MiniDisplay.cpp Tue Jul 08 21:50:53 2014 +0200 @@ -176,3 +176,20 @@ ((GP1212A01A*)aDevice)->CancelRequest(); } +//------------------------------------------------------------- +TMiniDisplayRequest MiniDisplayAttempRequestCompletion(MiniDisplayDevice aDevice) + { + return ((GP1212A01A*)aDevice)->AttemptRequestCompletion(); + } + +//------------------------------------------------------------- +char* MiniDisplayDeviceId(MiniDisplayDevice aDevice) + { + return ((GP1212A01A*)aDevice)->DeviceId(); + } + +//------------------------------------------------------------- +char* MiniDisplayFirmwareRevision(MiniDisplayDevice aDevice) + { + return ((GP1212A01A*)aDevice)->FirmwareRevision(); + } \ No newline at end of file diff -r 36894fc4dad6 -r 33e930b11152 MiniDisplay.h --- a/MiniDisplay.h Tue Jul 08 18:59:41 2014 +0200 +++ b/MiniDisplay.h Tue Jul 08 21:50:53 2014 +0200 @@ -163,5 +163,26 @@ */ extern "C" MDAPI void MiniDisplayCancelRequest(MiniDisplayDevice aDevice); +/** +Attempt request completion. +@param [IN] The device to apply this command to. +*/ +extern "C" MDAPI TMiniDisplayRequest MiniDisplayAttempRequestCompletion(MiniDisplayDevice aDevice); + +/** +Provide device ID. +@param [IN] The device to apply this command to. +@return Device ID name. +*/ +extern "C" MDAPI char* MiniDisplayDeviceId(MiniDisplayDevice aDevice); + +/** +Provide firmware revision. +@param [IN] The device to apply this command to. +@return Firmware revision name. +*/ +extern "C" MDAPI char* MiniDisplayFirmwareRevision(MiniDisplayDevice aDevice); + + #endif