annuncio

Comprimi
Ancora nessun annuncio.

Arduflyer - APM 2.5 (Arducopter)

Comprimi
X
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • Originariamente inviato da picoely Visualizza il messaggio
    Ok ... si può misurare a che livello di carico CPU siamo su un quad in loiter/pos hold, magari col controllo del gimbal? Sarebbe interessante, ma la vedo difficile.
    E farsi una copia di tutto il FW (quindi inclusi i settaggi) si può?
    Il firmware è un file binario che puoi installare sulla scheda quando vuoi. Le configurazioni puoi salvarle in un file e rileggerle. In teoria puoi tenerti una collezione di firmware diversi con relative impostazioni e usarli alternativamente. Cosa che si fa abitualmente quando si testa un nuovo firmware o le modifiche.

    Commenta


    • Originariamente inviato da fabiov Visualizza il messaggio

      No, non è necessario. Basta salvare con MP i parametri in un file e poi rileggerli.
      Pure i PID, gli offset della bussola, la taratura del compassmot, il save trim, il mid throttle? Non mi pare. E quelli sono una rottura da fare ogni volta ...

      Commenta


      • Originariamente inviato da picoely Visualizza il messaggio

        Pure i PID, gli offset della bussola, la taratura del compassmot, il save trim, il mid throttle? Non mi pare. E quelli sono una rottura da fare ogni volta ...
        Li salva tutti. Sono 306 parametri.

        Commenta


        • Originariamente inviato da picoely Visualizza il messaggio
          Ok ... si può misurare a che livello di carico CPU siamo su un quad in loiter/pos hold, magari col controllo del gimbal? Sarebbe interessante, ma la vedo difficile.
          E farsi una copia di tutto il FW (quindi inclusi i settaggi) si può?
          Ciao, per la CPU stavo cercando di capire qual è il parametro da leggere nel log. Si chiama "LOAD" nella sezione "SYS_STATUS"?

          Commenta


          • Originariamente inviato da fabiov Visualizza il messaggio

            Li salva tutti. Sono 306 parametri.
            Ma dove? Nella lista FULL dei parametri?

            Commenta


            • Originariamente inviato da picoely Visualizza il messaggio

              Ma dove? Nella lista FULL dei parametri?
              si, certo

              Commenta


              • Originariamente inviato da Invernomuto Visualizza il messaggio

                Ciao, per la CPU stavo cercando di capire qual è il parametro da leggere nel log. Si chiama "LOAD" nella sezione "SYS_STATUS"?
                non mi pare che sia un'informazione presente nei log. Nella sezione PM (Performance Monitoring) ci sono delle informazioni che consentono di capire (in modo indiretto) se la CPU sta soffrendo. Ad esempio viene riportato il numero di Main Loop che sfora il tempo che dovrebbero impiegarci. Se ce ne sono troppi, significa che la CPU non riesce a supportare il carico di lavoro.
                Ma possono esserci altre cause (tipo errori sul bus i2c).

                Commenta


                • Originariamente inviato da fabiov Visualizza il messaggio

                  In realtà disabilitando alcune funzioni riduci effettivamente il consumo di CPU, visto che non vengono compilate e poi eseguite una serie di istruzioni. Ad esempio se si decide di non utilizzare il geofence, non vengono eseguite tutte le funzioni che parecchie volte in un secondo confrontano la posizione attuale rispetto al punto di partenza e determinano se è stato superato il limite di fence impostato con i parametri. Però finché il sistema vola senza problemi, non vedo la necessità di fare modifiche. Io ho toccato il firmware perchè c'era un bug da correggere.
                  Solo se il software è scritto male.
                  Se è scritto bene, con la funzione disattivata non dovrebbe eseguire inutili controlli e raffronti.
                  Ma non ho guardato il codice e non ti so dire se questo firmware è scritto bene.
                  I firmware che scrivo io ovviamente lo sono
                  Vola con la testa

                  Commenta


                  • Originariamente inviato da PelanDrone Visualizza il messaggio

                    Solo se il software è scritto male.
                    Se è scritto bene, con la funzione disattivata non dovrebbe eseguire inutili controlli e raffronti.
                    Ma non ho guardato il codice e non ti so dire se questo firmware è scritto bene.
                    I firmware che scrivo io ovviamente lo sono
                    In realtà non li esegue tutti, ma quantomeno in vari punti del codice ci sono una serie di "if" che verificano quali tipi di Fence sono attivi. Se Fence non è in attivo, poi non esegue neppure i controlli di posizione. Se si toglie la funzionalità dal codice, questi test non vengono più neppure eseguiti. In ogni ciclo risparmi qualche "if". E questo vale per tutte le funzioni. Ma non credo che alla fine cambi molto sull'utilizzo di CPU.

                    Commenta


                    • Originariamente inviato da fabiov Visualizza il messaggio

                      non mi pare che sia un'informazione presente nei log. Nella sezione PM (Performance Monitoring) ci sono delle informazioni che consentono di capire (in modo indiretto) se la CPU sta soffrendo. Ad esempio viene riportato il numero di Main Loop che sfora il tempo che dovrebbero impiegarci. Se ce ne sono troppi, significa che la CPU non riesce a supportare il carico di lavoro.
                      Ma possono esserci altre cause (tipo errori sul bus i2c).
                      Scusa ma avevo visto male (e la documentazione non lo menziona). C'è effettivamente sotto SYS_STATUS la variabile LOAD. Ma solo nel log della telemetria. Devo capire come si legge. A motori disarmati il valore oscilla intorno a 600. Potrebbe essere il 60% di CPU. In volo sta tra 920 e 970, quindi potrebbe indicare un utilizzo intorno al 95%, a conferma di quanto è stato detto sopra.

                      Commenta


                      • Se fosse davvero quello il parametro, siamo messi maluccio eh

                        Commenta


                        • Originariamente inviato da fabiov Visualizza il messaggio

                          In realtà non li esegue tutti, ma quantomeno in vari punti del codice ci sono una serie di "if" che verificano quali tipi di Fence sono attivi. Se Fence non è in attivo, poi non esegue neppure i controlli di posizione. Se si toglie la funzionalità dal codice, questi test non vengono più neppure eseguiti. In ogni ciclo risparmi qualche "if". E questo vale per tutte le funzioni. Ma non credo che alla fine cambi molto sull'utilizzo di CPU.
                          Uno o più if nel loop principale sono abbastanza ininfluenti per il carico della cpu
                          Vola con la testa

                          Commenta


                          • Originariamente inviato da picoely Visualizza il messaggio
                            Se fosse davvero quello il parametro, siamo messi maluccio eh
                            Non più di tanto, finché il frullino vola senza problemi.

                            Però questo spiega perché abbiano deciso di non aggiornare più APM. Con il carico di CPU attuale le nuove funzioni non potrebbero essere eseguite.

                            Commenta


                            • Originariamente inviato da fabiov Visualizza il messaggio

                              Non più di tanto, finché il frullino vola senza problemi.

                              Però questo spiega perché abbiano deciso di non aggiornare più APM. Con il carico di CPU attuale le nuove funzioni non potrebbero essere eseguite.
                              diciamo che le risorse dell'apm, ottimizzando il codice, sono al limite, quindi a che serviva sviluppare ulteriore codice su una cpu del genere?

                              c'è da dire che gli 8bit delle nostre apm, anche se poche, ci danno diverse soddisfazioni!!!!
                              Visita il mio Blog: L'angolo del N3rd - Build Logs - DIY Projects - Approfondimenti

                              Commenta


                              • Originariamente inviato da picoely Visualizza il messaggio
                                Se fosse davvero quello il parametro, siamo messi maluccio eh
                                Direi che non è così.
                                Ipotizzo che il carico della CPU sia ricavato in base al tempo di "idle" rimasto alla fine dell'esecuzione di tutte le funzioni nel loop principale (di solito si fa così).

                                Se il firmware è scritto decentemente, e non ho motivo di dubitarne, ci saranno funzioni che hanno una priorità maggiore e altre che possono essere "saltate" ed eseguite a cicli alterni.
                                Il fatto che la CPU lavori per più del 90% del tempo può indicare che il sistema è ottimizzato bene per sfruttarla come si deve.
                                Vola con la testa

                                Commenta

                                Sto operando...
                                X