- level = buffer[2] + (buffer[3] & 0x0f) * 256;
- if (level != kit->sensors[sensor]) {
- kit->sensors[sensor] = level;
- set_bit(sensor, &kit->sensor_events);
- }
- sensor++;
- level = buffer[4] + (buffer[3] & 0xf0) * 16;
- if (level != kit->sensors[sensor]) {
- kit->sensors[sensor] = level;
- set_bit(sensor, &kit->sensor_events);
- }
- sensor++;
- level = buffer[5] + (buffer[6] & 0x0f) * 256;
- if (level != kit->sensors[sensor]) {
- kit->sensors[sensor] = level;
- set_bit(sensor, &kit->sensor_events);
- }
- sensor++;
- level = buffer[7] + (buffer[6] & 0xf0) * 16;
- if (level != kit->sensors[sensor]) {
- kit->sensors[sensor] = level;
- set_bit(sensor, &kit->sensor_events);
- }
+ if (buffer[0] & 1) {
+ kit->sensors[4] = buffer[2] + (buffer[3] & 0x0f) * 256;
+ kit->sensors[5] = buffer[4] + (buffer[3] & 0xf0) * 16;
+ kit->sensors[6] = buffer[5] + (buffer[6] & 0x0f) * 256;
+ kit->sensors[7] = buffer[7] + (buffer[6] & 0xf0) * 16;
+ } else {
+ kit->sensors[0] = buffer[2] + (buffer[3] & 0x0f) * 256;
+ kit->sensors[1] = buffer[4] + (buffer[3] & 0xf0) * 16;
+ kit->sensors[2] = buffer[5] + (buffer[6] & 0x0f) * 256;
+ kit->sensors[3] = buffer[7] + (buffer[6] & 0xf0) * 16;