Sync while working on OT
All checks were successful
Deploy Docs / build-and-deploy (push) Successful in 12s

This commit is contained in:
2026-02-17 14:23:28 +01:00
parent 5406c9917f
commit 17cc33332d
14 changed files with 314 additions and 100 deletions

View File

@@ -1,10 +1,10 @@
CONFIG_LOG=y
# UART-Grundlagen
# UART basics
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y
# Shell-Konfiguration
# Shell configuration
CONFIG_SHELL=y
CONFIG_SHELL_BACKEND_SERIAL=y
@@ -16,13 +16,13 @@ CONFIG_SHELL_BACKEND_SERIAL=y
# CONFIG_CRC=y
# CONFIG_MCUMGR_TRANSPORT_SHELL=y
# # MCUMGR Gruppen
# # MCUMGR groups
# CONFIG_MCUMGR_GRP_OS=y
# CONFIG_MCUMGR_GRP_OS_ECHO=y
# CONFIG_MCUMGR_GRP_FS=y
# CONFIG_MCUMGR_GRP_FS_CHECKSUM_HASH=y
# Lasertag-spezifische Konfiguration
# Lasertag-specific configuration
CONFIG_LASERTAG_UTILS=y
CONFIG_FS_MGMT=y
CONFIG_FS_MGMT_LOG_LEVEL_DBG=n

View File

@@ -17,7 +17,7 @@ class nRF_FS_Client:
self.seq = 0
self.ser.reset_input_buffer()
except serial.SerialException as e:
print(f"Fehler: Konnte {port} nicht öffnen ({e})")
print(f"Error: Could not open {port} ({e})")
sys.exit(1)
def crc16(self, data):
@@ -77,7 +77,7 @@ class nRF_FS_Client:
if res is None or 'files' not in res:
return
# Sortierung: Verzeichnisse zuerst, dann Namen
# Sorting: directories first, then names
entries = sorted(res['files'], key=lambda x: (x.get('t', 'f') != 'd', x['n']))
count = len(entries)
@@ -86,7 +86,7 @@ class nRF_FS_Client:
name = entry['n']
is_dir = entry.get('t', 'f').startswith('d')
# Line-Art Auswahl
# Line style selection
# connector = "└── " if is_last else "├── "
connector = "└─ " if is_last else "├─ "
@@ -94,7 +94,7 @@ class nRF_FS_Client:
print(f"{prefix}{connector}{ICON_DIR if is_dir else ICON_FILE} {name}")
if is_dir:
# Prefix für die nächste Ebene erweitern
# Extend prefix for the next level
extension = " " if is_last else ""
sub_path = f"{path}/{name}".replace("//", "/")
self.list_recursive(sub_path, prefix + extension)
@@ -105,13 +105,13 @@ class nRF_FS_Client:
def main():
parser = argparse.ArgumentParser(description="nRF52840 LittleFS Tree Tool")
parser.add_argument("port", help="Serieller Port (z.B. /dev/cu.usbmodem...)")
parser.add_argument("port", help="Serial port (e.g. /dev/cu.usbmodem...)")
args = parser.parse_args()
client = nRF_FS_Client(args.port, 115200)
print(f"--- Dateistruktur auf nRF ({args.port}) ---")
print(f"--- Directory tree on nRF ({args.port}) ---")
try:
# Initialer Aufruf
# Initial call
client.list_recursive("/")
finally:
client.close()

View File

@@ -12,14 +12,14 @@ CONFIG_SHELL_BACKEND_SERIAL=y
CONFIG_LASERTAG_UTILS=y
CONFIG_IR_RECV=y
CONFIG_IR_RECV_LOG_LEVEL_DBG=y
CONFIG_IR_RECV_INVERT_SIGNAL=y
# UART basics
# Thread Analyzer aktivieren
CONFIG_THREAD_ANALYZER=y
CONFIG_THREAD_ANALYZER_AUTO=y
# Shell configuration
CONFIG_THREAD_ANALYZER_AUTO_INTERVAL=5
# CPU-Laufzeit-Statistiken aktivieren
CONFIG_THREAD_RUNTIME_STATS=y
CONFIG_THREAD_RUNTIME_STATS_USE_TIMING_FUNCTIONS=y
# Lasertag-specific configuration

