3.2.0 issue with PublishQueuePosixRK

Hey @rickkas7 - I accidentally upgraded my boron from 3.1.0 to 3.2.0, and PublishQueuePosixRK is no longer working for me in that I do not see any user-code publishes coming to particle console. (deviceOS publishes are working fine, however, like spark/device/diagnostics/update - so the device can talk to console, just not from my code)

I’ve further downgraded deviceOS (via particle flash --usb boron-system-part1@3.1.0.bin), but that still doesn’t resolve it. I’m suspecting that something has changed in the flash filesystem as a result of 3.2.0 and that simply reflashing the firmware isn’t resolving it.

Any hints on how to troubleshoot and/or restore function?

Condensed publish shippets below - worked fine before 3.2.0, after update to 3.2.0 doesn’t work, and after downgrade to 3.1.0 also doesn’t work:

#include "PublishQueuePosixRK.h" //background cloud publishing

setup() {
  PublishQueuePosix::instance().withRamQueueSize(10); // hold 10 messages in memory before going to flash

void log_to_cloud() {
  char buf[256];
  JSONBufferWriter writer(buf, sizeof(buf));

    [...more json stuff added...]

    writer.buffer()[std::min(writer.bufferSize(), writer.dataSize())] = 0;
    PublishQueuePosix::instance().publish("Ubidots", buf, PRIVATE | NO_ACK);

Update on this - I powered up a spare boron which had worked before, on 3.1.0 and never 3.2.0 - it is not working either. So this is not 3.2.0 related.

Previously working code no longer publishing to console via PublishQueuePosixRK.

Going to try and see if I can get some debug log out of the one I have in my hand here.

Well, not sure why this ever worked, but it did - however, it looks as if my main loop was missing PublishQueuePosix::instance().loop();. Adding that resolved the issue.


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.