Skip to content

Commit be5c8eb

Browse files
committed
Add probe serial number when warning about mismatched probe types
1 parent 0d43f69 commit be5c8eb

File tree

4 files changed

+35
-25
lines changed

4 files changed

+35
-25
lines changed

Source/Devices/Neuropixels1.cpp

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -183,20 +183,20 @@ void Neuropixels1::defineMetadata (ProbeSettings* settings, ProbeType probeType)
183183
settings->probeMetadata.name = "Neuropixels 1.0";
184184

185185
std::vector<std::array<float, 2>> shankOutline {
186-
{ 27, 31},
187-
{ 27, 514},
188-
{ 27 + 5, 522},
189-
{27 + 10, 514},
190-
{27 + 10, 31}
186+
{ 27, 31 },
187+
{ 27, 514 },
188+
{ 27 + 5, 522 },
189+
{ 27 + 10, 514 },
190+
{ 27 + 10, 31 }
191191
};
192192

193193
std::vector<std::array<float, 2>> probeContour {
194-
{ 0, 155},
195-
{35, 0},
196-
{70, 155},
197-
{70, 9770},
198-
{ 0, 9770},
199-
{ 0, 155}
194+
{ 0, 155 },
195+
{ 35, 0 },
196+
{ 70, 155 },
197+
{ 70, 9770 },
198+
{ 0, 9770 },
199+
{ 0, 155 }
200200
};
201201

202202
settings->probeMetadata.shank_count = 1;
@@ -531,9 +531,13 @@ void Neuropixels1::setGainCalibrationFilePath (std::string filepath)
531531

532532
bool Neuropixels1::validateProbeTypeAndPartNumber()
533533
{
534-
if (! NeuropixelsProbeMetadata::validateProbeTypeAndPartNumber (settings[0]->probeType, probeMetadata.getProbePartNumber()))
534+
if (! NeuropixelsProbeMetadata::validateProbeTypeAndPartNumber (settings[0]->probeType, probeMetadata))
535535
{
536-
Onix1::showWarningMessageBoxAsync ("Probe Type / Number Mismatch", "The selected probe type is " + ProbeTypeString.at (settings[0]->probeType) + ", but the probe part number is " + probeMetadata.getProbePartNumber() + ".");
536+
Onix1::showWarningMessageBoxAsync ("Probe Type / Number Mismatch",
537+
"The selected probe type is " + ProbeTypeString.at (settings[0]->probeType)
538+
+ "', but the connected probe is '" + NeuropixelsProbeMetadata::getProbeTypeString (probeMetadata.getProbePartNumber())
539+
+ "'. Please select the correct probe type to match the connected probe."
540+
+ ".\n\nProbe serial number: " + std::to_string (probeMetadata.getProbeSerialNumber()));
537541
return false;
538542
}
539543

Source/Devices/Neuropixels2e.cpp

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ std::vector<int> Neuropixels2e::selectElectrodeConfiguration (int electrodeConfi
229229
}
230230
else
231231
{
232-
LOGE ("Invalid probe type given for a Neuropixels 2.0 device: ", ProbeTypeString.at(probeType));
232+
LOGE ("Invalid probe type given for a Neuropixels 2.0 device: ", ProbeTypeString.at (probeType));
233233
}
234234

235235
return selection;
@@ -346,9 +346,13 @@ bool Neuropixels2e::updateSettings()
346346
{
347347
if (probeMetadata[i].getProbeSerialNumber() != 0)
348348
{
349-
if (! NeuropixelsProbeMetadata::validateProbeTypeAndPartNumber (settings[i]->probeType, probeMetadata[i].getProbePartNumber()))
349+
if (! NeuropixelsProbeMetadata::validateProbeTypeAndPartNumber (settings[i]->probeType, probeMetadata[i]))
350350
{
351-
Onix1::showWarningMessageBoxAsync ("Probe Type Mismatch", "The selected probe type is '" + ProbeTypeString.at (settings[i]->probeType) + "', but the connected probe is '" + NeuropixelsProbeMetadata::getProbeTypeString (probeMetadata[i].getProbePartNumber()) + "'. Please select the correct probe type to match the connected probe.");
351+
Onix1::showWarningMessageBoxAsync ("Probe Type Mismatch",
352+
"The selected probe type is '" + ProbeTypeString.at (settings[i]->probeType)
353+
+ "', but the connected probe is '" + NeuropixelsProbeMetadata::getProbeTypeString (probeMetadata[i].getProbePartNumber())
354+
+ "'. Please select the correct probe type to match the connected probe."
355+
+ ".\n\nProbe serial number: " + std::to_string (probeMetadata[i].getProbeSerialNumber()));
352356
return false;
353357
}
354358

@@ -804,8 +808,8 @@ void Neuropixels2e::defineMetadata (ProbeSettings* settings, ProbeType probeType
804808
constexpr float shankPitchX = 250.0f;
805809

806810
std::vector<std::array<float, 2>> probeContour {
807-
{0, probeLengthY},
808-
{0, shankLengthY},
811+
{ 0, probeLengthY },
812+
{ 0, shankLengthY },
809813
};
810814

811815
for (int i = 0; i < shankCount; i++)
@@ -822,11 +826,11 @@ void Neuropixels2e::defineMetadata (ProbeSettings* settings, ProbeType probeType
822826
probeContour.emplace_back (std::array<float, 2> { 0.0f, probeLengthY });
823827

824828
std::vector<std::array<float, 2>> shankOutline {
825-
{ 27, 31},
826-
{ 27, 514},
827-
{ 27 + 5, 522},
828-
{27 + 10, 514},
829-
{27 + 10, 31}
829+
{ 27, 31 },
830+
{ 27, 514 },
831+
{ 27 + 5, 522 },
832+
{ 27 + 10, 514 },
833+
{ 27 + 10, 31 }
830834
};
831835

832836
settings->probeMetadata.shank_count = shankCount;

Source/Devices/NeuropixelsProbeMetadata.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,10 @@ NeuropixelsProbeMetadata::NeuropixelsProbeMetadata (I2CRegisterContext* flex, On
8686
}
8787
}
8888

89-
bool NeuropixelsProbeMetadata::validateProbeTypeAndPartNumber (ProbeType probeType, std::string partNumber)
89+
bool NeuropixelsProbeMetadata::validateProbeTypeAndPartNumber (ProbeType probeType, NeuropixelsProbeMetadata probeMetadata)
9090
{
91+
std::string partNumber = probeMetadata.getProbePartNumber();
92+
9193
if (probeType == ProbeType::NONE)
9294
return false;
9395

Source/Devices/NeuropixelsProbeMetadata.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ class NeuropixelsProbeMetadata
3939
const std::string getFlexPartNumber() const;
4040
const std::string getFlexVersion() const;
4141

42-
static bool validateProbeTypeAndPartNumber (ProbeType probeType, std::string partNumber);
42+
static bool validateProbeTypeAndPartNumber (ProbeType probeType, NeuropixelsProbeMetadata probeMetadata);
4343
static std::string getProbeTypeString (std::string partNumber);
4444

4545
private:

0 commit comments

Comments
 (0)