from machine import Pin
import time
time.sleep(0.1) # Wait for USB to become ready
print("7 segment display")
'''
"connections": [
[ "sevseg1:A", "pico:GP28", "green", [ "v0" ] ],
[ "sevseg1:B", "pico:GP27", "green", [ "v0" ] ],
[ "sevseg1:C", "pico:GP26", "green", [ "v9.6", "h-57.6", "v-76.8" ] ],
[ "sevseg1:D", "pico:GP22", "green", [ "v19.2", "h-48", "v-76.8" ] ],
[ "sevseg1:E", "pico:GP21", "green", [ "v28.8", "h-38.4", "v-67.2", "h-9.6" ] ],
[ "sevseg1:F", "pico:GP20", "green", [ "v-8.76", "h-19.2", "v67.2" ] ],
[ "sevseg1:G", "pico:GP19", "green", [ "v0.84", "h-19.2", "v57.6" ] ]
],
'''
import time
from machine import mem32
SIO_BASE = 0xd0000000
def set_gpiocontrol_to_sio(n):
mem32[0x40014000 + 4 + 8 * n] &= 0b00000
mem32[0x40014000 + 4 + 8 * n] |= 5
if __name__ == '__main__':
for n in range(30): #SIO
set_gpiocontrol_to_sio(n)
mem32[SIO_BASE + 0x20] = 0b011100011110000000000000000000 # OE-register
numbers = [
0b011110011100000000000000000000, # "0"
0b001100000000000000000000000000, # "1"
0b011011011010000000000000000000, # "2"
0b011100010010000000000000000000, # "3"
0b001100000110000000000000000000, # "4"
0b010100010110000000000000000000, # "5"
0b000100011110000000000000000000, # "6"
0b011100000000000000000000000000, # "7"
0b011100011110000000000000000000, # "8"
0b011100010110000000000000000000 # "9"
]
while True:
for number in numbers:
mem32[SIO_BASE + 0x10] = number
time.sleep(1)