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
File renamed without changes.
2 changes: 1 addition & 1 deletion examples/decoder_example/decoder_example.ino
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#define DEBUG
#include <Arduino_RPClite.h>
#include "DummyTransport.h"

void blink_before(){
digitalWrite(LED_BUILTIN, HIGH);
Expand Down
56 changes: 56 additions & 0 deletions examples/decoder_tests/DummyTransport.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
//
// Created by lucio on 4/8/25.
//

#ifndef DUMMY_TRANSPORT_H
#define DUMMY_TRANSPORT_H
#include "transport.h"

class DummyTransport: public ITransport {

const uint8_t* _dummy_buf;
size_t _dummy_buf_size = 0;
size_t r_size = 0;

public:

DummyTransport(const uint8_t* buf, size_t size): _dummy_buf(buf), _dummy_buf_size(size){}

void begin(){}

bool available() override {
return _dummy_buf_size > 0;
}

size_t write(const uint8_t* data, size_t size) override {
// Mock write
(void)data;
return size;
}

size_t read(uint8_t* buffer, size_t size) override {

size_t i;
for (i = 0; i < size; i++){
if ((r_size + i) == _dummy_buf_size) break;
buffer[i] = _dummy_buf[r_size + i];
delay(1);
}

r_size = r_size + i;
return i;

}

size_t read_byte(uint8_t& r) override {
uint8_t b[1];
if (read(b, 1) != 1){
return 0;
};
r = b[0];
return 1;
}

};

#endif //SERIALTRANSPORT_H
1 change: 1 addition & 0 deletions examples/decoder_tests/decoder_tests.ino
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#include <Arduino_RPClite.h>
#include "DummyTransport.h"

// Shorthand
MsgPack::Packer packer;
Expand Down
2 changes: 0 additions & 2 deletions src/Arduino_RPClite.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
#include "Arduino.h"

//#define HANDLE_RPC_ERRORS
#define DEBUG
#include "transport.h"
#include "client.h"
#include "server.h"
Expand All @@ -17,7 +16,6 @@
#include "decoder.h"
#include "decoder_manager.h"

#include "DummyTransport.h"
#include "SerialTransport.h"

#endif //ARDUINO_RPCLITE_H
5 changes: 2 additions & 3 deletions src/rpclite_utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ namespace detail {
bool unpackObject(MsgPack::Unpacker& unpacker);

bool unpackArray(MsgPack::Unpacker& unpacker, size_t& size) {

static MsgPack::arr_size_t sz;
MsgPack::arr_size_t sz;
unpacker.deserialize(sz);

size = 0;
Expand All @@ -34,7 +33,7 @@ bool unpackArray(MsgPack::Unpacker& unpacker, size_t& size) {
}

bool unpackMap(MsgPack::Unpacker& unpacker, size_t& size) {
static MsgPack::map_size_t sz;
MsgPack::map_size_t sz;
unpacker.deserialize(sz);

size = 0;
Expand Down