Skip to content

core: recursive dependency init and runtime Camera/Ethernet clock setup#499

Open
dani-clo wants to merge 2 commits into
arduino:mainfrom
dani-clo:pinctrl_fix_init_dependencies
Open

core: recursive dependency init and runtime Camera/Ethernet clock setup#499
dani-clo wants to merge 2 commits into
arduino:mainfrom
dani-clo:pinctrl_fix_init_dependencies

Conversation

@dani-clo
Copy link
Copy Markdown

This improves the current deferred-init initialization process.

  • Add recursive initialization of required device dependencies before initializing the target deferred-init device itself.

  • Complete the runtime bring-up for Camera and Ethernet, including deferred pwm-clock initialization, replacing the previous behavior where the external clock was always enabled even when Camera/Ethernet were not in use.

@dani-clo dani-clo force-pushed the pinctrl_fix_init_dependencies branch from e5bb5bf to 731b02d Compare May 27, 2026 10:13
@dani-clo dani-clo requested review from pennam and pillo79 May 27, 2026 10:14
@github-actions
Copy link
Copy Markdown

Built 0.55.3-0.pr.499.3+731b02da

CI run PASSED 🟢

ArtifactBoardCoreTestsRAMSketchesWarningsErrors
✅* zephyr_contrib ek_ra8d1 📗 ✅*

11.9%

22-
frdm_mcxn947 7 🏷️ ✅*

58.0%

22-
frdm_rw612 2 🏷️ ✅*

83.0%

22-
✔️* zephyr_main giga 5 🏷️ ✅*

54.7%

5816-
nano33ble 1 🏷️ ✅*

78.8%

3010-
nano_matter 1 🏷️ ✅*

⚠️ 86.1%

228-
nicla_vision 5 🏷️ ✔️*

57.0%

528(10*)
niclasense 2 🏷️ ✅*

⚠️ 87.4%

2612-
opta 5 🏷️ ✅*

57.7%

6218-
portentac33 3 🏷️ ✔️*

⚠️ 95.8%

668(8*)
portentah7 4 🏷️ ✅*

58.5%

7416-
✅* zephyr_unoq unoq 📗 ✅*

26.9%

568-
Legend

BoardTestStatus description
🔥 🔥 Test run failed to complete.
🔴 Test completed with unexpected errors.
⁉️ ⁉️ Test was expected to fail but passed; exception entry is outdated.
✔️* 🚫 Test completed with errors, but all are known/expected.
✅* 🟡 Test completed with some warnings; no errors detected.
🟢 Test passed successfully, with no warnings or errors.
🌑 🌑 Test was skipped.

@dani-clo dani-clo added the enhancement New feature or request label May 27, 2026
@dani-clo dani-clo force-pushed the pinctrl_fix_init_dependencies branch from 731b02d to 5a43ea5 Compare May 27, 2026 12:35
@github-actions
Copy link
Copy Markdown

Built 0.55.3-0.pr.499.3+5a43ea50

CI run PASSED 🟢

ArtifactBoardCoreTestsRAMSketchesWarningsErrors
✅* zephyr_contrib ek_ra8d1 📗 ✅*

11.9%

22-
frdm_mcxn947 7 🏷️ ✅*

58.0%

22-
frdm_rw612 2 🏷️ ✅*

83.0%

22-
✔️* zephyr_main giga 5 🏷️ ✅*

54.7%

5816-
nano33ble 1 🏷️ ✅*

78.8%

3010-
nano_matter 1 🏷️ ✅*

⚠️ 86.1%

228-
nicla_vision 5 🏷️ ✔️*

57.0%

528(10*)
niclasense 2 🏷️ ✅*

⚠️ 87.4%

2612-
opta 5 🏷️ ✅*

57.7%

6218-
portentac33 3 🏷️ ✔️*

⚠️ 95.8%

668(8*)
portentah7 4 🏷️ ✅*

58.5%

7416-
✅* zephyr_unoq unoq 📗 ✅*

26.9%

568-
Legend

BoardTestStatus description
🔥 🔥 Test run failed to complete.
🔴 Test completed with unexpected errors.
⁉️ ⁉️ Test was expected to fail but passed; exception entry is outdated.
✔️* 🚫 Test completed with errors, but all are known/expected.
✅* 🟡 Test completed with some warnings; no errors detected.
🟢 Test passed successfully, with no warnings or errors.
🌑 🌑 Test was skipped.

@KurtE
Copy link
Copy Markdown

KurtE commented May 27, 2026

Looks like a proper fix. Closed out the earlier attempt at trying to defer camera startup, which worked up until the defer init of I2C and PWM...

Thanks

@KurtE
Copy link
Copy Markdown

KurtE commented May 27, 2026

Update: I tried this on GIGA R1 and it appeared to work, at least for first image...
Trying now on Portenta H7.

So far: I believe I need to enable the GC2145 camera in the config in the same way it is on GIGA:

diff --git a/variants/arduino_portenta_h7_stm32h747xx_m7/arduino_portenta_h7_stm32h747xx_m7.conf b/variants/arduino_portenta_h7_stm32h747xx_m7/arduino_portenta_h7_stm32h747xx_m7.conf
index e1a64806..97201418 100644
--- a/variants/arduino_portenta_h7_stm32h747xx_m7/arduino_portenta_h7_stm32h747xx_m7.conf
+++ b/variants/arduino_portenta_h7_stm32h747xx_m7/arduino_portenta_h7_stm32h747xx_m7.conf
@@ -136,6 +136,7 @@ CONFIG_VIDEO_BUFFER_POOL_SZ_MAX=614400
 CONFIG_VIDEO_BUFFER_POOL_ALIGN=32
 CONFIG_VIDEO_BUFFER_USE_SHARED_MULTI_HEAP=y
 CONFIG_VIDEO_BUFFER_SMH_ATTRIBUTE=2
+CONFIG_VIDEO_GC2145=y

 # Display subsystem for USB-C Video (ANX7625)
 CONFIG_DISPLAY=y

My app to display on ST7796 is not retrieving images yet...
First trying to remember where USART6 is on the MID carrier, to see any debug messages. ..

But at least it looks like the clock is starting and the like:
image

@KurtE
Copy link
Copy Markdown

KurtE commented May 28, 2026

On GIGA, I was able to get the camera to read more reliably, by using some of the recovery code that was added to zephyr maybe 7 months ago:
zephyrproject-rtos/zephyr@eb7e332
In particular, in the video_stm32_dcmic file

#if 1
static void stm32_dcmi_process_dma_error(DCMI_HandleTypeDef *hdcmi)
{
	struct video_stm32_dcmi_data *dev_data =
		CONTAINER_OF(hdcmi, struct video_stm32_dcmi_data, hdcmi);

	LOG_DBG("Restart DMA after Error!");

	/* Lets try to recover by stopping and restart */
	if (HAL_DCMI_Stop(&dev_data->hdcmi) != HAL_OK) {
		LOG_WRN("HAL_DCMI_Stop FAILED!");
		return;
	}

	if (HAL_DCMI_Start_DMA(&dev_data->hdcmi,
			       DCMI_MODE_CONTINUOUS,
			       (uint32_t)dev_data->vbuf->buffer,
			       dev_data->vbuf->size / 4) != HAL_OK) {
		LOG_WRN("HAL_DCMI_Start_DMA FAILED!");
		return;
	}
}

void HAL_DCMI_ErrorCallback(DCMI_HandleTypeDef *hdcmi)
{
	stm32_dcmi_process_dma_error(hdcmi);
}

#else
void HAL_DCMI_ErrorCallback(DCMI_HandleTypeDef *hdcmi)
{
	LOG_WRN("%s", __func__);
}
#endif

Without this on GIGA, I got maybe one frame before it errored and hung. With this it has been running for a while now.
With my test sketch:

#include <elapsedMillis.h>

#include "Arduino_GigaDisplay_GFX.h"
#include "GigaDisplayRGB.h"
#include "Arduino_GigaDisplayTouch.h"
#include "Arduino_GigaDisplay.h"
#include <Wire.h>

#define GC9A01A_CYAN 0x07FF
#define GC9A01A_RED 0xf800
#define GC9A01A_BLUE 0x001F
#define GC9A01A_GREEN 0x07E0
#define GC9A01A_MAGENTA 0xF81F
#define GC9A01A_WHITE 0xffff
#define GC9A01A_BLACK 0x0000
#define GC9A01A_YELLOW 0xFFE0
#define ALIGN_PTR(p, a) ((p & (a - 1)) ? (((uintptr_t)p + a) & ~(uintptr_t)(a - 1)) : p)

#define CANVAS_ROTATION 0
uint16_t color565(uint8_t r, uint8_t g, uint8_t b) {
  return ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3);
}

//#define USE_HM01B0
#define CAMERA_WIDTH 326
#define CAMERA_HEIGHT 244
#define CAMERA_FORMAT CAMERA_GRAYSCALE_4
#ifdef USE_HM01B0
#else
#define CAMERA_WIDTH 320
#define CAMERA_HEIGHT 240
#define CAMERA_FORMAT CAMERA_RGB565
#endif
#define SCALE 2

#include <camera.h>

Camera cam;

// The buffer used to capture the frame
FrameBuffer fb;

#ifdef ROTATE_CAMERA_IMAGE
uint16_t *rotate_buffer = nullptr;
#endif


// The buffer used to rotate and resize the frame
GigaDisplay_GFX display;

void blinkLED(uint32_t count = 0xFFFFFFFF) {
  pinMode(LED_BUILTIN, OUTPUT);
  while (count--) {
    digitalWrite(LED_BUILTIN, LOW);   // turn the LED on (HIGH is the voltage level)
    delay(50);                        // wait for a second
    digitalWrite(LED_BUILTIN, HIGH);  // turn the LED off by making the voltage LOW
    delay(50);                        // wait for a second
  }
}

