Seeed Arduino Mic - compatibility matrix

This report was generated on Wednesday, 23-Feb-22 22:48:15 CET using arduino-testlib.

Seeed Arduino Mic

Version: 1.0
More details

Compatibility matrix

Board Claims compatibility Inclusion
mic_serial_plotter
mic_serial_recording
wiotT_fft_display
arduino:avr:uno
1.8.4
Yes ⚠️ FAIL FAIL FAIL FAIL
arduino:mbed_nano:nanorp2040connect
2.7.2
Yes ⚠️ FAIL FAIL FAIL FAIL
arduino:megaavr:nona4809
1.8.7
Yes ⚠️ FAIL FAIL FAIL FAIL
arduino:samd:mkrwifi1010
1.8.12
Yes ⚠️ FAIL FAIL FAIL FAIL
esp32:esp32:d1_mini32
1.0.6
Yes ⚠️ FAIL FAIL FAIL FAIL

Compilation logs

arduino:avr:uno @ 1.8.4

Inclusion

Result: FAIL

/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:3:29: error: 'DMAC_CH_NUM' was not declared in this scope
 volatile dmacdescriptor wrb[DMAC_CH_NUM] __attribute__ ((aligned (16)));          // Write-back DMAC descriptors
                             ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:4:35: error: 'DMAC_CH_NUM' was not declared in this scope
 dmacdescriptor descriptor_section[DMAC_CH_NUM] __attribute__ ((aligned (16)));    // DMAC channel descriptors
                                   ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp: In member function 'uint8_t DMA_ADC_Class::begin()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:15:3: error: 'DMAC' was not declared in this scope
   DMAC->BASEADDR.reg = (uint32_t)descriptor_section;                          // Specify the location of the descriptors
   ^~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:15:3: note: suggested alternative: 'DDRC'
   DMAC->BASEADDR.reg = (uint32_t)descriptor_section;                          // Specify the location of the descriptors
   ^~~~
   DDRC
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:15:34: error: 'descriptor_section' was not declared in this scope
   DMAC->BASEADDR.reg = (uint32_t)descriptor_section;                          // Specify the location of the descriptors
                                  ^~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:15:34: note: suggested alternative: 'descriptor'
   DMAC->BASEADDR.reg = (uint32_t)descriptor_section;                          // Specify the location of the descriptors
                                  ^~~~~~~~~~~~~~~~~~
                                  descriptor
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:16:33: error: 'wrb' was not declared in this scope
   DMAC->WRBADDR.reg = (uint32_t)wrb;                                          // Specify the location of the write back descriptors
                                 ^~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:16:33: note: suggested alternative: 'word'
   DMAC->WRBADDR.reg = (uint32_t)wrb;                                          // Specify the location of the write back descriptors
                                 ^~~
                                 word
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:17:20: error: 'DMAC_CTRL_DMAENABLE' was not declared in this scope
   DMAC->CTRL.reg = DMAC_CTRL_DMAENABLE | DMAC_CTRL_LVLEN(0xf);                // Enable the DMAC peripheral
                    ^~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:17:42: error: 'DMAC_CTRL_LVLEN' was not declared in this scope
   DMAC->CTRL.reg = DMAC_CTRL_DMAENABLE | DMAC_CTRL_LVLEN(0xf);                // Enable the DMAC peripheral
                                          ^~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:18:55: error: 'TC5_DMAC_ID_OVF' was not declared in this scope
   DMAC->Channel[1].CHCTRLA.reg = DMAC_CHCTRLA_TRIGSRC(TC5_DMAC_ID_OVF) |      // Set DMAC to trigger on TC5 timer overflow
                                                       ^~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:18:34: error: 'DMAC_CHCTRLA_TRIGSRC' was not declared in this scope
   DMAC->Channel[1].CHCTRLA.reg = DMAC_CHCTRLA_TRIGSRC(TC5_DMAC_ID_OVF) |      // Set DMAC to trigger on TC5 timer overflow
                                  ^~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:19:34: error: 'DMAC_CHCTRLA_TRIGACT_BURST' was not declared in this scope
                                  DMAC_CHCTRLA_TRIGACT_BURST;                  // DMAC burst transfer
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:22:35: error: 'ADC1' was not declared in this scope
   descriptor.srcaddr = (uint32_t)&ADC1->RESULT.reg;                           // Take the result from the ADC0 RESULT register
                                   ^~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:22:35: note: suggested alternative: 'ADCH'
   descriptor.srcaddr = (uint32_t)&ADC1->RESULT.reg;                           // Take the result from the ADC0 RESULT register
                                   ^~~~
                                   ADCH
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:25:23: error: 'DMAC_BTCTRL_BEATSIZE_HWORD' was not declared in this scope
   descriptor.btctrl = DMAC_BTCTRL_BEATSIZE_HWORD |                            // Beat size is HWORD (16-bits)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:26:23: error: 'DMAC_BTCTRL_DSTINC' was not declared in this scope
                       DMAC_BTCTRL_DSTINC |                                    // Increment the destination address
                       ^~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:27:23: error: 'DMAC_BTCTRL_VALID' was not declared in this scope
                       DMAC_BTCTRL_VALID |                                     // Descriptor is valid
                       ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:28:23: error: 'DMAC_BTCTRL_BLOCKACT_SUSPEND' was not declared in this scope
                       DMAC_BTCTRL_BLOCKACT_SUSPEND;                           // Suspend DMAC channel 0 after block transfer
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:42:20: error: 'DMAC_1_IRQn' was not declared in this scope
   NVIC_SetPriority(DMAC_1_IRQn, 0);    // Set the Nested Vector Interrupt Controller (NVIC) priority for DMAC1 to 0 (highest)
                    ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:42:3: error: 'NVIC_SetPriority' was not declared in this scope
   NVIC_SetPriority(DMAC_1_IRQn, 0);    // Set the Nested Vector Interrupt Controller (NVIC) priority for DMAC1 to 0 (highest)
   ^~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:43:3: error: 'NVIC_EnableIRQ' was not declared in this scope
   NVIC_EnableIRQ(DMAC_1_IRQn);         // Connect DMAC1 to Nested Vector Interrupt Controller (NVIC)
   ^~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:46:37: error: 'DMAC_CHINTENSET_SUSP' was not declared in this scope
   DMAC->Channel[1].CHINTENSET.reg = DMAC_CHINTENSET_SUSP;
                                     ^~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:49:32: error: 'ADC_INPUTCTRL_MUXPOS_AIN12_Val' was not declared in this scope
   ADC1->INPUTCTRL.bit.MUXPOS = ADC_INPUTCTRL_MUXPOS_AIN12_Val; // Set the analog input to ADC1/AIN12
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:53:21: error: 'ADC_CTRLA_PRESCALER_DIV128' was not declared in this scope
   ADC1->CTRLA.reg = ADC_CTRLA_PRESCALER_DIV128;       // Divide Clock ADC GCLK by 128 (48MHz/128 = 375kHz)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:54:21: error: 'ADC_CTRLB_RESSEL_12BIT' was not declared in this scope
   ADC1->CTRLB.reg = ADC_CTRLB_RESSEL_12BIT |          // Set ADC resolution to 12 bits
                     ^~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:55:21: error: 'ADC_CTRLB_FREERUN' was not declared in this scope
                     ADC_CTRLB_FREERUN;                // Set ADC to free run mode
                     ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:66:3: error: 'GCLK' was not declared in this scope
   GCLK->PCHCTRL[TC5_GCLK_ID].reg = GCLK_PCHCTRL_CHEN |        // Enable perhipheral channel for TC5
   ^~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:66:3: note: suggested alternative: 'SCL'
   GCLK->PCHCTRL[TC5_GCLK_ID].reg = GCLK_PCHCTRL_CHEN |        // Enable perhipheral channel for TC5
   ^~~~
   SCL
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:66:17: error: 'TC5_GCLK_ID' was not declared in this scope
   GCLK->PCHCTRL[TC5_GCLK_ID].reg = GCLK_PCHCTRL_CHEN |        // Enable perhipheral channel for TC5
                 ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:66:36: error: 'GCLK_PCHCTRL_CHEN' was not declared in this scope
   GCLK->PCHCTRL[TC5_GCLK_ID].reg = GCLK_PCHCTRL_CHEN |        // Enable perhipheral channel for TC5
                                  

