Profilo di Daniele aka Palmux

Nome Daniele aka Palmux
Indirizzo email ask@me
AvatarAvatar utenti
Messaggi1370
  • Re: Problema a salvare un file di interi
    Forum >> Programmazione Python >> GUI
    Ah ok, molto semplicemente l’offset è la posizione di partenza dentro la lista. Serve per dire "da dove comincio a leggere i valori" di ogni gruppo.

    Nel tuo caso:
    -- freqA → offset 0
    -- mixA → offset 4
    -- freqB → offset 9
    -- mixB → offset 13

    Esempio:
    slider[ i ].set(values[offset_mixB + i])


    Così ogni gruppo legge i valori giusti.

    Cya
  • Re: Problema a salvare un file di interi
    Forum >> Programmazione Python >> GUI
    Ciao Fabio, la configurazione è ok, il problema è nel caricamento: quando fai l’Open stai settando gli slider leggendo sempre dall’inizio della lista (values[ i ]) senza tenere conto dei 4 blocchi concatenati (freqA, mixA, freqB, mixB).

    Ti serve usare gli offset giusti per ogni gruppo.

    In più, in “Save As” stai toccando values come se fosse una matrice (values[k] = sets), mentre il file salvato deve restare una lista piatta con tutti i 18 valori in sequenza.

    Per risolvere andrei in questa direzione:

    -- calcola gli offset per i 4 gruppi e, in Open, fai set(values[offset + i]) per ogni slider del gruppo.

    -- in salvataggio, scrivi sempre la lista piatta freqA + mixA + freqB + mixB.

    -- opzionale ma utile: verifica che il JSON abbia esattamente 18 valori prima di settare gli slider.

    Così gli slider si allineano al file caricato.
  • Re: Problema a salvare un file di interi
    Forum >> Programmazione Python >> GUI
    Fabio, nel modello2 app.values contiene più numeri in una stringa (“1500 1500 1500…”), ma .set() accetta un solo float.

    Controlla, se devi gestire più slider, fai un ciclo su ciascun valore; se ne hai solo uno, prendi il primo numero della stringa.

    Prova e fai sapere se era quello il problema.
  • Re: Problema a salvare un file di interi
    Forum >> Programmazione Python >> GUI
    Ciao caro, dunque proviamo a vedere qualche punto insieme.

    Secondo me qui ci sono 3 cose da verificare prima di tutto:

    -- Tipi dei dati json.dump vuole roba serializzabile: la tua app.values è davvero lista di int? (prova: print(type(app.values), app.values[:5]))

    -- Refusi/indici in quel blocco ci sono self._scalesk e app.valuesk: volevi dire self._scalesk e magari salvare in una struttura per chiave? Stai chiamando .get() sul widget giusto o sulla lista?

    -- Percorso file la cartella self._cache esiste quando apri il file? (se no: os.makedirs(self._cache, exist_ok=True))Se vuoi testare l’I/O isolato (senza Tk/interfaccia), prova solo questo micro-test:
    import json
    
    open("test.json","w").write(json.dumps([1,2,3]))

    Fai sapere se trovi la strada.

    Cya
  • Re: Problema con ser.write()
    Forum >> Programmazione Python >> GUI
    Ricapitoliamo.

    Non puoi usare .encode() su un int.

    ser.write() accetta solo bytes, quindi devi impacchettare i numeri.

    Se hai valori >255, usa struct.pack() per convertirli in uint32:
    import serial, struct, time
    
    values = [120, 1500, 50000, 100000]
    data = b''.join(struct.pack('<I', v) for v in values)
    
    with serial.Serial('/dev/ttyACM0', 9600, timeout=1) as ser:
        time.sleep(2)
        ser.write(data)
    Prova una così e vedi se riesci a risolvere.

    Cya
  • Re: Problema con ser.write()
    Forum >> Programmazione Python >> GUI
    No no, così sta cercando di fare .encode() su un int, non si può.

    Devi fare una cosa del genere:

    data = bytes(values)     # mi aspetterei una lista di int 0 -> 255
    ser.write(data)


    Altrimenti non ti andrà mai.
  • Re: Problema con ser.write()
    Forum >> Programmazione Python >> GUI
    Ciao caro, tralasciamo il fatto che non hai indentato correttamente il codice con l'apposito pulsantino, ma sei perdonato per questo peccato veniale.

    Il problema sta nel fatto che ser.write() non accetta liste come nel tuo caso, ma bytes. Quindi devi trasformare, come un barbapapà, quello che gli passi altrimenti avrai sempre quel tipo di errore.

    Ora vai e torna vincitore.
  • Re: Editor messaggi problems
    Forum >> Principianti
    OT

    Agli instancabili spammatori seriali: continuate pure, tranquilli. Un giorno le intelligenze artificiali si ribelleranno… e chissà, magari si ricorderanno esattamente chi ha reso necessario tutto questo. Ma fate con comodo, eh.

    Fine OT.

  • Re: What makes Block Blast attractive?
    Forum >> Programmazione Python >> GUI
    Off-topic, out of hand, and absurd.

  • Re: Problema con while
    Forum >> Principianti
    Era la condizione di uscita sbagliata
    Ho risolto

    Ti ringrazio comunque

    Ah perfetto, risolvere da soli è sempre appagante.

    Buono studio.
    Daniele