hello Leif
I modified /usr/lib/python3/dist-packages/openplotterI2c/openplotterI2cRead.py as indicated
unfortunately that doesn't fix the error
I still get the same error
Checking I2C sensors... | service running | I2C enabled | Access to Signal K server validated
↳Error processing ADS1115: type object 'ADS1115' has no attribute 'P0'
Code:
elif i2c_sensors[i]['type'] == 'ADS1115' or i2c_sensors[i]['type'] == 'ADS1015':
from adafruit_ads1x15.analog_in import AnalogIn
if i2c_sensors[i]['type'] == 'ADS1115':
import adafruit_ads1x15.ads1115 as ADS11
if i2c_sensors[i]['channel'] == 0:
if i2c_sensors[i]['address']:
instances.append({'name':i,'type':'ADS1115','tick':[now,now,now,now],'sensor':i2c_sensors[i],'object':ADS11.ADS1115(i2c, address=int(i2c_sensors[i]['address'], 16))})
else:
if i2c_sensors[i]['address']:
instances.append({'name':i,'type':'ADS1115','tick':[now,now,now,now],'sensor':i2c_sensors[i],'object':ADS11.ADS1115(muxInstances[i2c_sensors[i]['address']][i2c_sensors[i]['channel']-1])})
if instances[-1]['sensor']['data'][0]['SKkey']: instances[-1]['sensor']['data'][0]['object'] = AnalogIn(instances[-1]['object'], ADS11.ADS1115.P0)
if instances[-1]['sensor']['data'][1]['SKkey']: instances[-1]['sensor']['data'][1]['object'] = AnalogIn(instances[-1]['object'], ADS11.ADS1115.P1)
if instances[-1]['sensor']['data'][2]['SKkey']: instances[-1]['sensor']['data'][2]['object'] = AnalogIn(instances[-1]['object'], ADS11.ADS1115.P2)
if instances[-1]['sensor']['data'][3]['SKkey']: instances[-1]['sensor']['data'][3]['object'] = AnalogIn(instances[-1]['object'], ADS11.ADS1115.P3)
elif i2c_sensors[i]['type'] == 'ADS1015':
import adafruit_ads1x15.ads1015 as ADS10
if i2c_sensors[i]['channel'] == 0:
if i2c_sensors[i]['address']:
instances.append({'name':i,'type':'ADS1015','tick':[now,now,now,now],'sensor':i2c_sensors[i],'object':ADS10.ADS1015(i2c, address=int(i2c_sensors[i]['address'], 16))})
else:
if i2c_sensors[i]['address']:
instances.append({'name':i,'type':'ADS1015','tick':[now,now,now,now],'sensor':i2c_sensors[i],'object':ADS10.ADS1015(muxInstances[i2c_sensors[i]['address']][i2c_sensors[i]['channel']-1])})
if instances[-1]['sensor']['data'][0]['SKkey']: instances[-1]['sensor']['data'][0]['object'] = AnalogIn(instances[-1]['object'], ADS10.ADS1015.P0)
if instances[-1]['sensor']['data'][1]['SKkey']: instances[-1]['sensor']['data'][1]['object'] = AnalogIn(instances[-1]['object'], ADS10.ADS1015.P1)
if instances[-1]['sensor']['data'][2]['SKkey']: instances[-1]['sensor']['data'][2]['object'] = AnalogIn(instances[-1]['object'], ADS10.ADS1015.P2)
if instances[-1]['sensor']['data'][3]['SKkey']: instances[-1]['sensor']['data'][3]['object'] = AnalogIn(instances[-1]['object'], ADS10.ADS1015.P3)
gain = 1
if 'sensorSettings' in instances[-1]['sensor']:
if 'gain' in instances[-1]['sensor']['sensorSettings']:
try: gain = int(instances[-1]['sensor']['sensorSettings']['gain'])
except: pass
instances[-1]['object'].gain = gain
for ii in range(4):
if 'magnitudeSettings' in instances[-1]['sensor']['data'][ii]:
instances[-1]['sensor']['data'][ii]['ranges'] = getRanges(instances[-1]['sensor']['data'][ii]['magnitudeSettings'])
/Wolfgang
the I2C gui lists the inputs as A0...3
if I rename to
ADS11.ADS1115.A0
same error
after I rename to ADS11.ADS1115.0
error gets worse :
Checking I2C sensors... | I2C enabled | Access to Signal K server validated
↳service not running
Error processing ADS1115: type object 'ADS1115' has no attribute 'A0'
/Wolfgang