From 5182616e7227af7827cb4f60118cc56c76d66124 Mon Sep 17 00:00:00 2001
From: su530201 <olivier.kaufmann@umons.ac.be>
Date: Sun, 23 Apr 2023 19:29:27 +0200
Subject: [PATCH] Fixes issue with naming raspberry_pi controller; Fixes
 computation of sp correction in test_measure_ohmpi_card_3_15.py

---
 hardware/raspberry_pi.py             | 2 ++
 measure.py                           | 2 +-
 test_measure_with_ohmpi_card_3_15.py | 7 ++++---
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/hardware/raspberry_pi.py b/hardware/raspberry_pi.py
index 99a6062d..c40e553c 100644
--- a/hardware/raspberry_pi.py
+++ b/hardware/raspberry_pi.py
@@ -1,11 +1,13 @@
 from OhmPi.hardware import ControllerAbstract
 import board  # noqa
 import busio  # noqa
+import os
 from OhmPi.utils import get_platform
 from gpiozero import CPUTemperature
 
 class Controller(ControllerAbstract):
     def __init__(self, **kwargs):
+        kwargs.update({'board_name': os.path.basename(__file__).rstrip('.py')})
         super().__init__(**kwargs)
         self.bus = busio.I2C(board.SCL, board.SDA)  # noqa
         platform, on_pi = get_platform()
diff --git a/measure.py b/measure.py
index 6102f7a9..16f968ef 100644
--- a/measure.py
+++ b/measure.py
@@ -106,7 +106,7 @@ class OhmPiHardware:
                 mean_iab.append(np.mean(self.readings[self.readings[:, 1] == i, 3]))
             mean_vmn = np.array(mean_vmn)
             mean_iab = np.array(mean_iab)
-            print(f'Vmn: {mean_vmn}, Iab: {mean_iab}')
+            # print(f'Vmn: {mean_vmn}, Iab: {mean_iab}')  # TODO: delete me
             sp = np.mean(mean_vmn[np.ix_(polarity==1)] - mean_vmn[np.ix_(polarity==-1)]) / 2
             return sp
 
diff --git a/test_measure_with_ohmpi_card_3_15.py b/test_measure_with_ohmpi_card_3_15.py
index da5436c0..5924412b 100644
--- a/test_measure_with_ohmpi_card_3_15.py
+++ b/test_measure_with_ohmpi_card_3_15.py
@@ -40,10 +40,11 @@ fig.legend()
 plt.show()
 # compute resistances corrected for SP
 print(f'SP: {k.sp} mV')
-r = ((k.readings[:,4]-k.sp)/k.readings[:,3])
+r = ((k.readings[:,4]-k.readings[:,2]*k.sp)/k.readings[:,3])
 print(f'Mean resistance with sp correction : {np.mean(r):.3f} Ohms, Dev. {100*np.std(r)/np.mean(r):.1f} %')
 print('\nTesting with pulses')
-r = np.array([(k.pulses[i]['vmn']-k.sp)/k.pulses[i]['iab'] for i in k.pulses.keys()])
-print(f'Mean resistance with sp correction : {np.mean(r):.3f} Ohms, Dev. {100*np.std(r)/np.mean(r):.1f} %')
+r = np.array([np.abs((k.pulses[i]['polarity']*k.pulses[i]['vmn']-k.sp)/k.pulses[i]['iab']) for i in k.pulses.keys()])
+for i in range(len(r)):
+    print(f'Mean resistance with sp correction for pulse{i}: {np.mean(r[i]):.3f} Ohms, Dev. {100*np.std(r[i])/np.mean(r[i]):.1f} %')
 change_config('config_default.py', verbose=False)
 
-- 
GitLab