Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

weutil : Changes to support Meru800bia #156

Closed

Conversation

arajeev-ARISTA
Copy link

Summary

Use FIELD_UINT instead of FIELD_HEX to parse CRC16 to be consistent with V4 spec:
parseHex() function is currently used to parse FIELD_HEX values. parseHex() function internally uses std::stoi() to convert the bytes to a hex value. Since the CRC16 bytes are uint values (and not their ASCII equivalent) parseHex() function won’t work. Changing to FIELD_UINT would make sure the right parsing function parseUint() is used.

Introduce a new local variable lastByte in loadEeprom() function to handle large offset values:
This helps to avoid limiting fileSize to a maximum value equal to the buffer size in the line fileSize = fileSize > max ? max : fileSize;. As a result, the offset value can be larger than the buffer size. Previously, the following check caused exceptions whenever the offset exceeded the buffer size

if (offset > fileSize) {
    throw std::runtime_error("Offset exceeds EEPROM size.");
 }

Additionally, lastByte also helps to track the number of bytes to be read when offset value is larger than the buffer size

Store lowercase string in translatedFrom:
In the getEepromPath() function, set translatedFrom to the lowercase string lEeprom. translatedFrom is later used to look up config_.configEntry which stores keys in lowercase.

Testing

Read EEPROM with the command weutil --eeprom SCM --config_file weutil.json

@arajeev-ARISTA
Copy link
Author

Closing as the issues are resolved by other changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants