diff --git a/firmware/common/operacake.c b/firmware/common/operacake.c index 3dad30c9..ec7df4ba 100644 --- a/firmware/common/operacake.c +++ b/firmware/common/operacake.c @@ -77,7 +77,7 @@ void operacake_write_reg(i2c_bus_t* const bus, uint8_t address, uint8_t reg, uin } uint8_t operacake_init(void) { - int reg, addr, i, j = 0; + uint8_t reg, addr, i, j = 0; /* Find connected operacakes */ for(i=0; i<8; i++) { addr = OPERACAKE_DEFAULT_ADDRESS | i; @@ -92,15 +92,6 @@ uint8_t operacake_init(void) { return 0; } -// uint8_t operacake_get_boards(uint8_t *boards) { -// int i, j = 0; -// for(i=0; i<8; i++) { -// if(operacake_boards & (1<setup.index & 0xFF; + port_a = endpoint->setup.value & 0xFF; + port_b = (endpoint->setup.value >> 8) & 0xFF; if (stage == USB_TRANSFER_STAGE_SETUP) { - operacake_set_ports(endpoint->setup.index, endpoint->setup.value); + operacake_set_ports(address, port_a, port_b); usb_transfer_schedule_ack(endpoint->in); } return USB_REQUEST_STATUS_OK; diff --git a/host/libhackrf/src/hackrf.c b/host/libhackrf/src/hackrf.c index dc7edec3..61824cf1 100644 --- a/host/libhackrf/src/hackrf.c +++ b/host/libhackrf/src/hackrf.c @@ -1725,8 +1725,9 @@ int ADDCALL hackrf_get_operacake_boards(hackrf_device* device, uint8_t* boards) /* Set Operacake ports */ int ADDCALL hackrf_set_operacake_ports(hackrf_device* device, - const uint8_t port_a, - const uint8_t port_b) + uint8_t address, + uint8_t port_a, + uint8_t port_b) { int result; /* Error checking */ @@ -1742,8 +1743,8 @@ int ADDCALL hackrf_set_operacake_ports(hackrf_device* device, device->usb_device, LIBUSB_ENDPOINT_OUT | LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE, HACKRF_VENDOR_REQUEST_OPERACAKE_SET_PORTS, - port_a, - port_b, + address, + port_a | (port_b<<8), NULL, 0, 0 diff --git a/host/libhackrf/src/hackrf.h b/host/libhackrf/src/hackrf.h index 87e9556b..ef7f0958 100644 --- a/host/libhackrf/src/hackrf.h +++ b/host/libhackrf/src/hackrf.h @@ -211,8 +211,9 @@ extern ADDAPI uint32_t ADDCALL hackrf_compute_baseband_filter_bw(const uint32_t /* Operacake functions */ int ADDCALL hackrf_get_operacake_boards(hackrf_device* device, uint8_t* boards); int ADDCALL hackrf_set_operacake_ports(hackrf_device* device, - const uint8_t port_a, - const uint8_t port_b); + uint8_t address, + uint8_t port_a, + uint8_t port_b); #ifdef __cplusplus } // __cplusplus defined.