supla-device
Loading...
Searching...
No Matches
i2cscanner.h
1/*
2 Copyright (C) malarz
3
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU General Public License
6 as published by the Free Software Foundation; either version 2
7 of the License, or (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17*/
18
19#ifndef SRC_SUPLA_NETWORK_HTML_I2CSCANNER_H_
20#define SRC_SUPLA_NETWORK_HTML_I2CSCANNER_H_
21
22#include <Wire.h>
23
24namespace Supla {
25namespace Html {
26
33class I2Cscanner : public Supla::HtmlElement {
34 public:
35 I2Cscanner() : HtmlElement(HTML_SECTION_DEVICE_INFO) {}
36
37 void send(Supla::WebSender* sender) {
38 sender->send("<span>");
39 sender->send("<br>I2C:");
40 for (uint8_t address = 1; address < 127; address++) {
41 Wire.beginTransmission(address);
42 uint8_t error = Wire.endTransmission();
43 char buffer[6];
44 if (error == 0) {
45 snprintf(buffer, sizeof(buffer), " 0x%2x", address);
46 sender->send(buffer, 5);
47 }
48 }
49 sender->send("</span>");
50 }
51}; // I2Cscanner
52
53} // namespace Html
54} // namespace Supla
55
56#endif // SRC_SUPLA_NETWORK_HTML_I2CSCANNER_H_
Definition html_element.h:36
Definition web_sender.h:26