def minutes(num: number): global lastmin basic.show_number(num) ServoBit.set_servo(4, -30) for index in range(1): basic.pause(41.5) ServoBit.set_servo(4, 2) lastmin = num def hours(num2: number): global lasthr basic.show_number(num2) ServoBit.set_servo(0, -30) for index2 in range(4): basic.pause(41.5) ServoBit.set_servo(0, 0) lasthr = num2 def on_button_pressed_a(): global set_hr set_hr += 1 if set_hr > 23: set_hr = 0 settime() hours(DS3231.hour()) input.on_button_pressed(Button.A, on_button_pressed_a) def home_hr(): ServoBit.set_servo(0, -30) while pins.digital_read_pin(DigitalPin.P0) == 1: pass ServoBit.set_servo(0, 0) basic.pause(100) def auto_hr(num3: number): global lasthr if num3 != 0: for index3 in range(num3): hours(1) lasthr = num3 def settime(): DS3231.date_time(2022, 2, 18, 6, set_hr, set_min, 0) basic.pause(100) def auto_min(num4: number): global lastmin if num4 != 0: for index4 in range(num4): minutes(1) lastmin = num4 def on_button_pressed_ab(): global set_enable if set_enable == 0: settime() set_enable = 1 else: set_enable = 0 input.on_button_pressed(Button.AB, on_button_pressed_ab) def on_button_pressed_b(): global set_min set_min += 1 if set_min > 59: set_min = 0 settime() minutes(DS3231.minute()) input.on_button_pressed(Button.B, on_button_pressed_b) def hour_update(num32: number): global lasthr basic.show_number(num32) if num32 != lasthr: if num32 % 12 == 0: home_hr() else: ServoBit.set_servo(0, -30) for index5 in range(4): basic.pause(42) ServoBit.set_servo(0, 0) lasthr = num32 cyclist() def cyclist(): global timer timer = control.millis() ServoBit.set_servo(8, 60) while control.millis() - timer < 10000: pass ServoBit.set_servo(8, 0) basic.pause(100) def home_min(): ServoBit.set_servo(4, -30) while pins.digital_read_pin(DigitalPin.P1) == 1: pass ServoBit.set_servo(4, 2) basic.pause(100) def min_update(num42: number): global lastmin basic.show_number(num42) if num42 != lastmin: if num42 == 0: home_min() else: ServoBit.set_servo(4, -30) for index6 in range(1): basic.pause(42) ServoBit.set_servo(4, 2) lastmin = num42 timer = 0 set_min = 0 set_hr = 0 lasthr = 0 lastmin = 0 set_enable = 0 set_enable = 1 lastmin = 0 lasthr = 0 set_hr = 0 set_min = 0 home_hr() home_min() auto_hr(DS3231.hour()) auto_min(DS3231.minute()) def on_forever(): if set_enable == 1: hour_update(DS3231.hour()) min_update(DS3231.minute()) basic.forever(on_forever)