Hi @tiagonmas
I’ve made an update on your library so it uses a software timer and removed the need for .Process(). I’ve also put it into a single .h file as the footprint is so small.
class PublishQueue {
public:
PublishQueue() : publishTimer(1000, &PublishQueue::PublishTimerCallback, *this, false) {
publishTimer.start();
};
void Publish(String eventName, String data) {
node my_node = {.eventName=eventName, .data=data};
my_queue.push(my_node);
};
private:
std::queue<node> my_queue;
Timer publishTimer;
void PublishTimerCallback() {
if (!my_queue.empty()) {
node my_node = my_queue.front();
my_queue.pop();
Particle.publish(my_node.eventName, my_node.data, 60, PRIVATE);
}
};
};
Kev