Skip to content

Commit 6aeed1d

Browse files
committed
use nlohmann::json
1 parent af11295 commit 6aeed1d

1 file changed

Lines changed: 15 additions & 64 deletions

File tree

src/board_controller/ant_neuro/ant_neuro.cpp

Lines changed: 15 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@
1111
#include <unistd.h>
1212
#endif
1313

14-
#include <sstream>
15-
1614
#include <algorithm>
1715
#include <chrono>
1816

@@ -23,6 +21,7 @@
2321
#include "eemagine/sdk/wrapper.h"
2422

2523
using namespace eemagine::sdk;
24+
using json = nlohmann::json;
2625

2726

2827
AntNeuroBoard::AntNeuroBoard (int board_id, struct BrainFlowInputParams params)
@@ -476,68 +475,20 @@ int AntNeuroBoard::config_board (std::string config, std::string &response)
476475
}
477476
else if (config == get_info) // return stringified JSON with info from ANT board
478477
{
479-
std::ostringstream oss;
480-
oss << "{";
481-
482-
// getType
483-
oss << "\"type\":\"" << amp->getType () << "\",";
484-
485-
// getFirmwareVersion
486-
oss << "\"firmware_version\":" << amp->getFirmwareVersion () << ",";
487-
488-
// getSerialNumber
489-
oss << "\"serial_number\":\"" << amp->getSerialNumber () << "\",";
490-
491-
// getSamplingRatesAvailable
492-
std::vector<int> sampling_rates = amp->getSamplingRatesAvailable ();
493-
oss << "\"sampling_rates\":[";
494-
for (size_t i = 0; i < sampling_rates.size (); ++i)
495-
{
496-
oss << sampling_rates[i];
497-
if (i != sampling_rates.size () - 1)
498-
{
499-
oss << ",";
500-
}
501-
}
502-
oss << "],";
503-
504-
// getReferenceRangesAvailable
505-
std::vector<double> reference_ranges = amp->getReferenceRangesAvailable ();
506-
oss << "\"reference_ranges\":[";
507-
for (size_t i = 0; i < reference_ranges.size (); ++i)
508-
{
509-
oss << reference_ranges[i];
510-
if (i != reference_ranges.size () - 1)
511-
{
512-
oss << ",";
513-
}
514-
}
515-
oss << "],";
516-
517-
// getBipolarRangesAvailable
518-
std::vector<double> bipolar_ranges = amp->getBipolarRangesAvailable ();
519-
oss << "\"bipolar_ranges\":[";
520-
for (size_t i = 0; i < bipolar_ranges.size (); ++i)
521-
{
522-
oss << bipolar_ranges[i];
523-
if (i != bipolar_ranges.size () - 1)
524-
{
525-
oss << ",";
526-
}
527-
}
528-
oss << "],";
529-
530-
// getPowerState
531-
amplifier::power_state power_state = amp->getPowerState ();
532-
oss << "\"power_state\":{";
533-
oss << "\"is_powered\":" << power_state.is_powered << ",";
534-
oss << "\"is_charging\":" << power_state.is_charging << ",";
535-
oss << "\"charging_level\":" << power_state.charging_level;
536-
oss << "}";
537-
538-
oss << "}";
539-
540-
response = oss.str ();
478+
json j;
479+
j["type"] = amp->getType ();
480+
j["firmware_version"] = amp->getFirmwareVersion ();
481+
j["serial_number"] = amp->getSerialNumber ();
482+
j["sampling_rates"] = amp->getSamplingRatesAvailable ();
483+
j["reference_ranges"] = amp->getReferenceRangesAvailable ();
484+
j["bipolar_ranges"] = amp->getBipolarRangesAvailable ();
485+
amplifier::power_state ps = amp->getPowerState ();
486+
j["power_state"] = {
487+
{"is_powered", ps.is_powered},
488+
{"is_charging", ps.is_charging},
489+
{"charging_level", ps.charging_level}
490+
};
491+
response = j.dump ();
541492
return (int)BrainFlowExitCodes::STATUS_OK;
542493
}
543494
safe_logger (spdlog::level::err, "format is '{}value' or 'get_info'", prefix.c_str ());

0 commit comments

Comments
 (0)