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
4 changes: 2 additions & 2 deletions scripts/apn_set.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
from rich.status import Status
from rich.table import Table

import infuse_iot.generated.kv_definitions as kv
import infuse_iot.generated.rpc_definitions as rpc
import infuse_iot.definitions.kv as kv
import infuse_iot.definitions.rpc as rpc
from infuse_iot.definitions.tdf import readings
from infuse_iot.epacket.packet import Auth
from infuse_iot.rpc_client import RpcClient
Expand Down
4 changes: 2 additions & 2 deletions scripts/reboot_count_reset.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
from rich.status import Status
from rich.table import Table

import infuse_iot.generated.kv_definitions as kv
import infuse_iot.generated.rpc_definitions as rpc
import infuse_iot.definitions.kv as kv
import infuse_iot.definitions.rpc as rpc
from infuse_iot.definitions.tdf import readings
from infuse_iot.epacket.packet import Auth
from infuse_iot.rpc_client import RpcClient
Expand Down
22 changes: 22 additions & 0 deletions src/infuse_iot/credentials.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ def get_api_key() -> str:
raise FileNotFoundError("API key does not exist in keyring")
return key


def delete_api_key() -> None:
"""
Delete the Infuse-IoT API key from the keyring module
Expand Down Expand Up @@ -65,3 +66,24 @@ def delete_custom_tool_path() -> None:
Delete the location of custom Infuse-IoT tools on the filesystem
"""
return keyring.delete_password("infuse-iot", "custom-tools")


def set_custom_definitions_path(path: str):
"""
Save the location of custom Infuse-IoT definitions on the filesystem
"""
keyring.set_password("infuse-iot", "custom-definitions", path)


def get_custom_definitions_path() -> str | None:
"""
Retrieve the location of custom Infuse-IoT definitions on the filesystem
"""
return keyring.get_password("infuse-iot", "custom-definitions")


def delete_custom_definitions_path() -> None:
"""
Delete the location of custom Infuse-IoT definitions on the filesystem
"""
return keyring.delete_password("infuse-iot", "custom-definitions")
20 changes: 19 additions & 1 deletion src/infuse_iot/definitions/kv.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
#!/usr/bin/env python3

from infuse_iot.generated.kv_definitions import slots, structs # noqa: F401
import infuse_iot.generated.kv_definitions as _kv_base
from infuse_iot.util.internal import extension_load as _loader

if extension_module := _loader("kv_definitions"):

class slots(_kv_base.slots, extension_module.slots): # type: ignore
pass

class structs(_kv_base.structs, extension_module.structs): # type: ignore
pass

else:
slots = _kv_base.slots # type: ignore
structs = _kv_base.structs # type: ignore

__all__ = [
"slots",
"structs",
]
6 changes: 6 additions & 0 deletions src/infuse_iot/definitions/rpc.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
#!/usr/bin/env python3

from infuse_iot.generated.rpc_definitions import * # noqa: F403
from infuse_iot.util.internal import extension_load as _loader

if _extension_module := _loader("rpc_definitions"):
_globals = globals()
for _name in _extension_module.__all__:
_globals[_name] = getattr(_extension_module, _name)
26 changes: 25 additions & 1 deletion src/infuse_iot/definitions/tdf.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,27 @@
#!/usr/bin/env python3

from infuse_iot.generated.tdf_definitions import id_type_mapping, readings, structs # noqa: F401
import infuse_iot.generated.tdf_definitions as _tdf_base
from infuse_iot.util.internal import extension_load as _loader

if _extension_module := _loader("tdf_definitions"):
id_type_mapping = {
**_tdf_base.id_type_mapping,
**_extension_module.id_type_mapping,
}

class readings(_tdf_base.readings, _extension_module.readings): # type: ignore
pass

class structs(_tdf_base.structs, _extension_module.structs): # type: ignore
pass
else:
id_type_mapping = _tdf_base.id_type_mapping
readings = _tdf_base.readings # type: ignore
structs = _tdf_base.structs # type: ignore


__all__ = [
"id_type_mapping",
"readings",
"structs",
]
4 changes: 2 additions & 2 deletions src/infuse_iot/epacket/interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

from typing_extensions import Self

import infuse_iot.generated.rpc_definitions as rpc_defs
import infuse_iot.generated.tdf_definitions as tdf_defs
import infuse_iot.definitions.rpc as rpc_defs
import infuse_iot.definitions.tdf as tdf_defs
from infuse_iot.epacket.common import Serializable
from infuse_iot.util.ctypes import bytes_to_uint8

