From 810e5312295a7ecfb162649b91740246f9535896 Mon Sep 17 00:00:00 2001
From: "remi.clement@inrae.fr" <remi.clement@inrae.fr>
Date: Wed, 26 Oct 2022 10:11:39 +0200
Subject: [PATCH] add some hardware test dev file

---
 test.py        | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++
 test_dps.py    | 22 ++++++++++++++++++++++
 test_relays.py | 22 ++++++++++++++++++++++
 3 files changed, 95 insertions(+)
 create mode 100644 test.py
 create mode 100644 test_dps.py
 create mode 100644 test_relays.py

diff --git a/test.py b/test.py
new file mode 100644
index 00000000..9048f56e
--- /dev/null
+++ b/test.py
@@ -0,0 +1,51 @@
+from ohmpi import OhmPi
+import matplotlib.pyplot as plt
+import numpy as np
+
+k = OhmPi(idps=True)
+k.rs_check()
+
+x = []
+for i in range(1):
+    out = k.run_measurement(injection_duration=0.5, nb_stack=1, tx_volt=0, autogain=True, best_tx_injtime=0.2)
+    x.append(out['R [ohm]'])
+
+
+data = out['fulldata']
+inan = ~np.isnan(data[:,0])
+
+if True:
+    plt.plot(data[inan,2], data[inan,0], '.-', label='current [mA]')
+    plt.plot(data[inan,2], data[inan,1], '.-', label='voltage [mV]')
+    plt.legend()
+    plt.show()
+
+
+if False:
+    from numpy.fft import fft, ifft
+
+    x = data[inan, 1][10:300]
+    t = np.linspace(0, len(x)*4, len(x))
+    sr = 1/0.004
+
+    X = fft(x)
+    N = len(X)
+    n = np.arange(N)
+    T = N/sr
+    freq = n/T 
+
+    plt.figure(figsize = (12, 6))
+    plt.subplot(121)
+
+    plt.stem(freq, np.abs(X), 'b', \
+             markerfmt=" ", basefmt="-b")
+    plt.xlabel('Freq (Hz)')
+    plt.ylabel('FFT Amplitude |X(freq)|')
+    #plt.xlim(0, 10)
+
+    plt.subplot(122)
+    plt.plot(t, ifft(X), 'r')
+    plt.xlabel('Time (s)')
+    plt.ylabel('Amplitude')
+    plt.tight_layout()
+    plt.show()
diff --git a/test_dps.py b/test_dps.py
new file mode 100644
index 00000000..d52462fb
--- /dev/null
+++ b/test_dps.py
@@ -0,0 +1,22 @@
+import board  # noqa
+import busio  # noqa
+import time
+import adafruit_ads1x15.ads1115 as ads  # noqa
+from adafruit_ads1x15.analog_in import AnalogIn 
+from adafruit_mcp230xx.mcp23008 import MCP23008  # noqa
+import digitalio  # noqa
+from digitalio import Direction  # noqa
+from gpiozero import CPUTemperature  # noqa
+import minimalmodbus
+
+#Initialisation du module d'injection de current
+DPS = minimalmodbus.Instrument(port='/dev/ttyUSB0', slaveaddress=1) # port name, slave address (in decimal)
+DPS.serial.baudrate = 9600                      # Baud rate 9600 as listed in doc
+DPS.serial.bytesize = 8                         # 
+DPS.serial.timeout  = 1                         # > a 0.5 pour que cela fonctionne
+DPS.debug           = False                     # 
+DPS.serial.parity   = 'N'                       # No parity
+DPS.mode            = minimalmodbus.MODE_RTU    # RTU mode
+
+DPS.write_register(0x0001, 40, 0)  # (last number) 0 is for mA, 3 is for A
+DPS.write_register(0x0000, 5, 0)  self.DPS.write_register(0x0000, tx_volt, 2)
\ No newline at end of file
diff --git a/test_relays.py b/test_relays.py
new file mode 100644
index 00000000..9d5f1356
--- /dev/null
+++ b/test_relays.py
@@ -0,0 +1,22 @@
+import board  # noqa
+import busio  # noqa
+import time
+from adafruit_mcp230xx.mcp23008 import MCP23008  # noqa
+from digitalio import Direction  # noqa
+
+
+i2c = busio.I2C(board.SCL, board.SDA)
+mcp = MCP23008(i2c, address=0x20)
+
+pin0 = mcp.get_pin(0)
+pin0.direction = Direction.OUTPUT
+pin1 = mcp.get_pin(1)
+pin1.direction = Direction.OUTPUT
+
+
+pin0.value = False
+pin1.value = False
+
+pin0.value = True
+pin1.value = False
+time.sleep(2)
-- 
GitLab