Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions akit/src/main/native/cpp/networktables/LoggedNetworkBoolean.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#include "akit/networktables/LoggedNetworkBoolean.h"

using namespace akit::nt;

LoggedNetworkBoolean::LoggedNetworkBoolean(std::string key) : key{key}, entry{::nt::NetworkTableInstance::GetDefault().GetBooleanTopic(key).GetEntry(false)}, value{defaultValue} {
}

LoggedNetworkBoolean::LoggedNetworkBoolean(std::string key, bool defaultValue) : LoggedNetworkBoolean{key} {
setDefault(defaultValue);
value = defaultValue;
}

void LoggedNetworkBoolean::setDefault(bool defaultValue) {
this->defaultValue = defaultValue;
entry.Set(entry.Get(defaultValue));
}

void LoggedNetworkBoolean::set(bool value) {
entry.Set(value);
}

bool LoggedNetworkBoolean::get() {
return value;
}

void LoggedNetworkBoolean::toLog(LogTable&& table) {
table.put(removeSlash(key), value);
}

void LoggedNetworkBoolean::fromLog(LogTable&& table) {
value = table.get(removeSlash(key), defaultValue);
}

void LoggedNetworkBoolean::periodic() {}
8 changes: 0 additions & 8 deletions akit/src/main/native/cpp/networktables/LoggedNetworkInput.cpp

This file was deleted.

33 changes: 33 additions & 0 deletions akit/src/main/native/cpp/networktables/LoggedNetworkNumber.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#include "akit/networktables/LoggedNetworkNumber.h"

using namespace akit::nt;

LoggedNetworkNumber::LoggedNetworkNumber(std::string key) : key{key}, entry{::nt::NetworkTableInstance::GetDefault().GetDoubleTopic(key).GetEntry(0)}, value{defaultValue} {}

LoggedNetworkNumber::LoggedNetworkNumber(std::string key, double defaultValue) : LoggedNetworkNumber{key} {
setDefault(defaultValue);
value = defaultValue;
}

void LoggedNetworkNumber::setDefault(double defaultValue) {
this->defaultValue = defaultValue;
entry.Set(entry.Get(defaultValue));
}

void LoggedNetworkNumber::set(double value) {
entry.Set(value);
}

double LoggedNetworkNumber::get() {
return entry.Get();
}

void LoggedNetworkNumber::toLog(LogTable&& table) {
table.put(removeSlash(key), value);
}

void LoggedNetworkNumber::fromLog(LogTable&& table) {
value = table.get(removeSlash(key), defaultValue);
}

void LoggedNetworkNumber::periodic() {}
33 changes: 33 additions & 0 deletions akit/src/main/native/cpp/networktables/LoggedNetworkString.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#include "akit/networktables/LoggedNetworkString.h"

using namespace akit::nt;

LoggedNetworkString::LoggedNetworkString(std::string key) : key{key}, entry{::nt::NetworkTableInstance::GetDefault().GetStringTopic(key).GetEntry("")} {}

LoggedNetworkString::LoggedNetworkString(std::string key, std::string defaultValue) : LoggedNetworkString{key} {
setDefault(defaultValue);
value = defaultValue;
}

void LoggedNetworkString::setDefault(std::string defaultValue) {
this->defaultValue = defaultValue;
entry.Set(entry.Get(defaultValue));
}

void LoggedNetworkString::set(std::string value) {
entry.Set(value);
}

std::string LoggedNetworkString::get() {
return value;
}

void LoggedNetworkString::toLog(LogTable&& table) {
table.put(removeSlash(key), value);
}

void LoggedNetworkString::fromLog(LogTable&& table) {
value = table.get(removeSlash(key), defaultValue);
}

