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
1 change: 1 addition & 0 deletions gui/public/i18n/en/translation.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -407,6 +407,7 @@ tracker-settings-update = Update now
tracker-settings-update-title = Firmware version
tracker-settings-current-version = Current
tracker-settings-latest-version = Latest
tracker-settings-build-date = Build Date


## Tracker part card info
Expand Down
9 changes: 9 additions & 0 deletions gui/src/components/tracker/TrackerSettings.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,15 @@ export function TrackerSettingsPage() {
Firmware version
</Typography>
<div className="flex gap-2 flex-col">
<div className="flex justify-between gap-2">
<Typography id="tracker-settings-build-date" />
<Typography
whitespace="whitespace-pre-wrap"
textAlign="text-end"
>
{tracker?.device?.hardwareInfo?.firmwareDate || '--'}
</Typography>
</div>
<div className="flex justify-between gap-2">
<Typography id="tracker-settings-current-version" />
<Typography
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,19 @@ public static int createHardwareInfo(FlatBufferBuilder fbb, Device device) {
? fbb.createString(device.getManufacturer())
: 0;

int firmwareDateOffset = device.getFirmwareDate() != null
? fbb.createString(device.getFirmwareDate())
: 0;

int hardwareIdentifierOffset = fbb.createString(device.getHardwareIdentifier());

HardwareInfo.startHardwareInfo(fbb);
HardwareInfo.addFirmwareVersion(fbb, nameOffset);
HardwareInfo.addManufacturer(fbb, manufacturerOffset);
HardwareInfo.addHardwareIdentifier(fbb, hardwareIdentifierOffset);

HardwareInfo.addFirmwareDate(fbb, firmwareDateOffset);

if (device instanceof UDPDevice udpDevice) {
var address = udpDevice.getIpAddress().getAddress();
HardwareInfo
Expand All @@ -68,6 +74,7 @@ public static int createHardwareInfo(FlatBufferBuilder fbb, Device device) {

HardwareInfo.addMcuId(fbb, device.getMcuType().getSolarType());
HardwareInfo.addOfficialBoardType(fbb, device.getBoardType().getSolarType());

return HardwareInfo.endHardwareInfo(fbb);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ open class Device(val magSupport: Boolean = false) {
open val id: Int = nextLocalDeviceId.incrementAndGet()
open var name: String? = null
open var firmwareVersion: String? = null
open var firmwareDate: String? = null
open var manufacturer: String? = null
open val trackers: MutableMap<Int, Tracker> = ConcurrentHashMap()

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -280,12 +280,14 @@ class HIDCommon {
// Nothing to do now..
}
}
if (fw_date != null && fw_major != null && fw_minor != null && fw_patch != null) {
if (fw_date != null) {
val firmwareYear = 2020 + (fw_date shr 9 and 127)
val firmwareMonth = fw_date shr 5 and 15
val firmwareDay = fw_date and 31
val firmwareDate = String.format("%04d-%02d-%02d", firmwareYear, firmwareMonth, firmwareDay)
device.firmwareVersion = "$fw_major.$fw_minor.$fw_patch (Build $firmwareDate)"
device.firmwareDate = String.format("%04d-%02d-%02d", firmwareYear, firmwareMonth, firmwareDay)
}
if (fw_major != null && fw_minor != null && fw_patch != null) {
device.firmwareVersion = "$fw_major.$fw_minor.$fw_patch"
}
if (svr_status != null) {
val status = TrackerStatus.getById(svr_status)
Expand Down
2 changes: 1 addition & 1 deletion solarxr-protocol
Submodule solarxr-protocol updated 20 files
+69 −9 protocol/cpp/include/solarxr_protocol/generated/all_generated.h
+3 −0 protocol/java/src/solarxr_protocol/datatypes/hardware_info/BoardType.java
+12 −1 protocol/java/src/solarxr_protocol/datatypes/hardware_info/HardwareInfo.java
+6 −0 protocol/java/src/solarxr_protocol/datatypes/hardware_info/HardwareInfoT.java
+29 −5 protocol/java/src/solarxr_protocol/datatypes/hardware_info/HardwareStatus.java
+18 −0 protocol/java/src/solarxr_protocol/datatypes/hardware_info/HardwareStatusT.java
+2 −0 protocol/java/src/solarxr_protocol/datatypes/hardware_info/McuType.java
+3 −0 protocol/kotlin/src/solarxr_protocol/datatypes/hardware_info/BoardType.kt
+13 −1 protocol/kotlin/src/solarxr_protocol/datatypes/hardware_info/HardwareInfo.kt
+28 −4 protocol/kotlin/src/solarxr_protocol/datatypes/hardware_info/HardwareStatus.kt
+2 −0 protocol/kotlin/src/solarxr_protocol/datatypes/hardware_info/McuType.kt
+13 −1 protocol/rust/src/generated/solarxr_protocol/datatypes/hardware_info/board_type_generated.rs
+18 −0 protocol/rust/src/generated/solarxr_protocol/datatypes/hardware_info/hardware_info_generated.rs
+52 −1 protocol/rust/src/generated/solarxr_protocol/datatypes/hardware_info/hardware_status_generated.rs
+9 −1 protocol/rust/src/generated/solarxr_protocol/datatypes/hardware_info/mcu_type_generated.rs
+3 −0 protocol/typescript/src/solarxr-protocol/datatypes/hardware-info/board-type.ts
+22 −3 protocol/typescript/src/solarxr-protocol/datatypes/hardware-info/hardware-info.ts
+46 −4 protocol/typescript/src/solarxr-protocol/datatypes/hardware-info/hardware-status.ts
+2 −0 protocol/typescript/src/solarxr-protocol/datatypes/hardware-info/mcu-type.ts
+13 −1 schema/datatypes/hardware_info.fbs