837 Commits

Author SHA1 Message Date
Orne Brocaar
730ed09840 Update Rust toolchain version.
Some checks are pending
CI / tests (postgres) (push) Waiting to run
CI / tests (sqlite) (push) Waiting to run
CI / dist (postgres) (push) Blocked by required conditions
CI / dist (sqlite) (push) Blocked by required conditions
2025-03-20 10:58:30 +00:00
Orne Brocaar
105ea2806a Remove rand_core and import re-export. 2025-03-20 10:53:14 +00:00
dependabot[bot]
8f34ea2ca5
Bump golang.org/x/net from 0.23.0 to 0.33.0 in /api/go (#599)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.23.0 to 0.33.0.
- [Commits](https://github.com/golang/net/compare/v0.23.0...v0.33.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-20 10:41:12 +00:00
dependabot[bot]
447df411df
Bump golang.org/x/net from 0.23.0 to 0.36.0 in /examples/request_log/go (#627)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.23.0 to 0.36.0.
- [Commits](https://github.com/golang/net/compare/v0.23.0...v0.36.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-20 10:40:58 +00:00
dependabot[bot]
e228125031
Bump @babel/runtime from 7.24.7 to 7.26.10 in /ui (#633)
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.24.7 to 7.26.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.10/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-20 10:40:43 +00:00
Orne Brocaar
7c134a549d Update dependencies. 2025-03-20 10:39:52 +00:00
Jeffrey Esquivel S.
f97af991be
Generalize auto-conversion of SEC1 EC keys to PKCS#8. (#618)
Get the key curve from the params of the SEC1 certificate instead of
assuming that it is P256.
2025-03-20 10:10:57 +00:00
Orne Brocaar
293cfe2664 api: Update Go generated code. 2025-03-20 09:03:47 +00:00
Orne Brocaar
5bbd71ab3a Add warnings to fuota deployment job + UI.
Some checks failed
CI / tests (postgres) (push) Has been cancelled
CI / tests (sqlite) (push) Has been cancelled
CI / dist (postgres) (push) Has been cancelled
CI / dist (sqlite) (push) Has been cancelled
In case some devices do not complete a job, this makes it possible
to show a warning in the UI showing the amount of devices that did
not complete the job.
2025-03-19 14:47:47 +00:00
Orne Brocaar
f02256245c lrwn: Align v2 fragmentation fec with LBM stack.
Some checks are pending
CI / tests (postgres) (push) Waiting to run
CI / tests (sqlite) (push) Waiting to run
CI / dist (postgres) (push) Blocked by required conditions
CI / dist (sqlite) (push) Blocked by required conditions
This aligns the forward-error-correction code with the LoRa Basics
Modem stack, which seems to be different from the TS004 MATLAB example
code in that it only calls the matrix_line function for the redundancy
frames and thus the n argument ranges from 1 until (and including) the
number of redundancy frames.

The TS004 MATLAB example calls the matrix_line function for every
fragment, thus the n argument ranges from 1 until (and including) m +
the number of redundancy frames. While n <= m, it returns early.
2025-03-18 13:32:14 +00:00
Orne Brocaar
a0f07b5303 Initial FUOTA v2 implementation.
This implements selecting the v2.0.0 app-layer package in the
device-profile and handling these payloads in the FUOTA flow.
2025-03-18 12:44:15 +00:00
Orne Brocaar
60547ff973 Fix fuota device timeout filter.
We should filter on error_msg = "" instead of != NULL, as we only would
like to update the error_msg for devices that not yet have an error set.
Else we would overwrite an earlier error message.
2025-03-13 15:09:03 +00:00
Orne Brocaar
351406c363 lrwn: Implement v2 app layer fragmentation structs + encoding. 2025-03-13 15:09:03 +00:00
Orne Brocaar
8b59136942 lrwn: Implement v2 app layer multicast setup structs. 2025-03-13 15:09:03 +00:00
Orne Brocaar
b5e562aa64 lrwn: Implement v2 app layer clock sync structs.
These are the same as the v1 struct, buts re-exporting will make the
documentation confusing + will become inconsistent with other app layer
packages that do provide different struct implementations.
2025-03-13 15:09:03 +00:00
Orne Brocaar
5a7694a3a4 Bump version to 4.12.0-test.1 2025-03-13 15:09:03 +00:00
Orne Brocaar
98ba2f3198 Set device tags after FUOTA complete. 2025-03-13 15:09:03 +00:00
Orne Brocaar
bbdf2dd781 Error if there are no fuota devices + cleanup mc group.
In case there are no fuota devices (e.g. all devices failed the previous
step), this will log a warning and the flow will continue with multicast
cleanup and completion steps.
2025-03-13 15:09:03 +00:00
Orne Brocaar
71cc1aca74 Set FUOTA deployment completed_at. 2025-03-13 15:09:03 +00:00
Orne Brocaar
27f6d2cf03 Implement full FUOTA flow + UI components. 2025-03-13 15:09:03 +00:00
Orne Brocaar
b8ab0182de ui: Make app-layer params configurable. 2025-03-13 15:09:03 +00:00
Orne Brocaar
b1e6c97942 Add get_ and update_device to fuota storage + add return_msg.
The return_msg (text) field can be used to capture errors, e.g. when the
end-device failed to setup the multicast-group.
2025-03-13 15:09:03 +00:00
Orne Brocaar
e75b62f335 lrwn: Add function for encrypting McKey. 2025-03-13 15:09:03 +00:00
Orne Brocaar
cac682c245 Implement handling AppTimeReq / AppTimeAns. 2025-03-13 15:09:03 +00:00
Orne Brocaar
b61a684739 Update fuota + device-keys structs / storage.
This add the gen_app_key to the device keys which is needed for FUOTA
and adds a random multicast address + key to the fuota deployment. To
the FUOTA job structure, this adds a return msg such that errors can
be captured in the database.
2025-03-13 15:09:03 +00:00
Orne Brocaar
439a6b0542 lrwn: Fix clocksync time_correction type.
The correct type is i32 instead of u32, as the value can be negative.
2025-03-13 15:09:03 +00:00
Orne Brocaar
f9efed2317 Rename ts00x_port to _f_port.
This is consistent with the naming in the lrwn package.
2025-03-13 15:09:03 +00:00
Orne Brocaar
4984e8556d ui: First part of FUOTA UI implementation.
Currently this allows for creating FUOTA dpeloyments and adding to /
removing from devices and gateways. In its current state, it does not
show the status of the FUOTA deployment.
2025-03-13 15:09:03 +00:00
Orne Brocaar
43753958ef api: List devices by device-profile + expose tags. 2025-03-13 15:09:03 +00:00
Orne Brocaar
1d76fabdb0 Add APIs + functions to get app. device-profiles and tags.
These API methods can be used to given an application id, retrieve
the list of used device-profiles and device tags.
2025-03-13 15:09:03 +00:00
Orne Brocaar
de7e0c619d Update fuota API. Add options for auto-calculation of params.
This adds options to auto-calculate the fragment size (based on max.
payload size available for the given data-rate) and multicast
timeout (based on server settings).
2025-03-13 15:09:03 +00:00
Orne Brocaar
38386b23f2 Add start job + get schedulable jobs functions + API. 2025-03-13 15:09:03 +00:00
Orne Brocaar
a3e27d8b65 Add tests + add fuota jobs functions. 2025-03-13 15:09:03 +00:00
Orne Brocaar
9b735d6521 Add first fuota storage functions / API. 2025-03-13 15:09:03 +00:00
Orne Brocaar
d000cd3385 Add option to filter devices by tags. 2025-03-13 15:09:03 +00:00
Orne Brocaar
ac52cce7ee api: Extend 'limit' field documentation. 2025-03-13 15:09:03 +00:00
Orne Brocaar
bbce25efbf Add app-layer params field to device-profile API. 2025-03-13 15:09:03 +00:00
Orne Brocaar
4e7ab31714 Add app-layer params field to device-profile schema. 2025-03-13 15:09:03 +00:00
Orne Brocaar
3c3c1f125d Refactor device-profile relay fields. 2025-03-13 15:09:03 +00:00
Orne Brocaar
909eaed1ba Refactor device-profile class-c fields. 2025-03-13 15:09:03 +00:00
Orne Brocaar
b8c02b943c Refactor device-profile class-b fields. 2025-03-13 15:09:03 +00:00
Orne Brocaar
82ed66cf09 Refactor device-profile abp fields.
This this puts the ABP parameters into a single JSON(B) field, to reduce
the amount of device-profile fields that currently exist. The same work
will be done for Class-B/C and Relay parameters. Once completed, this
means we can drop the diesel '64-column-tables' feature, which will
reduce compile time.
2025-03-13 15:09:03 +00:00
Orne Brocaar
f3d3262006 lrwn: Implement v1 applayer multicastsetup key functions. 2025-03-13 15:09:03 +00:00
Orne Brocaar
ffe01d387c lrwn: Implement applayer v1 fragmentation encoding func. 2025-03-13 15:09:03 +00:00
Orne Brocaar
d1f4f42a79 lrwn: Implement v1 applayer fragmentation structs. 2025-03-13 15:09:03 +00:00
Orne Brocaar
bf21297a42 lrwn: Replace Duration with u32 in applayer timesync. 2025-03-13 15:09:03 +00:00
Orne Brocaar
bcb8aaad4f lrwn: Implement v1 applayer multicast setup structs. 2025-03-13 15:09:03 +00:00
Orne Brocaar
f43c9154bc lrwn: Implement v1 applayer clock sync structs. 2025-03-13 15:09:03 +00:00
berthrann
3e7f09db62
Add Yandex ID OAuth provider support. (#622)
Some checks failed
CI / tests (postgres) (push) Has been cancelled
CI / tests (sqlite) (push) Has been cancelled
CI / dist (postgres) (push) Has been cancelled
CI / dist (sqlite) (push) Has been cancelled
2025-03-12 13:03:35 +00:00
Tomas Tulka
01246dd124
Add sorting to device and gw table. (#579)
Some checks failed
CI / tests (postgres) (push) Has been cancelled
CI / tests (sqlite) (push) Has been cancelled
CI / dist (postgres) (push) Has been cancelled
CI / dist (sqlite) (push) Has been cancelled
Co-authored-by: Franka Schmid <fra.schmid@rational-online.com>
Co-authored-by: Orne Brocaar <info@brocaar.com>
2025-02-10 12:18:08 +00:00