aboutsummaryrefslogtreecommitdiffstats
path: root/firmware/usrp3/lib
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/usrp3/lib')
-rw-r--r--firmware/usrp3/lib/CMakeLists.txt1
-rw-r--r--firmware/usrp3/lib/fw_comm_protocol.c105
2 files changed, 0 insertions, 106 deletions
diff --git a/firmware/usrp3/lib/CMakeLists.txt b/firmware/usrp3/lib/CMakeLists.txt
index 9d9ee3c6c..cd1a82c3f 100644
--- a/firmware/usrp3/lib/CMakeLists.txt
+++ b/firmware/usrp3/lib/CMakeLists.txt
@@ -30,7 +30,6 @@ add_library(usrp3fw STATIC
print_addrs.c
link_state_route_proto.c
cron.c
- fw_comm_protocol.c
flash/spi_flash.c
flash/spif_spsn_s25flxx.c
)
diff --git a/firmware/usrp3/lib/fw_comm_protocol.c b/firmware/usrp3/lib/fw_comm_protocol.c
deleted file mode 100644
index 0cc931a76..000000000
--- a/firmware/usrp3/lib/fw_comm_protocol.c
+++ /dev/null
@@ -1,105 +0,0 @@
-//
-// Copyright 2014 Ettus Research LLC
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-//
-
-#include "../../../host/lib/usrp/common/fw_comm_protocol.h"
-
-#include <trace.h>
-#include <string.h> //memcmp
-
-bool process_fw_comm_protocol_pkt(
- const fw_comm_pkt_t* request,
- fw_comm_pkt_t* response,
- uint8_t product_id,
- uint32_t iface_id,
- poke32_func poke_callback,
- peek32_func peek_callback)
-{
- bool send_response = false;
-
- uint16_t signature = request->id;
- uint8_t version = FW_COMM_GET_PROTOCOL_VER(request->id);
- uint8_t product = FW_COMM_GET_PRODUCT_ID(request->id);
- if (signature == FW_COMM_PROTOCOL_SIGNATURE && //Verify protocol
- version <= FW_COMM_PROTOCOL_VERSION && //Verify protocol version (older versions supported)
- product == product_id) //Verify device
- {
- //Request is valid. Copy it into the reply.
- memcpy(response, request, sizeof(fw_comm_pkt_t));
-
- //Start assuming no error
- response->flags &= ~FW_COMM_FLAGS_ERROR_MASK;
-
- //Otherwise, run the command set by the flags
- switch (request->flags & FW_COMM_FLAGS_CMD_MASK) {
- case FW_COMM_CMD_ECHO: {
- UHD_FW_TRACE(DEBUG, "fw_comm_protocol::echo()");
- response->data_words = 1;
- response->data[0] = iface_id;
- } break;
-
- case FW_COMM_CMD_POKE32: {
- UHD_FW_TRACE_FSTR(DEBUG, "fw_comm_protocol::poke32(0x%x)=0x%x",
- request->addr,*(request->data));
- poke_callback(request->addr, *(request->data));
- } break;
-
- case FW_COMM_CMD_PEEK32: {
- *(response->data) = peek_callback(request->addr);
- UHD_FW_TRACE_FSTR(DEBUG, "fw_comm_protocol::peek32(0x%x)=0x%x",
- request->addr,*(response->data));
- } break;
-
- case FW_COMM_CMD_BLOCK_POKE32: {
- if (request->data_words > FW_COMM_MAX_DATA_WORDS) {
- response->flags |= FW_COMM_ERR_SIZE_ERROR;
- response->data_words = FW_COMM_MAX_DATA_WORDS;
- } else {
- response->data_words = request->data_words;
- }
- UHD_FW_TRACE_FSTR(DEBUG, "fw_comm_protocol::block_poke32(0x%x,%d)",request->addr,response->data_words);
- for (uint32_t i = 0; i < response->data_words; i++) {
- poke_callback(request->addr + (i * sizeof(uint32_t)), request->data[i]);
- }
- } break;
-
- case FW_COMM_CMD_BLOCK_PEEK32: {
- if (request->data_words > FW_COMM_MAX_DATA_WORDS) {
- response->flags |= FW_COMM_ERR_SIZE_ERROR;
- response->data_words = FW_COMM_MAX_DATA_WORDS;
- } else {
- response->data_words = request->data_words;
- }
- for (uint32_t i = 0; i < response->data_words; i++) {
- response->data[i] = peek_callback(request->addr + (i * sizeof(uint32_t)));
- }
- UHD_FW_TRACE_FSTR(DEBUG, "fw_comm_protocol::block_peek32(0x%x,%d)",request->addr,response->data_words);
- } break;
-
- default: {
- UHD_FW_TRACE(ERROR, "fw_comm_protocol got an invalid command.");
- response->flags |= FW_COMM_ERR_CMD_ERROR;
- }
- }
-
- //Send a reply if ack requested
- send_response = (request->flags & FW_COMM_FLAGS_ACK);
- } else { //Size, protocol, product check failed
- UHD_FW_TRACE(WARN, "fw_comm_protocol ignored an unknown request.");
- send_response = false;
- }
- return send_response;
-}