void LoggedNetworkString::periodic() {}
4 changes: 2 additions & 2 deletions akit/src/main/native/include/akit/inputs/LoggableInputs.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ namespace inputs {

class LoggableInputs {
public:
virtual void toLog(LogTable) = 0;
virtual void fromLog(LogTable) = 0;
virtual void toLog(LogTable&&) = 0;
virtual void fromLog(LogTable&&) = 0;
};

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,47 +19,21 @@ namespace nt {
class LoggedNetworkBoolean: public LoggedNetworkInput,
public inputs::LoggableInputs {
public:
LoggedNetworkBoolean(std::string key) : key { key }, entry {
::nt::NetworkTableInstance::GetDefault().GetBooleanTopic(key).GetEntry(
false) }, value { defaultValue } {
// Logger.registerDashboardInput(this)
}
LoggedNetworkBoolean(std::string key);

LoggedNetworkBoolean(std::string key, bool defaultValue) : LoggedNetworkBoolean {
key } {
setDefault(defaultValue);
value = defaultValue;
}
LoggedNetworkBoolean(std::string key, bool defaultValue);

void setDefault(bool defaultValue) {
this->defaultValue = defaultValue;
entry.Set(entry.Get(defaultValue));
}
void setDefault(bool defaultValue);

void set(bool value) {
entry.Set(value);
}
void set(bool value);

bool get() {
return value;
}
bool get();

void toLog(LogTable table) override {
table.put(removeSlash(key), value);
}
void toLog(LogTable &&table) override;

void fromLog(LogTable table) override {
value = table.get(removeSlash(key), defaultValue);
}
void fromLog(LogTable &&table) override;

void periodic() override {
/*
if (!Logger.hasReplaySource()) {
value = entry.get(defaultValue);
}
Logger.processInputs(prefix, inputs);
*/
}
void periodic() override;

private:
std::string key;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,45 +19,21 @@ namespace nt {
class LoggedNetworkNumber: public LoggedNetworkInput,
public inputs::LoggableInputs {
public:
LoggedNetworkNumber(std::string key) : key { key }, entry {
::nt::NetworkTableInstance::GetDefault().GetDoubleTopic(key).GetEntry(
0) }, value { defaultValue } {
// Logger.registerDashboardInput(this);
}
LoggedNetworkNumber(std::string key);

LoggedNetworkNumber(std::string key, double defaultValue) : LoggedNetworkNumber {
key } {
setDefault(defaultValue);
value = defaultValue;
}
LoggedNetworkNumber(std::string key, double defaultValue);

void setDefault(double defaultValue) {
this->defaultValue = defaultValue;
entry.Set(entry.Get(defaultValue));
}
void setDefault(double defaultValue);

void set(double value) {
entry.Set(value);
}
void set(double value);

double get() {
return value;
}
double get();

void toLog(LogTable table) override {
table.put(removeSlash(key), value);
}
void toLog(LogTable &&table);

void fromLog(LogTable table) override {
value = table.get(removeSlash(key), defaultValue);
}
void fromLog(LogTable &&table);

void periodic() override {
// if (!Logger.hasReplaySource()) {
// value = entry.get(defaultValue);
// }
// Logger.processInputs(prefix, inputs);
}
void periodic() override;

private:
std::string key;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,45 +19,21 @@ namespace nt {
class LoggedNetworkString: public LoggedNetworkInput,
public inputs::LoggableInputs {
public:
LoggedNetworkString(std::string key) : key { key }, entry {
::nt::NetworkTableInstance::GetDefault().GetStringTopic(key).GetEntry(
"") } {
// Logger.registerDashboardInput(this)
}
LoggedNetworkString(std::string key);

LoggedNetworkString(std::string key, std::string defaultValue) : LoggedNetworkString {
key } {
setDefault(defaultValue);
value = defaultValue;
}
LoggedNetworkString(std::string key, std::string defaultValue);

void setDefault(std::string defaultValue) {
this->defaultValue = defaultValue;
entry.Set(entry.Get(defaultValue));
}
void setDefault(std::string defaultValue);

void set(std::string value) {
entry.Set(value);
}
void set(std::string value);

std::string get() {
return value;
}
std::string get();

void toLog(LogTable table) override {
table.put(removeSlash(key), value);
}
void toLog(LogTable &&table) override;

void fromLog(LogTable table) override {
value = table.get(removeSlash(key), defaultValue);
}
void fromLog(LogTable &&table) override;

void periodic() override {
// if (!Logger.hasReplaySource()) {
// value = entry.get(defaultValue);
// }
// Logger.processInputs(prefix, inputs);
}
void periodic() override;

private:
std::string key;
Expand Down