void fatal_error(const char *msg) {
  Serial.println(msg);
  show_all_gpio_regs();
  pinMode(LED_BUILTIN, OUTPUT);
  while (1) {
    digitalWrite(LED_BUILTIN, HIGH);
    delay(100);
    digitalWrite(LED_BUILTIN, LOW);
    delay(100);
  }
}



void setup() {
  printk("\n\n********************************\n");
  pinMode(LED_BUILTIN, OUTPUT);
  while (!Serial && millis() < 5000) {}
  Serial.begin(115200);

  // Init the cam QVGA, 30FPS
  Serial.println("Before camera start");
  Serial.flush();
  //cam.debug(Serial);

  display.begin();
  elapsedMicros em;
  display.setRotation(1);
  display.fillScreen(GC9A01A_BLUE);
  delay(250);
  display.fillScreen(GC9A01A_RED);
  delay(250);
  display.fillScreen(GC9A01A_GREEN);
  delay(250);

  //Wire.begin();
  //Wire1.begin();
  analogWrite(57, 64);
  printk("Before cam.begin\n");
  if (!cam.begin(CAMERA_WIDTH, CAMERA_HEIGHT, CAMERA_FORMAT, true)) {
    fatal_error("Camera begin failed");
  }
  //Serial.println("Before setRotation");
  //Serial.flush();

  Serial.println(em, DEC);
  Serial.print("Camera Width: ");
  Serial.print(CAMERA_WIDTH);
  Serial.print(" Height: ");
  Serial.println(CAMERA_HEIGHT);
  Serial.print("Screen Width: ");
  Serial.print(display.width());
  Serial.print(" Height: ");
  Serial.println(display.height());
  Serial.print("Scale: ");
  Serial.println(SCALE);
  Serial.println("end setup");
  Serial.flush();
}

inline uint16_t HTONS(uint16_t x) {
  return ((x >> 8) & 0x00FF) | ((x << 8) & 0xFF00);
}
//#define HTONS(x) (((x >> 8) & 0x00FF) | ((x << 8) & 0xFF00))


uint32_t display_time_sum = 0;
uint8_t display_time_count = 0;



void loop() {

  // Grab frame and write to another framebuffer
  if (cam.grabFrame(fb)) {
    //Serial.println("Camera frame received");
    if (Serial.available()) {
      while (Serial.read() != -1) {}
      //      cam.printRegs();
      //MemoryHexDump(Serial, fb.getBuffer(), 1024, true, "Start of Camera Buffer\n");
      Serial.println("*** Paused ***");
      while (Serial.read() == -1) {}
      while (Serial.read() != -1) {}
    }

    uint16_t *pixels = (uint16_t *)fb.getBuffer();
    elapsedMicros emDisplay;
    // for (int i = 0; i < CAMERA_WIDTH*CAMERA_HEIGHT; i++) pixels[i] = HTONS(pixels[i]);
#if defined(SCALE) && SCALE > 1
    // Quick and dirty scale.
    int yDisplay = (display.height() - (CAMERA_HEIGHT * SCALE)) / 2;
    display.startBuffering();
    for (int yCamera = 0; yCamera < CAMERA_HEIGHT; yCamera++) {
      int xDisplay = (display.width() - (CAMERA_WIDTH * SCALE)) / 2;
      for (int xCamera = 0; xCamera < CAMERA_WIDTH; xCamera++) {
        uint16_t pixel = *pixels++;
#ifdef CAMERA_GRAYSCALE44
        uint8_t gray_color = (pixel & 0x0f) | ((pixel >> 4) & 0xf0);
        //uint8_t gray_color = ((pixel & 0x0f) << 4) | ((pixel >> 8) & 0x0f);
        pixel = color565(gray_color, gray_color, gray_color);
#endif        
        display.fillRect(xDisplay, yDisplay, SCALE, SCALE, pixel);
        xDisplay += SCALE;
      }
      yDisplay += SCALE;
    }
    display.endBuffering();
#else
    display.drawRGBBitmap((display.width() - CAMERA_WIDTH) / 2, (display.height() - CAMERA_HEIGHT) / 2, pixels, CAMERA_WIDTH, CAMERA_HEIGHT);
#endif

    cam.releaseFrame(fb);

    display_time_sum += emDisplay;
    display_time_count++;
    if (display_time_count == 128) {
      Serial.print("Avg display Time: ");
      Serial.print(display_time_sum / display_time_count);
      Serial.print(" fps:");
      Serial.println(128000000.0 / float(display_time_sum), 2);
      display_time_sum = 0;
      display_time_count = 0;
    }

  } else {

    digitalWrite(LED_BUILTIN, digitalRead(LED_BUILTIN) ? LOW : HIGH);
  }
  delay(50);
}

void set_pin_moder(GPIO_TypeDef *port, uint8_t pin, uint8_t pin_mode) {
  // Set the MODER = could be done in fewer steps
  uint32_t moder = port->MODER;
  uint32_t mask = ~(0x3 << (pin * 2));
  moder = (moder & mask) | (pin_mode << (pin * 2));
  port->MODER = moder;
}

void set_gpio_pin_mode(GPIO_TypeDef *port, uint8_t pin, uint8_t af) {
  // Set the MODER = could be done in fewer steps
  uint32_t moder = port->MODER;
  uint32_t mask = ~(0x3 << (pin * 2));
  moder = (moder & mask) | (0x2 << (pin * 2));
  port->MODER = moder;

  if (pin < 8) {
    port->AFR[0] = port->AFR[0] & ~(0xf << (pin * 4)) | (af << (pin * 4));
  } else {
    pin -= 8;
    port->AFR[1] = port->AFR[1] & ~(0xf << (pin * 4)) | (af << (pin * 4));
  }
}

void print_gpio_regs(const char *name, GPIO_TypeDef *port) {
  //printk("GPIO%s(%p) %08X %08X %08x\n", name, port, port->MODER, port->AFR[0], port->AFR[1]);
  Serial.print("GPIO");
  Serial.print(name);
  Serial.print(" ");
  uint32_t moder = port->MODER;
  Serial.print(moder, HEX);
  Serial.print(" : ");
  for (uint8_t i = 0; i < 16; i++) {
    switch (moder & 0xC0000000) {
      case 0x00000000ul: Serial.print("I"); break;
      case 0x40000000ul: Serial.print("O"); break;
      case 0x80000000ul: Serial.print("F"); break;
      default: Serial.print("A"); break;
    }
    moder <<= 2;
  }
  Serial.print(" ");
  Serial.print(port->AFR[0], HEX);
  Serial.print(" ");
  Serial.print(port->AFR[1], HEX);
  Serial.print(" ");
  Serial.print(port->IDR, HEX);
  Serial.print(" ");
  Serial.print(port->ODR, HEX);
  Serial.print(" ");
  uint32_t pupdr = port->PUPDR;
  Serial.print(pupdr, HEX);
  Serial.print(" : ");
  for (uint8_t i = 0; i < 16; i++) {
    switch (pupdr & 0xC0000000) {
      case 0x00000000ul: Serial.print("-"); break;
      case 0x40000000ul: Serial.print("U"); break;
      case 0x80000000ul: Serial.print("D"); break;
      default: Serial.print("?"); break;
    }
    pupdr <<= 2;
  }
  Serial.println();
}

void show_all_gpio_regs() {
  print_gpio_regs("A", (GPIO_TypeDef *)GPIOA_BASE);
  print_gpio_regs("B", (GPIO_TypeDef *)GPIOB_BASE);
  print_gpio_regs("C", (GPIO_TypeDef *)GPIOC_BASE);
  print_gpio_regs("D", (GPIO_TypeDef *)GPIOD_BASE);
  print_gpio_regs("E", (GPIO_TypeDef *)GPIOE_BASE);
  print_gpio_regs("F", (GPIO_TypeDef *)GPIOF_BASE);
  print_gpio_regs("G", (GPIO_TypeDef *)GPIOG_BASE);
  print_gpio_regs("H", (GPIO_TypeDef *)GPIOH_BASE);
  print_gpio_regs("I", (GPIO_TypeDef *)GPIOI_BASE);
}
Screen Width: 800 Height: 480
Scale: 2
end setup
Avg display Time: 68090 fps:14.69
Avg display Time: 69037 fps:14.48
Avg display Time: 68760 fps:14.54
Avg display Time: 68960 fps:14.50
Avg display Time: 69293 fps:14.43
Avg display Time: 68721 fps:14.55
Avg display Time: 69142 fps:14.46
Avg display Time: 67643 fps:14.78
Avg display Time: 68495 fps:14.60
Avg display Time: 67402 fps:14.84
Avg display Time: 67900 fps:14.73
Avg display Time: 68137 fps:14.68
Avg display Time: 69244 fps:14.44
Avg display Time: 68668 fps:14.56
Avg display Time: 68747 fps:14.55
Avg display Time: 69209 fps:14.45
Avg display Time: 69175 fps:14.46
Avg display Time: 69355 fps:14.42
Avg display Time: 68976 fps:14.50
Avg display Time: 67625 fps:14.79
Avg display Time: 68362 fps:14.63
Avg display Time: 67512 fps:14.81
Avg display Time: 68729 fps:14.55
Avg display Time: 68434 fps:14.61
Avg display Time: 68963 fps:14.50
Avg display Time: 69605 fps:14.37
Avg display Time: 68459 fps:14.61
...

@mjs513
Copy link
Copy Markdown

mjs513 commented May 28, 2026

Update: I tried this on GIGA R1 and it appeared to work, at least for first image...

@KurtE
Finally updated with pr 499 and gave it a try with what seems to work before the defer init stuff. Right now display works but getting no frames displayed at all. See in debug window

Timeout while waiting for high throughput clock
SDIO firmware download error, whd_bus_sdio_init failed at 559
Interface is not up/NULL and failed in function whd_deinit at line 203
Interface is not up/NULL and failed in function whd_wifi_get_mac_address at line 3184
height: 480, width: 800, rotated: 1
RGB565 set
Shared multiheap
INFO:   RGBP width [320; 320; 0] height [240; 240; 0]

@KurtE
Copy link
Copy Markdown

