mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-12 09:48:35 -07:00
Move plugins to external folder
This commit is contained in:
35
applications/external/flipper_i2ctools/i2cscanner.c
vendored
Normal file
35
applications/external/flipper_i2ctools/i2cscanner.c
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
#include "i2cscanner.h"
|
||||
|
||||
void scan_i2c_bus(i2cScanner* i2c_scanner) {
|
||||
i2c_scanner->nb_found = 0;
|
||||
i2c_scanner->scanned = true;
|
||||
// Get the bus
|
||||
furi_hal_i2c_acquire(I2C_BUS);
|
||||
// scan
|
||||
for(uint8_t addr = 0x01; addr <= MAX_I2C_ADDR << 1; addr++) {
|
||||
// Check for peripherals
|
||||
if(furi_hal_i2c_is_device_ready(I2C_BUS, addr, I2C_TIMEOUT)) {
|
||||
// skip even 8-bit addr
|
||||
if(addr % 2 != 0) {
|
||||
continue;
|
||||
}
|
||||
// convert addr to 7-bits
|
||||
i2c_scanner->addresses[i2c_scanner->nb_found] = addr >> 1;
|
||||
i2c_scanner->nb_found++;
|
||||
}
|
||||
}
|
||||
furi_hal_i2c_release(I2C_BUS);
|
||||
}
|
||||
|
||||
i2cScanner* i2c_scanner_alloc() {
|
||||
i2cScanner* i2c_scanner = malloc(sizeof(i2cScanner));
|
||||
i2c_scanner->nb_found = 0;
|
||||
i2c_scanner->menu_index = 0;
|
||||
i2c_scanner->scanned = false;
|
||||
return i2c_scanner;
|
||||
}
|
||||
|
||||
void i2c_scanner_free(i2cScanner* i2c_scanner) {
|
||||
furi_assert(i2c_scanner);
|
||||
free(i2c_scanner);
|
||||
}
|
||||
Reference in New Issue
Block a user