Expose hardware config size and user config size as system properties.

This commit is contained in:
László Monda
2017-07-23 20:20:13 +02:00
parent c5abbdcd54
commit c3d9938192
2 changed files with 13 additions and 1 deletions

View File

@@ -15,6 +15,8 @@
SystemPropertyId_BridgeProtocolVersion = 1, SystemPropertyId_BridgeProtocolVersion = 1,
SystemPropertyId_DataModelVersion = 2, SystemPropertyId_DataModelVersion = 2,
SystemPropertyId_FirmwareVersion = 3, SystemPropertyId_FirmwareVersion = 3,
SystemPropertyId_HardwareConfigSize = 4,
SystemPropertyId_UserConfigSize = 5,
} system_property_t; } system_property_t;
#endif #endif

View File

@@ -24,12 +24,16 @@ void setGenericError(void)
setError(UsbResponse_GenericError); setError(UsbResponse_GenericError);
} }
// Set a single byte as the response.
void SetResponseByte(uint8_t response) void SetResponseByte(uint8_t response)
{ {
GenericHidOutBuffer[1] = response; GenericHidOutBuffer[1] = response;
} }
void SetResponseWord(uint16_t response)
{
*((uint16_t*)(GenericHidOutBuffer+1)) = response;
}
// Per command protocol command handlers // Per command protocol command handlers
void getSystemProperty(void) { void getSystemProperty(void) {
@@ -48,6 +52,12 @@ void getSystemProperty(void) {
case SystemPropertyId_FirmwareVersion: case SystemPropertyId_FirmwareVersion:
SetResponseByte(SYSTEM_PROPERTY_FIRMWARE_VERSION); SetResponseByte(SYSTEM_PROPERTY_FIRMWARE_VERSION);
break; break;
case SystemPropertyId_HardwareConfigSize:
SetResponseWord(HARDWARE_CONFIG_SIZE);
break;
case SystemPropertyId_UserConfigSize:
SetResponseWord(USER_CONFIG_SIZE);
break;
default: default:
setGenericError(); setGenericError();
break; break;