KurtE commented May 28, 2026

Update: PortentaH7. in the overlay file, I see that
arduino_portenta_h7_stm32h747xx_m7.overlay

	dmas = <&dma1 0 75 (STM32_DMA_PERIPH_TO_MEMORY | STM32_DMA_PERIPH_NO_INC |
			    STM32_DMA_MEM_INC | STM32_DMA_PERIPH_32BITS | STM32_DMA_MEM_32BITS |
			    STM32_DMA_PRIORITY_HIGH) STM32_DMA_FIFO_1_4>; //FULL for 7670, default FIFO_1_4

Changed it from FULL to match GIGA...
Still not getting through, wonder what else is different between GIGA/Portenta H7. Obviously the pins its on

Also wondering about about dmas setting for both. On current source a while ago I had to change

	dmas = <&dma1 1 75 (STM32_DMA_PERIPH_TO_MEMORY | STM32_DMA_PERIPH_NO_INC |
			    STM32_DMA_MEM_INC | STM32_DMA_PERIPH_32BITS | STM32_DMA_MEM_32BITS |
			    STM32_DMA_PRIORITY_HIGH) STM32_DMA_FIFO_FULL>; //FULL for 7670, default FIFO_1_4

As something changed to make it 1 based instead of 0...
Did not help ...

@KurtE
Copy link
Copy Markdown

KurtE commented May 28, 2026

Portenta H7: I tried saveral different things and they all failed to do DMA from camera to SDRAM... The fix I mentioned for the zephyr side DCMI works on GIGA, although you still get a reasonable number of DMA errors. I think there may have been another PR later on Zephyr that may have helped earlier.

But for a quick and dirty I setup the 0th buffer to use memory returned by Malloc and that works... Quick and dirty sketch from camera to ST7796...

bool Camera::begin(uint32_t width, uint32_t height, uint32_t pixformat, bool byte_swap) {
#if DT_HAS_CHOSEN(zephyr_camera)
	if (zephyr::arduino::init_pwm_ref_clock() != 0) {
		return false;
	}

	// init camera sensor first
	if (DT_NODE_EXISTS(ZARD_CAMERA_SENSOR_NODE)) {
		ZARD_DT_GET_OR_RETURN_FALSE(ZARD_CAMERA_SENSOR_NODE, sensor);
		// do not check return code because the sensor doesn't have pinctrl configuration.
		ZARD_INIT_PINCTRL(sensor, (void)0);
	}

	ZARD_DT_GET_OR_RETURN_FALSE(ZARD_CAMERA_NODE, camera_dev);
	this->vdev = camera_dev;
#endif

	ZARD_INIT_PINCTRL(this->vdev, return false);

	switch (pixformat) {
	case CAMERA_RGB565:
		this->byte_swap = byte_swap;
		pixformat = VIDEO_PIX_FMT_RGB565;
		break;
	case CAMERA_GRAYSCALE:
		// There's no support for mono sensors.
		this->yuv_to_gray = true;
		pixformat = VIDEO_PIX_FMT_YUYV;
		break;
	default:
		break;
	}

	// Get capabilities
	struct video_caps caps;
	if (video_get_caps(this->vdev, &caps)) {
		return false;
	}

	for (size_t i = 0; caps.format_caps[i].pixelformat != 0; i++) {
		const struct video_format_cap *fcap = &caps.format_caps[i];
		if (fcap->width_min == width && fcap->height_min == height &&
			fcap->pixelformat == pixformat) {
			break;
		}
		if (caps.format_caps[i + 1].pixelformat == 0) {
			Serial.println("The specified format is not supported");
			return false;
		}
	}

	// Set format.
	static struct video_format fmt = {
		.pixelformat = pixformat,
		.width = width,
		.height = height,
		.pitch = width * 2,
	};

	if (video_set_format(this->vdev, &fmt)) {
		Serial.println("Failed to set video format");
		return false;
	}

	// Allocate video buffers.
	printk("Camera init buffers: %u %u\n", ARRAY_SIZE(this->vbuf), fmt.pitch * fmt.height);
	for (size_t i = 0; i < ARRAY_SIZE(this->vbuf); i++) {
		this->vbuf[i] = video_buffer_aligned_alloc(fmt.pitch * fmt.height,
												   CONFIG_VIDEO_BUFFER_POOL_ALIGN, K_FOREVER);
		if (i == 0) {
			this->vbuf[i]->buffer = (uint8_t *)malloc(fmt.pitch * fmt.height);
		}
		if (this->vbuf[i] == NULL) {
			Serial.println("Failed to allocate video buffers");
			return false;
		}
		video_enqueue(this->vdev, this->vbuf[i]);
	}

	// Start video capture
	if (video_stream_start(this->vdev, VIDEO_BUF_TYPE_OUTPUT)) {
		Serial.println("Failed to start capture");
		return false;
	}

	return true;
}

Sorry not a great picture, but...
image

@dani-clo do you want this level of information here under the PR? Or should I create a PR to for example update the PortentaH7 overlay/config and another against arduino/zephyr to bring in some of the DCMI stuff?

Some of the apps I have been testing things out here are up on my github project: https://github.com/KurtE/Arduino_GIGA-stuff
Most under zephyr or zephyr display....

Sketch to output GIGA to display shield: Zephyr_GigaCameraDisplay_GFX
Sketch to output to ST7796: camera_to_st77xx
sketch to output over USB: camera_to_USB_two_ways. Does the RAW like example sketch, plus BMP format for
Ardum_Mini_ContinuousShots... app (Not sure if Linux version exists)

@dani-clo dani-clo force-pushed the pinctrl_fix_init_dependencies branch from 5a43ea5 to cb6cdc5 Compare May 29, 2026 09:15
@dani-clo
Copy link
Copy Markdown
Author

Thanks for the detailed investigation and testing @KurtE !

So, to summarize where we are:

  • deferred-init and runtime clock/peripheral initialization now seem to be working correctly;

  • the remaining issues appear to be in a separate area: DCMI behavior, DMA recovery, camera buffer allocation.

I think these topics are now somewhat independent from the deferred-init/clock scope of this PR.

Could you please open separate issues/PRs/discussions for the remaining camera/DMA topics?

I’d prefer to keep this PR focused on the deferred-init/clock changes so we can hopefully review and close it in the next few days.

@github-actions
Copy link
Copy Markdown

Built 0.55.3-0.pr.499.6+cb6cdc5c

CI run FAILED: ❌ opta

ArtifactBoardCoreTestsRAMSketchesWarningsErrors
✅* zephyr_contrib ek_ra8d1 📗 ✅*

11.9%

22-
frdm_mcxn947 7 🏷️ ✅*

58.0%

22-
frdm_rw612 2 🏷️ ✅*

83.0%

22-
zephyr_main giga 5 🏷️ ✅*

54.7%

5816-
nano33ble 1 🏷️ ✅*

78.8%

3010-
nano_matter 1 🏷️ ✅*

⚠️ 86.1%

228-
nicla_vision 5 🏷️ ✔️*

57.0%

528(10*)
niclasense 2 🏷️ ✅*

⚠️ 87.4%

2612-
opta 5 🏷️

57.7%

621816
portentac33 3 🏷️ ✔️*

⚠️ 95.8%

668(8*)
portentah7 4 🏷️ ✅*

58.5%

7416-
✅* zephyr_unoq unoq 📗 ✅*

26.9%

568-
Legend

BoardTestStatus description
🔥 🔥 Test run failed to complete.
🔴 Test completed with unexpected errors.
⁉️ ⁉️ Test was expected to fail but passed; exception entry is outdated.
✔️* 🚫 Test completed with errors, but all are known/expected.
✅* 🟡 Test completed with some warnings; no errors detected.
🟢 Test passed successfully, with no warnings or errors.
🌑 🌑 Test was skipped.

Caution

zephyr_main is blocked due to failures on opta!

@mjs513
Copy link
Copy Markdown

mjs513 commented May 29, 2026

@KurtE

Finally updated with pr 499 and gave it a try with what seems to work before the defer init stuff. Right now display works but getting no frames displayed at all. See in debug window

Redid the PR incorporation and tried again. Still not getting anything but now I am also seeing this error:

Unable to set display format

Which is rather strange.

EDIT:
My fault - got it working forgot to update something. Now getting images:

Avg display Time: 55238 fps:18.10

@KurtE
Copy link
Copy Markdown

KurtE commented May 29, 2026

So, to summarize where we are:

  • deferred-init and runtime clock/peripheral initialization now seem to be working correctly;
  • the remaining issues appear to be in a separate area: DCMI behavior, DMA recovery, camera buffer allocation.
    I agree, except maybe on this one, you might update the Portenta H7 camera overlay and conf file.

Overlay:
Overlay: DMA setting: It was currently set at full

	dmas = <&dma1 0 75 (STM32_DMA_PERIPH_TO_MEMORY | STM32_DMA_PERIPH_NO_INC |
			    STM32_DMA_MEM_INC | STM32_DMA_PERIPH_32BITS | STM32_DMA_MEM_32BITS |
			    STM32_DMA_PRIORITY_HIGH) STM32_DMA_FIFO_1_4>; //FULL for 7670, default FIFO_1_4

Config:

diff --git a/variants/arduino_portenta_h7_stm32h747xx_m7/arduino_portenta_h7_stm32h747xx_m7.conf b/variants/arduino_portenta_h7_stm32h747xx_m7/arduino_portenta_h7_stm32h747xx_m7.conf
index e1a64806..97201418 100644
--- a/variants/arduino_portenta_h7_stm32h747xx_m7/arduino_portenta_h7_stm32h747xx_m7.conf
+++ b/variants/arduino_portenta_h7_stm32h747xx_m7/arduino_portenta_h7_stm32h747xx_m7.conf
@@ -136,6 +136,7 @@ CONFIG_VIDEO_BUFFER_POOL_SZ_MAX=614400
 CONFIG_VIDEO_BUFFER_POOL_ALIGN=32
 CONFIG_VIDEO_BUFFER_USE_SHARED_MULTI_HEAP=y
 CONFIG_VIDEO_BUFFER_SMH_ATTRIBUTE=2
