Skip to content

Conversation

@michaelbeutler
Copy link
Contributor

No description provided.

alex2vartic and others added 5 commits December 12, 2025 16:14
Updated the payload format documentation for Smart Label v2, including uplink and downlink specifications.
Updated the TLV list of IDs to include additional columns for Description and Range, and modified the data types and default values for several parameters.
Updated the Payload Format section for Smart Label v2 to include draft status and additional details for several parameters.
Updated payload format documentation for Smart Label v2 to clarify message types and correct terminology.
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds comprehensive documentation for the Smart Label v2 device, a new version of Truvami's LoRaWAN-based asset tracking device. The documentation includes getting started guides, functional specifications, and payload format specifications for the v2 hardware.

Key changes:

  • Added complete documentation suite for Smart Label v2 device
  • Introduced new payload format specification with TLV-based configuration system
  • Added functional specifications covering localization, power management, and movement detection features

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
docs/02 - Getting-started/06-smart-label-v2.md Getting started guide providing setup instructions and troubleshooting for Smart Label v2
docs/04 - Devices/06 - smart label v2/02_sw_spec.md Functional description and software specifications including state diagrams, feature requirements, and configuration parameters
docs/04 - Devices/06 - smart label v2/03_pl_spec.md Payload format specification defining uplink/downlink message structures and TLV configuration format
docs/10 - Release notes/smartlabelmd copy.md Release notes tracking version history and changes for the smart label firmware

Note: I've identified multiple issues during the review including spelling errors, grammatical mistakes, incorrect file naming, YAML front matter syntax errors, and future dates in release notes. However, I'm unable to store specific line-by-line comments because the actual diff context (showing which specific lines were added or modified) is not available in the current review interface.

The main categories of issues found include:

  • Naming issue: Release notes filename contains "copy"
  • Future dates: Release dates in 2025 (currently impossible as we're in January 2026)
  • Syntax error: YAML front matter has incorrect format
  • Multiple spelling errors: "speicified", "movmement", "attemt", "autonmously", "pasive", "thed evice", "fullfill", "uin32"
  • Grammar errors: "should is set", double period

These issues should be addressed to ensure documentation quality and accuracy.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor Author

@michaelbeutler michaelbeutler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Duplicate TLV ID 12 conflict
  • Undefined ranges and units (battery voltage, intervals)

| 150 | [Settings](#setting-uplink) | Uplink | Contains a list of TLV values, like heartbeat or other current settings. |
| 180 | [GNSS-NG Localization Message](#gnss-message-format) | Uplink | One or two GNSS-NG localization messages are sent after a successful GNSS-NG scan. |
| 190 | [Wi-Fi Localization Message](#wi-fi-message-format) | Uplink | A single Wi-Fi localization message is sent after a successful Wi-Fi scan. |
| 200 | [BLE Localization Message](#ble-message-format) | Uplink | A single BLE localization message is sent after a successful Wi-Fi scan. |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After a successful Wi-Fi or BLE scan?

Suggested change
| 200 | [BLE Localization Message](#ble-message-format) | Uplink | A single BLE localization message is sent after a successful Wi-Fi scan. |
| 200 | [BLE Localization Message](#ble-message-format) | Uplink | A single BLE localization message is sent after a successful BLE scan. |

| 155 | [Getter/Action](#getter-downlink) | Downlink | Contains a list of TLV IDs. The device will then send the data associated with speicified TLV IDs, or execute the Action. |


### TLV list of IDs
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is length implicit from Tag or is there a length field as well?

| 9 | ADR | 0x30 | 1 | uint8_t | 0: DR5 (EU868 SF7)<br/> 1: DR4 (EU868 SF8)<br/>2: DR3 (EU868 SF9, US915 SF7)<br/>3: DR2 (EU868 SF10, US915 SF8)<br/>4: DR1 (EU868 SF11, US915 SF9)<br/>5: DR0 (EU868 SF12)<br/>6: DR1-3 array (EU868 SF9-11, US915 SF7-9) <br/>7: ADR (SF7-12) for EU868 | 0 - 7 |2 |
| 10 | Advertisement BLE duration FWU | 0x34 | 1 | uint8_t | Minutes | 1 - 255 | 5 |
| 11 | Heartbeat TLV list | 0x38 | 1-n | uint8_t * n | TLVs IDs list | * | 0x24 0x2C |
| 12 | FW & HW Version | 0x3C | 4 | uint32_t | CRC32 of the current FW | |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0x3C is used twice

@michaelbeutler michaelbeutler linked an issue Jan 5, 2026 that may be closed by this pull request
Updated BLE localization message descriptions to reflect correct scan types and added details for compact BLE message format.
Corrected typos in the documentation, including 'speicified' to 'specified', 'thed evice' to 'the device', and 'beggining' to 'beginning'. Removed nonfunctional requirements section related to LoRaWan compliance.
| __temperature_uplink_hold_interval_s__ | UINT16 | 0..65535 | Interval for temperature measurement uplink if it is outside of threshold, in __seconds__ |3600|
| __temperature_upper_threshold__ | INT8 | -127..128 | Temperature upper threshold to yield uplink from polling in __°C__ | 40 |
| __temperature_lower_threshold__ | INT8 | -127..128 | Temperature lower threshold to yield uplink from polling in __°C__ | -5 |
| __heartbeat_interval_h__ | UINT8 | 0..255 | Interval for temperature and battery measurement and uplink, in __hours__ | 12 |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@chiara-truvami, @KangooGuy is there a use case that requires more frequent heartbeat messages?
For example, only track after activation (e.g., sending a downlink setting steady and moving intervals).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@michaelbeutler No, I can't think of any that wouldn't be covered by the other UL types.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@michaelbeutler No, I can't think of any that wouldn't be covered by the other UL types.

If the heartbeat interval is measured in hours, we cannot set it to every 5 minutes, for example.

When it's positive it tells how many bytes are different from the end of the full MAC

Ex: Head/Tail is -2:</br>
Full MAC: AA BB CC DD EE FF GG</br>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Full MAC: AA BB CC DD EE FF GG</br>
Full MAC: `AA BB CC DD EE FF GG`</br>

Ex: Head/Tail is -2:</br>
Full MAC: AA BB CC DD EE FF GG</br>
Short MAC: HH II </br>
-> Short MAC expands to: HH II CC DD EE FF GG
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
-> Short MAC expands to: HH II CC DD EE FF GG
-> Short MAC expands to: `HH II CC DD EE FF GG`



Ex: Head/Tail is 2:</br>
Full MAC: AA BB CC DD EE FF GG</br>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Full MAC: AA BB CC DD EE FF GG</br>
Full MAC: `AA BB CC DD EE FF GG`</br>

Ex: Head/Tail is 2:</br>
Full MAC: AA BB CC DD EE FF GG</br>
Short MAC: HH II </br>
-> Short MAC expands to: AA BB CC DD HH II
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
-> Short MAC expands to: AA BB CC DD HH II
-> Short MAC expands to: `AA BB CC DD HH II`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Protocol proposal

5 participants