Changeset 116 for trunk/libcwiid

Show
Ignore:
Timestamp:
05/16/07 19:40:30 (2 years ago)
Author:
dsmith
Message:

deprecated cwiid_{connect,disconnect,command}, added cwiid_{open,close,request_status,set_led,set_rumble,set_rpt_mode}

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/libcwiid/command.c

    r101 r116  
    1616 * 
    1717 *  ChangeLog: 
     18 *  2007-05-16 L. Donnie Smith <cwiid@abstrakraft.org> 
     19 *  * added cwiid_request_status, cwiid_set_let, cwiid_set_rumble, 
     20 *    cwiid_set_rpt_mode 
     21 * 
    1822 *  2007-04-24 L. Donnie Smith <cwiid@abstrakraft.org> 
    1923 *  * rewrite for API overhaul 
     
    4549#include "cwiid_internal.h" 
    4650 
    47 #define CMD_BUF_LEN     21 
    4851int cwiid_command(struct wiimote *wiimote, enum cwiid_command command, 
    4952                  int flags) { 
    50         int ret = 0; 
    51         unsigned char buf[CMD_BUF_LEN]; 
    52  
    53         /* TODO: assumption: char assignments are atomic, no mutex lock needed */ 
     53        int ret; 
     54 
    5455        switch (command) { 
    5556        case CWIID_CMD_STATUS: 
    56                 buf[0] = 0; 
    57                 if (send_report(wiimote, 0, RPT_STATUS_REQ, 1, buf)) { 
    58                         cwiid_err(wiimote, "Status request error"); 
    59                         ret = -1; 
    60                 } 
     57                ret = cwiid_request_status(wiimote); 
    6158                break; 
    6259        case CWIID_CMD_LED: 
    63                 wiimote->state.led = flags & 0x0F; 
    64                 buf[0] = wiimote->state.led<<4 | wiimote->state.rumble; 
    65                 if (send_report(wiimote, SEND_RPT_NO_RUMBLE, RPT_LED_RUMBLE, 1, buf)) { 
    66                         cwiid_err(wiimote, "Report send error (led)"); 
    67                         ret = -1; 
    68                 } 
     60                ret = cwiid_set_led(wiimote, flags); 
    6961                break; 
    7062        case CWIID_CMD_RUMBLE: 
    71                 wiimote->state.rumble = flags ? 1 : 0; 
    72                 buf[0] = wiimote->state.led<<4 | wiimote->state.rumble; 
    73                 if (send_report(wiimote, SEND_RPT_NO_RUMBLE, RPT_LED_RUMBLE, 1, buf)) { 
    74                         cwiid_err(wiimote, "Report send error (rumble)"); 
    75                         ret = -1; 
    76                 } 
     63                ret = cwiid_set_rumble(wiimote, flags); 
    7764                break; 
    7865        case CWIID_CMD_RPT_MODE: 
    79                 update_rpt_mode(wiimote, flags); 
     66                ret = cwiid_set_rpt_mode(wiimote, flags); 
    8067                break; 
    8168        default: 
     
    8572 
    8673        return ret; 
     74} 
     75 
     76int cwiid_request_status(cwiid_wiimote_t *wiimote) 
     77{ 
     78        unsigned char data; 
     79 
     80        data = 0; 
     81        if (send_report(wiimote, 0, RPT_STATUS_REQ, 1, &data)) { 
     82                cwiid_err(wiimote, "Status request error"); 
     83                return -1; 
     84        } 
     85 
     86        return 0; 
     87} 
     88 
     89int cwiid_set_led(cwiid_wiimote_t *wiimote, uint8_t led) 
     90{ 
     91        unsigned char data; 
     92 
     93        /* TODO: assumption: char assignments are atomic, no mutex lock needed */ 
     94        wiimote->state.led = led & 0x0F; 
     95        data = wiimote->state.led << 4; 
     96        if (send_report(wiimote, 0, RPT_LED_RUMBLE, 1, &data)) { 
     97                cwiid_err(wiimote, "Report send error (led)"); 
     98                return -1; 
     99        } 
     100 
     101        return 0; 
     102} 
     103 
     104int cwiid_set_rumble(cwiid_wiimote_t *wiimote, uint8_t rumble) 
     105{ 
     106        unsigned char data; 
     107 
     108        /* TODO: assumption: char assignments are atomic, no mutex lock needed */ 
     109        wiimote->state.rumble = rumble ? 1 : 0; 
     110        data = wiimote->state.led << 4; 
     111        if (send_report(wiimote, 0, RPT_LED_RUMBLE, 1, &data)) { 
     112                cwiid_err(wiimote, "Report send error (led)"); 
     113                return -1; 
     114        } 
     115 
     116        return 0; 
     117} 
     118 
     119int cwiid_set_rpt_mode(cwiid_wiimote_t *wiimote, uint8_t rpt_mode) 
     120{ 
     121        return update_rpt_mode(wiimote, rpt_mode); 
    87122} 
    88123 
  • trunk/libcwiid/connect.c

    r115 r116  
    1818 *  2007-05-16 L. Donnie Smith <cwiid@abstrakraft.org> 
    1919 *  * remove error_pipe init and destruct 
     20 *  * renamed connect and disconnect to open and close 
    2021 * 
    2122 *  2007-04-24 L. Donnie Smith <cwiid@abstrakraft.org> 
     
    5859static int wiimote_id = 0; 
    5960 
    60 cwiid_wiimote_t *cwiid_connect(bdaddr_t *bdaddr, int flags) 
     61cwiid_wiimote_t *cwiid_open(bdaddr_t *bdaddr, int flags) 
    6162{ 
    6263        struct wiimote *wiimote = NULL; 
     
    194195        memset(&wiimote->state, 0, sizeof wiimote->state); 
    195196        wiimote->mesg_callback = NULL; 
    196         cwiid_command(wiimote, CWIID_CMD_LED, 0); 
    197         cwiid_command(wiimote, CWIID_CMD_STATUS, 0); 
     197        cwiid_set_led(wiimote, 0); 
     198        cwiid_request_status(wiimote); 
    198199 
    199200        return wiimote; 
     
    272273} 
    273274 
    274 int cwiid_disconnect(struct wiimote *wiimote) 
     275int cwiid_close(struct wiimote *wiimote) 
    275276{ 
    276277        void *pthread_ret; 
  • trunk/libcwiid/cwiid.h

    r113 r116  
    1616 * 
    1717 *  ChangeLog: 
     18 *  2007-05-16 L. Donnie Smith <cwiid@abstrakraft.org> 
     19 *  * changed cwiid_connect, cwiid_disconnect to cwiid_open, cwiid_close 
     20 *  * added cwiid_request_status, cwiid_set_let, cwiid_set_rumble, 
     21 *    cwiid_set_rpt_mode 
     22 * 
    1823 *  2007-05-14 L. Donnie Smith <cwiid@abstrakraft.org> 
    1924 *  * added timestamp to message functions 
     
    298303 
    299304/* Connection */ 
    300 cwiid_wiimote_t *cwiid_connect(bdaddr_t *bdaddr, int flags); 
    301 int cwiid_disconnect(cwiid_wiimote_t *wiimote); 
     305#define cwiid_connect cwiid_open 
     306#define cwiid_disconnect cwiid_close 
     307cwiid_wiimote_t *cwiid_open(bdaddr_t *bdaddr, int flags); 
     308int cwiid_close(cwiid_wiimote_t *wiimote); 
    302309 
    303310int cwiid_get_id(cwiid_wiimote_t *wiimote); 
     
    319326int cwiid_command(cwiid_wiimote_t *wiimote, enum cwiid_command command, 
    320327                  int flags); 
     328int cwiid_request_status(cwiid_wiimote_t *wiimote); 
     329int cwiid_set_led(cwiid_wiimote_t *wiimote, uint8_t led); 
     330int cwiid_set_rumble(cwiid_wiimote_t *wiimote, uint8_t rumble); 
     331int cwiid_set_rpt_mode(cwiid_wiimote_t *wiimote, uint8_t rpt_mode); 
    321332int cwiid_read(cwiid_wiimote_t *wiimote, uint8_t flags, uint32_t offset, 
    322333               uint16_t len, void *data);