examples/mic_serial_plotter

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/examples/mic_serial_plotter/mic_serial_plotter.ino:1:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/mic.h:25:2: error: #error "This library targets only Wio Terminal boards at the moment"
 #error "This library targets only Wio Terminal boards at the moment"
  ^~~~~

examples/mic_serial_recording

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/examples/mic_serial_recording/mic_serial_recording.ino:1:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/mic.h:25:2: error: #error "This library targets only Wio Terminal boards at the moment"
 #error "This library targets only Wio Terminal boards at the moment"
  ^~~~~

examples/wiotT_fft_display

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/examples/wiotT_fft_display/wiotT_fft_display.ino:38:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/mic.h:25:2: error: #error "This library targets only Wio Terminal boards at the moment"
 #error "This library targets only Wio Terminal boards at the moment"
  ^~~~~
Multiple libraries were found for "arduinoFFT.h"
  Used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/arduinoFFT
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/ProtoCentral_HealthyPi_v4_Library
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/AstroMech

arduino:mbed_nano:nanorp2040connect @ 2.7.2

Inclusion

Result: FAIL

/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:3:29: error: 'DMAC_CH_NUM' was not declared in this scope
 volatile dmacdescriptor wrb[DMAC_CH_NUM] __attribute__ ((aligned (16)));          // Write-back DMAC descriptors
                             ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:4:35: error: 'DMAC_CH_NUM' was not declared in this scope
 dmacdescriptor descriptor_section[DMAC_CH_NUM] __attribute__ ((aligned (16)));    // DMAC channel descriptors
                                   ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp: In member function 'uint8_t DMA_ADC_Class::begin()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:15:3: error: 'DMAC' was not declared in this scope
   DMAC->BASEADDR.reg = (uint32_t)descriptor_section;                          // Specify the location of the descriptors
   ^~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:15:3: note: suggested alternative: 'MAX'
   DMAC->BASEADDR.reg = (uint32_t)descriptor_section;                          // Specify the location of the descriptors
   ^~~~
   MAX
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:15:34: error: 'descriptor_section' was not declared in this scope
   DMAC->BASEADDR.reg = (uint32_t)descriptor_section;                          // Specify the location of the descriptors
                                  ^~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:15:34: note: suggested alternative: 'descriptor'
   DMAC->BASEADDR.reg = (uint32_t)descriptor_section;                          // Specify the location of the descriptors
                                  ^~~~~~~~~~~~~~~~~~
                                  descriptor
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:16:33: error: 'wrb' was not declared in this scope
   DMAC->WRBADDR.reg = (uint32_t)wrb;                                          // Specify the location of the write back descriptors
                                 ^~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:16:33: note: suggested alternative: 'word'
   DMAC->WRBADDR.reg = (uint32_t)wrb;                                          // Specify the location of the write back descriptors
                                 ^~~
                                 word
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:17:20: error: 'DMAC_CTRL_DMAENABLE' was not declared in this scope
   DMAC->CTRL.reg = DMAC_CTRL_DMAENABLE | DMAC_CTRL_LVLEN(0xf);                // Enable the DMAC peripheral
                    ^~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:17:42: error: 'DMAC_CTRL_LVLEN' was not declared in this scope
   DMAC->CTRL.reg = DMAC_CTRL_DMAENABLE | DMAC_CTRL_LVLEN(0xf);                // Enable the DMAC peripheral
                                          ^~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:18:55: error: 'TC5_DMAC_ID_OVF' was not declared in this scope
   DMAC->Channel[1].CHCTRLA.reg = DMAC_CHCTRLA_TRIGSRC(TC5_DMAC_ID_OVF) |      // Set DMAC to trigger on TC5 timer overflow
                                                       ^~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:18:34: error: 'DMAC_CHCTRLA_TRIGSRC' was not declared in this scope
   DMAC->Channel[1].CHCTRLA.reg = DMAC_CHCTRLA_TRIGSRC(TC5_DMAC_ID_OVF) |      // Set DMAC to trigger on TC5 timer overflow
                                  ^~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:19:34: error: 'DMAC_CHCTRLA_TRIGACT_BURST' was not declared in this scope
                                  DMAC_CHCTRLA_TRIGACT_BURST;                  // DMAC burst transfer
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:22:35: error: 'ADC1' was not declared in this scope
   descriptor.srcaddr = (uint32_t)&ADC1->RESULT.reg;                           // Take the result from the ADC0 RESULT register
                                   ^~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:22:35: note: suggested alternative: 'ADC0'
   descriptor.srcaddr = (uint32_t)&ADC1->RESULT.reg;                           // Take the result from the ADC0 RESULT register
                                   ^~~~
                                   ADC0
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:25:23: error: 'DMAC_BTCTRL_BEATSIZE_HWORD' was not declared in this scope
   descriptor.btctrl = DMAC_BTCTRL_BEATSIZE_HWORD |                            // Beat size is HWORD (16-bits)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:26:23: error: 'DMAC_BTCTRL_DSTINC' was not declared in this scope
                       DMAC_BTCTRL_DSTINC |                                    // Increment the destination address
                       ^~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:27:23: error: 'DMAC_BTCTRL_VALID' was not declared in this scope
                       DMAC_BTCTRL_VALID |                                     // Descriptor is valid
                       ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:28:23: error: 'DMAC_BTCTRL_BLOCKACT_SUSPEND' was not declared in this scope
                       DMAC_BTCTRL_BLOCKACT_SUSPEND;                           // Suspend DMAC channel 0 after block transfer
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:42:20: error: 'DMAC_1_IRQn' was not declared in this scope
   NVIC_SetPriority(DMAC_1_IRQn, 0);    // Set the Nested Vector Interrupt Controller (NVIC) priority for DMAC1 to 0 (highest)
                    ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:42:20: note: suggested alternative: 'I2C1_IRQn'
   NVIC_SetPriority(DMAC_1_IRQn, 0);    // Set the Nested Vector Interrupt Controller (NVIC) priority for DMAC1 to 0 (highest)
                    ^~~~~~~~~~~
                    I2C1_IRQn
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:46:37: error: 'DMAC_CHINTENSET_SUSP' was not declared in this scope
   DMAC->Channel[1].CHINTENSET.reg = DMAC_CHINTENSET_SUSP;
                                     ^~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:49:32: error: 'ADC_INPUTCTRL_MUXPOS_AIN12_Val' was not declared in this scope
   ADC1->INPUTCTRL.bit.MUXPOS = ADC_INPUTCTRL_MUXPOS_AIN12_Val; // Set the analog input to ADC1/AIN12
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:53:21: error: 'ADC_CTRLA_PRESCALER_DIV128' was not declared in this scope
   ADC1->CTRLA.reg = ADC_CTRLA_PRESCALER_DIV128;       // Divide Clock ADC GCLK by 128 (48MHz/128 = 375kHz)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:54:21: error: 'ADC_CTRLB_RESSEL_12BIT' was not declared in this scope
   ADC1->CTRLB.reg = ADC_CTRLB_RESSEL_12BIT |          // Set ADC resolution to 12 bits
                     ^~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:54:21: note: suggested alternative: 'ADC_CS_AINSEL_BITS'
   ADC1->CTRLB.reg = ADC_CTRLB_RESSEL_12BIT |          // Set ADC resolution to 12 bits
                     ^~~~~~~~~~~~~~~~~~~~~~
                     ADC_CS_AINSEL_BITS
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:55:21: error: 'ADC_CTRLB_FREERUN' was not declared in this scope
                     ADC_CTRLB_FREERUN;                // Set ADC to free run mode
                     ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:66:3: error: 'GCLK' was not declared in this scope
   GCLK->PCHCTRL[TC5_GCLK_ID].reg = GCLK_PCHCTRL_CHEN |        // Enable perhipheral channel for TC5
   ^~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:66:3: note: suggested alternative: 'SCK'
   GCLK->PCHCTRL[TC5_GCLK_ID].reg = GCLK_PCHCTRL_CHEN |        // Enable perhipheral channel for TC5
   ^~~~
   SCK
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:66:17: error: 'TC5_GCLK_ID' was not declared in this scope
   GCLK->PCHCTRL[TC5_GCLK_ID].reg = GCLK_PCHCTRL_CHEN |        // Enable perhipheral channel for TC5
                 ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:66:36: error: 'GCLK_PCHCTRL_CHEN' was not declared in this scope
   GCLK->PCHCTRL[TC5_GCLK_ID].reg = GCLK_PCHCTRL_CHEN |       

