diff --git a/connectcore-demo-example/demoserver.py b/connectcore-demo-example/demoserver.py index 701fa5e..552df29 100755 --- a/connectcore-demo-example/demoserver.py +++ b/connectcore-demo-example/demoserver.py @@ -1,6 +1,6 @@ #!/usr/bin/python3 -# Copyright (c) 2022-2024, Digi International, Inc. +# Copyright (c) 2022-2025, Digi International, Inc. # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above @@ -204,7 +204,7 @@ class RequestHandler(http.server.SimpleHTTPRequestHandler): try: net_iface = NetworkInterface.get(iface) index = iface[len("eth"):] - info["ethernet%s_mac" % index] = str(net_iface.mac) + info["ethernet%s_mac" % index] = mac_to_human_string(net_iface.mac) info["ethernet%s_ip" % index] = str(net_iface.ipv4) except NetworkException as exc2: log.error("Error reading interface '%s' data: %s", iface, str(exc2)) diff --git a/connectcore-demo-example/index.html b/connectcore-demo-example/index.html index baf0e08..3967d04 100644 --- a/connectcore-demo-example/index.html +++ b/connectcore-demo-example/index.html @@ -825,6 +825,7 @@ Digi Demo - Dashboard + @@ -890,4 +891,3 @@ Digi Demo - Dashboard - diff --git a/connectcore-demo-example/management.html b/connectcore-demo-example/management.html index 98241be..03a8b77 100644 --- a/connectcore-demo-example/management.html +++ b/connectcore-demo-example/management.html @@ -308,6 +308,7 @@ Digi Demo - Management + @@ -367,4 +368,3 @@ Digi Demo - Management - diff --git a/connectcore-demo-example/multimedia.html b/connectcore-demo-example/multimedia.html index c2bfa86..4073ff0 100644 --- a/connectcore-demo-example/multimedia.html +++ b/connectcore-demo-example/multimedia.html @@ -249,6 +249,7 @@ Digi Demo - Multimedia + @@ -308,4 +309,3 @@ Digi Demo - Multimedia - diff --git a/connectcore-demo-example/network.html b/connectcore-demo-example/network.html index 3f91a55..61d4115 100644 --- a/connectcore-demo-example/network.html +++ b/connectcore-demo-example/network.html @@ -527,6 +527,7 @@ Digi Demo - Network + @@ -586,4 +587,3 @@ Digi Demo - Network - diff --git a/connectcore-demo-example/npu.html b/connectcore-demo-example/npu.html index 19217ac..9797f8f 100644 --- a/connectcore-demo-example/npu.html +++ b/connectcore-demo-example/npu.html @@ -174,6 +174,7 @@ Digi Demo - NPU + @@ -231,4 +232,3 @@ Digi Demo - NPU - diff --git a/connectcore-demo-example/static/images/ccimx95-dvk_board.png b/connectcore-demo-example/static/images/ccimx95-dvk_board.png new file mode 100644 index 0000000..a7a0093 Binary files /dev/null and b/connectcore-demo-example/static/images/ccimx95-dvk_board.png differ diff --git a/connectcore-demo-example/static/js/ccimx8x-sbc-pro.js b/connectcore-demo-example/static/js/ccimx8x-sbc-pro.js index 47fd5aa..4235191 100644 --- a/connectcore-demo-example/static/js/ccimx8x-sbc-pro.js +++ b/connectcore-demo-example/static/js/ccimx8x-sbc-pro.js @@ -1,5 +1,5 @@ /* - * Copyright 2022-2024, Digi International Inc. + * Copyright 2022-2025, Digi International Inc. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -114,14 +114,14 @@ class CCIMX8X extends ConnectCoreDevice { AUDIO_COMPONENT_HAS_PANEL = true; AUDIO_COMPONENT_HAS_ARROW = true; AUDIO_COMPONENT_PANEL_ALWAYS_VISIBLE = false; - AUDIO_COMPONENT_PANEL_ORIENTATION = VALUE_TOP; - AUDIO_COMPONENT_PANEL_HORIZONTAL_PERCENT = 1; - AUDIO_COMPONENT_PANEL_VERTICAL_PERCENT = 19; - AUDIO_COMPONENT_ARROW_PERCENT = 16; - AUDIO_COMPONENT_AREA_TOP_PERCENT = 7; - AUDIO_COMPONENT_AREA_LEFT_PERCENT = 14.5; - AUDIO_COMPONENT_AREA_WIDTH_PERCENT = 5.4; - AUDIO_COMPONENT_AREA_HEIGHT_PERCENT = 11; + AUDIO_COMPONENT_PANEL_ORIENTATION = VALUE_BOTTOM; + AUDIO_COMPONENT_PANEL_HORIZONTAL_PERCENT = 75; + AUDIO_COMPONENT_PANEL_VERTICAL_PERCENT = 27; + AUDIO_COMPONENT_ARROW_PERCENT = 76; + AUDIO_COMPONENT_AREA_TOP_PERCENT = 74; + AUDIO_COMPONENT_AREA_LEFT_PERCENT = 73.5; + AUDIO_COMPONENT_AREA_WIDTH_PERCENT = 7.5; + AUDIO_COMPONENT_AREA_HEIGHT_PERCENT = 16; LED_COMPONENT_VISIBLE = true; LED_COMPONENT_HAS_PANEL = true; diff --git a/connectcore-demo-example/static/js/ccimx95-dvk.js b/connectcore-demo-example/static/js/ccimx95-dvk.js new file mode 100644 index 0000000..5888a24 --- /dev/null +++ b/connectcore-demo-example/static/js/ccimx95-dvk.js @@ -0,0 +1,162 @@ +/* + * Copyright 2025, Digi International Inc. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +class CCIMX95 extends ConnectCoreDevice { + + // Public constants. + static DEVICE_TYPE = "ccimx95-dvk"; + static PLATFORM_NAME = "ConnectCore 95 DVK"; + + // Variables. + BOARD_IMAGE = "ccimx95-dvk_board.png"; + BOARD_IMAGE_SCALE = 85; + + CPU_COMPONENT_VISIBLE = true; + CPU_COMPONENT_HAS_PANEL = true; + CPU_COMPONENT_HAS_ARROW = true; + CPU_COMPONENT_PANEL_ALWAYS_VISIBLE = false; + CPU_COMPONENT_PANEL_ORIENTATION = VALUE_BOTTOM; + CPU_COMPONENT_PANEL_HORIZONTAL_PERCENT = 33.5; + CPU_COMPONENT_PANEL_VERTICAL_PERCENT = 70; + CPU_COMPONENT_ARROW_PERCENT = 40; + CPU_COMPONENT_AREA_TOP_PERCENT = 32.1; + CPU_COMPONENT_AREA_LEFT_PERCENT = 37.7; + CPU_COMPONENT_AREA_WIDTH_PERCENT = 8; + CPU_COMPONENT_AREA_HEIGHT_PERCENT = 11.8; + + MEMORY_COMPONENT_VISIBLE = true; + MEMORY_COMPONENT_HAS_PANEL = true; + MEMORY_COMPONENT_HAS_ARROW = true; + MEMORY_COMPONENT_PANEL_ALWAYS_VISIBLE = false; + MEMORY_COMPONENT_PANEL_ORIENTATION = VALUE_TOP; + MEMORY_COMPONENT_PANEL_HORIZONTAL_PERCENT = 34; + MEMORY_COMPONENT_PANEL_VERTICAL_PERCENT = 56; + MEMORY_COMPONENT_ARROW_PERCENT = 40; + MEMORY_COMPONENT_AREA_TOP_PERCENT = 46.4; + MEMORY_COMPONENT_AREA_LEFT_PERCENT = 38.8; + MEMORY_COMPONENT_AREA_WIDTH_PERCENT = 6; + MEMORY_COMPONENT_AREA_HEIGHT_PERCENT = 7; + + WIFI_BT_COMPONENT_VISIBLE = true; + WIFI_BT_COMPONENT_HAS_PANEL = true; + WIFI_BT_COMPONENT_HAS_ARROW = true; + WIFI_BT_COMPONENT_PANEL_ALWAYS_VISIBLE = false; + WIFI_BT_COMPONENT_PANEL_ORIENTATION = VALUE_RIGHT; + WIFI_BT_COMPONENT_PANEL_HORIZONTAL_PERCENT = 68.6; + WIFI_BT_COMPONENT_PANEL_VERTICAL_PERCENT = 30; + WIFI_BT_COMPONENT_ARROW_PERCENT = 37; + WIFI_BT_COMPONENT_AREA_TOP_PERCENT = 36.3; + WIFI_BT_COMPONENT_AREA_LEFT_PERCENT = 32.9; + WIFI_BT_COMPONENT_AREA_WIDTH_PERCENT = 3.5; + WIFI_BT_COMPONENT_AREA_HEIGHT_PERCENT = 5; + + ETHERNET0_COMPONENT_VISIBLE = true; + ETHERNET0_COMPONENT_HAS_PANEL = true; + ETHERNET0_COMPONENT_HAS_ARROW = true; + ETHERNET0_COMPONENT_PANEL_ALWAYS_VISIBLE = false; + ETHERNET0_COMPONENT_PANEL_ORIENTATION = VALUE_LEFT; + ETHERNET0_COMPONENT_PANEL_HORIZONTAL_PERCENT = 15; + ETHERNET0_COMPONENT_PANEL_VERTICAL_PERCENT = 65; + ETHERNET0_COMPONENT_ARROW_PERCENT = 69 + ETHERNET0_COMPONENT_AREA_TOP_PERCENT = 68; + ETHERNET0_COMPONENT_AREA_LEFT_PERCENT = 5; + ETHERNET0_COMPONENT_AREA_WIDTH_PERCENT = 9; + ETHERNET0_COMPONENT_AREA_HEIGHT_PERCENT = 10; + + ETHERNET1_COMPONENT_VISIBLE = true; + ETHERNET1_COMPONENT_HAS_PANEL = true; + ETHERNET1_COMPONENT_HAS_ARROW = true; + ETHERNET1_COMPONENT_PANEL_ALWAYS_VISIBLE = false; + ETHERNET1_COMPONENT_PANEL_ORIENTATION = VALUE_LEFT; + ETHERNET1_COMPONENT_PANEL_HORIZONTAL_PERCENT = 15; + ETHERNET1_COMPONENT_PANEL_VERTICAL_PERCENT = 30; + ETHERNET1_COMPONENT_ARROW_PERCENT = 34; + ETHERNET1_COMPONENT_AREA_TOP_PERCENT = 32.8; + ETHERNET1_COMPONENT_AREA_LEFT_PERCENT = 5; + ETHERNET1_COMPONENT_AREA_WIDTH_PERCENT = 9; + ETHERNET1_COMPONENT_AREA_HEIGHT_PERCENT = 10; + + CONSOLE_COMPONENT_VISIBLE = true; + CONSOLE_COMPONENT_HAS_PANEL = false; + CONSOLE_COMPONENT_HAS_ARROW = false; + CONSOLE_COMPONENT_PANEL_ALWAYS_VISIBLE = false; + CONSOLE_COMPONENT_AREA_TOP_PERCENT = 4.5; + CONSOLE_COMPONENT_AREA_LEFT_PERCENT = 20.5; + CONSOLE_COMPONENT_AREA_WIDTH_PERCENT = 3.8; + CONSOLE_COMPONENT_AREA_HEIGHT_PERCENT = 5; + + VIDEO_COMPONENT_VISIBLE = true; + VIDEO_COMPONENT_HAS_PANEL = true; + VIDEO_COMPONENT_HAS_ARROW = true; + VIDEO_COMPONENT_PANEL_ALWAYS_VISIBLE = false; + VIDEO_COMPONENT_PANEL_ORIENTATION = VALUE_BOTTOM; + VIDEO_COMPONENT_PANEL_HORIZONTAL_PERCENT = 34; + VIDEO_COMPONENT_PANEL_VERTICAL_PERCENT = 19.5; + VIDEO_COMPONENT_ARROW_PERCENT = 37; + VIDEO_COMPONENT_AREA_TOP_PERCENT = 83.5; + VIDEO_COMPONENT_AREA_LEFT_PERCENT = 36; + VIDEO_COMPONENT_AREA_WIDTH_PERCENT = 6; + VIDEO_COMPONENT_AREA_HEIGHT_PERCENT = 8; + + AUDIO_COMPONENT_VISIBLE = true; + AUDIO_COMPONENT_HAS_PANEL = true; + AUDIO_COMPONENT_HAS_ARROW = true; + AUDIO_COMPONENT_PANEL_ALWAYS_VISIBLE = false; + AUDIO_COMPONENT_PANEL_ORIENTATION = VALUE_TOP; + AUDIO_COMPONENT_PANEL_HORIZONTAL_PERCENT = 0; + AUDIO_COMPONENT_PANEL_VERTICAL_PERCENT = 16; + AUDIO_COMPONENT_ARROW_PERCENT = 15; + AUDIO_COMPONENT_AREA_TOP_PERCENT = 4.5; + AUDIO_COMPONENT_AREA_LEFT_PERCENT = 14; + AUDIO_COMPONENT_AREA_WIDTH_PERCENT = 4.5; + AUDIO_COMPONENT_AREA_HEIGHT_PERCENT = 9.5; + + LED_COMPONENT_VISIBLE = true; + LED_COMPONENT_HAS_PANEL = true; + LED_COMPONENT_HAS_ARROW = false; + LED_COMPONENT_PANEL_ALWAYS_VISIBLE = true; + LED_COMPONENT_PANEL_ORIENTATION = VALUE_TOP; + LED_COMPONENT_PANEL_HORIZONTAL_PERCENT = 59.2; + LED_COMPONENT_PANEL_VERTICAL_PERCENT = 11; + LED_COMPONENT_AREA_TOP_PERCENT = 20; + LED_COMPONENT_AREA_LEFT_PERCENT = 61; + LED_COMPONENT_AREA_WIDTH_PERCENT = 2; + LED_COMPONENT_AREA_HEIGHT_PERCENT = 2; + + FLASH_MEMORY_COMPONENT_VISIBLE = true; + FLASH_MEMORY_COMPONENT_HAS_PANEL = true; + FLASH_MEMORY_COMPONENT_HAS_ARROW = true; + FLASH_MEMORY_COMPONENT_PANEL_ALWAYS_VISIBLE = false; + FLASH_MEMORY_COMPONENT_PANEL_ORIENTATION = VALUE_LEFT; + FLASH_MEMORY_COMPONENT_PANEL_HORIZONTAL_PERCENT = 52; + FLASH_MEMORY_COMPONENT_PANEL_VERTICAL_PERCENT = 30; + FLASH_MEMORY_COMPONENT_ARROW_PERCENT = 34; + FLASH_MEMORY_COMPONENT_AREA_TOP_PERCENT = 31; + FLASH_MEMORY_COMPONENT_AREA_LEFT_PERCENT = 46.1; + FLASH_MEMORY_COMPONENT_AREA_WIDTH_PERCENT = 4.8; + FLASH_MEMORY_COMPONENT_AREA_HEIGHT_PERCENT = 8; + + // Capabilities + SUPPORTS_VIDEO_BRIGHTNESS = false; + SUPPORTS_NUM_ETHERNET = 2; + + // Misc info + PCB_COLOR = ID_COLOR_BLUE; + + // Constructor. + constructor(deviceData) { + super(CCIMX95.DEVICE_TYPE, CCIMX95.PLATFORM_NAME, deviceData); + } +} diff --git a/connectcore-demo-example/static/js/common.js b/connectcore-demo-example/static/js/common.js index f8bb81f..4d2e588 100644 --- a/connectcore-demo-example/static/js/common.js +++ b/connectcore-demo-example/static/js/common.js @@ -531,7 +531,7 @@ function getDeviceName() { // Updates the available web sections. function updateAvailableSections() { // Remove device specific sections when rendering the demo from a computer. - if (!navigator.platform.includes("aarch") && !navigator.platform.includes("arm")) { + if (!is_local_access()) { removeSection(ID_SECTION_MULTIMEDIA); removeSection(ID_SECTION_NPU); } diff --git a/connectcore-demo-example/static/js/dashboard.js b/connectcore-demo-example/static/js/dashboard.js index 8c8fb07..0cee969 100644 --- a/connectcore-demo-example/static/js/dashboard.js +++ b/connectcore-demo-example/static/js/dashboard.js @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022-2024, Digi International Inc. + * Copyright (C) 2022-2025, Digi International Inc. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this @@ -392,6 +392,9 @@ function createDevice(deviceData) { case CCMP255.DEVICE_TYPE: device = new CCMP255(deviceData); break; + case CCIMX95.DEVICE_TYPE: + device = new CCIMX95(deviceData); + break; case CCIMX93.DEVICE_TYPE: device = new CCIMX93(deviceData); break;