View File

@@ -17,7 +17,7 @@ class nRF_FS_Client:
self.seq = 0
self.ser.reset_input_buffer()
except serial.SerialException as e:
print(f"Fehler: Konnte {port} nicht öffnen ({e})")
print(f"Error: Could not open {port} ({e})")
sys.exit(1)
def crc16(self, data):
@@ -77,7 +77,7 @@ class nRF_FS_Client:
if res is None or 'files' not in res:
return
# Sortierung: Verzeichnisse zuerst, dann Namen
# Sorting: directories first, then names
entries = sorted(res['files'], key=lambda x: (x.get('t', 'f') != 'd', x['n']))
count = len(entries)
@@ -86,7 +86,7 @@ class nRF_FS_Client:
name = entry['n']
is_dir = entry.get('t', 'f').startswith('d')
# Line-Art Auswahl
# Line style selection
# connector = "└── " if is_last else "├── "
connector = "└─ " if is_last else "├─ "
@@ -94,7 +94,7 @@ class nRF_FS_Client:
print(f"{prefix}{connector}{ICON_DIR if is_dir else ICON_FILE} {name}")
if is_dir:
# Prefix für die nächste Ebene erweitern
# Extend prefix for the next level
extension = " " if is_last else ""
sub_path = f"{path}/{name}".replace("//", "/")
self.list_recursive(sub_path, prefix + extension)
@@ -105,13 +105,13 @@ class nRF_FS_Client:
def main():
parser = argparse.ArgumentParser(description="nRF52840 LittleFS Tree Tool")
parser.add_argument("port", help="Serieller Port (z.B. /dev/cu.usbmodem...)")
parser.add_argument("port", help="Serial port (e.g. /dev/cu.usbmodem...)")
args = parser.parse_args()
client = nRF_FS_Client(args.port, 115200)
print(f"--- Dateistruktur auf nRF ({args.port}) ---")
print(f"--- Directory tree on nRF ({args.port}) ---")
try:
# Initialer Aufruf
# Initial call
client.list_recursive("/")
finally:
client.close()

View File

@@ -1,25 +1,26 @@
CONFIG_LOG=y
# UART-Grundlagen
# UART basics
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y
# Shell-Konfiguration
# Shell configuration
CONFIG_SHELL=y
CONFIG_SHELL_BACKEND_SERIAL=y
CONFIG_CPLUSPLUS=y
# Lasertag-spezifische Konfiguration
# Lasertag-specific configuration
CONFIG_LASERTAG_UTILS=y
CONFIG_IR_RECV=y
CONFIG_IR_RECV_LOG_LEVEL_INF=y
CONFIG_IR_RECV_SIMULATOR=y
# Thread Analyzer aktivieren
# Enable Thread analyzer
CONFIG_THREAD_ANALYZER=y
CONFIG_THREAD_ANALYZER_AUTO=y
CONFIG_THREAD_ANALYZER_AUTO_INTERVAL=5
# CPU-Laufzeit-Statistiken aktivieren
# Enable CPU runtime statistics
CONFIG_THREAD_RUNTIME_STATS=y
CONFIG_THREAD_RUNTIME_STATS_USE_TIMING_FUNCTIONS=y

View File