examples/mic_serial_plotter

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/examples/mic_serial_plotter/mic_serial_plotter.ino:1:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/mic.h:25:2: error: #error "This library targets only Wio Terminal boards at the moment"
 #error "This library targets only Wio Terminal boards at the moment"
  ^~~~~

examples/mic_serial_recording

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/examples/mic_serial_recording/mic_serial_recording.ino:1:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/mic.h:25:2: error: #error "This library targets only Wio Terminal boards at the moment"
 #error "This library targets only Wio Terminal boards at the moment"
  ^~~~~

examples/wiotT_fft_display

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/TFT_eSPI/TFT_eSPI.h:71:0,
                 from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/examples/wiotT_fft_display/wiotT_fft_display.ino:37:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/TFT_eSPI/Processors/TFT_eSPI_RP2040.h:107:12: fatal error: FS.h: No such file or directory
   #include <FS.h>
            ^~~~~~
compilation terminated.
Multiple libraries were found for "arduinoFFT.h"
  Used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/arduinoFFT
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/ProtoCentral_HealthyPi_v4_Library
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/AstroMech

arduino:megaavr:nona4809 @ 1.8.7

Inclusion

Result: FAIL

/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:3:29: error: 'DMAC_CH_NUM' was not declared in this scope
 volatile dmacdescriptor wrb[DMAC_CH_NUM] __attribute__ ((aligned (16)));          // Write-back DMAC descriptors
                             ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:4:35: error: 'DMAC_CH_NUM' was not declared in this scope
 dmacdescriptor descriptor_section[DMAC_CH_NUM] __attribute__ ((aligned (16)));    // DMAC channel descriptors
                                   ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp: In member function 'uint8_t DMA_ADC_Class::begin()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:15:3: error: 'DMAC' was not declared in this scope
   DMAC->BASEADDR.reg = (uint32_t)descriptor_section;                          // Specify the location of the descriptors
   ^~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:15:3: note: suggested alternative: 'DDRC'
   DMAC->BASEADDR.reg = (uint32_t)descriptor_section;                          // Specify the location of the descriptors
   ^~~~
   DDRC
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:15:34: error: 'descriptor_section' was not declared in this scope
   DMAC->BASEADDR.reg = (uint32_t)descriptor_section;                          // Specify the location of the descriptors
                                  ^~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:15:34: note: suggested alternative: 'descriptor'
   DMAC->BASEADDR.reg = (uint32_t)descriptor_section;                          // Specify the location of the descriptors
                                  ^~~~~~~~~~~~~~~~~~
                                  descriptor
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:16:33: error: 'wrb' was not declared in this scope
   DMAC->WRBADDR.reg = (uint32_t)wrb;                                          // Specify the location of the write back descriptors
                                 ^~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:16:33: note: suggested alternative: 'word'
   DMAC->WRBADDR.reg = (uint32_t)wrb;                                          // Specify the location of the write back descriptors
                                 ^~~
                                 word
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:17:20: error: 'DMAC_CTRL_DMAENABLE' was not declared in this scope
   DMAC->CTRL.reg = DMAC_CTRL_DMAENABLE | DMAC_CTRL_LVLEN(0xf);                // Enable the DMAC peripheral
                    ^~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:17:42: error: 'DMAC_CTRL_LVLEN' was not declared in this scope
   DMAC->CTRL.reg = DMAC_CTRL_DMAENABLE | DMAC_CTRL_LVLEN(0xf);                // Enable the DMAC peripheral
                                          ^~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:18:55: error: 'TC5_DMAC_ID_OVF' was not declared in this scope
   DMAC->Channel[1].CHCTRLA.reg = DMAC_CHCTRLA_TRIGSRC(TC5_DMAC_ID_OVF) |      // Set DMAC to trigger on TC5 timer overflow
                                                       ^~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:18:34: error: 'DMAC_CHCTRLA_TRIGSRC' was not declared in this scope
   DMAC->Channel[1].CHCTRLA.reg = DMAC_CHCTRLA_TRIGSRC(TC5_DMAC_ID_OVF) |      // Set DMAC to trigger on TC5 timer overflow
                                  ^~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:19:34: error: 'DMAC_CHCTRLA_TRIGACT_BURST' was not declared in this scope
                                  DMAC_CHCTRLA_TRIGACT_BURST;                  // DMAC burst transfer
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:22:35: error: 'ADC1' was not declared in this scope
   descriptor.srcaddr = (uint32_t)&ADC1->RESULT.reg;                           // Take the result from the ADC0 RESULT register
                                   ^~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:22:35: note: suggested alternative: 'ADC0'
   descriptor.srcaddr = (uint32_t)&ADC1->RESULT.reg;                           // Take the result from the ADC0 RESULT register
                                   ^~~~
                                   ADC0
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:25:23: error: 'DMAC_BTCTRL_BEATSIZE_HWORD' was not declared in this scope
   descriptor.btctrl = DMAC_BTCTRL_BEATSIZE_HWORD |                            // Beat size is HWORD (16-bits)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:26:23: error: 'DMAC_BTCTRL_DSTINC' was not declared in this scope
                       DMAC_BTCTRL_DSTINC |                                    // Increment the destination address
                       ^~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:27:23: error: 'DMAC_BTCTRL_VALID' was not declared in this scope
                       DMAC_BTCTRL_VALID |                                     // Descriptor is valid
                       ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:28:23: error: 'DMAC_BTCTRL_BLOCKACT_SUSPEND' was not declared in this scope
                       DMAC_BTCTRL_BLOCKACT_SUSPEND;                           // Suspend DMAC channel 0 after block transfer
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:42:20: error: 'DMAC_1_IRQn' was not declared in this scope
   NVIC_SetPriority(DMAC_1_IRQn, 0);    // Set the Nested Vector Interrupt Controller (NVIC) priority for DMAC1 to 0 (highest)
                    ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:42:3: error: 'NVIC_SetPriority' was not declared in this scope
   NVIC_SetPriority(DMAC_1_IRQn, 0);    // Set the Nested Vector Interrupt Controller (NVIC) priority for DMAC1 to 0 (highest)
   ^~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:43:3: error: 'NVIC_EnableIRQ' was not declared in this scope
   NVIC_EnableIRQ(DMAC_1_IRQn);         // Connect DMAC1 to Nested Vector Interrupt Controller (NVIC)
   ^~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:46:37: error: 'DMAC_CHINTENSET_SUSP' was not declared in this scope
   DMAC->Channel[1].CHINTENSET.reg = DMAC_CHINTENSET_SUSP;
                                     ^~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:49:32: error: 'ADC_INPUTCTRL_MUXPOS_AIN12_Val' was not declared in this scope
   ADC1->INPUTCTRL.bit.MUXPOS = ADC_INPUTCTRL_MUXPOS_AIN12_Val; // Set the analog input to ADC1/AIN12
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:49:32: note: suggested alternative: 'ADC_MUXPOS_AIN12_gc'
   ADC1->INPUTCTRL.bit.MUXPOS = ADC_INPUTCTRL_MUXPOS_AIN12_Val; // Set the analog input to ADC1/AIN12
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                ADC_MUXPOS_AIN12_gc
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:53:21: error: 'ADC_CTRLA_PRESCALER_DIV128' was not declared in this scope
   ADC1->CTRLA.reg = ADC_CTRLA_PRESCALER_DIV128;       // Divide Clock ADC GCLK by 128 (48MHz/128 = 375kHz)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:53:21: note: suggested alternative: 'RTC_PRESCALER_DIV128_gc'
   ADC1->CTRLA.reg = ADC_CTRLA_PRESCALER_DIV128;       // Divide Clock ADC GCLK by 128 (48MHz/128 = 375kHz)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
                     RTC_PRESCALER_DIV128_gc
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:54:21: error: 'ADC_CTRLB_RESSEL_12BIT' was not declared in this scope
   ADC1->CTRLB.reg = ADC_CTRLB_RESSEL_12BIT |          // Set ADC resolution to 12 bits
                     ^~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:54:21: note: suggested alternative: 'ADC_RESSEL_10BIT_gc'
   ADC1->CTRLB.reg = ADC_CTRLB_RESSEL_12BIT |          // Set ADC resolution to 12 bits
                     ^~~~~~~~~~~~~~~~~~~~~~
                     ADC_RESSEL_10BIT_gc
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:55:21: error: 'ADC_CTRLB_FREERUN' was not declared in this scope
                     ADC_CTRLB_FREERUN;                // Set ADC to free run mode
                     ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-dat

