i’m confused why my “SaveLog” function works in all IF statements, but gives me a “SaveLog was not defined” error in the first IF statement “if firstBoot”.? if i comment out the SaveLog, the rest of the if statement works fine.
import serial
import time
from datetime import datetime
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP)
SP2 = serial.Serial( "/dev/ttyS0", baudrate=115200)#PC
firstBoot=True
MSG=""
S1Timer= 0
Save =""
while True:
now = datetime.now()
CT = now.strftime("%H:%M %m/%d")
Mili =time.perf_counter()
if firstBoot:
Save="boot log,"
SaveLog()
print("first boot")
firstBoot=False
#GPIO input S1
if not GPIO.input(23) and Mili > S1Timer + 5:
S1Timer= Mili
#time.sleep(.2)
Save="S1"
SaveLog()
print("S1 Triggered...")
#in from PC
if (SP2.inWaiting() > 0):
PcIN = SP2.readline().decode()
time.sleep(1)
print(PcIN, end='')
pcout= PcIN.strip()
if pcout=="log":
print("")
Sender()
def SaveLog():
LOG = open("LOG.txt" , "a",buffering=1 )
LOG.write(Save+",")
time.sleep(.1)
LOG.close
#print(Save)
def Sender():
with open('LOG.txt', 'r') as file:
LogFile = file.read()
#LogOut= LogFile.strip()
SP2.write(str.encode(LogFile +"\n"))
print(LogFile)