Attention is currently required from: lynxis lazus.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/42250?usp=email
to look at the new patch set (#3).
Change subject: Implement a blinking LED using Timer Counter 0
......................................................................
Implement a blinking LED using Timer Counter 0
Sadly the LED is connected to a GPIO doesn't have useful functions.
The only other function is ETM tracing.
The GPIO can't be controlled by a Timer Counter (TC) or
Timer Counter for Control (TCC) because only certain GPIOs
are able to be controlled by it.
Use a Timer Counter to count the time in one-shot mode
and trigger the LED from the main main loop.
This has the advantage of keeping the interference to a minimum in difference
to a Timer Counter interrupt.
Additional by using the ARM core to change the LED, it can be used as heart beat,
if the LED blinks, the ARM core is still 'alive'.
There are other possibilities to trigger the LED:
- use a TC to trigger the Event System, which toggles the GPIO.
- use a TC to trigger the DMA engine, which transfer 1 byte toggles the GPIO.
Change-Id: I8144120d07f73356855d084016edcb77d202da7f
---
M driver_init.c
M driver_init.h
M gcc/Makefile
A timer.c
A timer.h
M usb_start.c
6 files changed, 108 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-asf4-dfu refs/changes/50/42250/3
--
To view, visit https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/42250?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-asf4-dfu
Gerrit-Branch: master
Gerrit-Change-Id: I8144120d07f73356855d084016edcb77d202da7f
Gerrit-Change-Number: 42250
Gerrit-PatchSet: 3
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: lynxis lazus <lynxis(a)fe80.eu>
Attention is currently required from: lynxis lazus.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/42250?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified-1 by Jenkins Builder
Change subject: Implement a blinking LED using Timer Counter 0
......................................................................
Implement a blinking LED using Timer Counter 0
Sadly the LED is connected to a GPIO doesn't have useful functions.
The only other function is ETM tracing.
The GPIO can't be controlled by a Timer Counter (TC) or
Timer Counter for Control (TCC) because only certain GPIOs
are able to be controlled by it.
Use a Timer Counter to count the time in one-shot mode
and trigger the LED from the main main loop.
This has the advantage of keeping the interference to a minimum in difference
to a Timer Counter interrupt.
Additional by using the ARM core to change the LED, it can be used as heart beat,
if the LED blinks, the ARM core is still 'alive'.
There are other possibilities to trigger the LED:
- use a TC to trigger the Event System, which toggles the GPIO.
- use a TC to trigger the DMA engine, which transfer 1 byte toggles the GPIO.
Change-Id: I8144120d07f73356855d084016edcb77d202da7f
---
M driver_init.c
M driver_init.h
M gcc/Makefile
A timer.c
A timer.h
M usb_start.c
6 files changed, 108 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-asf4-dfu refs/changes/50/42250/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/42250?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-asf4-dfu
Gerrit-Branch: master
Gerrit-Change-Id: I8144120d07f73356855d084016edcb77d202da7f
Gerrit-Change-Number: 42250
Gerrit-PatchSet: 2
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Attention: lynxis lazus <lynxis(a)fe80.eu>
Attention is currently required from: Hoernchen, fixeria, laforge, osmith, pespin.
Timur Davydov has posted comments on this change by Timur Davydov. ( https://gerrit.osmocom.org/c/osmo-trx/+/42243?usp=email )
Change subject: build: install common/GSM/transceiver libraries for emscripten and add pkg-config files
......................................................................
Patch Set 3:
(1 comment)
Patchset:
PS1:
> If we are linking dynamically against the stuff in CommonLibs/ and GSM/ then I'd say it's unintended.
>
> If that's the case, please submit a patch to always statically link those files into osmo-trx-*.
I didn’t mean dynamic linking specifically for the CommonLibs/ and GSM/ parts. In the native build those are already linked statically into the `osmo-trx-*` binaries, so no additional patch is needed on that front.
My point was more general: for the Emscripten target, dynamic linking isn’t really a workable option, and we need all required code available at final link time.
> I see no need for the .pc files since those object files are not expected to be used by other programs, they are internal to osmo-trx.
Regarding the .pc files: while I understand these objects are “internal” from the upstream perspective, in our build we need to reuse those internal libraries when linking `osmo-bts-trx + osmo-trx` into a single final static output (which is then used to produce the resulting wasm + js). Since `osmo-bts` and `osmo-trx` are built separately (no shared Makefile.am), having pkg-config metadata is the simplest/cleanest way to propagate the correct CFLAGS/LIBS for those internal libs across build boundaries.
So the .pc.in files aren’t meant to turn them into a public API — just to make the cross-project static link step reliable for the Emscripten pipeline.
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/42243?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: I2495c5b5c79f2fe74bef83902058e1d2207c1f3c
Gerrit-Change-Number: 42243
Gerrit-PatchSet: 3
Gerrit-Owner: Timur Davydov <dtv.comp(a)gmail.com>
Gerrit-Reviewer: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 03 Mar 2026 12:21:12 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Comment-In-Reply-To: Timur Davydov <dtv.comp(a)gmail.com>
lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/42250?usp=email )
Change subject: Implement a blinking LED using Timer Counter 0
......................................................................
Implement a blinking LED using Timer Counter 0
Sadly the LED is connected to a GPIO doesn't have useful functions.
The only other function is ETM tracing.
The GPIO can't be controlled by a Timer Counter (TC) or
Timer Counter for Control (TCC) because only certain GPIOs
are able to be controlled by it.
Use a Timer Counter to count the time in one-shot mode
and trigger the LED from the main main loop.
This has the advantage of keeping the interference to a minimum in difference
to a Timer Counter interrupt.
Additional by using the ARM core to change the LED, it can be used as heart beat,
if the LED blinks, the ARM core is still 'alive'.
There are other possibilities to trigger the LED:
- use a TC to trigger the Event System, which toggles the GPIO.
- use a TC to trigger the DMA engine, which transfer 1 byte toggles the GPIO.
Change-Id: I8144120d07f73356855d084016edcb77d202da7f
---
M driver_init.c
M driver_init.h
M gcc/Makefile
A timer.c
M usb_start.c
5 files changed, 83 insertions(+), 3 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-asf4-dfu refs/changes/50/42250/1
diff --git a/driver_init.c b/driver_init.c
index d873230..1ec2435 100644
--- a/driver_init.c
+++ b/driver_init.c
@@ -157,6 +157,11 @@
#endif
}
+void LED_SYSTEM_toggle(void)
+{
+ gpio_toggle_pin_level(LED_SYSTEM);
+}
+
void system_init(void)
{
init_mcu();
diff --git a/driver_init.h b/driver_init.h
index 8d8a30b..97896fd 100644
--- a/driver_init.h
+++ b/driver_init.h
@@ -43,6 +43,11 @@
void LED_SYSTEM_off(void);
/**
+ * \brief Toggle system LED
+ */
+void LED_SYSTEM_toggle(void);
+
+/**
* \brief Perform system initialization, initialize pins and clocks for
* peripherals
*/
diff --git a/gcc/Makefile b/gcc/Makefile
index 27a9143..bfe2ca0 100644
--- a/gcc/Makefile
+++ b/gcc/Makefile
@@ -50,7 +50,8 @@
hpl/cmcc/hpl_cmcc.o \
atmel_start.o \
usb/device/usbdc.o \
-hal/src/hal_atomic.o
+hal/src/hal_atomic.o \
+timer.o
SRC_hosttools = crc_code.c
SRC_dfu = usb_dfu_main.c crc_code.c crc_params.c
diff --git a/timer.c b/timer.c
new file mode 100644
index 0000000..1c1a2f5
--- /dev/null
+++ b/timer.c
@@ -0,0 +1,61 @@
+/*
+ * (C) 2026 sysmocom -s.f.m.c. GmbH
+ * Author: Alexander Couzens <lynxis(a)fe80.eu>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "atmel_start.h"
+
+/* configure tc0 for 0.5s, oneshot mode */
+void tc0_setup(void)
+{
+ /* set TC0 to global clock 3 / 32 khz*/
+ hri_gclk_write_PCHCTRL_reg(GCLK, TC0_GCLK_ID, 3 | GCLK_PCHCTRL_CHEN);
+
+ /* enable ABPA access for TC0 */
+ hri_mclk_set_APBAMASK_TC0_bit(MCLK);
+
+ hri_tc_wait_for_sync(TC0, TC_SYNCBUSY_SWRST);
+
+ /* disable the TC, to enable access to ctrl registers */
+ hri_tc_clear_CTRLA_ENABLE_bit(TC0);
+
+ /* 32 kHz / 64 with an 8 bit counter gives 0.5 seconds, use one shot */
+ hri_tc_write_CTRLA_reg(TC0, TC_CTRLA_MODE_COUNT8 | TC_CTRLA_PRESCALER_DIV64);
+
+ hri_tc_set_CTRLB_ONESHOT_bit(TC0);
+
+ /* normal frequency, count between 0 and TOP */
+ hri_tc_set_WAVE_WAVEGEN_bf(TC0, 0);
+
+ /* set PERIOD/TOP value to 0xff */
+ hri_tccount8_set_PER_PER_bf(TC0, 0xff);
+
+ /* Start the TC0 */
+ hri_tc_set_CTRLA_ENABLE_bit(TC0);
+}
+
+/* returns true if the tc0 has been re-armed */
+bool tc0_finished_rearm(void)
+{
+ /* still running, do nothing */
+ if (!hri_tc_get_STATUS_STOP_bit(TC0)) {
+ return false;
+ }
+
+ hri_tc_set_CTRLB_CMD_bf(TC0, TC_CTRLBSET_CMD_RETRIGGER_Val);
+ return true;
+}
diff --git a/usb_start.c b/usb_start.c
index 47e287f..95bf2e7 100644
--- a/usb_start.c
+++ b/usb_start.c
@@ -18,6 +18,7 @@
#include "atmel_start.h"
#include "usb_start.h"
#include "config/usbd_config.h"
+#include "timer.h"
#if CONF_USBD_HS_SP
static uint8_t single_desc_bytes[] = {
@@ -152,13 +153,20 @@
*/
void usb_dfu(void)
{
- while (!dfudf_is_enabled()); // wait for DFU to be installed
- LED_SYSTEM_on(); // switch LED on to indicate USB DFU stack is ready
+ tc0_setup();
uint32_t application_start_address = BL_SIZE_BYTE;
ASSERT(application_start_address > 0);
while (true) { // main DFU infinite loop
+ /* blink the led with 0.5s off, 0.5s on */
+ if (tc0_finished_rearm())
+ LED_SYSTEM_toggle();
+
+ // wait for DFU to be installed
+ if (!dfudf_is_enabled())
+ continue;
+
// run the second part of the USB DFU state machine handling non-USB aspects
if (USB_DFU_STATE_DFU_DNLOAD_SYNC == dfu_state || USB_DFU_STATE_DFU_DNBUSY == dfu_state) { // there is some data to be flashed
LED_SYSTEM_off(); // switch LED off to indicate we are flashing
--
To view, visit https://gerrit.osmocom.org/c/osmo-asf4-dfu/+/42250?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-asf4-dfu
Gerrit-Branch: master
Gerrit-Change-Id: I8144120d07f73356855d084016edcb77d202da7f
Gerrit-Change-Number: 42250
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus <lynxis(a)fe80.eu>
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42232?usp=email )
Change subject: NGAP_Emulation: Use specific record types for AMF/RAN IDs
......................................................................
NGAP_Emulation: Use specific record types for AMF/RAN IDs
Change-Id: Ibd85be865a3a61c97d312df76ab3d1ae7ae32a6a
---
M library/NGAP_Emulation.ttcn
1 file changed, 2 insertions(+), 2 deletions(-)
Approvals:
laforge: Looks good to me, but someone else must approve
osmith: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/library/NGAP_Emulation.ttcn b/library/NGAP_Emulation.ttcn
index d18d7a0..22eb605 100644
--- a/library/NGAP_Emulation.ttcn
+++ b/library/NGAP_Emulation.ttcn
@@ -157,8 +157,8 @@
/* represents a single NGAP Association */
type record AssociationData {
NGAP_ConnHdlr comp_ref, /* component handling this UE connection */
- uint32_t ran_ue_ngap_id optional, /* eNB side NGAP ID */
- uint40_t amf_ue_ngap_id optional, /* AMF side NGAP ID */
+ RAN_UE_NGAP_ID ran_ue_ngap_id optional, /* eNB side NGAP ID */
+ AMF_UE_NGAP_ID amf_ue_ngap_id optional, /* AMF side NGAP ID */
UserLocationInformation uli optional,
NG_NAS_UE_State nus
};
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42232?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ibd85be865a3a61c97d312df76ab3d1ae7ae32a6a
Gerrit-Change-Number: 42232
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Attention is currently required from: fixeria, pespin.
osmith has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42232?usp=email )
Change subject: NGAP_Emulation: Use specific record types for AMF/RAN IDs
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42232?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ibd85be865a3a61c97d312df76ab3d1ae7ae32a6a
Gerrit-Change-Number: 42232
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 03 Mar 2026 11:57:17 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sigtran/+/42239?usp=email )
Change subject: Use new libosmo-asn1-tcap API osmo_asn1_tcap_TCMessage_decode()
......................................................................
Use new libosmo-asn1-tcap API osmo_asn1_tcap_TCMessage_decode()
This allows passing a talloc context used to allocate memory when
decoding the message.
Related: SYS#5423
Related: OS#6965
Change-Id: Iebeb2808c54c5b82026a1b31d985aa73f602b42a
---
M TODO-RELEASE
M src/tcap_as_loadshare.c
2 files changed, 2 insertions(+), 1 deletion(-)
Approvals:
laforge: Looks good to me, but someone else must approve
Jenkins Builder: Verified
daniel: Looks good to me, but someone else must approve
osmith: Looks good to me, approved
diff --git a/TODO-RELEASE b/TODO-RELEASE
index 0ed7189..ef38361 100644
--- a/TODO-RELEASE
+++ b/TODO-RELEASE
@@ -7,3 +7,4 @@
# If any interfaces have been added since the last public release: c:r:a + 1.
# If any interfaces have been removed or changed since the last public release: c:r:0.
#library what description / commit summary line
+libosmo-asn1-tcap >0.2.1 osmo_asn1_tcap_TCMessage_decode()
diff --git a/src/tcap_as_loadshare.c b/src/tcap_as_loadshare.c
index 5a52f83..f7ae3b8 100644
--- a/src/tcap_as_loadshare.c
+++ b/src/tcap_as_loadshare.c
@@ -96,7 +96,7 @@
OSMO_ASSERT(ids);
- rc = osmo_asn1_tcap_decode(tcapmsg, data, len);
+ rc = osmo_asn1_tcap_TCMessage_decode(tcapmsg, data, len, as);
if (rc < 0) {
LOGPAS(as, DLTCAP, LOGL_NOTICE, "Error decoding TCAP message rc: %d, message: %s\n",
rc, osmo_hexdump(data, len));
--
To view, visit https://gerrit.osmocom.org/c/libosmo-sigtran/+/42239?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: libosmo-sigtran
Gerrit-Branch: master
Gerrit-Change-Id: Iebeb2808c54c5b82026a1b31d985aa73f602b42a
Gerrit-Change-Number: 42239
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: daniel <dwillmann(a)sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: lynxis lazus <lynxis(a)fe80.eu>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>