examples/mic_serial_plotter

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/examples/mic_serial_plotter/mic_serial_plotter.ino:1:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/mic.h:25:2: error: #error "This library targets only Wio Terminal boards at the moment"
 #error "This library targets only Wio Terminal boards at the moment"
  ^~~~~

examples/mic_serial_recording

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/examples/mic_serial_recording/mic_serial_recording.ino:1:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/mic.h:25:2: error: #error "This library targets only Wio Terminal boards at the moment"
 #error "This library targets only Wio Terminal boards at the moment"
  ^~~~~

examples/wiotT_fft_display

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/examples/wiotT_fft_display/wiotT_fft_display.ino:38:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/mic.h:25:2: error: #error "This library targets only Wio Terminal boards at the moment"
 #error "This library targets only Wio Terminal boards at the moment"
  ^~~~~
Multiple libraries were found for "arduinoFFT.h"
  Used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/arduinoFFT
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/ProtoCentral_HealthyPi_v4_Library
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/AstroMech

arduino:samd:mkrwifi1010 @ 1.8.12

Inclusion

Result: FAIL

/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp: In member function 'uint8_t DMA_ADC_Class::begin()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:18:9: error: 'struct Dmac' has no member named 'Channel'
   DMAC->Channel[1].CHCTRLA.reg = DMAC_CHCTRLA_TRIGSRC(TC5_DMAC_ID_OVF) |      // Set DMAC to trigger on TC5 timer overflow
         ^~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:18:34: error: 'DMAC_CHCTRLA_TRIGSRC' was not declared in this scope
   DMAC->Channel[1].CHCTRLA.reg = DMAC_CHCTRLA_TRIGSRC(TC5_DMAC_ID_OVF) |      // Set DMAC to trigger on TC5 timer overflow
                                  ^~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:18:34: note: suggested alternative: 'DMAC_CHCTRLB_TRIGSRC'
   DMAC->Channel[1].CHCTRLA.reg = DMAC_CHCTRLA_TRIGSRC(TC5_DMAC_ID_OVF) |      // Set DMAC to trigger on TC5 timer overflow
                                  ^~~~~~~~~~~~~~~~~~~~
                                  DMAC_CHCTRLB_TRIGSRC
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:19:34: error: 'DMAC_CHCTRLA_TRIGACT_BURST' was not declared in this scope
                                  DMAC_CHCTRLA_TRIGACT_BURST;                  // DMAC burst transfer
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:19:34: note: suggested alternative: 'DMAC_CHCTRLB_TRIGACT_BEAT'
                                  DMAC_CHCTRLA_TRIGACT_BURST;                  // DMAC burst transfer
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
                                  DMAC_CHCTRLB_TRIGACT_BEAT
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:22:35: error: 'ADC1' was not declared in this scope
   descriptor.srcaddr = (uint32_t)&ADC1->RESULT.reg;                           // Take the result from the ADC0 RESULT register
                                   ^~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:22:35: note: suggested alternative: 'ADC'
   descriptor.srcaddr = (uint32_t)&ADC1->RESULT.reg;                           // Take the result from the ADC0 RESULT register
                                   ^~~~
                                   ADC
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:42:20: error: 'DMAC_1_IRQn' was not declared in this scope
   NVIC_SetPriority(DMAC_1_IRQn, 0);    // Set the Nested Vector Interrupt Controller (NVIC) priority for DMAC1 to 0 (highest)
                    ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:42:20: note: suggested alternative: 'DMAC_IRQn'
   NVIC_SetPriority(DMAC_1_IRQn, 0);    // Set the Nested Vector Interrupt Controller (NVIC) priority for DMAC1 to 0 (highest)
                    ^~~~~~~~~~~
                    DMAC_IRQn
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:46:9: error: 'struct Dmac' has no member named 'Channel'
   DMAC->Channel[1].CHINTENSET.reg = DMAC_CHINTENSET_SUSP;
         ^~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:49:32: error: 'ADC_INPUTCTRL_MUXPOS_AIN12_Val' was not declared in this scope
   ADC1->INPUTCTRL.bit.MUXPOS = ADC_INPUTCTRL_MUXPOS_AIN12_Val; // Set the analog input to ADC1/AIN12
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:49:32: note: suggested alternative: 'ADC_INPUTCTRL_MUXPOS_PIN12_Val'
   ADC1->INPUTCTRL.bit.MUXPOS = ADC_INPUTCTRL_MUXPOS_AIN12_Val; // Set the analog input to ADC1/AIN12
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                ADC_INPUTCTRL_MUXPOS_PIN12_Val
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:53:21: error: 'ADC_CTRLA_PRESCALER_DIV128' was not declared in this scope
   ADC1->CTRLA.reg = ADC_CTRLA_PRESCALER_DIV128;       // Divide Clock ADC GCLK by 128 (48MHz/128 = 375kHz)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:53:21: note: suggested alternative: 'ADC_CTRLB_PRESCALER_DIV128'
   ADC1->CTRLA.reg = ADC_CTRLA_PRESCALER_DIV128;       // Divide Clock ADC GCLK by 128 (48MHz/128 = 375kHz)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
                     ADC_CTRLB_PRESCALER_DIV128
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:63:9: error: 'struct Dmac' has no member named 'Channel'
   DMAC->Channel[1].CHCTRLA.bit.ENABLE = 1;
         ^~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:66:9: error: 'struct Gclk' has no member named 'PCHCTRL'; did you mean 'CTRL'?
   GCLK->PCHCTRL[TC5_GCLK_ID].reg = GCLK_PCHCTRL_CHEN |        // Enable perhipheral channel for TC5
         ^~~~~~~
         CTRL
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:66:36: error: 'GCLK_PCHCTRL_CHEN' was not declared in this scope
   GCLK->PCHCTRL[TC5_GCLK_ID].reg = GCLK_PCHCTRL_CHEN |        // Enable perhipheral channel for TC5
                                    ^~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:66:36: note: suggested alternative: 'GCLK_CLKCTRL_GEN'
   GCLK->PCHCTRL[TC5_GCLK_ID].reg = GCLK_PCHCTRL_CHEN |        // Enable perhipheral channel for TC5
                                    ^~~~~~~~~~~~~~~~~
                                    GCLK_CLKCTRL_GEN
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:67:36: error: 'GCLK_PCHCTRL_GEN_GCLK1' was not declared in this scope
                                    GCLK_PCHCTRL_GEN_GCLK1;    // Connect generic clock 0 at 48MHz
                                    ^~~~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:67:36: note: suggested alternative: 'GCLK_CLKCTRL_GEN_GCLK1'
                                    GCLK_PCHCTRL_GEN_GCLK1;    // Connect generic clock 0 at 48MHz
                                    ^~~~~~~~~~~~~~~~~~~~~~
                                    GCLK_CLKCTRL_GEN_GCLK1
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:69:16: error: 'struct TcCount16' has no member named 'WAVE'
   TC5->COUNT16.WAVE.reg = TC_WAVE_WAVEGEN_MFRQ;               // Set TC5 to Match Frequency (MFRQ) mode
                ^~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:69:27: error: 'TC_WAVE_WAVEGEN_MFRQ' was not declared in this scope
   TC5->COUNT16.WAVE.reg = TC_WAVE_WAVEGEN_MFRQ;               // Set TC5 to Match Frequency (MFRQ) mode
                           ^~~~~~~~~~~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:69:27: note: suggested alternative: 'TCC_WAVE_WAVEGEN_MFRQ'
   TC5->COUNT16.WAVE.reg = TC_WAVE_WAVEGEN_MFRQ;               // Set TC5 to Match Frequency (MFRQ) mode
                           ^~~~~~~~~~~~~~~~~~~~
                           TCC_WAVE_WAVEGEN_MFRQ
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:83:23: error: 'struct TcCount16' has no member named 'SYNCBUSY'
   while (TC5->COUNT16.SYNCBUSY.bit.CC0);                      // Wait for synchronization
                       ^~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:87:23: error: 'struct TcCount16' has no member named 'SYNCBUSY'
   while (TC5->COUNT16.SYNCBUSY.bit.ENABLE);                   // Wait for synchronization
                       ^~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp: In member function 'void DMA_ADC_Class::end()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:96:19: error: 'DMAC_1_IRQn' was not declared in this scope
   NVIC_DisableIRQ(DMAC_1_IRQn);                                  // Disable DMAC1 at Nested Vector Interrupt Controller (NVIC)
                   ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:96:19: note: suggested alternative: 'DMAC_IRQn'
   NVIC_DisableIRQ(DMAC_1_IRQn);                                  // Disable DMAC1 at Nested Vector Interrupt Controller (NVIC)
                   ^~~~~~~~~~~
                   DMAC_IRQn
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp: In member function 'void DMA_ADC_Class::pause()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:101:21: error: 'DMAC_1_IRQn' was not declared in this scope
     NVIC_DisableIRQ(DMAC_1_IRQn);
                     ^~~~~~~~~~~
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:101:21: note: suggested alternative: 'DMAC_IRQn'
     NVIC_DisableIRQ(DMAC_1_IRQn);
                     ^~~~~~~~~~~
                     DMAC_IRQn
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp: In member function 'void DMA_ADC_Class::resume()':
/home/ec2-us