Expand Down
6 changes: 6 additions & 0 deletions src/infuse_iot/generated/kv_definitions.py
Original file line number Diff line number Diff line change
Expand Up @@ -468,3 +468,9 @@ class secure_storage_reserved(VLACompatLittleEndianStruct):
30008: secure_storage_reserved,
30009: secure_storage_reserved,
}


__all__ = [
"structs",
"slots",
]
58 changes: 58 additions & 0 deletions src/infuse_iot/generated/rpc_definitions.py
Original file line number Diff line number Diff line change
Expand Up @@ -993,3 +993,61 @@ class response(VLACompatLittleEndianStruct):
_fields_ = []
vla_field = ("array", 0 * ctypes.c_uint8)
_pack_ = 1


__all__ = [
"rpc_struct_mcuboot_img_sem_ver",
"rpc_struct_kv_store_value",
"rpc_struct_kv_store_crc",
"rpc_struct_bt_addr_le",
"rpc_struct_ipv4_address",
"rpc_struct_ipv6_address",
"rpc_struct_network_state",
"rpc_struct_wifi_state",
"rpc_struct_lte_state",
"rpc_struct_wifi_scan_result",
"rpc_struct_xyz_s16",
"rpc_struct_infuse_state",
"rpc_struct_sockaddr",
"rpc_struct_heap_info",
"rpc_enum_bt_le_addr_type",
"rpc_enum_file_action",
"rpc_enum_infuse_bt_characteristic",
"rpc_enum_data_logger",
"rpc_enum_zperf_data_source",
"reboot",
"fault",
"time_get",
"time_set",
"kv_write",
"kv_read",
"kv_reflect_crcs",
"zbus_channel_state",
"application_info",
"wifi_scan",
"wifi_state",
"last_reboot",
"data_logger_state",
"data_logger_read",
"mem_read",
"infuse_states_query",
"infuse_states_update",
"data_logger_erase",
"heap_stats",
"lte_at_cmd",
"lte_state",
"data_logger_read_available",
"coap_download",
"zperf_upload",
"file_write_basic",
"annotate",
"bt_connect_infuse",
"bt_disconnect",
"bt_file_copy_basic",
"bt_file_copy_coap",
"gravity_reference_update",
"security_state",
"data_sender",
"data_receiver",
"echo",
]
6 changes: 6 additions & 0 deletions src/infuse_iot/generated/tdf_definitions.py
Original file line number Diff line number Diff line change
Expand Up @@ -1487,3 +1487,9 @@ class array_type(TdfReadingBase):
50: readings.wifi_disconnected,
100: readings.array_type,
}

__all__ = [
"structs",
"readings",
"id_type_mapping",
]
2 changes: 1 addition & 1 deletion src/infuse_iot/rpc_wrappers/application_info.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env python3


import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import InfuseRpcCommand
from infuse_iot.zephyr.errno import errno

Expand Down
10 changes: 5 additions & 5 deletions src/infuse_iot/rpc_wrappers/bt_connect_infuse.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env python3


