diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/i2c.c | 11 | ||||
-rw-r--r-- | main/sock.c | 1 |
2 files changed, 9 insertions, 3 deletions
@@ -75,7 +75,8 @@ int write_read_i2c(uint8_t addr, uint8_t *input, size_t input_len, uint8_t *outp uint8_t* scan_bus(uint8_t *array) { int ret; int i = 0; - uint8_t* rxdata, handshake_data; + uint8_t * rxdata; + uint8_t * handshake_data; init_addr_array(array, MAX_SLAVES); for(int addr = 1; addr < (1<<7); addr++) { @@ -85,15 +86,19 @@ uint8_t* scan_bus(uint8_t *array) { if ( ret <= 0 ) continue; - printf("found possible i2c slave on addr: %d\n", addr); + char buf[80]; + size_t s = snprintf(buf, 80,"found i2c puzzle module at address: 0x%02x\n", addr); + netconn_write(current_connection, buf, s, NETCONN_COPY); + printf("%.*s", s, buf); // do handshake - ret = write_read_i2c(addr, (uint8_t*)pb_magic_msg, sizeof(pb_magic_msg), &handshake_data, sizeof(pb_magic_res)); // fix data + length + everything + ret = write_read_i2c(addr, (uint8_t*)pb_magic_msg, sizeof(pb_magic_msg), handshake_data, sizeof(pb_magic_res)); // fix data + length + everything if ( ret != sizeof(pb_magic_res)) continue; if ( ret > 0 && (memcmp(handshake_data, pb_magic_res, sizeof(pb_magic_res)) == 0)) { + printf("this was an actual device!!!1111!\n"); char buf[80]; size_t s = snprintf(buf, 80,"found i2c puzzle module at address: 0x%02x\n"); netconn_write(current_connection, buf, s, NETCONN_COPY); diff --git a/main/sock.c b/main/sock.c index 1913698..af25d97 100644 --- a/main/sock.c +++ b/main/sock.c @@ -53,6 +53,7 @@ void recv_handler(struct netconn* conn, struct netbuf* buf) { uint16_t len; netbuf_data(buf, (void**)&data, &len); + printf("now scanning the bus!!!!\n"); scan_bus(found); // continue early if more data is needed to complete message |