[PATCH BlueZ 0/4] Sixaxis Plugin, almost there?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux