| -schumi- 
 
  
 Anmeldungsdatum: 28.10.2009
 Beiträge: 131
 Wohnort: Südbayern
 
 | 
			
				|  Verfasst am: 14.11.2010, 19:36    Titel: Gamepad: automatisch auf analog schalten? |   |  
				| 
 |  
				| Hallo   
 Mein Gamepad ärgert mich grad n bissel. Es geht um folgendes:
 Mit einem Joystick des Gamepads kann ich meinen Roboter Robby RP6 *¹ mithilfe des Funkmoduls RFM12 *² fernsteuern,
 Um z.B. auch Kurven mit unterschiedlichen Radien fahren zu können muss ich des Stick des Gamepads manuell auf analog schalten, weil sonst nur ein vollausschlag erkannt wird.
 Meine Frage:
 Ist es denn mit vertretbarem Aufwand möglich dass das FB-Programm beim Start das Gamepad automatisch auf analog schaltet?
 
 Der Code (hab mir einfach das Beispiel von freebasic-portal.de geschnappt und bissel modifiziert)
 
  	  | Code: |  	  | SCREEN 12
 
 DIM AS SINGLE x, y, gasmulti, lenkmulti
 DIM AS INTEGER buttons, result, i
 OPEN COM "/dev/ttyUSB0:38400,N,8,1,ME,CS0,DS0,RS" AS #1
 CONST JoystickID = 0
 
 ' Prüfe, ob die Joystick-Abfrage arbeitet:
 
 IF GETJOYSTICK(JoystickID, buttons, x, y) THEN
 PRINT "Joystick existiert nicht, oder ein Fehler ist aufgetreten."
 PRINT
 PRINT "Beliebige Taste drücken um fortzusetzen"
 SLEEP
 END
 END IF
 
 
 DO
 GETJOYSTICK JoystickID, buttons, x, y
 LOCATE 1,1
 PRINT USING "x: +#.### y: +#.### Buttons: #### "; x; y; buttons
 
 IF (buttons AND (1 SHL 0)) THEN 'Ermöglich langsahmes, normales und schnelles fahren
 gasmulti=60
 lenkmulti=40
 elseif (buttons AND (1 SHL 2)) then
 gasmulti=20
 lenkmulti=15
 else
 gasmulti=40
 lenkmulti=30
 end if
 sleep 15
 y=y*-1
 put #1,,chr(255) 'Übertragung einleiten
 put #1,,chr(int(128+y*gasmulti+x*lenkmulti)) 'linke Kette
 put #1,,chr(int(128+y*gasmulti-x*lenkmulti)) 'rechte Kette
 ' Bei Tastendruck beenden.
 LOOP UNTIL LEN(INKEY)
 close
 
 | 
 
 MfG + schon mal Danke!
 -schumi-
 
 PS:
 Die Links für Leute die es interessiert:
 *¹ Robby RP6: http://arexx.com/rp6/html/de/index.htm
 *² RFM-Funkmodul: http://www.pollin.de/shop/dt/MDU5OTgxOTk-/Bausaetze_Module/Module/Funkmodul_RFM12_433_Sende_Empfangsmodul.html
 |  |