Available ports

@jagdish, it seems you have placed the firmware properly on the SD card, but did not activate the transfer to flash new firmware.
Following the link to guide 3 in my previous response, you must initiate DFU with the following command from Spotter:

bridge dfu <name of file> <target node id> 120000 force

To add onto your steps after “Spotter reboots”:

  • Connect a USB-C cable between your Spotter and your PC
  • Run python3 -m serial from your terminal and connect to the port with the name “Spotter”
  • Execute the following command: bridge dfu <name of file> <target node id> 120000 force replacing <name of file> with the name of the Bristlemouth firmware binary you placed on the SD card and <node id> with the Node ID of the Bristlemouth dev kit you are attempting to flash firmware to.

Thanks! This was very helpful.

I can now flash the new FW and run it. No compile error but seems like a run time error with this msg - ‘htuSamplerGetLatest returned false’. what could be wrong?

This is the output I get on Dev Kit serial port -

pressure | tick: 112209, rtc: 2025-01-04T00:55:19.304, temp: 20.638418, pressure: 999.216370

power | tick: 112561, rtc: 2025-01-04T00:55:19.656, addr: 67, voltage: 0.003200, current: -0.000250

hum-temp from user code: H: 45.057823, T:20.638418

htuSamplerGetLatest returned false.

power | tick: 112763, rtc: 2025-01-04T00:55:19.859, addr: 65, voltage: 23.952000, current: -0.000250

This is what I am supposed to get -

power | tick: 54385, rtc: 0, addr: 67, voltage: 0.003200, current: -0.000250 power | tick: 54387, rtc: 0, addr: 65, voltage: 23.956800, current: 0.000000 hum_temp | tick: 56364, rtc: 0, hum: 52.593750, temp: 20.761015 hum-temp stats | count: 15/15, min_T: 20.750290, max_T: 20.771740, min_H: 52.593750, max_H: 53.661865 pressure | tick: 56384, rtc: 0, temp: 20.610001, pressure: 1016.700012

Pls ignore my 2 previous msgs. I have resolved the run time issue. I am now getting the following output inline with what the documentation says except RTC is not set to 0. Would like to know why.

ower | tick: 89236, rtc: 2025-01-04T18:12:15.398, addr: 65, voltage: 23.947201, current: -0.000250

hum_temp | tick: 89239, rtc: 2025-01-04T18:12:15.402, hum: 43.890522, temp: 19.571093

pressure | tick: 89241, rtc: 2025-01-04T18:12:15.406, temp: 19.572647, pressure: 1006.592590

hum-temp stats | count: 15/15, min_T: 19.550865, max_T: 19.571093, min_H: 43.627304, max_H: 44.186329

power | tick: 89643, rtc: 2025-01-04T18:12:15.804, addr: 67, voltage: 0.003200, current: -0.000250

I think I know why rtc is not zero: it’s b/c Spotter has acquired satellite lock. Pls confirm.

How do I test satellite communication without using cellular as backup, how do I modify this cmd - BM_NETWORK_TYPE_CELLULAR_IRI_FALLBACK

@jagdish, glad you were able to get your issue resolved!
RTC is not zero because Spotter has acquired the time and published the time data on the spotter/utc-time topic (which the development kit is subscribed to). For more information about how simple pub/sub works, take a look at this document.

Currently, BM_NETWORK_TYPE_CELLULAR_IRI_FALLBACK is the best way to transmit data over satellite. If your spotter has a cellular modem it will attempt to send with cellular at first,
if message fails to send it will then fallback to satellite.
If it does not have a cellular modem,
the message will immediately be sent using satellite.

If you want to by-pass cellular on a cellular enabled Spotter,
what I would recommend doing is the following:

  1. Connect to spotter over USB-C and run python -m serial
  2. Send the following commands to Spotter:
    a. cfg cen 0
    b. cfg save
  3. The Spotter will save this new configuration and then reset, when it does reconnect with python -m serial and then run the command: cfg and search the list for the parameter cen and make sure it is set to zero.

When cen is set to zero the spotter will only use satellite communications.

Let me know if you need anything else!

Excellent. V helpful. Thanks!

I don’t have the activation code. Is this something you can provide or do I have to contact Sofar?

@jagdish, that is something you should reach out to support@sofarocean.com about.

Thanks. Was able to get the activation code from Support @ Sofar.

Do you have documentation on how to connect external sensors using RS485?

Thanks,
Jagdish

Here is some documentation on connecting an external RS485 sensors to the dev kit!

Are the hex msgs 18 or 20 bytes? I am getting an error when running the decoder. Thanks!

Could you provide a bit more context on what type of message?
What decoder are you attempting to run?
I assume you are attempting to publish/subscribe to topics on the network?

A code snippet could also be of great help if you are able to share it.

Sorry, there was an error in my code. It works fine. Thanks.

New topic: In the Bristlemouth Dev Kit Guide: Integrating an RS232 Serial Sensor it refers to serial_payload_example app. Where do I find this?

The location of that project is at src/apps/bm_devkit/serial_payload_example!