@@ -17,7 +17,7 @@ class nRF_FS_Client:
self.seq = 0
self.ser.reset_input_buffer()
except serial.SerialException as e:
print(f"Fehler: Konnte {port} nicht öffnen ({e})")
print(f"Error: Could not open {port} ({e})")
sys.exit(1)
def crc16(self, data):
@@ -77,7 +77,7 @@ class nRF_FS_Client:
if res is None or 'files' not in res:
return
# Sortierung: Verzeichnisse zuerst, dann Namen
# Sorting: directories first, then names
entries = sorted(res['files'], key=lambda x: (x.get('t', 'f') != 'd', x['n']))
count = len(entries)
@@ -86,7 +86,7 @@ class nRF_FS_Client:
name = entry['n']
is_dir = entry.get('t', 'f').startswith('d')
# Line-Art Auswahl
# Line style selection
# connector = "└── " if is_last else "├── "
connector = "└─ " if is_last else "├─ "
@@ -94,7 +94,7 @@ class nRF_FS_Client:
print(f"{prefix}{connector}{ICON_DIR if is_dir else ICON_FILE} {name}")
if is_dir:
# Prefix für die nächste Ebene erweitern
# Extend prefix for the next level
extension = " " if is_last else ""
sub_path = f"{path}/{name}".replace("//", "/")
self.list_recursive(sub_path, prefix + extension)
@@ -105,13 +105,13 @@ class nRF_FS_Client:
def main():
parser = argparse.ArgumentParser(description="nRF52840 LittleFS Tree Tool")
parser.add_argument("port", help="Serieller Port (z.B. /dev/cu.usbmodem...)")
parser.add_argument("port", help="Serial port (e.g. /dev/cu.usbmodem...)")
args = parser.parse_args()
client = nRF_FS_Client(args.port, 115200)
print(f"--- Dateistruktur auf nRF ({args.port}) ---")
print(f"--- Directory tree on nRF ({args.port}) ---")
try:
# Initialer Aufruf
# Initial call
client.list_recursive("/")
finally:
client.close()

View File

@@ -1,17 +1,17 @@
CONFIG_LOG=y
# UART-Grundlagen
# UART basics
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y
# Shell-Konfiguration
# Shell configuration
CONFIG_SHELL_BACKEND_SERIAL=y
# Lasertag-spezifische Konfiguration
# Lasertag-specific configuration
CONFIG_BLE_MGMT=y
CONFIG_GAME_MGMT=y
CONFIG_GAME_MGMT_SHELL=y
CONFIG_GAME_MGMT_LOG_LEVEL_DBG=y
CONFIG_THREAD_MGMT=y
CONFIG_THREAD_MGMT_LOG_LEVEL_DBG=y
CONFIG_THREAD_MGMT_SHELL=y
CONFIG_THREAD_MGMT_SHELL=y

View File

@@ -1,6 +1,7 @@
#include <zephyr/kernel.h>
#include <zephyr/logging/log.h>
#include <thread_mgmt.h>
#include <game_mgmt.h>
#include <lasertag_utils.h>
LOG_MODULE_REGISTER(OT_SAMPLE, LOG_LEVEL_INF);
@@ -15,5 +16,13 @@ int main(void)
return rc;
}
LOG_INF("Thread management initialized successfully.");
rc = game_mgmt_init();
if (rc < 0) {
LOG_ERR("Game management initialization failed: %d", rc);
return rc;
}
LOG_INF("Game management initialized successfully.");
return 0;
}

View File

