From 20118a0f7187f75d571abbd03e61b6326cf836ae Mon Sep 17 00:00:00 2001 From: Francisco Gil Date: Tue, 8 Nov 2022 12:37:36 +0100 Subject: [PATCH 1/5] ble: dey-example: update example to match with latest bluez version Now the bt_att_set_debug requires a new parameter to set the debug level. This is caused by the update of the bluez library. https://onedigi.atlassian.net/browse/DEL-8151 Signed-off-by: Francisco Gil --- ble-gatt-server-example/ble-gatt-server-app.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ble-gatt-server-example/ble-gatt-server-app.c b/ble-gatt-server-example/ble-gatt-server-app.c index 130c68c..f4fb3a5 100644 --- a/ble-gatt-server-example/ble-gatt-server-app.c +++ b/ble-gatt-server-example/ble-gatt-server-app.c @@ -625,7 +625,7 @@ static struct server *server_create(int fd, uint16_t mtu) } if (verbose) { - bt_att_set_debug(server->att, debug_cb, "att: ", NULL); + bt_att_set_debug(server->att, BT_ATT_DEBUG_VERBOSE, debug_cb, "att: ", NULL); bt_gatt_server_set_debug(server->gatt, debug_cb, "server: ", NULL); } From 230c3ad0380576d4b9ebecc36b7a767fc52da81f Mon Sep 17 00:00:00 2001 From: Francisco Gil Date: Tue, 8 Nov 2022 12:44:53 +0100 Subject: [PATCH 2/5] ccmp15: add support for the ccmp15 platform https://onedigi.atlassian.net/browse/DEL-8151 Signed-off-by: Francisco Gil --- apix-adc-example/README.md | 3 ++- apix-can-examples/README.md | 7 ++++++- apix-gpio-example/README.md | 5 ++++- apix-i2c-example/README.md | 7 ++++++- apix-pwm-example/README.md | 3 ++- apix-spi-example/README.md | 9 ++++++++- samples-manifest.xml | 9 +++++++++ 7 files changed, 37 insertions(+), 6 deletions(-) diff --git a/apix-adc-example/README.md b/apix-adc-example/README.md index 5160fd2..1ac91d3 100644 --- a/apix-adc-example/README.md +++ b/apix-adc-example/README.md @@ -7,6 +7,7 @@ This application enables one ADC channel on the board. After that, the application takes periodic samples and prints the raw value and the value in mv. The ADC lines used in this example are mapped as follows in the Digi boards: + - **ConnectCore MP15 DVK**: AN0 (GPIO connector, J41, Pin 4). - **ConnectCore 8M Mini DVK**: MCA_IO1 (channel 1) at XBEE1_UART_TX. By default this ADC channel is not enabled, you need to modify the device tree. - **ConnectCore 8M Nano DVK**: MCA_IO1 (channel 1) at XBEE1_UART_TX. By default @@ -56,7 +57,7 @@ For more information, see the [Digi Embedded Yocto online documentation](https:/ License ------- -Copyright 2017, Digi International Inc. +Copyright 2017-2022, 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 copyright notice diff --git a/apix-can-examples/README.md b/apix-can-examples/README.md index e75230c..9cacec4 100644 --- a/apix-can-examples/README.md +++ b/apix-can-examples/README.md @@ -14,6 +14,11 @@ the ID and print in the console. The CAN interface for this example depends on the running platform: + - **ConnectCore MP15 DVK**: CAN connector of the board (J33). + - 5V: Pin 1 + - CAN1_H: Pin 2 + - CAN1_L: Pin 3 + - GND: Pin 4 - **ConnectCore 8M Mini DVK**: CAN connector of the board (J24). - 5V: Pin 1 - CAN1_H: Pin 2 @@ -136,7 +141,7 @@ For more information, see the [Digi Embedded Yocto online documentation](https:/ License ------- -Copyright 2018, Digi International Inc. +Copyright 2018-2022, 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 copyright notice diff --git a/apix-gpio-example/README.md b/apix-gpio-example/README.md index 5a1db89..7d71375 100644 --- a/apix-gpio-example/README.md +++ b/apix-gpio-example/README.md @@ -9,6 +9,9 @@ whenever an interrupt is generated in the input GPIO. The GPIOs lines used in this example are mapped as follows in the Digi boards: + - **ConnectCore MP15 DVK**: + - User button: GPIOA,13 (User Button 1 in the board) + - User led: GPIOC,3 (ULED in the board) - **ConnectCore 8M Mini DVK**: - User button: MCA_IO10 (User Button 1 in the board) - User led: USER_LED1 (User Led 1 in the board) @@ -68,7 +71,7 @@ for example, for ConnectCore 6UL: For more information, see the [Digi Embedded Yocto online documentation](https://github.com/digi-embedded/meta-digi). License ------- -Copyright 2017, Digi International Inc. +Copyright 2017-2022, 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 copyright notice diff --git a/apix-i2c-example/README.md b/apix-i2c-example/README.md index cc8986b..1bb23ac 100644 --- a/apix-i2c-example/README.md +++ b/apix-i2c-example/README.md @@ -8,6 +8,11 @@ Afterward, it reads the data back to validate it (tested with 24FC1026). The I2C connections for this example depend on the running platform: + - **ConnectCore MP15 DVK**: MikroBus connector (J31). + - VCC: Pin 7 + - GND: Pin 8 + - I2C-6 SDA: Pin 6 + - I2C-6 SCL: Pin 5 - **ConnectCore 8M Mini DVK**: Expansion connector of the board (J48). - VCC: Connector J52 Pin 7 - GND: Pin 9 @@ -86,7 +91,7 @@ For more information, see the [Digi Embedded Yocto online documentation](https:/ License ------- -Copyright 2017, Digi International Inc. +Copyright 2017-2022, 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 copyright notice diff --git a/apix-pwm-example/README.md b/apix-pwm-example/README.md index d788a9b..bc2653f 100644 --- a/apix-pwm-example/README.md +++ b/apix-pwm-example/README.md @@ -9,6 +9,7 @@ vice-versa. The PWM lines used in this example are mapped as follows in the Digi boards: + - **ConnectCore MP15 DVK**: MikroBus PWM channel 4 - PIN **1** of the MikroBus connector (J31). - **ConnectCore 8M Mini DVK**: MCA PWM0 channel 2 connected to the LED1. - **ConnectCore 8M Nano DVK**: MCA PWM0 channel 2 connected to the LED1. - **ConnectCore 8X SBC Pro**: MCA PWM2 channel 0 - Pin **A3** of the Expansion connector (J20). @@ -54,7 +55,7 @@ For more information, see the [Digi Embedded Yocto online documentation](https:/ License ------- -Copyright 2017, Digi International Inc. +Copyright 2017-2022, 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 copyright notice diff --git a/apix-spi-example/README.md b/apix-spi-example/README.md index ebd75ef..4a93022 100644 --- a/apix-spi-example/README.md +++ b/apix-spi-example/README.md @@ -11,6 +11,13 @@ the page size and the address size in bytes. The SPI connections for this example depends on the running platform: + - **ConnectCore MP15 DVK**: MikroBus connector (J30). + - VCC: Pin 7 + - GND: Pin 8 + - SPI-0 CLK: 4 + - SPI-0 MISO: 5 + - SPI-0 MOSI: 6 + - SPI-0 SS0: 3 - **ConnectCore 8X SBC Pro**: Expansion connector of the board (J27). - VCC: Pin D1 - GND: Pin C1 @@ -98,7 +105,7 @@ For more information, see the [Digi Embedded Yocto online documentation](https:/ License ------- -Copyright 2017, Digi International Inc. +Copyright 2017-2022, 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 copyright notice diff --git a/samples-manifest.xml b/samples-manifest.xml index ae7d5c9..5155e7c 100644 --- a/samples-manifest.xml +++ b/samples-manifest.xml @@ -17,6 +17,7 @@ application takes periodic samples and prints the raw value and the value in mv. ccimx8x-sbc-pro ccimx8mn-dvk ccimx8mm-dvk + ccmp15-dvk @@ -36,6 +37,7 @@ reception using the selected baudrate. ccimx8x-sbc-pro ccimx8mn-dvk ccimx8mm-dvk + ccmp15-dvk @@ -56,6 +58,7 @@ whenever an interrupt is generated in the input GPIO. ccimx8x-sbc-pro ccimx8mn-dvk ccimx8mm-dvk + ccmp15-dvk @@ -75,6 +78,7 @@ Afterward, it reads the data back to validate it (tested with 24FC1026). ccimx8x-sbc-pro ccimx8mn-dvk ccimx8mm-dvk + ccmp15-dvk @@ -94,6 +98,7 @@ frequencies, and governors. ccimx8x-sbc-pro ccimx8mn-dvk ccimx8mm-dvk + ccmp15-dvk @@ -114,6 +119,7 @@ vice-versa. ccimx8x-sbc-pro ccimx8mn-dvk ccimx8mm-dvk + ccmp15-dvk @@ -133,6 +139,7 @@ the page size and the address size in bytes. ccimx6ulsbc ccimx8x-sbc-express ccimx8x-sbc-pro + ccmp15-dvk @@ -153,6 +160,7 @@ then the device will reboot automatically after the timeout expires. ccimx8x-sbc-pro ccimx8mn-dvk ccimx8mm-dvk + ccmp15-dvk @@ -172,6 +180,7 @@ GATT services and characteristics. ccimx8x-sbc-pro ccimx8mn-dvk ccimx8mm-dvk + ccmp15-dvk From ce4c1f55d6e1161c60d27cf07819adf978099a0d Mon Sep 17 00:00:00 2001 From: Francisco Gil Date: Tue, 8 Nov 2022 16:22:07 +0100 Subject: [PATCH 3/5] gpio: update readme with the new gpio used in the example Signed-off-by: Francisco Gil --- apix-gpio-example/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apix-gpio-example/README.md b/apix-gpio-example/README.md index 7d71375..87eb943 100644 --- a/apix-gpio-example/README.md +++ b/apix-gpio-example/README.md @@ -25,7 +25,7 @@ The GPIOs lines used in this example are mapped as follows in the Digi boards: - User button: GPIO0_20 (Connected in the board) - User led: GPIO0_19 (Connected in the board) - **ConnectCore 6UL SBC Pro**: - - User button: MCA_IO1 (GPIO connector, J30, Pin 7) + - User button: GPIO1_IO3 (GPIO connector, J30, Pin 12) - User led: USER_LED1 (Connected in the board) - **ConnectCore 6UL SBC Express**: - User button: GPIO3_IO3 (Connected in the board) From cab26c39e74e629b1b26fef5a434aaf57b7e2b3a Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Wed, 23 Nov 2022 18:08:54 +0100 Subject: [PATCH 4/5] connectcore-demo-example: fix possible exception if video file is empty Signed-off-by: Tatiana Leon --- connectcore-demo-example/demoserver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/connectcore-demo-example/demoserver.py b/connectcore-demo-example/demoserver.py index 8c3570f..6132766 100755 --- a/connectcore-demo-example/demoserver.py +++ b/connectcore-demo-example/demoserver.py @@ -790,7 +790,7 @@ def get_video_resolution(): res = read_file("/sys/class/drm/card0/card0-DPI-1/modes") if res == NOT_AVAILABLE: res = read_file("/sys/class/graphics/fb0/modes") - if res == NOT_AVAILABLE: + if res == NOT_AVAILABLE or not res: return "No video device found" line = res.splitlines()[0] From d9e0146e41f5d7002fac251e5a69be5a2bb2d7ce Mon Sep 17 00:00:00 2001 From: Tatiana Leon Date: Wed, 23 Nov 2022 17:43:16 +0100 Subject: [PATCH 5/5] connectcore-demo-example: fix firmware update from local web Use the same command independently of the boot system. Fix the way dual boot is detected to use 'dualboot' U-Boot variable. Signed-off-by: Tatiana Leon --- connectcore-demo-example/demoserver.py | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/connectcore-demo-example/demoserver.py b/connectcore-demo-example/demoserver.py index 6132766..c7e106d 100755 --- a/connectcore-demo-example/demoserver.py +++ b/connectcore-demo-example/demoserver.py @@ -513,19 +513,15 @@ class RequestHandler(http.server.SimpleHTTPRequestHandler): path = json.loads(data.decode("utf-8")).get("file", None) log.debug("Update firmware with file %s", path) - - if is_dual_system(): - cmd = "firmware-update-dual.sh %s" % path - else: - if not path.startswith(get_fw_store_path()): - # Move the package to /mnt/update - update_path = os.path.join(get_fw_store_path(), os.path.basename(path)) - if os.path.exists(update_path): - os.remove(update_path) - shutil.move(path, update_path) - path = update_path - cmd = "update-firmware --reboot-timeout=1 %s" % path - + if not is_dual_system() and not path.startswith(get_fw_store_path())\ + and shutil.disk_usage(get_fw_store_path())[2] >= os.path.getsize(path): + # Move the package to /mnt/update to avoid permission problems + update_path = os.path.join(get_fw_store_path(), os.path.basename(path)) + if os.path.exists(update_path): + os.remove(update_path) + shutil.move(path, update_path) + path = update_path + cmd = "update-firmware %s" % path log.debug("Update cmd: %s", cmd) try: @@ -806,8 +802,8 @@ def is_dual_system(): Returns: Boolean: True for dual systems, False otherwise. """ - res = exec_cmd("fdisk -l | grep recovery") - return res[0] != 0 + res = exec_cmd("fw_printenv -n dualboot") + return res[0] == 0 and res[1] == "yes" def get_fw_store_path():