from . import ardice
from stardice import keithley
import numpy as np
from glob import glob
import time

template = 'ardice_stability_'
existing_files = glob(template +'*.npy')
existing_files = [int(f.replace('.npy', '').replace(template, '')) for f in existing_files]
if not existing_files:
    print('Warning: first file in the seri')
    odometer = 0
else:
    odometer = np.max(existing_files) + 1

ar = ardice.Ardice()
k = keithley.Keithley6514('/dev/ttyUSB1')
nrepeat = 1
length = 10
k.setup(krange=2e-5, samples=100)

result = []
ar.all_led_off()
for led in range(16):
    for r in range(nrepeat):
        dark = k.read()
        k.non_blocking_read(repeats=length)
        time.sleep(0.5)
        ar.led_on(led, curr=ardice.workpoint[led] / 2)
        on = k.join()
        result.append([on[1], on[0] - np.mean(dark[0])])
        ar.led_off(led)
ar.all_led_off()
del ar
#result = np.rec.fromrecords(result, names=['led', 'dark', 'on'])
result = np.array(result)
np.save(template+'%04d.npy' % odometer, result)
