Skip to content

Commit

Permalink
Version alpha3
Browse files Browse the repository at this point in the history
Itho setting improvements
  • Loading branch information
arjenhiemstra committed Jul 1, 2021
1 parent d2c1acb commit cc9f342
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 8 deletions.
Binary file not shown.
6 changes: 3 additions & 3 deletions software/NRG_itho_wifi/02_HTML.ino
Original file line number Diff line number Diff line change
Expand Up @@ -248,9 +248,9 @@ void handleDebug(AsyncWebServerRequest *request) {
response->print("<button id=\"buttonstatus\" class=\"pure-button pure-button-primary\">Query Status</button><br><span>Result:&nbsp;</span><span id=\'ithostatus\'></span><br><br>");
response->print("<button id=\"button2400\" class=\"pure-button pure-button-primary\">Query 2400</button><br><span>Result:&nbsp;</span><span id=\'itho2400\'></span><br><br>");
response->print("<button id=\"button2401\" class=\"pure-button pure-button-primary\">Query 2401</button><br><span>Result:&nbsp;</span><span id=\'itho2401\'></span><br><br>");
response->print("<button id=\"button2410\" class=\"pure-button pure-button-primary\">Query 2410</button>setting index: <input id=\"itho_setting_id\" type=\"number\" min=\"0\" max=\"254\" size=\"6\" value=\"0\"><br><span>Result:&nbsp;</span><span id=\'itho2410\'></span><br><br>");
response->print("<span style=\"color:red\">Warning!!<br> \"Set 2410\" changes settings on you itho unit<br>Use with care and use only if you know what you are doing!</span><br>");
response->print("<button id=\"button2410set\" class=\"pure-button pure-button-primary\">Set 2410</button>setting index: <input id=\"itho_setting_id_set\" type=\"number\" min=\"0\" max=\"254\" size=\"6\" value=\"0\"> setting value: <input id=\"itho_setting_value_set\" type=\"number\" min=\"0\" max=\"4294967295\" size=\"10\" value=\"0\"><br><span>Sent command:&nbsp;</span><span id=\'itho2410set\'></span><br><span>Result:&nbsp;</span><span id=\'itho2410setres\'></span><br>");
response->print("<button id=\"button2410\" class=\"pure-button pure-button-primary\">Query 2410</button>setting index: <input id=\"itho_setting_id\" type=\"number\" min=\"0\" max=\"254\" size=\"6\" value=\"0\"><br><span>Result:&nbsp;</span><span id=\'itho2410\'></span><br><span>Current:&nbsp;</span><span id=\'itho2410cur\'></span><br><span>Minimum value:&nbsp;</span><span id=\'itho2410min\'></span><br><span>Maximum value:&nbsp;</span><span id=\'itho2410max\'></span><br><br>");
response->print("<span style=\"color:red\">Warning!!<br> \"Set 2410\" changes the settings of your itho unit<br>Use with care and use only if you know what you are doing!</span><br>");
response->print("<button id=\"button2410set\" class=\"pure-button pure-button-primary\">Set 2410</button>setting index: <input id=\"itho_setting_id_set\" type=\"number\" min=\"0\" max=\"254\" size=\"6\" value=\"0\"> setting value: <input id=\"itho_setting_value_set\" type=\"number\" min=\"-2147483647\" max=\"2147483647\" size=\"10\" value=\"0\"><br><span>Sent command:&nbsp;</span><span id=\'itho2410set\'></span><br><span>Result:&nbsp;</span><span id=\'itho2410setres\'></span><br>");
response->print("<span style=\"color:red\">Warning!!</span><br><br>");
response->print("<button id=\"button31DA\" class=\"pure-button pure-button-primary\">Query 31DA</button><br><span>Result:&nbsp;</span><span id=\'itho31DA\'></span><br><br>");
response->print("<button id=\"button31D9\" class=\"pure-button pure-button-primary\">Query 31D9</button><br><span>Result:&nbsp;</span><span id=\'itho31D9\'></span><br>");
Expand Down
2 changes: 1 addition & 1 deletion software/NRG_itho_wifi/06_Websock_func.ino
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT
}
else if (val == 24109) {
uint8_t index = root["index"];
uint32_t value = root["value"];
int32_t value = root["value"];
setSetting2410(index, value);
}
else if (val == 12762) {
Expand Down
26 changes: 24 additions & 2 deletions software/NRG_itho_wifi/10_Gen_func.ino
Original file line number Diff line number Diff line change
Expand Up @@ -802,6 +802,28 @@ void sendQuery2410(uint8_t settingID) {
callback_called = false;
jsonSysmessage("itho2410", i2c_slave_buf);

int32_t curVal = i2c_slave_data[6] << 24; //6,7,8,9
curVal |= i2c_slave_data[7] << 16;
curVal |= i2c_slave_data[8] << 8;
curVal |= i2c_slave_data[9];
int32_t minVal = i2c_slave_data[10] << 24; //10,11,12,13
minVal |= i2c_slave_data[11] << 16;
minVal |= i2c_slave_data[12] << 8;
minVal |= i2c_slave_data[13];
int32_t maxVal = i2c_slave_data[14] << 24; //14,15,16,17
maxVal |= i2c_slave_data[15] << 16;
maxVal |= i2c_slave_data[16] << 8;
maxVal |= i2c_slave_data[17];

char tempbuffer[256];

sprintf(tempbuffer, "%ld", curVal);
jsonSysmessage("itho2410cur", tempbuffer);
sprintf(tempbuffer, "%ld", minVal);
jsonSysmessage("itho2410min", tempbuffer);
sprintf(tempbuffer, "%ld", maxVal);
jsonSysmessage("itho2410max", tempbuffer);

}
else {
jsonSysmessage("itho2410", "failed");
Expand All @@ -813,14 +835,14 @@ void sendQuery2410(uint8_t settingID) {
}


void setSetting2410(uint8_t settingID, uint32_t value) {
void setSetting2410(uint8_t settingID, int32_t value) {

if (settingID == 7 && value == 1) {
jsonSysmessage("itho2410set", "Warning: command ignored!");
jsonSysmessage("itho2410setres", "Setting index 7 to 1 will switch off I2C!");
return;
}

uint8_t command[] = { 0x82, 0x80, 0x24, 0x10, 0x06, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF };

command[23] = settingID;
Expand Down
2 changes: 1 addition & 1 deletion software/NRG_itho_wifi/NRG_itho_wifi.ino
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#define FWVERSION "2.3-alpha2"
#define FWVERSION "2.3-alpha3"

#define LOGGING_INTERVAL 21600000 //Log system status at regular intervals
#define ENABLE_FAILSAVE_BOOT
Expand Down
8 changes: 7 additions & 1 deletion software/NRG_itho_wifi/i2c_esp32.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,12 @@ bool i2c_sendCmd(uint8_t addr, const uint8_t* cmd, size_t len) {
}

void i2c_slave_callback(const uint8_t* data, size_t len) {

for(uint16_t i=0;i<I2C_SLAVE_RX_BUF_LEN;i++) {
i2c_slave_data[i] = 0;
}
for(uint16_t i=0;i<len;i++) {
i2c_slave_data[i] = data[i];
}
std::string s;
s.reserve(len * 3 + 2);
for (size_t i = 0; i < len; ++i) {
Expand Down Expand Up @@ -211,3 +216,4 @@ void i2c_slave_deinit() {

bool callback_called = false;
char i2c_slave_buf[I2C_SLAVE_RX_BUF_LEN];
uint8_t i2c_slave_data[I2C_SLAVE_RX_BUF_LEN];
1 change: 1 addition & 0 deletions software/NRG_itho_wifi/i2c_esp32.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,4 @@ void i2c_slave_callback(const uint8_t* data, size_t len);
char toHex(uint8_t c);
extern bool callback_called;
extern char i2c_slave_buf[I2C_SLAVE_RX_BUF_LEN];
extern uint8_t i2c_slave_data[I2C_SLAVE_RX_BUF_LEN];

0 comments on commit cc9f342

Please sign in to comment.