Pythonproblem
Har ett par problem som jag skulle behöva hjälp med.
Programmet jag meckar med tar bland annat hand om seriekommunikation och för detta har jag lite olika inställningar för serieporten. För att göra programmet mer användarvänligt vill jag spara undan de senast valda alternativen så de används automatiskt nästa gång man startar programmet. Detta har jag försökt göra genom att läsa och skriva till en textfil. Koden ser ut såhär vid inläsning:
self.setup = {}
f = open('SerialSetup.txt','r')
self.setup = f.readlines()
Om textfilen ser ut som följer:
COM3
38400
8
Får jag alltså fram följande:
['COM3\n', '38400\n', '8\n']
Och när jag använder det i programmet får jag med en fyrkant efter varje alternativ pga "\n". Hur råder jag bot på detta?
Sen har jag lite funderingar på hur jag ska spara det jag läser in från serieporten. Som jag har gjort nu lagrar jag det bara i en array. Kanske inte det bästa alternativet men tyvärr det ända jag kan/känner till. Men jag har fått en del konstiga fel. Tex kan jag bara skicka 8-bitarstal via seriekommunikationen och får därför skicka ett 16-bitarstal som två 8-bitars. När jag tar emot det multiplicerar jag första 8-bitarna med 255 och adderar med andra 8-bitarna för att få tillbaks 16-bitarstalet.
när jag sedan vill kolla längden på arrayen jag har sparat datan i får jag ibland längden på arrayen och ibland värdet från största talet i arrayen. Vad beror detta på? Jag vet tex att arrayen inte ska vara längre än 1000 men får det största talet i arrayen tillbaks som är tex 58000.
jag använder både len() och max() med samma resultat.
Kan tillägga att jag aldrig får detta felet när jag bara kör 8 bitar.
Sen har jag inte kommit underfund med om det finns nåt sätt att skapa dubbelarrayer och matriser på som inte har nån fördefinierad längd.