altos: Add bit-bang i2c driver
[fw/altos] / libaltos / libaltos_windows.c
index b92df70857fb03b1bbf61220cd91608eb307051d..33eb77c7ac7c1149f4e03823e8218ca49e399989 100644 (file)
@@ -135,6 +135,7 @@ static struct {
        unsigned int    vid, pid;
        char    *name;
 } name_map[] = {
+       { .vid = 0xfffe, .pid = 0x000d, .name = "EasyTimer" },
        { .vid = 0xfffe, .pid = 0x0028, .name = "EasyMega" },
        { .vid = 0xfffe, .pid = 0x002c, .name = "EasyMotor" },
        { .name = NULL },
@@ -756,6 +757,7 @@ altos_bt_open(struct altos_bt_device *device)
        struct altos_file_windows       *file;
        SOCKADDR_BTH            sockaddr_bth;
        int                     ret;
+       int                     channel = 0;
 
        file = calloc(1, sizeof (struct altos_file_windows));
        if (!file) {
@@ -774,7 +776,12 @@ altos_bt_open(struct altos_bt_device *device)
        memset(&sockaddr_bth, '\0', sizeof (sockaddr_bth));
        sockaddr_bth.addressFamily = AF_BTH;
        sockaddr_bth.btAddr = str2ba(device->addr);
-       sockaddr_bth.port = altos_bt_port(device);
+
+       channel = altos_bt_port(device);
+       if (channel == 0)
+               channel = BT_PORT_DEFAULT;
+
+       sockaddr_bth.port = channel;
 
        ret = connect(file->socket, (SOCKADDR *) &sockaddr_bth, sizeof (sockaddr_bth));