diff --git a/CMakeLists.txt b/CMakeLists.txt index 036a2d9..7cd80e6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,7 +54,7 @@ if (NOT CMAKE_LIBRARY_ARCHITECTURE) if (CMAKE_SIZEOF_VOID_P EQUAL 8) set(CMAKE_LIBRARY_ARCHITECTURE "x64") set(NEUROPIX_LINK_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Source/API/v1/lib64/NeuropixAPI_x64_1_20.lib) - set(NEUROPIX2_LINK_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Source/API/v3/lib64/NeuropixAPI_x64_3_60.lib) + set(NEUROPIX2_LINK_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Source/API/v3/lib64/NeuropixAPI_x64_3_62.lib) else() set(CMAKE_LIBRARY_ARCHITECTURE "x86") set(NEUROPIX_LINK_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Source/neuropix-api/lib32/NeuropixAPI_x86_1_20.lib) diff --git a/Resources/NeuropixAPI_x64_3_60.dll b/Resources/NeuropixAPI_x64_3_62.dll similarity index 56% rename from Resources/NeuropixAPI_x64_3_60.dll rename to Resources/NeuropixAPI_x64_3_62.dll index b55fb8e..9bb9341 100644 Binary files a/Resources/NeuropixAPI_x64_3_60.dll and b/Resources/NeuropixAPI_x64_3_62.dll differ diff --git a/Resources/imec-firmware-for-plugin-0.6.x.zip b/Resources/imec-firmware-for-plugin-0.6.x.zip index 437f772..8c5925f 100644 Binary files a/Resources/imec-firmware-for-plugin-0.6.x.zip and b/Resources/imec-firmware-for-plugin-0.6.x.zip differ diff --git a/Resources/imec-firmware-for-plugin-0.6.x/QBSC_FPGA_B186.bin b/Resources/imec-firmware-for-plugin-0.6.x/QBSC_FPGA_B186.bin deleted file mode 100644 index 7408ee8..0000000 Binary files a/Resources/imec-firmware-for-plugin-0.6.x/QBSC_FPGA_B186.bin and /dev/null differ diff --git a/Resources/imec-firmware-for-plugin-0.6.x/QBSC_FPGA_B189.bin b/Resources/imec-firmware-for-plugin-0.6.x/QBSC_FPGA_B189.bin new file mode 100644 index 0000000..a6739c3 Binary files /dev/null and b/Resources/imec-firmware-for-plugin-0.6.x/QBSC_FPGA_B189.bin differ diff --git a/Source/API/v3/NeuropixAPI.h b/Source/API/v3/NeuropixAPI.h index 56c6912..1439c03 100644 --- a/Source/API/v3/NeuropixAPI.h +++ b/Source/API/v3/NeuropixAPI.h @@ -75,7 +75,7 @@ namespace Neuropixels { }pckhdr_t; #pragma pack(pop) -#define NP_MAXPAYLOADSIZE 1024 +#define NP_MAXPAYLOADSIZE 3072 #pragma pack(push, 1) typedef struct { pckhdr_t hdr; diff --git a/Source/API/v3/lib64/NeuropixAPI_x64_3_62.lib b/Source/API/v3/lib64/NeuropixAPI_x64_3_62.lib new file mode 100644 index 0000000..d8e763d Binary files /dev/null and b/Source/API/v3/lib64/NeuropixAPI_x64_3_62.lib differ diff --git a/Source/Basestations/Basestation_v3.cpp b/Source/Basestations/Basestation_v3.cpp index 2d12d84..d6a4a0b 100644 --- a/Source/Basestations/Basestation_v3.cpp +++ b/Source/Basestations/Basestation_v3.cpp @@ -185,8 +185,8 @@ bool Basestation_v3::open() // show popup notification window String message = "The basestation on slot " + String(slot) + " has firmware version 2.0137, but version 2.0169 is required for this plugin. "; + message += "This is contained in the file named BS_FPGA_B169.bin. "; message += "Please see the Neuropixels PXI page on the Open Ephys GUI documentation site for information on how to perform a firmware update. "; - message += "You will be able to proceed with data acquisition using the current firmware, but there may be issues using the SMA port for synchronization."; AlertWindow::showMessageBox(AlertWindow::AlertIconType::WarningIcon, "Outdated basestation firmware on slot " + String(slot), message, "OK"); @@ -198,7 +198,20 @@ bool Basestation_v3::open() LOGC("Found basestation connect board firmware version ", basestationConnectBoard->info.boot_version); // show popup notification window - String message = "The basestation on slot " + String(slot) + " has basestation firmware version 3.2176, but version 3.2186 is required for this plugin. "; + String message = "The basestation on slot " + String(slot) + " has basestation firmware version 3.2176, but version 3.2189 is required for this plugin. "; + message += "This is contained in the file named QBSC_FPGA_B189.bin. "; + message += "Please see the Neuropixels PXI page on the Open Ephys GUI documentation site for information on how to perform a firmware update."; + + AlertWindow::showMessageBox(AlertWindow::AlertIconType::WarningIcon, "Outdated basestation connect board firmware on slot " + String(slot), message, "OK"); + } + + if (basestationConnectBoard->info.boot_version.equalsIgnoreCase("3.2186")) + { + LOGC("Found basestation connect board firmware version ", basestationConnectBoard->info.boot_version); + + // show popup notification window + String message = "The basestation on slot " + String(slot) + " has basestation firmware version 3.2186, but version 3.2189 is required for this plugin. "; + message += "This is contained in the file named QBSC_FPGA_B189.bin. "; message += "Please see the Neuropixels PXI page on the Open Ephys GUI documentation site for information on how to perform a firmware update."; AlertWindow::showMessageBox(AlertWindow::AlertIconType::WarningIcon, "Outdated basestation connect board firmware on slot " + String(slot), message, "OK"); diff --git a/Source/Probes/Geometry.cpp b/Source/Probes/Geometry.cpp index c3e49ac..17a7020 100644 --- a/Source/Probes/Geometry.cpp +++ b/Source/Probes/Geometry.cpp @@ -63,7 +63,8 @@ bool Geometry::forPartNumber(String PN, else if (PN.equalsIgnoreCase("PRB2_4_2_0640_0") || PN.equalsIgnoreCase("NP2010") - || PN.equalsIgnoreCase("NP2013")) + || PN.equalsIgnoreCase("NP2013") + || PN.equalsIgnoreCase("NP2014")) NP2(4, em, pm); // multi-shank else if (PN.equalsIgnoreCase("PRB_1_4_0480_1") diff --git a/Source/UI/NeuropixInterface.cpp b/Source/UI/NeuropixInterface.cpp index 31e1b86..084308d 100644 --- a/Source/UI/NeuropixInterface.cpp +++ b/Source/UI/NeuropixInterface.cpp @@ -430,7 +430,7 @@ NeuropixInterface::NeuropixInterface(DataSource* p, bscFirmwareButton->setTooltip("Upload firmware to selected basestation connect board"); addChildComponent(bscFirmwareButton); - bscFirmwareLabel = new Label("BSC FIRMWARE", "1. Update basestation connect board firmware:"); + bscFirmwareLabel = new Label("BSC FIRMWARE", "1. Update basestation connect board firmware (QBSC_FPGA_B189.bin):"); bscFirmwareLabel->setFont(Font("Small Text", 13, Font::plain)); bscFirmwareLabel->setBounds(550, verticalOffset + 43, 500, 20); bscFirmwareLabel->setColour(Label::textColourId, Colours::orange); @@ -449,7 +449,7 @@ NeuropixInterface::NeuropixInterface(DataSource* p, bsFirmwareButton->setTooltip("Upload firmware to selected basestation"); addChildComponent(bsFirmwareButton); - bsFirmwareLabel = new Label("BS FIRMWARE", "2. Update basestation firmware:"); + bsFirmwareLabel = new Label("BS FIRMWARE", "2. Update basestation firmware (BS_FPGA_B169.bin):"); bsFirmwareLabel->setFont(Font("Small Text", 13, Font::plain)); bsFirmwareLabel->setBounds(550, verticalOffset + 113, 500, 20); bsFirmwareLabel->setColour(Label::textColourId, Colours::orange);