Add More Debug Output for HM330x

This commit is contained in:
seiichiro 2021-05-23 11:00:16 +02:00
parent 9f9141c5f0
commit 6f7f97c26f

View file

@ -39,10 +39,12 @@ void HM330x::initialize(void) {
DEBUG_PRINTLN("HM330x::initialize"); DEBUG_PRINTLN("HM330x::initialize");
// Send select command // Send select command
while (!sendCmd(HM330x_SELECT)) { while (!sendCmd(HM330x_SELECT)) {
if (retryCount++ >= 0) { if (retryCount++ >= 10) {
DEBUG_PRINTLN("HM330x::initialize Select Failed!");
return; return;
} else { } else {
delay(100); delay(500);
DEBUG_PRINTLN("HM330x::initialize Retrying Select...");
} }
} }
} }
@ -61,8 +63,13 @@ uint8_t HM330x::getSensorData(char *payload, uint8_t startbyte) {
// Get Data from the Sensors // Get Data from the Sensors
Wire.requestFrom(HM330x_ADDR, HM330x_DATA_LEN); Wire.requestFrom(HM330x_ADDR, HM330x_DATA_LEN);
if (Wire.available()) { if (Wire.available()) {
for (uint8_t i = 0; i<HM330x_DATA_LEN; i++) DEBUG_PRINT("HM330x::getSensorData reading I2C:")
for (uint8_t i = 0; i<HM330x_DATA_LEN; i++){
data[i] = Wire.read(); data[i] = Wire.read();
DEBUG_PRINT(" 0x");
DEBUG_PRINT(data[i], HEX);
}
DEBUG_PRINTLN("");
if (calcSum(data) == data[HM330x_DATA_LEN-1]) { if (calcSum(data) == data[HM330x_DATA_LEN-1]) {
for (uint8_t pos = 5; pos<8; pos++) { for (uint8_t pos = 5; pos<8; pos++) {
@ -78,6 +85,8 @@ uint8_t HM330x::getSensorData(char *payload, uint8_t startbyte) {
// Send only a Command // Send only a Command
bool HM330x::sendCmd(uint8_t cmd) { bool HM330x::sendCmd(uint8_t cmd) {
DEBUG_PRINT("HM330x::sendCmd: 0x")
DEBUG_PRINTLN(cmd, HEX);
Wire.beginTransmission(HM330x_ADDR); Wire.beginTransmission(HM330x_ADDR);
Wire.write(cmd); Wire.write(cmd);
return Wire.endTransmission(); return Wire.endTransmission();
@ -89,6 +98,8 @@ uint8_t HM330x::calcSum(uint8_t bytes[]) {
for (int i = 0; i < HM330x_DATA_LEN - 1; i++) { for (int i = 0; i < HM330x_DATA_LEN - 1; i++) {
checksum += bytes[i]; checksum += bytes[i];
} }
DEBUG_PRINT("HM330x::calcSum: 0x");
DEBUG_PRINTLN(checksum, HEX);
return checksum; return checksum;
} }