fixed packed

This commit is contained in:
Nick Leeman 2021-04-14 13:19:16 +02:00
parent 65061d53b1
commit 80396408f9
3 changed files with 35 additions and 8 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "SimpleSerialProtocol", "name": "SimpleSerialProtocol",
"version": "1.5.0", "version": "1.6.0",
"description": "Easy-to-use serial protocol system for arduino type devices.", "description": "Easy-to-use serial protocol system for arduino type devices.",
"keywords": "Serial, Connectivity, USB, Simple", "keywords": "Serial, Connectivity, USB, Simple",
"repository": "repository":

View File

@ -41,7 +41,7 @@ class SerialConnection
Stream *serialRefrence; Stream *serialRefrence;
public: public:
void init(HardwareSerial &serialObject, unsigned long serialBaud); void init(int serialIndex, unsigned long serialBaud);
void send(char * data); void send(char * data);
char* handle(); char* handle();
char* getPacketMarker(int type); char* getPacketMarker(int type);
@ -49,9 +49,32 @@ class SerialConnection
}; };
void SerialConnection::init(HardwareSerial &serialObject, unsigned long serialBaud) { void SerialConnection::init(int serialIndex, unsigned long serialBaud) {
serialObject.begin(serialBaud); if (serialIndex == 0) {
serialRefrence = &serialObject; Serial.begin(serialBaud);
serialRefrence = &Serial;
}
#ifdef Serial1
else if (serialIndex == 1) {
Serial1.begin(serialBaud);
serialRefrence = &Serial1;
}
#endif
#ifdef Serial2
else if (serialIndex == 2) {
Serial2.begin(serialBaud);
serialRefrence = &Serial2;
}
#endif
#ifdef Serial3
else if (serialIndex == 3) {
Serial3.begin(serialBaud);
serialRefrence = &Serial3;
}
#endif
}; };
char* SerialConnection::handle() { char* SerialConnection::handle() {

View File

@ -26,15 +26,19 @@ class SimpleSerialProtocol
private: private:
SerialConnection serialConnection; SerialConnection serialConnection;
public: public:
bool init(HardwareSerial &serialObject, unsigned long baud); bool init(int deviceIndex, unsigned long baud);
bool receivePackets(void (*callback)(Packet)); bool receivePackets(void (*callback)(Packet));
bool sendPacket(char* ID, char* command, char* data); bool sendPacket(char* ID, char* command, char* data);
}; };
bool SimpleSerialProtocol::init(int deviceIndex, unsigned long baud) {
// Check if device index is in range
if (deviceIndex < 0 || deviceIndex > 4) {
return false;
}
bool SimpleSerialProtocol::init(HardwareSerial &serialObject, unsigned long baud) {
// Init serial connection // Init serial connection
serialConnection.init(serialObject, baud); serialConnection.init(deviceIndex, baud);
// Serial Connection Delay // Serial Connection Delay
delay(5); delay(5);