annuncio

Comprimi
Ancora nessun annuncio.

VRBRAIN by VirtualRobotix

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

  • Si può fare anche via software (per chi la Turnigy 9X o le radio flysky che non hanno failsafe):

    nel file libraries/AP_HAL_VRBRAIN/hardware/hal/pwm_in.c

    aggiungere nelle intestazioni, l'inclusione di timer.h

    codice:
    #include "hal_types.h"
    #include "timer.h"
    
    #include <boards.h>
    e all'inizio, dichiarare la variabile che contiene i ms dell'ultimo impulso rilevato:

    codice:
    uint32_t last_pulse;
    aggiungere poi la rilevazione dell'ultimo impulso throttle, il canale 3 (2 dato che parte da 0)

    codice:
    		TIM_ClearITPendingBit(channel.tim, channel.tim_cc);
    		if (i==2) // channel throttle TODO use param
    		  last_pulse = systick_uptime_millis;
    		switch (channel.tim_channel)
    ed infine dare il valore di 950ms quando è da più di 40ms che non sentiamo impulsi:

    codice:
    uint16_t pwmRead(uint8_t channel)
        {
        if (systick_uptime_millis - last_pulse < 40) //40ms delay
    	return Inputs[channel].capture;
        else
    	return 950;
        }
    p.s. metto anche il file già bello e pronto in allegato
    File allegati
    Ultima modifica di ciskje; 27 ottobre 13, 21:05.
    Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.

    Commenta


    • Originariamente inviato da ciskje Visualizza il messaggio
      Si può fare anche via software (per chi la Turnigy 9X o le radio flysky che non hanno failsafe):

      nel file libraries/AP_HAL_VRBRAIN/hardware/hal/pwm_in.c

      aggiungere nelle intestazioni, l'inclusione di timer.h

      codice:
      #include "hal_types.h"
      #include "timer.h"
      
      #include <boards.h>
      e all'inizio, dichiarare la variabile che contiene i ms dell'ultimo impulso rilevato:

      codice:
      uint32_t last_pulse;
      aggiungere poi la rilevazione dell'ultimo impulso throttle, il canale 3 (2 dato che parte da 0)

      codice:
      		TIM_ClearITPendingBit(channel.tim, channel.tim_cc);
      		if (i==2) // channel throttle TODO use param
      		  last_pulse = systick_uptime_millis;
      		switch (channel.tim_channel)
      ed infine dare il valore di 950ms quando è da più di 40ms che non sentiamo impulsi:

      codice:
      uint16_t pwmRead(uint8_t channel)
          {
          if (systick_uptime_millis - last_pulse < 40) //40ms delay
      	return Inputs[channel].capture;
          else
      	return 950;
          }
      p.s. metto anche il file già bello e pronto in allegato
      Grazie Francesco,
      ottimo lavoro questa patch ci e' molto utile per chiudere le attività su questa libreria era praticamente l'ultima cosa da sistemare se non erro , poi si potrebbe pensare di attivare le lib per gestire sbus e dsm come gia' disponibile su nuttx .
      Emile se riesci a darci un occhio e tirarle dentro nell'ultimo branch sarebbe ottimo ...
      saluti
      Roberto
      Redfox74
      Virtual Robotix ( Arducopter DEVTEAM )
      http://www.virtualrobotix.com
      Canale di supporto FB
      https://www.facebook.com/groups/1606596929592397/

      Commenta


      • Fatta cosi è un po' acerba andrebbe fatta per canale con i valori di override, non mi piace che cambi pure il canale del modo di volo ma devo smontare tutto per usare la jtag

        Inviato dal mio Nexus 7 con Tapatalk 2
        Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.

        Commenta


        • Originariamente inviato da redfox74 Visualizza il messaggio
          Grazie Francesco,
          ottimo lavoro questa patch ci e' molto utile per chiudere le attività su questa libreria era praticamente l'ultima cosa da sistemare se non erro , poi si potrebbe pensare di attivare le lib per gestire sbus e dsm come gia' disponibile su nuttx .
          Emile se riesci a darci un occhio e tirarle dentro nell'ultimo branch sarebbe ottimo ...
          saluti
          Roberto
          domanda da niubbo... questa patch, per come è scritta, non triggera il FS anche se tengo INTENZIONALMENTE il gas fisso a per 40ms ?

          facciamo caso di un althold... in qui il gas si presume che io possa anche non variarlo continuamente, dopo 40ms, non dovrebbe scattare il failsafe ?

          Commenta


          • Ciao Gionag ,
            le riceventi rc modulano su ogni canale un segnale ppm con una cadenza da 50 a 350 hz a seconda di come sono configurati i canali in uscita , la patch non verifica il valore che stanno modulando per andare in failsafe , ma il fatto che per un dt pre definito non ci sia piu' modulazione sul bus quindi quello che ipotizzi in realtà non influenza minimamente l'entrata in funzione della funzione di failsafe.
            un saluto
            Roberto
            Redfox74
            Virtual Robotix ( Arducopter DEVTEAM )
            http://www.virtualrobotix.com
            Canale di supporto FB
            https://www.facebook.com/groups/1606596929592397/

            Commenta


            • Originariamente inviato da ciskje Visualizza il messaggio
              Oggi tanti voli (e tanti video), purtroppo il bug nella 3.1.9 c'e' ancora. Se dopo aver trasferito un programma, si spegne e si riaccende, alla riattivazione di auto atterra immediatamente invece di eseguire il programma memorizzato.
              Azz, allora devo riprovare, a me pare non lo faccia più ma nutro il beneficio del dubbio.
              @Roberto: come payload porta su mezzo chilo più di un DJI S800 originale, quindi un bel pò...
              @Emile: puoi controllare se esiste ancora il bug delle missioni caricate da file, allineare all'attuale Guthub di APMC (con un occhio particolare al "crash detector", mah...) ed inserire la patch di Francesco (grazie bro) sul FS dopo aver verificato se funziona correttamente? Thanks!
              Marco Robustini (Ardupilot Lead Tester / Ardupilot Dev Team)
              My Facebook Profile

              Commenta


              • BUG nella sezone GIMBAL, occhio!

                Ho scoperto una cosa poco piacevole, non so se c'è solo nella VRB, ma sicuro c'è e forse anche nel code APM Copter.
                Nella sezione GIMBAL si possono scegliere i canali per controllare i vari tilt/roll etc, se si ha un hexa RC5 ed RC6 sono impegnati da due motori, selezionando quei canali il motore relativo inizia a girare...
                Bisogna fare in modo d'inibirli a seconda del frame impostato, cioè in caso di hexa RC5 ed RC6 non si devono poter scegliere o se scelti non devono mandare il pwm in unscita ai motori, in caso di octo dal RC5 al RC8 stessa cosa, inibiti.
                Qualcuno si può far male, quindi è da controllare e fixare subito!
                Marco Robustini (Ardupilot Lead Tester / Ardupilot Dev Team)
                My Facebook Profile

                Commenta


                • Originariamente inviato da Bobo67 Visualizza il messaggio
                  Ho scoperto una cosa poco piacevole, non so se c'è solo nella VRB, ma sicuro c'è e forse anche nel code APM Copter.
                  Nella sezione GIMBAL si possono scegliere i canali per controllare i vari tilt/roll etc, se si ha un hexa RC5 ed RC6 sono impegnati da due motori, selezionando quei canali il motore relativo inizia a girare...
                  Bisogna fare in modo d'inibirli a seconda del frame impostato, cioè in caso di hexa RC5 ed RC6 non si devono poter scegliere o se scelti non devono mandare il pwm in unscita ai motori, in caso di octo dal RC5 al RC8 stessa cosa, inibiti.
                  Qualcuno si può far male, quindi è da controllare e fixare subito!
                  Ciao Marco,
                  ho letto il messaggio di Randy in devlist ... è un problema noto che esiste anche su APM . Per risolvere il problema su VRBrain si possono fare diverse cose ... va valutata la migliore ...
                  un saluto
                  Roberto
                  Redfox74
                  Virtual Robotix ( Arducopter DEVTEAM )
                  http://www.virtualrobotix.com
                  Canale di supporto FB
                  https://www.facebook.com/groups/1606596929592397/

                  Commenta


                  • [OT]
                    Roberto,
                    ti ho mandato MP, rispondi please.
                    [OT]

                    Commenta


                    • Originariamente inviato da gionag Visualizza il messaggio
                      domanda da niubbo... questa patch, per come è scritta, non triggera il FS anche se tengo INTENZIONALMENTE il gas fisso a per 40ms ?

                      facciamo caso di un althold... in qui il gas si presume che io possa anche non variarlo continuamente, dopo 40ms, non dovrebbe scattare il failsafe ?
                      Il failsafe software (guardare nel mission planner), scatta appunto se tieni il gas fisso SOTTO una soglia (impostabile), di default 975ms.

                      Ed è fatto in modo che se metti il failsafe hardware sulla ricevente DEVI settare il gas sotto la soglia in modo che non ti sia possibile, da radio, arrivare a quei livelli.

                      Un segnale PPM è di 1000-2000ms 1500 circa il centro.

                      La patch lo tiene a 950, purtroppo su tutti i canali, ma emile potrebbe aggiungere l'ultimo passo cioè ricavare il canale del throttle e tenere solo quello a 950, il canale modo di volo a 950 non mi piace.

                      In ogni caso sabato farò delle prove.
                      Ultima modifica di ciskje; 30 ottobre 13, 20:51.
                      Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.

                      Commenta


                      • Failsafe Radio: Failsafe | ArduCopter
                        Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.

                        Commenta


                        • Il problema dei motori che erroneamente possono partire attivando alcuni canali nella sezione gimbal del Planner è stato risolto, aspettiamo gli allineamenti da Emile.
                          Ne approfitto per ricordargli che la sezione "internal F/S" ha priorità pià alta...
                          Marco Robustini (Ardupilot Lead Tester / Ardupilot Dev Team)
                          My Facebook Profile

                          Commenta


                          • What is the most stable version for fpv/waypoint/geofence ?
                            Tomorrow I plan a little test but I do no find good, stable version. I tried
                            3.1.5 but I can download logs.
                            3.1.9 unable to compile.

                            I just want a good, useable version not alpha and beta version. I rebuilt my hexa again from crashes, I spent 3000$ and I flight about 20 mins all since may and now I want to use it.


                            thanks

                            Commenta


                            • 3.1.5 and 3.1.9 are both really stable, wait the next version for the declared fix.
                              Marco Robustini (Ardupilot Lead Tester / Ardupilot Dev Team)
                              My Facebook Profile

                              Commenta


                              • Flash logs download solved

                                Finalmente grazie al contributo di Ciskje penso di aver cavato il bug fuori dal buco e il download dei log dovrebbe essere finalmete risolto.
                                Era un problema di semafori...
                                Cmq sto preparando due versioni:

                                1. Update alla 3.1.5 con la patch per i log (3.1.5b).
                                2. 3.1.9 la nuova versione aggiornata al master di Arducopter.

                                Nel frattempo integro le modifiche di Ciskje per la radio.

                                La 3.1.9 è in beta quindi verrà rilasciata come tale.
                                La 3.1.5 per ora sembra molto stabile, quindi per il momento rimane la "stable release".

                                Scusate in questo periodo non sono molto presente. Al lavoro è un delirio e a casa crollo la sera troppo presto.

                                Cmq un grazie a tutti per la pazienza e per i report che per il momento mi sembrano molto buoni.

                                Per chi volesse entrare nel merito delle ultime modifiche può scaricarsi la master dal git. e compilare quella.

                                Ciao!!
                                Emile

                                Commenta

                                Sto operando...
                                X