Simple test

Ensure your device works with this simple test.

examples/ina23x_simpletest.py
 1# SPDX-FileCopyrightText: Copyright (c) 2025 Liz Clark for Adafruit Industries
 2#
 3# SPDX-License-Identifier: MIT
 4
 5"""Adafruit CircuitPython INA23x Simpletest"""
 6
 7import time
 8
 9import adafruit_ina228
10import board
11
12import adafruit_ina23x
13
14# Create I2C bus
15i2c = board.I2C()
16
17# Create INA237/238 instance
18ina23x = adafruit_ina23x.INA23X(i2c)
19
20# Configure the sensor (optional - these are just examples)
21# ina23x.set_calibration(0.015, 10.0)  # Default values
22# ina23x.mode = adafruit_ina228.Mode.CONTINUOUS  # Already default
23# ina23x.averaging_count = adafruit_ina228.AveragingCount.COUNT_4
24
25conv_times = [50, 84, 150, 280, 540, 1052, 2074, 4120]
26avg_counts = [1, 4, 16, 64, 128, 256, 512, 1024]
27
28print("CircuitPython INA23x Test")
29print(f"Bus conversion time: {conv_times[ina23x.bus_voltage_conv_time]} microseconds")
30print(f"Shunt conversion time: {conv_times[ina23x.shunt_voltage_conv_time]} microseconds")
31print(f"Samples averaged: {avg_counts[ina23x.averaging_count]}")
32print()
33
34while True:
35    print(f"Current: {ina23x.current * 1000:.2f} mA")
36    print(f"Bus Voltage: {ina23x.bus_voltage:.2f} V")
37    print(f"Shunt Voltage: {ina23x.shunt_voltage * 1000:.2f} mV")
38    print(f"Power: {ina23x.power * 1000:.2f} mW")
39    print(f"Temperature: {ina23x.die_temperature:.2f} °C")
40    print()
41
42    # Check if conversion is ready (useful in triggered mode)
43    # if ina23x.conversion_ready:
44    #     print("Conversion ready!")
45
46    time.sleep(2)