examples/mic_serial_plotter

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/examples/mic_serial_plotter/mic_serial_plotter.ino:1:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/mic.h:25:2: error: #error "This library targets only Wio Terminal boards at the moment"
 #error "This library targets only Wio Terminal boards at the moment"
  ^~~~~

examples/mic_serial_recording

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/examples/mic_serial_recording/mic_serial_recording.ino:1:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/mic.h:25:2: error: #error "This library targets only Wio Terminal boards at the moment"
 #error "This library targets only Wio Terminal boards at the moment"
  ^~~~~

examples/wiotT_fft_display

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/examples/wiotT_fft_display/wiotT_fft_display.ino:38:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/mic.h:25:2: error: #error "This library targets only Wio Terminal boards at the moment"
 #error "This library targets only Wio Terminal boards at the moment"
  ^~~~~
Multiple libraries were found for "arduinoFFT.h"
  Used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/arduinoFFT
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/ProtoCentral_HealthyPi_v4_Library
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/AstroMech

esp32:esp32:d1_mini32 @ 1.0.6

Inclusion

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/data/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/newlib/time.h:15:0,
                 from /home/ec2-user/arduino-testlib/cli-datadir/data/packages/esp32/hardware/esp32/1.0.6/tools/sdk/include/newlib/pthread.h:33,
                 from /home/ec2-user/arduino-testlib/cli-datadir/data/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/xtensa-esp32-elf/bits/gthr-default.h:35,
                 from /home/ec2-user/arduino-testlib/cli-datadir/data/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/xtensa-esp32-elf/bits/gthr.h:148,
                 from /home/ec2-user/arduino-testlib/cli-datadir/data/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/ext/atomicity.h:35,
                 from /home/ec2-user/arduino-testlib/cli-datadir/data/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/basic_string.h:39,
                 from /home/ec2-user/arduino-testlib/cli-datadir/data/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/string:52,
                 from /home/ec2-user/arduino-testlib/cli-datadir/data/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/random:40,
                 from /home/ec2-user/arduino-testlib/cli-datadir/data/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/bits/stl_algo.h:66,
                 from /home/ec2-user/arduino-testlib/cli-datadir/data/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/include/c++/5.2.0/algorithm:62,
                 from /home/ec2-user/arduino-testlib/cli-datadir/data/packages/esp32/hardware/esp32/1.0.6/cores/esp32/Arduino.h:142,
                 from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/base_mic.h:4,
                 from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/base_mic.cpp:1:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/base_mic.h:96:43: error: '_buf_count_ptr' declared as an 'inline' field
   inline static uint8_t *_buf_count_ptr = NULL;
                                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/base_mic.h:96:43: error: 'constexpr' needed for in-class initialization of static data member 'uint8_t* MicClass::_buf_count_ptr' of non-integral type [-fpermissive]
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/base_mic.h:97:43: error: '_buf_size_ptr' declared as an 'inline' field
   inline static uint32_t *_buf_size_ptr = NULL;
                                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/base_mic.h:97:43: error: 'constexpr' needed for in-class initialization of static data member 'uint32_t* MicClass::_buf_size_ptr' of non-integral type [-fpermissive]
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/base_mic.h:98:39: error: 'buf_0_ptr' declared as an 'inline' field
   inline static uint16_t *buf_0_ptr = NULL;
                                       ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/base_mic.h:98:39: error: 'constexpr' needed for in-class initialization of static data member 'uint16_t* MicClass::buf_0_ptr' of non-integral type [-fpermissive]
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/base_mic.h:99:39: error: 'buf_1_ptr' declared as an 'inline' field
   inline static uint16_t *buf_1_ptr = NULL;
                                       ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/base_mic.h:99:39: error: 'constexpr' needed for in-class initialization of static data member 'uint16_t* MicClass::buf_1_ptr' of non-integral type [-fpermissive]
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/base_mic.h:100:43: error: '_debug_pin_ptr' declared as an 'inline' field
   inline static uint8_t *_debug_pin_ptr = NULL;
                                           ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/base_mic.h:100:43: error: 'constex/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/base_mic.h:100:43: error: 'constexpr' needed/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/base_mic.h:102:71: error: '_onReceive' declared as an 'inline' field
   inline static void (*_onReceive)(uint16_t *buf, uint32_t buf_len) = NULL;
                                                                       ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/base_mic.h:102:71: error: 'constexpr' needed for in-class initialization of static data member 'void (* MicClass::_onReceive)(uint16_t*, uint32_t)' of non-integral type [-fpermissive]