import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import InfuseRpcCommand
from infuse_iot.definitions.rpc import (
rpc_enum_bt_le_addr_type,
Expand All @@ -11,6 +11,7 @@
from infuse_iot.util.argparse import BtLeAddress
from infuse_iot.util.ctypes import bytes_to_uint8
from infuse_iot.zephyr.errno import errno
from infuse_iot.zephyr.hci import error


class bt_connect_infuse(InfuseRpcCommand, defs.bt_connect_infuse):
Expand Down Expand Up @@ -61,11 +62,10 @@ def handle_response(self, return_code, response):
if return_code < 0:
print(f"Failed to connect ({errno.strerror(-return_code)})")
return
elif return_code > 0:
print(f"Failed to connect ({error.strerror(return_code)})")

if return_code == 1:
print("Already connected")
else:
print("Connected")
print("Connected")
print(f"\tDevice Public Key: {bytes(response.device_public_key).hex()}")
print(f"\t Cloud Public Key: {bytes(response.cloud_public_key).hex()}")
print(f"\t Network: 0x{response.network_id:06x}")
2 changes: 1 addition & 1 deletion src/infuse_iot/rpc_wrappers/bt_disconnect.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env python3


import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import InfuseRpcCommand
from infuse_iot.definitions.rpc import (
rpc_enum_bt_le_addr_type,
Expand Down
2 changes: 1 addition & 1 deletion src/infuse_iot/rpc_wrappers/bt_file_copy_coap.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import ctypes

import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import InfuseRpcCommand
from infuse_iot.definitions.rpc import rpc_enum_bt_le_addr_type, rpc_enum_file_action, rpc_struct_bt_addr_le
from infuse_iot.rpc_wrappers.coap_download import coap_download, coap_server_file_stats
Expand Down
2 changes: 1 addition & 1 deletion src/infuse_iot/rpc_wrappers/coap_download.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
from http import HTTPStatus
from json import loads

import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.api_client import Client
from infuse_iot.api_client.api.coap import get_coap_file_stats
from infuse_iot.commands import InfuseRpcCommand
Expand Down
2 changes: 1 addition & 1 deletion src/infuse_iot/rpc_wrappers/data_logger_erase.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env python3

import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import InfuseRpcCommand
from infuse_iot.zephyr.errno import errno

Expand Down
2 changes: 1 addition & 1 deletion src/infuse_iot/rpc_wrappers/data_logger_read.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import binascii
import time

import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import InfuseRpcCommand
from infuse_iot.util.ctypes import UINT32_MAX
from infuse_iot.zephyr.errno import errno
Expand Down
2 changes: 1 addition & 1 deletion src/infuse_iot/rpc_wrappers/data_logger_state.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env python3


import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import InfuseRpcCommand
from infuse_iot.util.time import humanised_seconds
from infuse_iot.zephyr.errno import errno
Expand Down
2 changes: 1 addition & 1 deletion src/infuse_iot/rpc_wrappers/fault.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env python3


import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import InfuseRpcCommand
from infuse_iot.zephyr.errno import errno

Expand Down
2 changes: 1 addition & 1 deletion src/infuse_iot/rpc_wrappers/file_write_basic.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
TransferSpeedColumn,
)

import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import Auth, InfuseRpcCommand
from infuse_iot.definitions.rpc import rpc_enum_file_action
from infuse_iot.zephyr.errno import errno
Expand Down
2 changes: 1 addition & 1 deletion src/infuse_iot/rpc_wrappers/gravity_reference_update.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env python3

import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import InfuseRpcCommand
from infuse_iot.zephyr.errno import errno

Expand Down
2 changes: 1 addition & 1 deletion src/infuse_iot/rpc_wrappers/heap_stats.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import tabulate

import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import InfuseRpcCommand
from infuse_iot.zephyr.errno import errno

Expand Down
2 changes: 1 addition & 1 deletion src/infuse_iot/rpc_wrappers/infuse_states_query.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import tabulate

import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import InfuseRpcCommand
from infuse_iot.zephyr.errno import errno

Expand Down
2 changes: 1 addition & 1 deletion src/infuse_iot/rpc_wrappers/infuse_states_update.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import ctypes

import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import InfuseRpcCommand
from infuse_iot.util.ctypes import UINT16_MAX
from infuse_iot.zephyr.errno import errno
Expand Down
2 changes: 1 addition & 1 deletion src/infuse_iot/rpc_wrappers/kv_bt_peer.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import ctypes
import os

import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import InfuseRpcCommand
from infuse_iot.util.argparse import BtLeAddress
from infuse_iot.util.ctypes import VLACompatLittleEndianStruct, bytes_to_uint8
Expand Down
4 changes: 2 additions & 2 deletions src/infuse_iot/rpc_wrappers/kv_read.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

from tabulate import tabulate

import infuse_iot.generated.kv_definitions as kv
import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.kv as kv
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import InfuseRpcCommand
from infuse_iot.zephyr.errno import errno

Expand Down
2 changes: 1 addition & 1 deletion src/infuse_iot/rpc_wrappers/kv_reflect_crcs.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import ctypes

import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import InfuseRpcCommand
from infuse_iot.util.ctypes import VLACompatLittleEndianStruct
from infuse_iot.zephyr.errno import errno
Expand Down
4 changes: 2 additions & 2 deletions src/infuse_iot/rpc_wrappers/kv_write.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
import os
import sys

import infuse_iot.generated.kv_definitions as kv_defs
import infuse_iot.generated.rpc_definitions as defs
import infuse_iot.definitions.kv as kv_defs
import infuse_iot.definitions.rpc as defs
from infuse_iot.commands import InfuseRpcCommand
from infuse_iot.util.ctypes import VLACompatLittleEndianStruct, bytes_to_uint8
from infuse_iot.zephyr.errno import errno
Expand Down
Loading
Loading