errorchecking for fans
This commit is contained in:
13
src/aio.c
13
src/aio.c
@@ -58,10 +58,12 @@ static void aio_usb_release(libusb_device_handle *dev) {
|
||||
libusb_release_interface(dev, 0);
|
||||
}
|
||||
|
||||
static void aio_post(libusb_device_handle *dev, uint8_t *req, const int req_len, uint8_t *resp, const int resp_len) {
|
||||
static int aio_post(libusb_device_handle *dev, uint8_t *req, const int req_len, uint8_t *resp, const int resp_len) {
|
||||
// applog(LOG_DBG, "writing to aio, %02x", req[0]);
|
||||
libusb_bulk_transfer(dev, 0x01, req, req_len, nullptr, usb_timeout);
|
||||
libusb_bulk_transfer(dev, 0x81, resp, resp_len, nullptr, usb_timeout);
|
||||
int ret = 0;
|
||||
ret += libusb_bulk_transfer(dev, 0x01, req, req_len, nullptr, usb_timeout);
|
||||
ret += libusb_bulk_transfer(dev, 0x81, resp, resp_len, nullptr, usb_timeout);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static float aio_get_water_temp(libusb_device_handle *dev) {
|
||||
@@ -106,8 +108,9 @@ static void aio_set_fan_duty(libusb_device_handle *dev, const uint8_t *duty) {
|
||||
req[2] = MIN(MAX(duty[i], 0), 100);
|
||||
if (params.fans.fan_stop && req[2] <= params.fans.min_duty)
|
||||
req[2] = 0;
|
||||
aio_post(dev, req, sizeof(req), resp, buf_size);
|
||||
last_duty = req[2];
|
||||
const int ret = aio_post(dev, req, sizeof(req), resp, buf_size);
|
||||
if (ret == 0)
|
||||
last_duty = req[2];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user