@@ -132,38 +132,38 @@ def parseTime(time_before):
132132 hours_before , minutes_before = time_before .split (":" )
133133 AM_PM_str = minutes_before [- 1 :]
134134 minutes_before = int (minutes_before [:- 1 ])
135- if AM_PM_str == 'P' :
135+ if ( hours_before != '12' ) and AM_PM_str == 'P' :
136136 hours_before = int (hours_before ) + 12
137+ elif ((hours_before == '12' ) and (AM_PM_str == 'P' )):
138+ hours_before = int (hours_before )
137139 elif ((hours_before == '12' ) and (AM_PM_str == 'A' )):
138140 hours_before = 0
139141 else :
140142 hours_before = int (hours_before )
141143 parsed_time = [hours_before , minutes_before ]
142144 return parsed_time
143145
144- def subtract30min (time_before ): # subtract 30 min
145- parsed_time = parseTime (time_before )
146- hours_before , minutes_before = parsed_time [0 :2 ]
146+ def subtract30min (time_initial ): # subtract 30 min
147+ parsed_time = parseTime (time_initial )
148+ hours_initial , minutes_initial = parsed_time [0 :2 ]
147149 now = time .localtime ()
148- future = time .mktime ((now [0 ], now [1 ], now [2 ], hours_before ,
149- minutes_before - 30 , now [5 ], now [6 ], now [7 ], now [8 ]))
150- futureTime = time .localtime (future )
151- future_hour = futureTime [3 ]
152- future_minutes = futureTime [4 ]
153- light_on_time_textarea .text = "Light starting at: " + formatTime (future_hour , future_minutes )
154- return formatTime (future_hour , future_minutes )
150+ minus30 = time .mktime ((now [0 ], now [1 ], now [2 ], hours_initial , minutes_initial - 30 , now [5 ], now [6 ], now [7 ], now [8 ]))
151+ time_minus30 = time .localtime (minus30 )
152+ hour_minus30 = time_minus30 [3 ]
153+ minutes_minus30 = time_minus30 [4 ]
154+ light_on_time_textarea .text = "Light starting at: " + formatTime (hour_minus30 , minutes_minus30 )
155+ return formatTime (hour_minus30 , minutes_minus30 )
155156
156157# backlight function - if screen tapped, turn on back light for 30 seconds?
157158def backLight (time_before ):
158159 parsed_time = parseTime (time_before )
159160 hours_before , minutes_before = parsed_time [0 :2 ]
160161 now = time .localtime ()
161- wakeUpNow = time .mktime ((now [0 ], now [1 ], now [2 ], hours_before ,
162- minutes_before , now [5 ], now [6 ], now [7 ], now [8 ]))
162+ wakeUpNow = time .mktime ((now [0 ], now [1 ], now [2 ], hours_before , minutes_before , now [5 ], now [6 ], now [7 ], now [8 ]))
163163 nowVal = time .mktime ((now [0 ], now [1 ], now [2 ], now [3 ], now [4 ], now [5 ], now [6 ], now [7 ], now [8 ]))
164164 print (nowVal - wakeUpNow )
165- if (nowVal - wakeUpNow ) > 32400 :
166- # if time is more than 9 hours after wake up time, backlight off, tap to turn on
165+ if (nowVal - wakeUpNow ) > 32400 or ( nowVal - wakeUpNow ) < - 1800 :
166+ # if time is more than 9 hours after wake up time, or before wake up time - 30 backlight off, tap to turn on
167167 if pyportal .touchscreen .touch_point :
168168 pyportal .set_backlight (backlight_on )
169169 time .sleep (5 )
@@ -203,11 +203,11 @@ def backLight(time_before):
203203 strip .fill (WHITE )
204204 strip .brightness = BRIGHTNESS
205205 displayTime ()
206- time .sleep (1 ) # 60 for once per min
206+ time .sleep (60 ) # 60 for once per min
207207 while not pyportal .touchscreen .touch_point : # turn strip off
208208 displayTime ()
209209 time .sleep (1 )
210210 continue
211211 strip .brightness = MIN_BRIGHTNESS
212212 # update every 15 seconds
213- time .sleep (15 )
213+ time .sleep (15 )
0 commit comments