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
4 changes: 3 additions & 1 deletion keywords.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,6 @@ MOTOR_CONTROLLER LITERAL1
BRAKE_CONTROLLER LITERAL1
GPS_RECEIVER LITERAL1
LEFT_INDICATOR LITERAL1
RIGHT_INDICATOR LITERAL1
RIGHT_INDICATOR LITERAL1
POWER_CONTROLLER LITERAL1
WHEEL_SPEED_CONTROLLER LITERAL1
2 changes: 1 addition & 1 deletion src/ArrayList.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class ArrayList {
void ensureCapacityInternal(size_t minCapacity) { ensureExplicitCapacity(max(10, minCapacity)); }

public:
explicit ArrayList(size_t initialCapacity = 10) :
explicit ArrayList(size_t initialCapacity = 0) :
_size(0), _capacity(initialCapacity), _array(new E[initialCapacity]) {}
ArrayList(E const *const initialArray, size_t size) : _size(size), _capacity(size), _array(new E[size]) {
arraycopy(initialArray, _array, size);
Expand Down
6 changes: 3 additions & 3 deletions src/Device.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ template<typename T>
class Device {
protected:
String _tag = "";
ArrayList<String> _parentTags = ArrayList<String>(0);
ArrayList<String> _parentTags = ArrayList<String>();
ArrayList<int> _pins;

public:
Expand All @@ -20,9 +20,9 @@ class Device {
String tag() { return _tag; }
const ArrayList<String> &parentTags() { return _parentTags; }
virtual void initialize(const ArrayList<String> &parentTags) { _parentTags = parentTags; }
void initializeAsRoot() { initialize(ArrayList<String>(0)); }
void initializeAsRoot() { initialize(ArrayList<String>()); }
virtual T read() { return T(); }
virtual void write(T payload) {}
virtual void write(const T &payload) {}
virtual void update(T data) {}
virtual void close() {}
};
Expand Down
11 changes: 8 additions & 3 deletions src/Peer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@


// std::move() is not available in the C library
Peer::Peer(unsigned int baudRate, const String &separator, const String &remainder) : // NOLINT(*-pass-by-value)
Controller<String, String>(), _baudRate(baudRate), _separator(separator), _remainder(remainder) {}
Peer::Peer(const String &tag, unsigned int baudRate, const String &separator, // NOLINT(*-pass-by-value)
const String &remainder) : // NOLINT(*-pass-by-value)
Controller<String, String>(), _baudRate(baudRate), _separator(separator), _remainder(remainder) {
_tag = tag;
}
void Peer::initialize(const ArrayList<String> &parentTags) {
Controller<String, String>::initialize(parentTags);
Serial.begin(_baudRate);
Expand All @@ -20,11 +23,13 @@ String Peer::read() {
}
return "";
}
void Peer::write(String payload) { Serial.print(payload + _separator); }
void Peer::write(const String &payload) { Serial.print(payload + _separator); }
void Peer::refresh() {
String msg = read();
if (msg == "")
return;
if (msg == "ic")
return write(_tag);
for (Device<String> d: _devices)
d.update(msg);
}
4 changes: 2 additions & 2 deletions src/Peer.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ class Peer : public Controller<String, String> {
String _separator, _remainder;

public:
explicit Peer(unsigned int baudRate = 9600, const String &separator = ";", const String &remainder = "");
explicit Peer(const String& tag, unsigned int baudRate = 9600, const String &separator = ";", const String &remainder = "");
void initialize(const ArrayList<String> &parentTags) override;
String read() override;
void write(String payload) override;
void write(const String &payload) override;
void refresh();
};

Expand Down
3 changes: 3 additions & 0 deletions src/PredefinedTags.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,8 @@
#define LEFT_INDICATOR "lindi"
#define RIGHT_INDICATOR "rindi"

#define POWER_CONTROLLER "pc"
#define WHEEL_SPEED_CONTROLLER "wsc"


#endif // PREDEFINEDTAGS_H