# ------ #
# sevseg #
# ------ #
# Import required libraries
from machine import ADC
import utime
import hidden
from machine import Pin
class SegDisplay:
    def __init__(self, lists, arrSeg):
        self.obj = []
        self.arrSeg = arrSeg
        self.setup(lists)
    
    def setup(self, lists):
        for col in range(len(lists)):
            self.obj.append(Pin(lists[col], Pin.OUT))
    def display(self, SegValue):
        for a in range(7):
            self.obj[a].value(self.arrSeg[SegValue][a])
# Common Anode arrays for 7 segment
arrSeg = [[0,0,0,0,0,0,1],\
          [1,0,0,1,1,1,1],\
          [0,0,1,0,0,1,0],\
          [0,0,0,0,1,1,0],\
          [1,0,0,1,1,0,0],\
          [0,1,0,0,1,0,0],\
          [0,1,0,0,0,0,0],\
          [0,0,0,1,1,1,1],\
          [0,0,0,0,0,0,0],\
          [0,0,0,1,1,0,0]]
# define GP ports to use
# Pins Matching: A, B, C, D, E, F, G
# 2 lines for 2 displays
seg_list1 = [2,3,4,5,6,7,8]
seg_list2 = [10,11,12,13,14,15,16]
segDisp1 = SegDisplay(seg_list1, arrSeg)
segDisp2 = SegDisplay(seg_list2, arrSeg)
adc = ADC(26)
while True:
    adcval = adc.read_u16()
    temp = hidden.measureval(adcval)
    segDisp2.display(int(temp % 10))
    segDisp1.display(int((temp/10) % 10))
    utime.sleep(1)