+CONFIG_VIDEO_GC2145=y

 # Display subsystem for USB-C Video (ANX7625)
 CONFIG_DISPLAY=y

Need new PR(s), probably in Arduino/Zephyr, to bring in some of the updates to DCMI and maybe GC2145 code to
actually get it to work at all with DMA.

a) The recovery code I added in to DMA error.
b) @mjs513 If I remember correctly Alan Vol... also later added a fix to improve DMA? Will try figure out where...

pennam added a commit that referenced this pull request May 29, 2026
temporary fix to allow build until PR #499 can be included
@KurtE
Copy link
Copy Markdown

KurtE commented May 29, 2026

@dani-clo @pillo79 @pennam Quick question on this:

Is Arduino planning to zephyr 4.4 soon? I see there is now an active branch up on Arduino where some PRs have PRs are pending... Should we be testing against that version.

EDIT: I tried by editing west.yaml to use the 4.4... west update downloaded it, but builds fail...

kurte@KurtXPS8950:~/git/ArduinoCore-zephyr$ ./extra/build.sh giga

Build target: arduino_giga_r1//m7 --shield arduino_giga_display_shield
Failed to get variant name from 'arduino_giga_r1//m7'

Guessing I would need the Monza branch of ArduinoCore-zephyr to go that route.

@KurtE
Copy link
Copy Markdown

KurtE commented May 31, 2026

I did create a PR:
https://github.com/arduino/zephyr/pull/20/changes
For the 4.2 branch which has some of the DMA recovery stuff. It was cherry picked from the
zephyr sources with the hashtag of the commit.

But if switching soon to 4.4 release of zephyr, than probably should figure out how to get the
builds to work on it... As I see @pennam linked to this with 4.4 comment...
But so far the couple attempts with Monza branch and using the 4.4 branch of zephyr, the commands like
./extra/build.sh giga
fail as mentioned above

@facchinm
Copy link
Copy Markdown
Member

facchinm commented Jun 1, 2026

Hi Kurt,
the plan is to switch to 4.4 soon enough, as you've seen the monza branch is being used as integration; the biggest changes are on MBEDTLS and deferred-init; right now we only ported potentah7 but once that's validated we can use the same approach for the other failing targets. We'll keep you posted as soon as the CI is green 🙂

@mjs513
Copy link
Copy Markdown

mjs513 commented Jun 1, 2026

Portenta H7: I tried saveral different things and they all failed to do DMA from camera to SDRAM... The fix I mentioned for the zephyr side DCMI works on GIGA, although you still get a reasonable number of DMA errors. I think there may have been another PR later on Zephyr that may have helped earlier.

@KurtE
I decided to give this a try and used the camera lib that moded a very long time ago that where we used fixed buffers as opposed to the malloc. We did this to improve frame rates on the giga. After some playing to make sure st7796 worked I gave it a try and worked no issues.

As you said with using the fixed buffer (or your malloc mod) I got no images displayed or received from the camera.

Just thought I would give an update

pennam added a commit that referenced this pull request Jun 3, 2026
temporary fix to allow build until PR #499 can be included
@dani-clo dani-clo force-pushed the pinctrl_fix_init_dependencies branch from cb6cdc5 to 24ac780 Compare June 3, 2026 08:36
dani-clo added 2 commits June 3, 2026 15:30
Signed-off-by: Daniele Cloralio <d.cloralio@arduino.cc>
Signed-off-by: Daniele Cloralio <d.cloralio@arduino.cc>
@dani-clo dani-clo force-pushed the pinctrl_fix_init_dependencies branch from 24ac780 to 3834591 Compare June 3, 2026 13:31
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Built 0.55.3-0.pr.499.14+3834591c

CI run PASSED 🟢

ArtifactBoardCoreTestsRAMSketchesWarningsErrors
✅* zephyr_contrib ek_ra8d1 📗 ✅*

11.9%

22-
frdm_mcxn947 7 🏷️ ✅*

58.0%

22-
frdm_rw612 2 🏷️ ✅*

83.0%

22-
✔️* zephyr_main giga 5 🏷️ ✅*

54.7%

5816-
nano33ble 1 🏷️ ✅*

78.8%

3010-
nano_matter 1 🏷️ ✅*

⚠️ 86.1%

228-
nicla_vision 5 🏷️ ✔️*

57.0%

528(10*)
niclasense 2 🏷️ ✅*

⚠️ 87.4%

1812-
opta 5 🏷️ ✅*

57.7%

6218-
portentac33 3 🏷️ ✔️*

⚠️ 95.8%

668(8*)
portentah7 4 🏷️ ✅*

58.5%

7416-
✅* zephyr_unoq unoq 📗 ✅*

26.9%

568-
Legend

BoardTestStatus description
🔥 🔥 Test run failed to complete.
🔴 Test completed with unexpected errors.
⁉️ ⁉️ Test was expected to fail but passed; exception entry is outdated.
✔️* 🚫 Test completed with errors, but all are known/expected.
✅* 🟡 Test completed with some warnings; no errors detected.
🟢 Test passed successfully, with no warnings or errors.
🌑 🌑 Test was skipped.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Memory usage change @ 3834591