@@ -17,7 +17,7 @@ class nRF_FS_Client:
self.seq = 0
self.ser.reset_input_buffer()
except serial.SerialException as e:
print(f"Fehler: Konnte {port} nicht öffnen ({e})")
print(f"Error: Could not open {port} ({e})")
sys.exit(1)
def crc16(self, data):
@@ -77,7 +77,7 @@ class nRF_FS_Client:
if res is None or 'files' not in res:
return
# Sortierung: Verzeichnisse zuerst, dann Namen
# Sorting: directories first, then names
entries = sorted(res['files'], key=lambda x: (x.get('t', 'f') != 'd', x['n']))
count = len(entries)
@@ -86,7 +86,7 @@ class nRF_FS_Client:
name = entry['n']
is_dir = entry.get('t', 'f').startswith('d')
# Line-Art Auswahl
# Line style selection
# connector = "└── " if is_last else "├── "
connector = "└─ " if is_last else "├─ "
@@ -94,7 +94,7 @@ class nRF_FS_Client:
print(f"{prefix}{connector}{ICON_DIR if is_dir else ICON_FILE} {name}")
if is_dir:
# Prefix für die nächste Ebene erweitern
# Extend prefix for the next level
extension = " " if is_last else ""
sub_path = f"{path}/{name}".replace("//", "/")
self.list_recursive(sub_path, prefix + extension)
@@ -105,13 +105,13 @@ class nRF_FS_Client:
def main():
parser = argparse.ArgumentParser(description="nRF52840 LittleFS Tree Tool")
parser.add_argument("port", help="Serieller Port (z.B. /dev/cu.usbmodem...)")
parser.add_argument("port", help="Serial port (e.g. /dev/cu.usbmodem...)")
args = parser.parse_args()
client = nRF_FS_Client(args.port, 115200)
print(f"--- Dateistruktur auf nRF ({args.port}) ---")
print(f"--- Directory tree on nRF ({args.port}) ---")
try:
# Initialer Aufruf
# Initial call
client.list_recursive("/")
finally:
client.close()

View File

@@ -1,14 +1,14 @@
CONFIG_LOG=y
# UART-Grundlagen
# UART basics
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y
# Shell-Konfiguration
# Shell configuration
CONFIG_SHELL=y
CONFIG_SHELL_BACKEND_SERIAL=y
# Lasertag-spezifische Konfiguration
# Lasertag-specific configuration
CONFIG_LASERTAG_UTILS=y
CONFIG_LASERTAG_UTILS_LOG_LEVEL_DBG=y

View File

@@ -17,7 +17,7 @@ class nRF_FS_Client:
self.seq = 0
self.ser.reset_input_buffer()
except serial.SerialException as e:
print(f"Fehler: Konnte {port} nicht öffnen ({e})")
print(f"Error: Could not open {port} ({e})")
sys.exit(1)
def crc16(self, data):
@@ -77,7 +77,7 @@ class nRF_FS_Client:
if res is None or 'files' not in res:
return
# Sortierung: Verzeichnisse zuerst, dann Namen
# Sorting: directories first, then names
entries = sorted(res['files'], key=lambda x: (x.get('t', 'f') != 'd', x['n']))
count = len(entries)
@@ -86,7 +86,7 @@ class nRF_FS_Client:
name = entry['n']
is_dir = entry.get('t', 'f').startswith('d')
# Line-Art Auswahl
# Line style selection
# connector = "└── " if is_last else "├── "
connector = "└─ " if is_last else "├─ "
@@ -94,7 +94,7 @@ class nRF_FS_Client:
print(f"{prefix}{connector}{ICON_DIR if is_dir else ICON_FILE} {name}")
if is_dir:
# Prefix für die nächste Ebene erweitern
# Extend prefix for the next level
extension = " " if is_last else ""
sub_path = f"{path}/{name}".replace("//", "/")
self.list_recursive(sub_path, prefix + extension)
@@ -105,13 +105,13 @@ class nRF_FS_Client:
def main():
parser = argparse.ArgumentParser(description="nRF52840 LittleFS Tree Tool")
parser.add_argument("port", help="Serieller Port (z.B. /dev/cu.usbmodem...)")
parser.add_argument("port", help="Serial port (e.g. /dev/cu.usbmodem...)")
args = parser.parse_args()
client = nRF_FS_Client(args.port, 115200)
print(f"--- Dateistruktur auf nRF ({args.port}) ---")
print(f"--- Directory tree on nRF ({args.port}) ---")
try:
# Initialer Aufruf
# Initial call
client.list_recursive("/")
finally:
client.close()