tialization of static data member 'void (* MicClass::_onReceive)(uint16_t*, uint32_t)' of non-integral type [-fpermissive]
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:3:29: error: 'DMAC_CH_NUM' was not declared in this scope
 volatile dmacdescriptor wrb[DMAC_CH_NUM] __attribute__ ((aligned (16)));          // Write-back DMAC descriptors
                             ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:4:35: error: 'DMAC_CH_NUM' was not declared in this scope
 dmacdescriptor descriptor_section[DMAC_CH_NUM] __attribute__ ((aligned (16)));    // DMAC channel descriptors
                                   ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp: In member function 'uint8_t DMA_ADC_Class::begin()':
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:15:3: error: 'DMAC' was not declared in this scope
   DMAC->BASEADDR.reg = (uint32_t)descriptor_section;                          // Specify the location of the descriptors
   ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:15:34: error: 'descriptor_section' was not declared in this scope
   DMAC->BASEADDR.reg = (uint32_t)descriptor_section;                          // Specify the location of the descriptors
                                  ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:16:33: error: 'wrb' was not declared in this scope
   DMAC->WRBADDR.reg = (uint32_t)wrb;                                          // Specify the location of the write back descriptors
                                 ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:17:20: error: 'DMAC_CTRL_DMAENABLE' was not declared in this scope
   DMAC->CTRL.reg = DMAC_CTRL_DMAENABLE | DMAC_CTRL_LVLEN(0xf);                // Enable the DMAC peripheral
                    ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:17:61: error: 'DMAC_CTRL_LVLEN' was not declared in this scope
   DMAC->CTRL.reg = DMAC_CTRL_DMAENABLE | DMAC_CTRL_LVLEN(0xf);                // Enable the DMAC peripheral
                                                             ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:18:55: error: 'TC5_DMAC_ID_OVF' was not declared in this scope
   DMAC->Channel[1].CHCTRLA.reg = DMAC_CHCTRLA_TRIGSRC(TC5_DMAC_ID_OVF) |      // Set DMAC to trigger on TC5 timer overflow
                                                       ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:18:70: error: 'DMAC_CHCTRLA_TRIGSRC' was not declared in this scope
   DMAC->Channel[1].CHCTRLA.reg = DMAC_CHCTRLA_TRIGSRC(TC5_DMAC_ID_OVF) |      // Set DMAC to trigger on TC5 timer overflow
                                                                      ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:19:34: error: 'DMAC_CHCTRLA_TRIGACT_BURST' was not declared in this scope
                                  DMAC_CHCTRLA_TRIGACT_BURST;                  // DMAC burst transfer
                                  ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:22:35: error: 'ADC1' was not declared in this scope
   descriptor.srcaddr = (uint32_t)&ADC1->RESULT.reg;                           // Take the result from the ADC0 RESULT register
                                   ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:25:23: error: 'DMAC_BTCTRL_BEATSIZE_HWORD' was not declared in this scope
   descriptor.btctrl = DMAC_BTCTRL_BEATSIZE_HWORD |                            // Beat size is HWORD (16-bits)
                       ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:26:23: error: 'DMAC_BTCTRL_DSTINC' was not declared in this scope
                       DMAC_BTCTRL_DSTINC |                                    // Increment the destination address
                       ^
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/hardware/dma_adc.cpp:27:23: error: 'DMAC_BTCTRL_VALID' was not declared in this scope
                       DMAC_BTCTRL_VALID |                                     // Descriptor is valid
 

examples/mic_serial_plotter

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/examples/mic_serial_plotter/mic_serial_plotter.ino:1:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/mic.h:25:2: error: #error "This library targets only Wio Terminal boards at the moment"
 #error "This library targets only Wio Terminal boards at the moment"
  ^

examples/mic_serial_recording

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/examples/mic_serial_recording/mic_serial_recording.ino:1:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/mic.h:25:2: error: #error "This library targets only Wio Terminal boards at the moment"
 #error "This library targets only Wio Terminal boards at the moment"
  ^

examples/wiotT_fft_display

Result: FAIL

In file included from /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/examples/wiotT_fft_display/wiotT_fft_display.ino:38:0:
/home/ec2-user/arduino-testlib/cli-datadir/user/libraries/Seeed_Arduino_Mic/src/mic.h:25:2: error: #error "This library targets only Wio Terminal boards at the moment"
 #error "This library targets only Wio Terminal boards at the moment"
  ^
Multiple libraries were found for "arduinoFFT.h"
  Used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/arduinoFFT
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/AstroMech
  Not used: /home/ec2-user/arduino-testlib/cli-datadir/user/libraries/ProtoCentral_HealthyPi_v4_Library