Board flash % RAM for global variables %
arduino:zephyr:unoq:link_mode=dynamic 🔺 +304 - +316 0.0 - 0.0 🔺 +104 - +108 0.0 - 0.0
arduino:zephyr:unoq:link_mode=static 🔺 +104 - +108 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:zephyr_contrib:ek_ra8d1:link_mode=dynamic 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:zephyr_contrib:ek_ra8d1:link_mode=static 0 - 0 0.0 - 0.0 0 - 0 0.0 - 0.0
arduino:zephyr_contrib:frdm_mcxn947:link_mode=dynamic 🔺 +312 - +312 +0.02 - +0.02 🔺 +108 - +108 +0.04 - +0.04
arduino:zephyr_contrib:frdm_mcxn947:link_mode=static 🔺 +108 - +108 +0.04 - +0.04 0 - 0 0.0 - 0.0
arduino:zephyr_contrib:frdm_rw612:link_mode=dynamic 🔺 +336 - +336 +0.02 - +0.02 🔺 +132 - +132 +0.04 - +0.04
arduino:zephyr_contrib:frdm_rw612:link_mode=static 🔺 +132 - +132 +0.03 - +0.03 0 - 0 0.0 - 0.0
arduino:zephyr_main:giga:link_mode=dynamic 🔺 +1260 - +1628 +0.01 - +0.06 🔺 +160 - +380 0.0 - +0.06
arduino:zephyr_main:giga:link_mode=static 🔺 +248 - +468 0.0 - +0.08 0 - 0 0.0 - 0.0
arduino:zephyr_main:nano33ble:link_mode=dynamic 🔺 +312 - +316 0.0 - +0.02 🔺 +112 - +112 0.0 - +0.04
arduino:zephyr_main:nano33ble:link_mode=static 🔺 +112 - +112 0.0 - +0.04 0 - 0 0.0 - 0.0
arduino:zephyr_main:nano_matter:link_mode=dynamic 🔺 0 - +312 0.0 - +0.02 🔺 0 - +108 0.0 - +0.04
arduino:zephyr_main:nano_matter:link_mode=static 🔺 0 - +108 0.0 - +0.03 0 - 0 0.0 - 0.0
arduino:zephyr_main:nicla_vision:link_mode=dynamic 🔺 +304 - +312 0.0 - +0.01 🔺 +104 - +108 0.0 - +0.03
arduino:zephyr_main:nicla_vision:link_mode=static 🔺 +104 - +108 0.0 - +0.03 0 - 0 0.0 - 0.0
arduino:zephyr_main:niclasense:link_mode=dynamic 🔺 0 - +316 0.0 - +0.02 🔺 0 - +108 0.0 - +0.05
arduino:zephyr_main:niclasense:link_mode=static 🔺 0 - +108 0.0 - +0.04 0 - 0 0.0 - 0.0
arduino:zephyr_main:opta:link_mode=dynamic 🔺 +308 - +400 0.0 - +0.02 🔺 +104 - +136 0.0 - +0.03
arduino:zephyr_main:opta:link_mode=static 🔺 +104 - +136 0.0 - +0.04 0 - 0 0.0 - 0.0
arduino:zephyr_main:portentac33:link_mode=dynamic 🔺 +1840 - +2264 +0.01 - +0.09 🔺 +200 - +424 0.0 - +0.07
arduino:zephyr_main:portentac33:link_mode=static 🔺 +296 - +520 0.0 - +0.11 0 - 0 0.0 - 0.0
arduino:zephyr_main:portentah7:link_mode=dynamic 🔺 +1260 - +1728 +0.01 - +0.07 🔺 +160 - +388 0.0 - +0.08
arduino:zephyr_main:portentah7:link_mode=static 🔺 +248 - +476 0.0 - +0.11 0 - 0 0.0 - 0.0
Click for full report table
Board Arduino_LED_Matrix Video
flash
% Arduino_LED_Matrix Video
RAM for global variables
% Arduino_LED_Matrix Reflash_Bootanimation
flash
% Arduino_LED_Matrix Reflash_Bootanimation
RAM for global variables
% Arduino_LED_Matrix Basic
flash
% Arduino_LED_Matrix Basic
RAM for global variables
% CAN CANWrite
flash
% CAN CANWrite
RAM for global variables
% CAN CANRead
flash
% CAN CANRead
RAM for global variables
% CAN CANEvent
flash
% CAN CANEvent
RAM for global variables
% RTC CalibrationRTC
flash
% RTC CalibrationRTC
RAM for global variables
% RTC SimpleRTC
flash
% RTC SimpleRTC
RAM for global variables
% RTC AlarmRTC
flash
% RTC AlarmRTC
RAM for global variables
% arduino-examples 01.Basics/Blink
flash
% arduino-examples 01.Basics/Blink
RAM for global variables
% arduino-examples 01.Basics/AnalogReadSerial
flash
% arduino-examples 01.Basics/AnalogReadSerial
RAM for global variables
% arduino-examples 04.Communication/SerialPassthrough
flash
% arduino-examples 04.Communication/SerialPassthrough
RAM for global variables
% Arduino_JSON JSONArray
flash
% Arduino_JSON JSONArray
RAM for global variables
% Arduino_JSON JSONValueExtractor
flash
% Arduino_JSON JSONValueExtractor
RAM for global variables
% Arduino_JSON JSONKitchenSink
flash
% Arduino_JSON JSONKitchenSink
RAM for global variables
% Arduino_JSON JSONObject
flash
% Arduino_JSON JSONObject
RAM for global variables
% M95M01 M95M01_test
flash
% M95M01 M95M01_test
RAM for global variables
% ArduinoBLE Central/LedControl
flash
% ArduinoBLE Central/LedControl
RAM for global variables
% ArduinoBLE Central/Scan
flash
% ArduinoBLE Central/Scan
RAM for global variables
% ArduinoBLE Peripheral/Advertising/EnhancedAdvertising
flash
% ArduinoBLE Peripheral/Advertising/EnhancedAdvertising
RAM for global variables
% ArduinoBLE Peripheral/ButtonLED
flash
% ArduinoBLE Peripheral/ButtonLED
RAM for global variables
% Arduino_RouterBridge client
flash
% Arduino_RouterBridge client
RAM for global variables
% Arduino_RouterBridge hci
flash
% Arduino_RouterBridge hci
RAM for global variables
% Arduino_RouterBridge monitor
flash
% Arduino_RouterBridge monitor
RAM for global variables
% Arduino_RouterBridge server
flash
% Arduino_RouterBridge server
RAM for global variables
% Arduino_RouterBridge udp_ntp_client
flash
% Arduino_RouterBridge udp_ntp_client
RAM for global variables
% Arduino_RPClite rpc_lite_client
flash
% Arduino_RPClite rpc_lite_client
RAM for global variables
% Arduino_RPClite rpc_lite_server
flash
% Arduino_RPClite rpc_lite_server
RAM for global variables
% Zephyr_SDRAM SDRAM_operations
flash
% Zephyr_SDRAM SDRAM_operations
RAM for global variables
% Camera CameraCaptureRawBytes
flash
% Camera CameraCaptureRawBytes
RAM for global variables
% WiFi WiFiWebClientTLS
flash
% WiFi WiFiWebClientTLS
RAM for global variables
% WiFi WiFiWebClient
flash
% WiFi WiFiWebClient
RAM for global variables
% Storage FlashFormat
flash
% Storage FlashFormat
RAM for global variables
% Storage PartitionInfo
flash
% Storage PartitionInfo
RAM for global variables
% Storage ListFiles
flash
% Storage ListFiles
RAM for global variables
% Arduino_SecureElement CertificateSigningRequest
flash
% Arduino_SecureElement CertificateSigningRequest
RAM for global variables
% Arduino_SecureElement SelfSignedCertificate
flash
% Arduino_SecureElement SelfSignedCertificate
RAM for global variables
% Arduino_SecureElement ConfigurationLocking
flash
% Arduino_SecureElement ConfigurationLocking
RAM for global variables
% Arduino_SecureElement RandomNumber
flash
% Arduino_SecureElement RandomNumber
RAM for global variables
% ArduinoCore-zephyr/libraries/Camera/examples/CameraCaptureRawBytes
flash
% ArduinoCore-zephyr/libraries/Camera/examples/CameraCaptureRawBytes
RAM for global variables
% ArduinoCore-zephyr/libraries/Arduino_SecureElement/examples/CertificateSigningRequest
flash
% ArduinoCore-zephyr/libraries/Arduino_SecureElement/examples/CertificateSigningRequest
RAM for global variables
% ArduinoCore-zephyr/libraries/Arduino_SecureElement/examples/SelfSignedCertificate
flash
% ArduinoCore-zephyr/libraries/Arduino_SecureElement/examples/SelfSignedCertificate
RAM for global variables
% ArduinoCore-zephyr/libraries/Arduino_SecureElement/examples/ConfigurationLocking
flash
% ArduinoCore-zephyr/libraries/Arduino_SecureElement/examples/ConfigurationLocking
RAM for global variables
% ArduinoCore-zephyr/libraries/Arduino_SecureElement/examples/RandomNumber
flash
% ArduinoCore-zephyr/libraries/Arduino_SecureElement/examples/RandomNumber
RAM for global variables
% Ethernet UdpNtpClient
flash
% Ethernet UdpNtpClient
RAM for global variables
% Ethernet WebClientRepeating
flash
% Ethernet WebClientRepeating
RAM for global variables
% Ethernet AdvancedChatServer
flash
% Ethernet AdvancedChatServer
RAM for global variables
% Ethernet UDPSendReceiveString
flash
% Ethernet UDPSendReceiveString
RAM for global variables
% Ethernet LinkStatus
flash
% Ethernet LinkStatus
RAM for global variables
% Ethernet WebServer
flash
% Ethernet WebServer
RAM for global variables
% Ethernet WebClient
flash
% Ethernet WebClient
RAM for global variables
% Ethernet TelnetClient
flash
% Ethernet TelnetClient
RAM for global variables
%
arduino:zephyr:unoq:link_mode=dynamic 312 0.0 108 0.0 304 0.0 108 0.0 312 0.0 108 0.0 312 0.0 108 0.0 312 0.0 108 0.0 304 0.0 108 0.0 304 0.0 108 0.0 316 0.0 108 0.0 308 0.0 108 0.0 304 0.0 108 0.0 304 0.0 104 0.0 312 0.0 108 0.0 312 0.0 108 0.0 304 0.0 108 0.0 304 0.0 108 0.0 304 0.0 108 0.0 304 0.0 104 0.0 316 0.0 108 0.0 304 0.0 108 0.0 304 0.0 108 0.0 304 0.0 108 0.0 304 0.0 108 0.0 304 0.0 108 0.0 304 0.0 108 0.0 312 0.0 108 0.0 308 0.0 108 0.0 304 0.0 108 0.0 308 0.0 108 0.0
arduino:zephyr:unoq:link_mode=static 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 104 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 104 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0
arduino:zephyr_contrib:ek_ra8d1:link_mode=dynamic 0 0.0 0 0.0
arduino:zephyr_contrib:ek_ra8d1:link_mode=static 0 0.0 0 0.0
arduino:zephyr_contrib:frdm_mcxn947:link_mode=dynamic 312 0.02 108 0.04
arduino:zephyr_contrib:frdm_mcxn947:link_mode=static 108 0.04 0 0.0
arduino:zephyr_contrib:frdm_rw612:link_mode=dynamic 336 0.02 132 0.04
arduino:zephyr_contrib:frdm_rw612:link_mode=static 132 0.03 0 0.0
arduino:zephyr_main:giga:link_mode=dynamic 1272 0.04 164 0.01 1268 0.04 164 0.01 1272 0.04 164 0.01 1268 0.05 164 0.03 1264 0.05 164 0.03 1264 0.05 164 0.03 1268 0.05 164 0.03 1264 0.05 160 0.03 1268 0.05 164 0.04 1268 0.03 164 0.01 1264 0.03 164 0.01 1268 0.03 164 0.01 1268 0.02 164 0.01 1260 0.03 160 0.01 1268 0.01 164 0.0 1268 0.01 164 0.0 1268 0.01 164 0.0 1268 0.01 164 0.0 1268 0.04 164 0.03 1628 0.06 380 0.06 1264 0.03 164 0.01 1272 0.03 164 0.01 1268 0.02 164 0.03 1268 0.05 164 0.03 1268 0.05 164 0.03 1268 0.02 164 0.01 1264 0.02 164 0.01 1268 0.03 164 0.01 1268 0.03 164 0.01
arduino:zephyr_main:giga:link_mode=static 252 0.03 0 0.0 252 0.04 0 0.0 252 0.03 0 0.0 252 0.06 0 0.0 252 0.06 0 0.0 252 0.05 0 0.0 252 0.05 0 0.0 248 0.05 0 0.0 252 0.07 0 0.0 252 0.02 0 0.0 252 0.02 0 0.0 252 0.02 0 0.0 252 0.02 0 0.0 248 0.03 0 0.0 252 0.0 0 0.0 252 0.0 0 0.0 252 0.0 0 0.0 252 0.0 0 0.0 252 0.05 0 0.0 468 0.08 0 0.0 252 0.02 0 0.0 252 0.03 0 0.0 252 0.0 0 0.0 252 0.05 0 0.0 252 0.05 0 0.0 252 0.02 0 0.0 252 0.01 0 0.0 252 0.03 0 0.0 252 0.03 0 0.0
arduino:zephyr_main:nano33ble:link_mode=dynamic 312 0.01 112 0.03 316 0.01 112 0.03 312 0.01 112 0.02 316 0.02 112 0.03 312 0.01 112 0.03 312 0.02 112 0.04 316 0.0 112 0.01 312 0.01 112 0.01 312 0.0 112 0.01 316 0.0 112 0.0 312 0.01 112 0.01 312 0.0 112 0.0 312 0.0 112 0.0 312 0.0 112 0.0 312 0.0 112 0.0
arduino:zephyr_main:nano33ble:link_mode=static 112 0.03 0 0.0 112 0.02 0 0.0 112 0.02 0 0.0 112 0.03 0 0.0 112 0.03 0 0.0 112 0.04 0 0.0 112 0.01 0 0.0 112 0.01 0 0.0 112 0.01 0 0.0 112 0.0 0 0.0 112 0.01 0 0.0 112 0.0 0 0.0 112 0.0 0 0.0 112 0.0 0 0.0 112 0.0 0 0.0
arduino:zephyr_main:nano_matter:link_mode=dynamic 0 0.0 0 0.0 304 0.02 104 0.04 312 0.01 108 0.01 308 0.01 108 0.01 308 0.01 108 0.01 312 0.0 108 0.01 304 0.01 104 0.01 308 0.0 108 0.0 308 0.0 108 0.0 308 0.0 108 0.0 308 0.0 108 0.0
arduino:zephyr_main:nano_matter:link_mode=static 0 0.0 0 0.0 104 0.03 0 0.0 108 0.01 0 0.0 108 0.01 0 0.0 108 0.01 0 0.0 108 0.0 0 0.0 104 0.01 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0
arduino:zephyr_main:nicla_vision:link_mode=dynamic 312 0.01 108 0.02 308 0.01 108 0.02 308 0.01 108 0.02 308 0.01 108 0.02 304 0.01 104 0.02 308 0.01 108 0.03 312 0.0 108 0.01 308 0.0 108 0.01 308 0.0 108 0.01 312 0.0 108 0.0 304 0.01 104 0.01 308 0.0 108 0.0 312 0.0 108 0.0 312 0.0 108 0.0 312 0.0 108 0.0 308 0.01 108 0.02 308 0.0 108 0.01 312 0.0 108 0.01 312 0.0 108 0.02 308 0.01 108 0.02 312 0.01 108 0.02 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
arduino:zephyr_main:nicla_vision:link_mode=static 108 0.03 0 0.0 108 0.03 0 0.0 108 0.02 0 0.0 108 0.03 0 0.0 104 0.02 0 0.0 108 0.03 0 0.0 108 0.01 0 0.0 108 0.01 0 0.0 108 0.01 0 0.0 108 0.0 0 0.0 104 0.01 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.02 0 0.0 108 0.01 0 0.0 108 0.01 0 0.0 108 0.0 0 0.0 108 0.02 0 0.0 108 0.02 0 0.0 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
arduino:zephyr_main:niclasense:link_mode=dynamic 312 0.02 108 0.05 316 0.02 108 0.03 312 0.02 108 0.03 0 0.0 0 0.0 304 0.02 104 0.04 308 0.01 108 0.01 312 0.01 108 0.01 308 0.01 108 0.01 308 0.0 108 0.01
arduino:zephyr_main:niclasense:link_mode=static 108 0.04 0 0.0 108 0.03 0 0.0 108 0.03 0 0.0 0 0.0 0 0.0 104 0.04 0 0.0 108 0.01 0 0.0 108 0.01 0 0.0 108 0.01 0 0.0 108 0.0 0 0.0
arduino:zephyr_main:opta:link_mode=dynamic 308 0.02 108 0.03 308 0.02 108 0.03 308 0.02 108 0.03 308 0.02 108 0.03 308 0.02 104 0.03 308 0.02 108 0.03 308 0.01 108 0.01 308 0.01 108 0.01 312 0.01 108 0.01 308 0.0 108 0.0 308 0.0 108 0.0 312 0.0 108 0.0 312 0.0 108 0.0 312 0.0 108 0.0 312 0.01 108 0.01 308 0.01 108 0.01 308 0.0 108 0.02 308 0.02 108 0.02 308 0.02 108 0.03 312 0.0 108 0.0 308 0.0 108 0.0 308 0.01 108 0.01 312 0.01 108 0.01 396 0.01 136 0.01 400 0.01 136 0.01 396 0.01 136 0.01 400 0.01 136 0.01 400 0.02 136 0.03 396 0.01 132 0.01 400 0.01 132 0.01 396 0.01 136 0.01
arduino:zephyr_main:opta:link_mode=static 108 0.03 0 0.0 108 0.03 0 0.0 108 0.03 0 0.0 108 0.04 0 0.0 104 0.03 0 0.0 108 0.04 0 0.0 108 0.01 0 0.0 108 0.01 0 0.0 108 0.01 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.01 0 0.0 108 0.01 0 0.0 108 0.0 0 0.0 108 0.02 0 0.0 108 0.03 0 0.0 108 0.0 0 0.0 108 0.0 0 0.0 108 0.01 0 0.0 108 0.01 0 0.0 136 0.01 0 0.0 136 0.01 0 0.0 136 0.01 0 0.0 136 0.01 0 0.0 136 0.04 0 0.0 132 0.01 0 0.0 132 0.01 0 0.0 136 0.02 0 0.0
arduino:zephyr_main:portentac33:link_mode=dynamic 1848 0.06 204 0.01 1840 0.06 204 0.01 1852 0.06 204 0.01 1844 0.08 204 0.03 1840 0.08 200 0.04 1844 0.09 204 0.04 1844 0.04 204 0.01 1844 0.05 204 0.02 1848 0.04 204 0.01 1844 0.04 204 0.01 1844 0.06 200 0.01 1844 0.01 204 0.0 1844 0.01 204 0.0 1844 0.01 204 0.0 1844 0.01 204 0.0 1844 0.07 204 0.03 1852 0.04 204 0.02 1840 0.05 204 0.02 1848 0.04 204 0.03 1844 0.07 204 0.03 1848 0.08 204 0.03 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A 2264 0.05 424 0.04 2260 0.06 424 0.04 2264 0.06 424 0.04 2260 0.05 424 0.04 2260 0.09 424 0.07 1980 0.05 292 0.02 2260 0.05 424 0.04 2264 0.06 424 0.04
arduino:zephyr_main:portentac33:link_mode=static 300 0.04 0 0.0 300 0.04 0 0.0 300 0.04 0 0.0 300 0.06 0 0.0 296 0.06 0 0.0 300 0.07 0 0.0 300 0.02 0 0.0 300 0.03 0 0.0 300 0.02 0 0.0 300 0.02 0 0.0 296 0.03 0 0.0 300 0.0 0 0.0 300 0.0 0 0.0 300 0.0 0 0.0 300 0.0 0 0.0 300 0.06 0 0.0 300 0.02 0 0.0 300 0.03 0 0.0 300 0.01 0 0.0 300 0.05 0 0.0 300 0.06 0 0.0 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A 520 0.05 0 0.0 520 0.05 0 0.0 520 0.05 0 0.0 520 0.05 0 0.0 520 0.11 0 0.0 388 0.04 0 0.0 520 0.05 0 0.0 520 0.06 0 0.0
arduino:zephyr_main:portentah7:link_mode=dynamic 1272 0.04 164 0.01 1272 0.04 164 0.01 1272 0.04 164 0.01 1268 0.06 164 0.04 1268 0.05 164 0.04 1268 0.05 164 0.03 1268 0.06 164 0.04 1264 0.06 160 0.03 1268 0.06 164 0.04 1268 0.03 164 0.01 1268 0.03 164 0.01 1264 0.03 164 0.01 1268 0.03 164 0.01 1260 0.04 160 0.01 1268 0.01 164 0.0 1264 0.01 164 0.0 1264 0.01 164 0.0 1264 0.01 164 0.0 1268 0.05 164 0.03 1628 0.07 380 0.08 1264 0.03 164 0.01 1268 0.03 164 0.02 1268 0.02 164 0.03 1268 0.05 164 0.03 1268 0.05 164 0.03 1268 0.02 164 0.01 1268 0.02 164 0.01 1264 0.03 164 0.01 1268 0.04 164 0.01 1720 0.04 384 0.04 1720 0.04 384 0.04 1720 0.04 384 0.04 1720 0.04 384 0.04 1720 0.07 384 0.08 1440 0.03 252 0.02 1728 0.04 388 0.04 1724 0.05 384 0.05
arduino:zephyr_main:portentah7:link_mode=static 252 0.04 0 0.0 252 0.04 0 0.0 252 0.04 0 0.0 252 0.07 0 0.0 252 0.06 0 0.0 252 0.06 0 0.0 252 0.07 0 0.0 248 0.06 0 0.0 252 0.08 0 0.0 252 0.02 0 0.0 252 0.02 0 0.0 252 0.02 0 0.0 252 0.02 0 0.0 248 0.03 0 0.0 252 0.0 0 0.0 252 0.0 0 0.0 252 0.0 0 0.0 252 0.0 0 0.0 252 0.05 0 0.0 468 0.1 0 0.0 252 0.02 0 0.0 252 0.03 0 0.0 252 0.0 0 0.0 252 0.05 0 0.0 252 0.06 0 0.0 252 0.02 0 0.0 252 0.01 0 0.0 252 0.03 0 0.0 252 0.03 0 0.0 472 0.05 0 0.0 472 0.05 0 0.0 472 0.05 0 0.0 472 0.05 0 0.0 472 0.11 0 0.0 340 0.03 0 0.0 476 0.05 0 0.0 472 0.06 0 0.0
Click for full report CSV
Board,Arduino_LED_Matrix Video<br>flash,%,Arduino_LED_Matrix Video<br>RAM for global variables,%,Arduino_LED_Matrix Reflash_Bootanimation<br>flash,%,Arduino_LED_Matrix Reflash_Bootanimation<br>RAM for global variables,%,Arduino_LED_Matrix Basic<br>flash,%,Arduino_LED_Matrix Basic<br>RAM for global variables,%,CAN CANWrite<br>flash,%,CAN CANWrite<br>RAM for global variables,%,CAN CANRead<br>flash,%,CAN CANRead<br>RAM for global variables,%,CAN CANEvent<br>flash,%,CAN CANEvent<br>RAM for global variables,%,RTC CalibrationRTC<br>flash,%,RTC CalibrationRTC<br>RAM for global variables,%,RTC SimpleRTC<br>flash,%,RTC SimpleRTC<br>RAM for global variables,%,RTC AlarmRTC<br>flash,%,RTC AlarmRTC<br>RAM for global variables,%,arduino-examples 01.Basics/Blink<br>flash,%,arduino-examples 01.Basics/Blink<br>RAM for global variables,%,arduino-examples 01.Basics/AnalogReadSerial<br>flash,%,arduino-examples 01.Basics/AnalogReadSerial<br>RAM for global variables,%,arduino-examples 04.Communication/SerialPassthrough<br>flash,%,arduino-examples 04.Communication/SerialPassthrough<br>RAM for global variables,%,Arduino_JSON JSONArray<br>flash,%,Arduino_JSON JSONArray<br>RAM for global variables,%,Arduino_JSON JSONValueExtractor<br>flash,%,Arduino_JSON JSONValueExtractor<br>RAM for global variables,%,Arduino_JSON JSONKitchenSink<br>flash,%,Arduino_JSON JSONKitchenSink<br>RAM for global variables,%,Arduino_JSON JSONObject<br>flash,%,Arduino_JSON JSONObject<br>RAM for global variables,%,M95M01 M95M01_test<br>flash,%,M95M01 M95M01_test<br>RAM for global variables,%,ArduinoBLE Central/LedControl<br>flash,%,ArduinoBLE Central/LedControl<br>RAM for global variables,%,ArduinoBLE Central/Scan<br>flash,%,ArduinoBLE Central/Scan<br>RAM for global variables,%,ArduinoBLE Peripheral/Advertising/EnhancedAdvertising<br>flash,%,ArduinoBLE Peripheral/Advertising/EnhancedAdvertising<br>RAM for global variables,%,ArduinoBLE Peripheral/ButtonLED<br>flash,%,ArduinoBLE Peripheral/ButtonLED<br>RAM for global variables,%,Arduino_RouterBridge client<br>flash,%,Arduino_RouterBridge client<br>RAM for global variables,%,Arduino_RouterBridge hci<br>flash,%,Arduino_RouterBridge hci<br>RAM for global variables,%,Arduino_RouterBridge monitor<br>flash,%,Arduino_RouterBridge monitor<br>RAM for global variables,%,Arduino_RouterBridge server<br>flash,%,Arduino_RouterBridge server<br>RAM for global variables,%,Arduino_RouterBridge udp_ntp_client<br>flash,%,Arduino_RouterBridge udp_ntp_client<br>RAM for global variables,%,Arduino_RPClite rpc_lite_client<br>flash,%,Arduino_RPClite rpc_lite_client<br>RAM for global variables,%,Arduino_RPClite rpc_lite_server<br>flash,%,Arduino_RPClite rpc_lite_server<br>RAM for global variables,%,Zephyr_SDRAM SDRAM_operations<br>flash,%,Zephyr_SDRAM SDRAM_operations<br>RAM for global variables,%,Camera CameraCaptureRawBytes<br>flash,%,Camera CameraCaptureRawBytes<br>RAM for global variables,%,WiFi WiFiWebClientTLS<br>flash,%,WiFi WiFiWebClientTLS<br>RAM for global variables,%,WiFi WiFiWebClient<br>flash,%,WiFi WiFiWebClient<br>RAM for global variables,%,Storage FlashFormat<br>flash,%,Storage FlashFormat<br>RAM for global variables,%,Storage PartitionInfo<br>flash,%,Storage PartitionInfo<br>RAM for global variables,%,Storage ListFiles<br>flash,%,Storage ListFiles<br>RAM for global variables,%,Arduino_SecureElement CertificateSigningRequest<br>flash,%,Arduino_SecureElement CertificateSigningRequest<br>RAM for global variables,%,Arduino_SecureElement SelfSignedCertificate<br>flash,%,Arduino_SecureElement SelfSignedCertificate<br>RAM for global variables,%,Arduino_SecureElement ConfigurationLocking<br>flash,%,Arduino_SecureElement ConfigurationLocking<br>RAM for global variables,%,Arduino_SecureElement RandomNumber<br>flash,%,Arduino_SecureElement RandomNumber<br>RAM for global variables,%,ArduinoCore-zephyr/libraries/Camera/examples/CameraCaptureRawBytes<br>flash,%,ArduinoCore-zephyr/libraries/Camera/examples/CameraCaptureRawBytes<br>RAM for global variables,%,ArduinoCore-zephyr/libraries/Arduino_SecureElement/examples/CertificateSigningRequest<br>flash,%,ArduinoCore-zephyr/libraries/Arduino_SecureElement/examples/CertificateSigningRequest<br>RAM for global variables,%,ArduinoCore-zephyr/libraries/Arduino_SecureElement/examples/SelfSignedCertificate<br>flash,%,ArduinoCore-zephyr/libraries/Arduino_SecureElement/examples/SelfSignedCertificate<br>RAM for global variables,%,ArduinoCore-zephyr/libraries/Arduino_SecureElement/examples/ConfigurationLocking<br>flash,%,ArduinoCore-zephyr/libraries/Arduino_SecureElement/examples/ConfigurationLocking<br>RAM for global variables,%,ArduinoCore-zephyr/libraries/Arduino_SecureElement/examples/RandomNumber<br>flash,%,ArduinoCore-zephyr/libraries/Arduino_SecureElement/examples/RandomNumber<br>RAM for global variables,%,Ethernet UdpNtpClient<br>flash,%,Ethernet UdpNtpClient<br>RAM for global variables,%,Ethernet WebClientRepeating<br>flash,%,Ethernet WebClientRepeating<br>RAM for global variables,%,Ethernet AdvancedChatServer<br>flash,%,Ethernet AdvancedChatServer<br>RAM for global variables,%,Ethernet UDPSendReceiveString<br>flash,%,Ethernet UDPSendReceiveString<br>RAM for global variables,%,Ethernet LinkStatus<br>flash,%,Ethernet LinkStatus<br>RAM for global variables,%,Ethernet WebServer<br>flash,%,Ethernet WebServer<br>RAM for global variables,%,Ethernet WebClient<br>flash,%,Ethernet WebClient<br>RAM for global variables,%,Ethernet TelnetClient<br>flash,%,Ethernet TelnetClient<br>RAM for global variables,%
arduino:zephyr:unoq:link_mode=dynamic,312,0.0,108,0.0,304,0.0,108,0.0,312,0.0,108,0.0,312,0.0,108,0.0,312,0.0,108,0.0,304,0.0,108,0.0,304,0.0,108,0.0,316,0.0,108,0.0,308,0.0,108,0.0,304,0.0,108,0.0,304,0.0,104,0.0,312,0.0,108,0.0,312,0.0,108,0.0,304,0.0,108,0.0,304,0.0,108,0.0,304,0.0,108,0.0,304,0.0,104,0.0,316,0.0,108,0.0,304,0.0,108,0.0,304,0.0,108,0.0,304,0.0,108,0.0,304,0.0,108,0.0,304,0.0,108,0.0,304,0.0,108,0.0,312,0.0,108,0.0,308,0.0,108,0.0,304,0.0,108,0.0,308,0.0,108,0.0
arduino:zephyr:unoq:link_mode=static,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,104,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,104,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0
arduino:zephyr_contrib:ek_ra8d1:link_mode=dynamic,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0.0,0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
arduino:zephyr_contrib:ek_ra8d1:link_mode=static,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0.0,0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
arduino:zephyr_contrib:frdm_mcxn947:link_mode=dynamic,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,312,0.02,108,0.04,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
arduino:zephyr_contrib:frdm_mcxn947:link_mode=static,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,108,0.04,0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
arduino:zephyr_contrib:frdm_rw612:link_mode=dynamic,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,336,0.02,132,0.04,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
arduino:zephyr_contrib:frdm_rw612:link_mode=static,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,132,0.03,0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
arduino:zephyr_main:giga:link_mode=dynamic,,,,,,,,,,,,,1272,0.04,164,0.01,1268,0.04,164,0.01,1272,0.04,164,0.01,1268,0.05,164,0.03,1264,0.05,164,0.03,1264,0.05,164,0.03,1268,0.05,164,0.03,1264,0.05,160,0.03,1268,0.05,164,0.04,1268,0.03,164,0.01,1264,0.03,164,0.01,1268,0.03,164,0.01,1268,0.02,164,0.01,1260,0.03,160,0.01,1268,0.01,164,0.0,1268,0.01,164,0.0,1268,0.01,164,0.0,1268,0.01,164,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1268,0.04,164,0.03,1628,0.06,380,0.06,1264,0.03,164,0.01,1272,0.03,164,0.01,1268,0.02,164,0.03,1268,0.05,164,0.03,1268,0.05,164,0.03,1268,0.02,164,0.01,1264,0.02,164,0.01,1268,0.03,164,0.01,1268,0.03,164,0.01
arduino:zephyr_main:giga:link_mode=static,,,,,,,,,,,,,252,0.03,0,0.0,252,0.04,0,0.0,252,0.03,0,0.0,252,0.06,0,0.0,252,0.06,0,0.0,252,0.05,0,0.0,252,0.05,0,0.0,248,0.05,0,0.0,252,0.07,0,0.0,252,0.02,0,0.0,252,0.02,0,0.0,252,0.02,0,0.0,252,0.02,0,0.0,248,0.03,0,0.0,252,0.0,0,0.0,252,0.0,0,0.0,252,0.0,0,0.0,252,0.0,0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,252,0.05,0,0.0,468,0.08,0,0.0,252,0.02,0,0.0,252,0.03,0,0.0,252,0.0,0,0.0,252,0.05,0,0.0,252,0.05,0,0.0,252,0.02,0,0.0,252,0.01,0,0.0,252,0.03,0,0.0,252,0.03,0,0.0
arduino:zephyr_main:nano33ble:link_mode=dynamic,,,,,,,,,,,,,,,,,,,,,,,,,312,0.01,112,0.03,316,0.01,112,0.03,312,0.01,112,0.02,316,0.02,112,0.03,312,0.01,112,0.03,312,0.02,112,0.04,316,0.0,112,0.01,312,0.01,112,0.01,312,0.0,112,0.01,316,0.0,112,0.0,312,0.01,112,0.01,312,0.0,112,0.0,312,0.0,112,0.0,312,0.0,112,0.0,312,0.0,112,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
arduino:zephyr_main:nano33ble:link_mode=static,,,,,,,,,,,,,,,,,,,,,,,,,112,0.03,0,0.0,112,0.02,0,0.0,112,0.02,0,0.0,112,0.03,0,0.0,112,0.03,0,0.0,112,0.04,0,0.0,112,0.01,0,0.0,112,0.01,0,0.0,112,0.01,0,0.0,112,0.0,0,0.0,112,0.01,0,0.0,112,0.0,0,0.0,112,0.0,0,0.0,112,0.0,0,0.0,112,0.0,0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
arduino:zephyr_main:nano_matter:link_mode=dynamic,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0.0,0,0.0,304,0.02,104,0.04,,,,,312,0.01,108,0.01,308,0.01,108,0.01,308,0.01,108,0.01,312,0.0,108,0.01,304,0.01,104,0.01,308,0.0,108,0.0,308,0.0,108,0.0,308,0.0,108,0.0,308,0.0,108,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
arduino:zephyr_main:nano_matter:link_mode=static,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,0.0,0,0.0,104,0.03,0,0.0,,,,,108,0.01,0,0.0,108,0.01,0,0.0,108,0.01,0,0.0,108,0.0,0,0.0,104,0.01,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
arduino:zephyr_main:nicla_vision:link_mode=dynamic,,,,,,,,,,,,,,,,,,,,,,,,,312,0.01,108,0.02,308,0.01,108,0.02,308,0.01,108,0.02,308,0.01,108,0.02,304,0.01,104,0.02,308,0.01,108,0.03,312,0.0,108,0.01,308,0.0,108,0.01,308,0.0,108,0.01,312,0.0,108,0.0,304,0.01,104,0.01,308,0.0,108,0.0,312,0.0,108,0.0,312,0.0,108,0.0,312,0.0,108,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,308,0.01,108,0.02,,,,,308,0.0,108,0.01,312,0.0,108,0.01,312,0.0,108,0.02,308,0.01,108,0.02,312,0.01,108,0.02,,,,,,,,,,,,,,,,,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A
arduino:zephyr_main:nicla_vision:link_mode=static,,,,,,,,,,,,,,,,,,,,,,,,,108,0.03,0,0.0,108,0.03,0,0.0,108,0.02,0,0.0,108,0.03,0,0.0,104,0.02,0,0.0,108,0.03,0,0.0,108,0.01,0,0.0,108,0.01,0,0.0,108,0.01,0,0.0,108,0.0,0,0.0,104,0.01,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,108,0.02,0,0.0,,,,,108,0.01,0,0.0,108,0.01,0,0.0,108,0.0,0,0.0,108,0.02,0,0.0,108,0.02,0,0.0,,,,,,,,,,,,,,,,,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A
arduino:zephyr_main:niclasense:link_mode=dynamic,,,,,,,,,,,,,,,,,,,,,,,,,312,0.02,108,0.05,316,0.02,108,0.03,312,0.02,108,0.03,0,0.0,0,0.0,304,0.02,104,0.04,,,,,308,0.01,108,0.01,312,0.01,108,0.01,308,0.01,108,0.01,308,0.0,108,0.01,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
arduino:zephyr_main:niclasense:link_mode=static,,,,,,,,,,,,,,,,,,,,,,,,,108,0.04,0,0.0,108,0.03,0,0.0,108,0.03,0,0.0,0,0.0,0,0.0,104,0.04,0,0.0,,,,,108,0.01,0,0.0,108,0.01,0,0.0,108,0.01,0,0.0,108,0.0,0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
arduino:zephyr_main:opta:link_mode=dynamic,,,,,,,,,,,,,,,,,,,,,,,,,308,0.02,108,0.03,308,0.02,108,0.03,308,0.02,108,0.03,308,0.02,108,0.03,308,0.02,104,0.03,308,0.02,108,0.03,308,0.01,108,0.01,308,0.01,108,0.01,312,0.01,108,0.01,308,0.0,108,0.0,,,,,308,0.0,108,0.0,312,0.0,108,0.0,312,0.0,108,0.0,312,0.0,108,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,312,0.01,108,0.01,308,0.01,108,0.01,308,0.0,108,0.02,308,0.02,108,0.02,308,0.02,108,0.03,312,0.0,108,0.0,308,0.0,108,0.0,308,0.01,108,0.01,312,0.01,108,0.01,,,,,,,,,,,,,,,,,,,,,396,0.01,136,0.01,400,0.01,136,0.01,396,0.01,136,0.01,400,0.01,136,0.01,400,0.02,136,0.03,396,0.01,132,0.01,400,0.01,132,0.01,396,0.01,136,0.01
arduino:zephyr_main:opta:link_mode=static,,,,,,,,,,,,,,,,,,,,,,,,,108,0.03,0,0.0,108,0.03,0,0.0,108,0.03,0,0.0,108,0.04,0,0.0,104,0.03,0,0.0,108,0.04,0,0.0,108,0.01,0,0.0,108,0.01,0,0.0,108,0.01,0,0.0,108,0.0,0,0.0,,,,,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,108,0.01,0,0.0,108,0.01,0,0.0,108,0.0,0,0.0,108,0.02,0,0.0,108,0.03,0,0.0,108,0.0,0,0.0,108,0.0,0,0.0,108,0.01,0,0.0,108,0.01,0,0.0,,,,,,,,,,,,,,,,,,,,,136,0.01,0,0.0,136,0.01,0,0.0,136,0.01,0,0.0,136,0.01,0,0.0,136,0.04,0,0.0,132,0.01,0,0.0,132,0.01,0,0.0,136,0.02,0,0.0
arduino:zephyr_main:portentac33:link_mode=dynamic,,,,,,,,,,,,,1848,0.06,204,0.01,1840,0.06,204,0.01,1852,0.06,204,0.01,,,,,,,,,,,,,1844,0.08,204,0.03,1840,0.08,200,0.04,1844,0.09,204,0.04,1844,0.04,204,0.01,1844,0.05,204,0.02,1848,0.04,204,0.01,1844,0.04,204,0.01,1844,0.06,200,0.01,1844,0.01,204,0.0,1844,0.01,204,0.0,1844,0.01,204,0.0,1844,0.01,204,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1844,0.07,204,0.03,,,,,1852,0.04,204,0.02,1840,0.05,204,0.02,1848,0.04,204,0.03,1844,0.07,204,0.03,1848,0.08,204,0.03,,,,,,,,,,,,,,,,,,,,,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,2264,0.05,424,0.04,2260,0.06,424,0.04,2264,0.06,424,0.04,2260,0.05,424,0.04,2260,0.09,424,0.07,1980,0.05,292,0.02,2260,0.05,424,0.04,2264,0.06,424,0.04
arduino:zephyr_main:portentac33:link_mode=static,,,,,,,,,,,,,300,0.04,0,0.0,300,0.04,0,0.0,300,0.04,0,0.0,,,,,,,,,,,,,300,0.06,0,0.0,296,0.06,0,0.0,300,0.07,0,0.0,300,0.02,0,0.0,300,0.03,0,0.0,300,0.02,0,0.0,300,0.02,0,0.0,296,0.03,0,0.0,300,0.0,0,0.0,300,0.0,0,0.0,300,0.0,0,0.0,300,0.0,0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,300,0.06,0,0.0,,,,,300,0.02,0,0.0,300,0.03,0,0.0,300,0.01,0,0.0,300,0.05,0,0.0,300,0.06,0,0.0,,,,,,,,,,,,,,,,,,,,,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,N/A,520,0.05,0,0.0,520,0.05,0,0.0,520,0.05,0,0.0,520,0.05,0,0.0,520,0.11,0,0.0,388,0.04,0,0.0,520,0.05,0,0.0,520,0.06,0,0.0
arduino:zephyr_main:portentah7:link_mode=dynamic,,,,,,,,,,,,,1272,0.04,164,0.01,1272,0.04,164,0.01,1272,0.04,164,0.01,1268,0.06,164,0.04,1268,0.05,164,0.04,1268,0.05,164,0.03,1268,0.06,164,0.04,1264,0.06,160,0.03,1268,0.06,164,0.04,1268,0.03,164,0.01,1268,0.03,164,0.01,1264,0.03,164,0.01,1268,0.03,164,0.01,1260,0.04,160,0.01,1268,0.01,164,0.0,1264,0.01,164,0.0,1264,0.01,164,0.0,1264,0.01,164,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1268,0.05,164,0.03,1628,0.07,380,0.08,1264,0.03,164,0.01,1268,0.03,164,0.02,1268,0.02,164,0.03,1268,0.05,164,0.03,1268,0.05,164,0.03,1268,0.02,164,0.01,1268,0.02,164,0.01,1264,0.03,164,0.01,1268,0.04,164,0.01,,,,,,,,,,,,,,,,,,,,,1720,0.04,384,0.04,1720,0.04,384,0.04,1720,0.04,384,0.04,1720,0.04,384,0.04,1720,0.07,384,0.08,1440,0.03,252,0.02,1728,0.04,388,0.04,1724,0.05,384,0.05
arduino:zephyr_main:portentah7:link_mode=static,,,,,,,,,,,,,252,0.04,0,0.0,252,0.04,0,0.0,252,0.04,0,0.0,252,0.07,0,0.0,252,0.06,0,0.0,252,0.06,0,0.0,252,0.07,0,0.0,248,0.06,0,0.0,252,0.08,0,0.0,252,0.02,0,0.0,252,0.02,0,0.0,252,0.02,0,0.0,252,0.02,0,0.0,248,0.03,0,0.0,252,0.0,0,0.0,252,0.0,0,0.0,252,0.0,0,0.0,252,0.0,0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,252,0.05,0,0.0,468,0.1,0,0.0,252,0.02,0,0.0,252,0.03,0,0.0,252,0.0,0,0.0,252,0.05,0,0.0,252,0.06,0,0.0,252,0.02,0,0.0,252,0.01,0,0.0,252,0.03,0,0.0,252,0.03,0,0.0,,,,,,,,,,,,,,,,,,,,,472,0.05,0,0.0,472,0.05,0,0.0,472,0.05,0,0.0,472,0.05,0,0.0,472,0.11,0,0.0,340,0.03,0,0.0,476,0.05,0,0.0,472,0.06,0,0.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants