Pixhawk mit X8R PWM-Rssi?

#1
Hallo,
ich muss vielleicht mal wieder etwas dumm fragen. Ich habe nen einen RTFHawk und einen FrSky X8R empfäger und bei beiden finde ich widersprüchliche Aussagen was das übermitteln von RSSI werten angeht.

Zum Einen habe ich gelsen das der X8R ein PWM-Signal statt einem Spannungssignal für die Signalstärke ausgibt.
Was ja eigentlich der Pixhawk auch verarbeiten können sollte. Nun habe ich da widerrum gelesen das das noch nicht implementiert wurde und nicht funktioniert.

Weiß jemand ob das mittlerweile geschehen ist?
Wenn dem nicht so ist, müsste ich doch so einen RC-Filter bauen und dazwischen hängen oder?

Vielen Dank!
 

krysly

Erfahrener Benutzer
#2
Hallo,

also ich hatte da auch noch nicht so lange her geforscht da ich ein X8R am APM2.5 hängen habe. Und da habe ich die
ganz klare Aussage bekommen das vom X8R keine analoge Spannung kommt.

Ich hatte mir deshalb auch ein Wandler gebastelt um den RSSI Wert ins APM zu bekommen und das funktioniert bei mir
aktuell auch einwandfrei.

Gruß
Christian

Edit: Genau wie hier habe ich es auch umgesetzt:

http://fpv-community.de/showthread.php?52689-Umstieg-auf-Taranis-FrSky-mit-APM2-5-(Komponentenauswahl)&p=676598&viewfull=1#post676598
 
Zuletzt bearbeitet:
#3
Okay, danke schonmal für die schnelle Antwort.
Jetzt ist nur noch die Frage ob der Pixhawk nicht vielleicht doch schon das PWM-Signal verarbeiten kann. Weiß das jemand?
Sonst werd ich mir mal was zusammen brutzeln.
 
#5
Nein leider noch nicht... es besteht Hardware seitig die Möglichkeit PWM RSSI zu verarbeiten, ist aber in der Software noch nicht implementiert. so weit ich weis wird es auch nicht in 3.2 zur Verfügung stehen.
 
#8
Danke rose, also scheint es mit der 3.2RC zu funktionieren, die hab ich grade auch drauf.
Habe mir die Teile noch nicht organisiert also werde es einfach mal ausprobielen und dann berichten.
 
#9
So grade einfach mal gestestet, es kommt "0" an. Hab direkt signal verbunden, und pin 103 als sensing pin gesetzt. Spannung auf 3.3V. Irgendwas läuft da noch schief.
 
Zuletzt bearbeitet:
#10
Manchmal sind es eben die dummen Fehler. Habe mir im HUD RSSI statt RXRSSI eingeblendet. Nun bekomme ich einen Wert angezeigt. Also bei der 3.2.RC gehts auf jeden Fall ohne Filter, jedoch springt er zwischen 74 un 98 % hin und her. Zu 100% scheint das nicht zu funktionieren, aber mir solls reichen. Danke nochmal an Rose
 
Zuletzt bearbeitet:

Gortosch

Erfahrener Benutzer
#12
Hallo,

ist es richtig dann in den Parametern als Pin 103 und Spannung 3.3 (was dann nach dem Auslesen auf 33 steht) einzustellen? (Pixhawk)


Gruß
Sven
 
#13
Japp, so ist's bei mir. Die Spannung hab ich über die "Standart-Parameter" eingestellt weil ich nicht wusste ob's ein Punkt oder Komma war und mich die 33 etwas irritiert hat.
 

Gortosch

Erfahrener Benutzer
#14
Okay danke, den Standardparameter habe ich dann wohl übersehen. Sollte die Masse auch angeschlossen werden? Müsste doch eigentlich über den SBUS-Stecker verbunden sein?


Gruß
Sven
 

Gortosch

Erfahrener Benutzer
#16
Hast du einen Filter dazwischen? So wie die Werte bei mir kommen, (74 und 98) sieht mir das nach einem ungefiltertes PWM-Signal aus.


Gruß
 
#17
Darf ich auch mal blöd Fragen: Habt Ihr einfach ein Servokabel genommen bzw. welcher PIN vom X8R (S oder +) muss mit dem PIN 103 der Pixhawk verbunden werden?
 

meister

Erfahrener Benutzer
#20
Code:
	if (!strcmp(argv[1], "rssi_analog")) {
		/* we can cheat and call the driver directly, as it
		 * doesn't reference filp in ioctl()
		 */
		int ret = g_dev->ioctl(nullptr, RC_INPUT_ENABLE_RSSI_ANALOG, 1);

		if (ret != 0) {
			errx(ret, "RSSI analog failed");
		}

		exit(0);
	}

	if (!strcmp(argv[1], "rssi_pwm")) {
		/* we can cheat and call the driver directly, as it
		 * doesn't reference filp in ioctl()
		 */
		int ret = g_dev->ioctl(nullptr, RC_INPUT_ENABLE_RSSI_PWM, 1);

		if (ret != 0) {
			errx(ret, "RSSI PWM failed");
		}

		exit(0);
	}

Code:
/** Enable RSSI input via ADC */
#define RC_INPUT_ENABLE_RSSI_ANALOG	_IOC(_RC_INPUT_BASE, 1)

/** Enable RSSI input via PWM signal */
#define RC_INPUT_ENABLE_RSSI_PWM	_IOC(_RC_INPUT_BASE, 2)
Code:
	case RC_INPUT_ENABLE_RSSI_ANALOG:

		if (arg) {
			ret = io_reg_modify(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_FEATURES, 0, PX4IO_P_SETUP_FEATURES_ADC_RSSI);
		} else {
			ret = io_reg_modify(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_FEATURES, PX4IO_P_SETUP_FEATURES_ADC_RSSI, 0);
		}

		break;

	case RC_INPUT_ENABLE_RSSI_PWM:

		if (arg) {
			ret = io_reg_modify(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_FEATURES, 0, PX4IO_P_SETUP_FEATURES_PWM_RSSI);
		} else {
			ret = io_reg_modify(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_FEATURES, PX4IO_P_SETUP_FEATURES_PWM_RSSI, 0);
		}

		break;

im code gibt es einen unterschied zwichen pwm und analog, ich schau mal weiter :)


EDIT: leider blick ich den code noch net so ganz :(
 
Zuletzt bearbeitet:
FPV1

Banggood

Oben Unten