All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH BlueZ 0/4] Sixaxis Plugin, almost there?
@ 2011-08-05 14:09 ` Antonio Ospite
  0 siblings, 0 replies; 37+ messages in thread
From: Antonio Ospite @ 2011-08-05 14:09 UTC (permalink / raw)
  To: linux-bluetooth
  Cc: Antonio Ospite, Bastien Nocera, linux-input, Jim Paris,
	Ranulf Doswell, Pascal A . Brisset, Marcin Tolysz,
	Christian Birchinger, Filipe Lopes, Alan Ott, Mikko Virkkila,
	Simon Wood, Arc Riley

Hi,

I hope we are getting there, this is another update to the sixaxis plugin.

The first patch is the same as always, removal of old cruft which I think 
could go in even right now.


The second patch is the sixaxis plugin with some updates:
  
  - Fixed various style issues (long lines, indentation)
  - Fixed some style issue pointed out by checkpatch.pl from linux, 
    namely it suggested not to initialize static variables.
  - Fixed issue pointed out by Vinicius Costa Gomez:
      * remove double newlines
      * move defines and static variables on the top
      * Add a comment about why the timeout is needed in monitor_event()
  - Use manager_get_default_adapter_id() as suggested by Bastien
  - Make return values more meaningful
  - Set the master bdaddr in the controller only when it is different 
    from the BT adapter bdaddr, this is how the PS3 does it (thanks Jim 
    for the dumps), perhaps to avoid unnecessary writes to some eeprom.

I left in the calloc() calls for now, maybe later I'll split the plugin 
in a sixaxis-specific part and a bluez-specific part, but for now I 
think we can live with that. I also left the return codes called "ret" 
because they didn't fit the "err" semantic, as I am checking for < 0.


The third patch is about linking UDEV_LIBS only when needed, embedded 
people might like this but I was not sure and I left is a separate patch 
for an easier review.


The forth patch makes the plugin wait for actual events (that is: PS button 
has been pressed) before setting the leds, this is how the PS3 behaves, and 
happens to cure the problem of setting the second led when connecting the 
controller via USB when it is working over BT already, in fact the controller 
keep sending events over BT even after it is connected via USB after 
association, and so the USB connection event will not set the second led on 
ever. The trick works with one controller, but I think this will mess up 
numbering with multiple controller connected in some mixed order. So again 
this change is sent in its own patch to be more visible.

For those of you who can't get the plugin to work, please try cleaning 
up your /var/lib/bluetooth dir.


NOTES:

  - Testing is needed with multiple BT adapters and/or multiple 
    controllers, but I haven't got the hardware for that yet.

  - Arc Riley suggested to use more generic name for the plugin if it is 
    going to support the Move too, something like "sony-controllers" 
    maybe, but I don't mind leaving it called sixaxis for historical 
    reasons (and laziness reasons too), what do you think?


Thanks,
   Antonio

Antonio Ospite (4):
  Remove input/sixpair.c
  Add sixaxis plugin: USB pairing and LEDs settings
  Link to udev only when needed
  plugins/sixaxis: Wait for the PS button before setting the LEDs

 Makefile.am       |   11 +-
 acinclude.m4      |   10 +
 input/sixpair.c   |  299 --------------------------
 plugins/sixaxis.c |  599 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 619 insertions(+), 300 deletions(-)
 delete mode 100644 input/sixpair.c
 create mode 100644 plugins/sixaxis.c

-- 
Antonio Ospite
http://ao2.it

PGP public key ID: 0x4553B001

A: Because it messes up the order in which people normally read text.
   See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2011-08-26 12:49 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-05 14:09 [PATCH BlueZ 0/4] Sixaxis Plugin, almost there? Antonio Ospite
2011-08-05 14:09 ` Antonio Ospite
2011-08-05 14:09 ` [PATCH BlueZ 1/4] Remove input/sixpair.c Antonio Ospite
2011-08-05 14:09   ` Antonio Ospite
2011-08-05 14:09 ` [PATCH BlueZ 2/4] Add sixaxis plugin: USB pairing and LEDs settings Antonio Ospite
2011-08-05 14:09   ` Antonio Ospite
2011-08-10  2:24   ` Alan Ott
2011-08-10  2:24     ` Alan Ott
2011-08-18 14:13     ` Antonio Ospite
2011-08-18 14:13       ` Antonio Ospite
2011-08-18 14:22       ` [PATCH 0/4 incremental 1/2] Generalize controller handling to support different devices Antonio Ospite
2011-08-18 14:22         ` Antonio Ospite
2011-08-18 15:26         ` Alan Ott
2011-08-18 15:26           ` Alan Ott
2011-08-19 19:14           ` Antonio Ospite
2011-08-19 20:57             ` Antonio Ospite
2011-08-20 10:11               ` Antonio Ospite
2011-08-18 14:22       ` [PATCH 2/2] Match controllers using vendor_id and product_id instead of HID_NAME Antonio Ospite
2011-08-19 19:57       ` [PATCH BlueZ 2/4] Add sixaxis plugin: USB pairing and LEDs settings Antonio Ospite
2011-08-19 19:57         ` Antonio Ospite
2011-08-22 20:08         ` Antonio Ospite
2011-08-05 14:09 ` [PATCH BlueZ 3/4] Link to udev only when needed Antonio Ospite
2011-08-05 14:09   ` Antonio Ospite
2011-08-18 10:44   ` Antonio Ospite
2011-08-18 10:44     ` Antonio Ospite
2011-08-18 23:18     ` Marcel Holtmann
2011-08-19  8:58       ` Antonio Ospite
2011-08-19 19:08         ` Antonio Ospite
2011-08-19 19:08           ` Antonio Ospite
2011-08-25 14:14           ` Antonio Ospite
2011-08-25 14:14             ` Antonio Ospite
2011-08-25 17:06             ` Vinicius Costa Gomes
2011-08-25 17:06               ` Vinicius Costa Gomes
2011-08-26 12:49               ` Antonio Ospite
2011-08-05 14:09 ` [PATCH BlueZ 4/4] plugins/sixaxis: Wait for the PS button before setting the LEDs Antonio Ospite
2011-08-05 14:09   ` Antonio Ospite
2011-08-05 14:26 ` [PATCH BlueZ 0/4] Sixaxis Plugin, almost there? Anderson Lizardo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.