- sdi = g_malloc0(sizeof(struct sr_dev_inst));
- sdi->status = SR_ST_INACTIVE;
- sdi->vendor = g_strdup(LASCAR_VENDOR);
- sdi->model = g_strdup(profile->modelname);
- sdi->version = g_strdup(firmware);
- sdi->driver = di;
-
- if (profile->logformat == LOG_TEMP_RH) {
- /* Model this as two channels: temperature and humidity. */
- if (!(ch = sr_channel_new(0, SR_CHANNEL_ANALOG, TRUE, "Temp")))
- return NULL;
- sdi->channels = g_slist_append(NULL, ch);
- if (!(ch = sr_channel_new(0, SR_CHANNEL_ANALOG, TRUE, "Hum")))
- return NULL;
- sdi->channels = g_slist_append(sdi->channels, ch);
- } else if (profile->logformat == LOG_CO) {
- if (!(ch = sr_channel_new(0, SR_CHANNEL_ANALOG, TRUE, "CO")))
- return NULL;
- sdi->channels = g_slist_append(NULL, ch);
- } else {
- if (!(ch = sr_channel_new(0, SR_CHANNEL_ANALOG, TRUE, "P1")))
- return NULL;
- sdi->channels = g_slist_append(NULL, ch);
- }
+ i = config[52] | (config[53] << 8);
+ memcpy(firmware, config + 0x30, 4);
+ firmware[4] = '\0';
+ sr_dbg("found %s with firmware version %s serial %d",
+ profile->modelname, firmware, i);