Coder Social home page Coder Social logo

w80x_arduino's People

Contributors

board707 avatar ioliveirafarias avatar nulllaborg avatar reppad avatar rudolphriedel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

w80x_arduino's Issues

Java runtime exception when select the board in Arduino IDE prior to 1.8.x

The package seems to incompatible with IDE prior to 1.8.13
The error message

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at processing.app.BaseNoGui.getBoardPreferences(BaseNoGui.java:165) at processing.app.BaseNoGui.onBoardOrPortChange(BaseNoGui.java:804) at processing.app.Base.onBoardOrPortChange(Base.java:1301) at processing.app.Base$12.actionPerformed(Base.java:1524) at processing.app.Base.filterVisibilityOfSubsequentBoardMenus(Base.java:1563) at processing.app.Base.access$000(Base.java:81) at processing.app.Base$11.actionPerformed(Base.java:1496) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:308) at javax.swing.AbstractButton.doClick(AbstractButton.java:376) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877) at java.awt.Component.processMouseEvent(Component.java:6533) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
I have no ideas what it mean.

Board variants missing

Hi,
I have installed the latest version of the package support, but there are some boards missing. I have support for only
W801, W805, W806, and Air103. I don't have for Air101, W800, and W802. I tried to reinstall the package, but it is the same.

Any suggestion?

Regards

SPI issues

I am just playing with a W806 board and SPI.
I intend to look deeper but this is what I found now.

I have this little sketch:
#include <Arduino.h>
#include <SPI.h>

#define EVE_CS PB10
#define EVE_PDN PB11

void setup()
{
pinMode(EVE_CS, OUTPUT);
digitalWrite(EVE_CS, HIGH);
pinMode(EVE_PDN, OUTPUT);
digitalWrite(EVE_PDN, LOW);

SPI.begin(); /* sets up the SPI to run in Mode 0 and 1 MHz */
SPI.beginTransaction(SPISettings(8000000, MSBFIRST, SPI_MODE0));
}

void loop()
{
delay(2);

digitalWrite(EVE_CS, LOW);
SPI.transfer(0x55);
SPI.transfer(0xaa);
SPI.transfer(0x55);
digitalWrite(EVE_CS, HIGH);

digitalWrite(EVE_CS, LOW);
uint32_t buffer = 0x55aa55aa;
SPI.transfer(&buffer, 3);
digitalWrite(EVE_CS, HIGH);
}

And this is what I get in the logic analyzer:
grafik

So well, on a quick glance everything is working, there are a couple of issues though.

  • the frequency of that SPI is not 8 MHz, it is 1MHz.
  • the pause between the single byte transfers is over 7µs
  • MOSI behaves a bit odd, like the default seems to be low but sometimes it goes high

grafik
grafik
grafik

I'll have a look to see what can be done about this.

Error: 13 INTERNAL: can not install w80x_duino

I am in China and I am unable to use the link you posted above. I am able to use it----- http://dl.isme.fun/w80x_arduino/package_w80x_index.json----- Found in Arduino

The development board for w80x, but it cannot be installed. The error is the same as the previous friend. Can you help solve some of it? Thank you!
Error: 13 INTERNAL: can not install w80x_duino:[email protected] tool: Searching the package root directory:There is no unique root directory in the archive,find
/ ‘C:\Users\JerdeePC\AppData\Local\Arduino15\tmp\package-727441305\bin’ 和 ‘C:\Users\JerdeePC\AppData\Local\Arduino15\tmp\package-727441305\csky-elfabiv2’

Could the C++ standard library be supplemented?

Hello! I'm trying to use the Arduino core(version 0.0.6) to built a matrix calculation program for my W806 board. I'm using the library ArduinoEigen([https://github.com/hideakitai/ArduinoEigen]) to build a simple example as below

#include <Arduino.h>
#include <stdio.h>
#include <cmath>

using namespace std;
using Eigen::MatrixXd;

void setup() {
    Serial.begin(115200);
    delay(2000);

    MatrixXd m(2, 2);
    m(0, 0) = 3;
    m(1, 0) = 2.5;
    m(0, 1) = -1;
    m(1, 1) = m(1, 0) + m(0, 1);

    Serial.println("m =");
    Serial.print(m(0, 0));
    Serial.print(" ");
    Serial.print(m(0, 1));
    Serial.println();
    Serial.print(m(1, 0));
    Serial.print(" ");
    Serial.print(m(1, 1));
    Serial.println();
}

void loop() {
  // put your main code here, to run repeatedly:

}

But when I compile it, the complier report errors as

Eigen/src/Core/MathFunctions.h:1318:21: error: 'fabsl' was not declared in this scope
   return fabsl(x - y);
Eigen/src/Core/arch/Default/BFloat16.h:477:19: error: 'std::isinf' has not been declared
   EIGEN_USING_STD(isinf);
Eigen/src/Core/arch/Default/BFloat16.h:251:25: error: expected unqualified-id before '(' token
     output.value = std::signbit(v) ? 0xFFC0: 0x7FC0;

It took me a long time to realize that the cause of this problem was the incomplete C++ standard library in the toolchain(I suspected the Arduino Core problem before), as I test this example on other boards(STM32F103 Bluepill, RaspberryPi pico, etc.), all of them went well. Considering that the W806 board has a very high main frequency compared to other boards in its price range, and also the board got a FPU. Is there any chance to do a C++ standard library patch to make the board support the Eigen lib?

Thanks for your effort to develop this efficient core!

Compatibilyty with DHT series

Дмитрий привет! Сделал тесты на совместимость с библиотекой DHTStable.
Работает, но нужно кое что добавить в ядро

DHT_Compat.zip

Тест
image

Failed to install platform: w80x_duino:XT804.

when i install this package it turns to
Error: 13 INTERNAL: can not install w80x_duino:[email protected] tool: Searching the package root directory:There is no unique root directory in the archive,find
/ ‘C:\Users\JerdeePC\AppData\Local\Arduino15\tmp\package-727441305\bin’ 和 ‘C:\Users\JerdeePC\AppData\Local\Arduino15\tmp\package-727441305\csky-elfabiv2’

gcc errror (solution)

Like many of us I have found problems with the gcc compiler in Linux, I don't know if you are aware of this new version, that's why I upload it, I would have to make a tar.gz to replace the previous version

Can Not get (2) PSRAM chips to work together

Hey AnatolSher , thanks for the help with getting the 1st PSRAM chip to work !

--

But now I am using Multiple PSRAM chips.

I stacked (2) chips.

PSRAM Wiring :

PB6 + PB1   CS     \/   +Vdd
      PB3   IO1/SO  IO3/Hold    PB5 
      PB4   IO2/WP      SCLK    PB0  
            Gnd-      SI/IO0    PB2 

1st Chip has CS connected to BP1 - with 100K resistor tied to V++.
2nd Chip has CS connected to BP6 - with 100K resistor tied to V++ also.

It works fine, if I ONLY Initialize PSRAM with CS PB1.

--

But if I disable PB1 cs as :

  /// DeSelect cs=PB1 : ///
  pinMode(      PB1 , OUTPUT );
  digitalWrite( PB1 , HIGH   );

Then ReInit PSRAM :

PSRAM_ReInit_CS( GPIOB , GPIO_PIN_6 );

static void  PSRAM_ReInit_CS( GPIO_TypeDef* gpio_N , int cs_N )
{
 //  __HAL_RCC_PSRAM_CLK_ENABLE();
 //  __HAL_RCC_GPIO_CLK_ENABLE();

/*  
  BRD PSRAM :
PB1   CS    \/   +Vdd
PB3   IO1/SO IO3/Hold    PB5 
PB4   IO2/WP     SCLK    PB0  
      Gnd-     SI/IO0    PB2 
*/

 //  __HAL_AFIO_REMAP_PSRAM_CS(GPIOB, GPIO_PIN_1);   // PB1 / CS   // CS 
  __HAL_AFIO_REMAP_PSRAM_CS( gpio_N , cs_N );   //  ..  CS   // CS 
 
  __HAL_AFIO_REMAP_PSRAM_CLK(GPIOB, GPIO_PIN_0);  // PB0 / SCLK // SCK 
  __HAL_AFIO_REMAP_PSRAM_D0(GPIOB, GPIO_PIN_2);   // PB2 / MOSI // SI/IO0 
  __HAL_AFIO_REMAP_PSRAM_D1(GPIOB, GPIO_PIN_3);   // PB3 / MISO // SO/IO1 
  __HAL_AFIO_REMAP_PSRAM_D2(GPIOB, GPIO_PIN_4);   // PB4        // WP/IO2 
  __HAL_AFIO_REMAP_PSRAM_D3(GPIOB, GPIO_PIN_5);   // PB5        // Hold/IO3 

  hpsram.Instance  = PSRAM;
 //   hpsram.Init.Div  = 2;    // - (160MHz) BAD DATA on Ips6404 - 
   hpsram.Init.Div  = 3;    // - (80MHz) WORKS on Ips6404 -
//  hpsram.Init.Div  = 0 ;  // => 0xFF ...
////   hpsram.Init.Div  = 4 ; // = 5 , = 8 ;
 ////  hpsram.Init.Div  = 15;  // = 2-15
////  hpsram.Init.Div  = 20;
////  hpsram.Init.Div  = 32;
  hpsram.Init.Mode = PSRAM_MODE_QSPI;

  if (HAL_PSRAM_Init(&hpsram) != HAL_OK)
  {
    Serial.printf("Init error...\r\n");
  }
}

=>
*** It Just Reads FFs from either PSRAM ... !!!

-- Maybe I need to DeInit PSRAM before Init_PSRAM() again ???

I am a fan of Chinese.

Hello, I am a fan of Chinese. I used your w80x motherboard and Arduino programming to display a 0.96-inch TFT screen, but I tried many times and couldn't successfully display it completely. There is also a 1.3-inch screen with a 240 * 240 display and ILI9341 display, but the colors always don't match. Red will display yellow, blue will display light blue, and black will display white. I wonder if you can continue to update to allow w80x to support more screen displays. There is also a bug. When I use the default I2C, which is PA1/PA4, as I2C, and then use PA2 as AD input, it will get stuck and unable to initialize. I hope to... Waiting for your update to resolve all the above issues, thank you!

Conversion wait of 1ms is ridiculous - can we set up a continuous ADC conversion on Callback ???

A Conversion wait of 1ms on this high speed microcontroller seems ridiculous.

Could we have a continuous loop reading the ADC pin(s) - then post the readings in a global Var to read at our convenience - instead of holding the micro up ?

Ie: Is there a way simple to Start the Adc Conversion, then Set the Result into a glabal (such as LastAdcReading) in the Callback.

=>

Looking at :

int HAL_ADC_GET_INPUT_VOLTAGE(ADC_HandleTypeDef* hadc)
{
int value;
double voltage = 0.0;

assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));

HAL_ADC_Start(hadc);
HAL_ADC_PollForConversion(hadc);
HAL_ADC_Stop(hadc);

value = HAL_ADC_GetValue(hadc);
voltage = (double)value / 4.0 * (126363 / 1000.0) / 1000000 + 1.196;

value = (int)(voltage * 1000);
return value;

}

=>

For example to use :

double ADC_Last = 0.0 ;

main()
{
...
ADC_Init();
// HAL_ADC_Init(hadc);
...
}

static void ADC_Init(void)
{
hadc.Instance = ADC;
hadc.Init.channel = ADC_CHANNEL_0;
hadc.Init.freq = 1000;

if (HAL_ADC_Init(&hadc) != HAL_OK)
{
    Error_Handler();
}

}

void ADC_Start()
{
assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));

HAL_ADC_Start(hadc);

// HAL_ADC_PollForConversion(hadc);
}

void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
{
int value;
double voltage = 0.0;

// HAL_ADC_PollForConversion(hadc);
HAL_ADC_Stop(hadc);

value = HAL_ADC_GetValue(hadc);
voltage = (double)value / 4.0 * (126363 / 1000.0) / 1000000 + 1.196;

value = (int)(voltage * 1000);
ADC_Last = value ;

;

assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));

HAL_ADC_Start(hadc);

// HAL_ADC_PollForConversion(hadc);
}

attachInterrupt error

Привет! Тестировщики из поднебесной нарыли ошибку.
Не верна последовательность параметров передаваемых в функцию attachInterrupt(), и нет заглушки для функции digitalPinToInterrupt(). Механизм присоединения пользовательской обработки прерывания на GPIO не соответствует текущей документации на Arduino

PWM error

Hello! PWM work not correctly.
`
// MultiPWM not worked. In this example, PB0 does not work correctly. However, when there is no PWM signal on the other pins, PB0 works fine.

#include <Arduino.h>
#include <stdio.h>

#define DUTY_MAX 250
#define DUTY_MIN 50

int pwm_pins[3] = { PB0, PB1, PB2 };

void setup() {
//put your setup code here, to run once:
pinMode(pwm_pins[0], PWM_OUT);
pinMode(pwm_pins[1], PWM_OUT);
pinMode(pwm_pins[2], PWM_OUT);

analogWrite(pwm_pins[0], DUTY_MAX);
analogWrite(pwm_pins[1], DUTY_MAX);
analogWrite(pwm_pins[2], DUTY_MAX);
}

void loop() {
// put your main code here, to run repeatedly:

for (int pw = 0; pw < 3; pw++) {

for (int i = DUTY_MAX; i > DUTY_MIN; i--) {
  analogWrite(pwm_pins[pw], i);
  delay(1);
}
for (int i = DUTY_MIN; i < DUTY_MAX; i++) {
  analogWrite(pwm_pins[pw], i);
  delay(1);
}

}
}
`

Timer interrupt

Попытался помигать диодом через таймер.
Взял пример работы с таймером из SDK и ример HAL_LED
Сконфигурировал таймер с периодом в 1 сек и в обработчик прерывания по переполнению положил код мигания светодиодами из HAL_LED.
Код компилируется без ошибок, но не мигает.
Вот код. Посмотрите, может что посоветуете.

#include <stdio.h>
#include <Arduino.h>


void Error_Handler_tim(void);
static void TIM1_Init(void);



TIM_HandleTypeDef htim1;
static volatile uint8_t key_flag = 0;

static void GPIO_Init(void)
{
    GPIO_InitTypeDef GPIO_InitStruct = {0};

    __HAL_RCC_GPIO_CLK_ENABLE();

    GPIO_InitStruct.Pin = GPIO_PIN_24 | GPIO_PIN_25 | GPIO_PIN_26;
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
    
}
static void TIM1_Init(void)
{
    htim1.Instance = TIM1;
    htim1.Init.Unit = TIM_UNIT_MS;
    htim1.Init.Period = 1000;
    htim1.Init.AutoReload = TIM_AUTORELOAD_PRELOAD_ENABLE;
    if (HAL_TIM_Base_Init(&htim1) != HAL_OK)
    {
        printf("TIM init error\r\n");
        Error_Handler_tim();
    }
     
     if (HAL_TIM_Base_Start_IT(&htim1) != HAL_OK)
    {
        printf("TIM start_it error\r\n");
        Error_Handler_tim();
    }
   HAL_NVIC_SetPriority(TIM_IRQn, 0);
   HAL_NVIC_EnableIRQ(TIM_IRQn);
}

void setup() {

    printf("Led Demo\r\n");
    
    HAL_Init();
    GPIO_Init();
    TIM1_Init();
    
}
void blink() {
  key_flag++;
    //printf("fire\r\n");
    if (key_flag % 3 == 0)
    {
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_24, (GPIO_PinState)0);
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_25, (GPIO_PinState)1);
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_26, (GPIO_PinState)1);
    }
    else if (key_flag % 3 == 1)
    {
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_24, (GPIO_PinState)1);
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_25, (GPIO_PinState)0);
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_26, (GPIO_PinState)1);
    }
    else
    {
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_24, (GPIO_PinState)1);
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_25, (GPIO_PinState)1);
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_26, (GPIO_PinState)0);
    }
}
void loop() {

    HAL_Delay(500);
}

void Error_Handler_tim(void)
{
    while (1);
}


void HAL_TIM_Callback(TIM_HandleTypeDef *htim)
{
   
    if (htim->Instance == TIM1)
    {
        blink();
    }
   
}

__attribute__((isr)) void TIM0_5_IRQHandler(void)
{
    
    HAL_TIM_IRQHandler(&htim1);
 }

digitalWrite HIGH and LOW seems to be flipped?

I was trying to run a modified blink sketch to make a pattern on the w801 board. I first tried setting all seven leds HIGH and didn't bother setting them low; so only led1 was getting LOW. I noticed that only LED1 was turning on, then I tried setting other LEDs low one by one.

They seem to turn on when LOW and off when HIGH.

The system crashes when ADC and hw i2c are used at the same time

Thank you for helping me solve the problem. I am currently encountering a situation where the LED screen SSD1306 of U8G2 using PA1 and PA4 as hardware I2C freezes when reading the ADC voltage. You can use software to simulate I2C at other pins, but the refresh rate displayed is too slow. We look forward to resolving this issue soon. Thank you!

Float calculations are not fully functional

Hello! I'm trying to do an SVD decomposition of a 2x2 matrix using the Eigen library (Arduino port) on the W806 development board, but the following error occurs when compiling the code, which seems to be missing some std library. BTW, I'm using the version 0.0.6.
Error messages:

In file included from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Core:19:0,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Dense:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Eigen:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen.h:10,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:2:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h: In static member function 'static Scalar Eigen::internal::round_impl<Scalar>::run(const Scalar&)':
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h:477:21: error: 'std::round' has not been declared
     EIGEN_USING_STD(round);
                     ^
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/util/Macros.h:1185:44: note: in definition of macro 'EIGEN_USING_STD'
   #define EIGEN_USING_STD(FUNC) using std::FUNC;
                                            ^~~~
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h: In static member function 'static Scalar Eigen::internal::rint_impl<Scalar>::run(const Scalar&)':
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h:540:23: error: 'std::rint' has not been declared
       EIGEN_USING_STD(rint);
                       ^
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/util/Macros.h:1185:44: note: in definition of macro 'EIGEN_USING_STD'
   #define EIGEN_USING_STD(FUNC) using std::FUNC;
                                            ^~~~
In file included from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Core:171:0,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Dense:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Eigen:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen.h:10,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:2:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h: In static member function 'static Scalar Eigen::internal::expm1_impl<Scalar>::run(const Scalar&)':
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h:679:16: error: 'std::expm1' has not been declared
     using std::expm1;
                ^~~~~
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h: In static member function 'static Scalar Eigen::internal::log1p_impl<Scalar>::run(const Scalar&)':
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h:743:16: error: 'std::log1p' has not been declared
     using std::log1p;
                ^~~~~
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h: In function 'typename Eigen::internal::enable_if<((! std::is_integral<_Tp>::value) && (! Eigen::NumTraits<T>::IsComplex)), bool>::type Eigen::internal::isfinite_impl(const T&)':
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h:988:16: error: 'std::isfinite' has not been declared
     using std::isfinite;
                ^~~~~~~~
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h: In function 'typename Eigen::internal::enable_if<((! std::is_integral<_Tp>::value) && (! Eigen::NumTraits<T>::IsComplex)), bool>::type Eigen::internal::isinf_impl(const T&)':
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h:1003:16: error: 'std::isinf' has not been declared
     using std::isinf;
                ^~~~~
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h: In function 'typename Eigen::internal::enable_if<((! std::is_integral<_Tp>::value) && (! Eigen::NumTraits<T>::IsComplex)), bool>::type Eigen::internal::isnan_impl(const T&)':
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h:1018:16: error: 'std::isnan' has not been declared
     using std::isnan;
                ^~~~~
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h: In function 'T Eigen::numext::absdiff(const T&, const T&) [with T = long double]':
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h:1318:21: error: 'fabsl' was not declared in this scope
   return fabsl(x - y);
                     ^
In file included from c:\users\xiaowang-unofficial\appdata\local\arduino15\packages\w80x_duino\tools\csky\2021.04.23\csky-elfabiv2\include\c++\6.3.0\cmath:45:0,
                 from c:\users\xiaowang-unofficial\appdata\local\arduino15\packages\w80x_duino\tools\csky\2021.04.23\csky-elfabiv2\include\c++\6.3.0\math.h:36,
                 from C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Arduino.h:7,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:1:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h: In function 'Eigen::bfloat16_impl::__bfloat16_raw Eigen::bfloat16_impl::truncate_to_bfloat16(float)':
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h:251:25: error: expected unqualified-id before '(' token
     output.value = std::signbit(v) ? 0xFFC0: 0x7FC0;
                         ^
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h:251:25: error: '__signbitf' was not declared in this scope
     output.value = std::signbit(v) ? 0xFFC0: 0x7FC0;
                         ^
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h:251:25: error: '__signbitd' was not declared in this scope
     output.value = std::signbit(v) ? 0xFFC0: 0x7FC0;
                         ^
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h: In function 'Eigen::bfloat16_impl::__bfloat16_raw Eigen::bfloat16_impl::float_to_bfloat16_rtne(float) [with bool AssumeArgumentIsNormalOrInfinityOrZero = false]':
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h:286:25: error: expected unqualified-id before '(' token
     output.value = std::signbit(ff) ? 0xFFC0: 0x7FC0;
                         ^
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h:286:25: error: '__signbitf' was not declared in this scope
     output.value = std::signbit(ff) ? 0xFFC0: 0x7FC0;
                         ^
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h:286:25: error: '__signbitd' was not declared in this scope
     output.value = std::signbit(ff) ? 0xFFC0: 0x7FC0;
                         ^
In file included from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Core:19:0,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Dense:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Eigen:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen.h:10,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:2:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h: In function 'bool Eigen::bfloat16_impl::isinf(const Eigen::bfloat16&)':
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h:477:19: error: 'std::isinf' has not been declared
   EIGEN_USING_STD(isinf);
                   ^
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/util/Macros.h:1185:44: note: in definition of macro 'EIGEN_USING_STD'
   #define EIGEN_USING_STD(FUNC) using std::FUNC;
                                            ^~~~
In file included from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Core:177:0,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Dense:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Eigen:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen.h:10,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:2:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h:478:18: error: invalid initialization of reference of type 'const Eigen::bfloat16&' from expression of type 'float'
   return (isinf)(float(a));
                  ^~~~~~~~
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h:476:45: note: in passing argument 1 of 'bool Eigen::bfloat16_impl::isinf(const Eigen::bfloat16&)'
 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool (isinf)(const bfloat16& a) {
                                             ^~~~~
In file included from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Core:19:0,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Dense:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Eigen:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen.h:10,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:2:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h: In function 'bool Eigen::bfloat16_impl::isnan(const Eigen::bfloat16&)':
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h:481:19: error: 'std::isnan' has not been declared
   EIGEN_USING_STD(isnan);
                   ^
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/util/Macros.h:1185:44: note: in definition of macro 'EIGEN_USING_STD'
   #define EIGEN_USING_STD(FUNC) using std::FUNC;
                                            ^~~~
In file included from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Core:177:0,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Dense:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Eigen:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen.h:10,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:2:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h:482:18: error: invalid initialization of reference of type 'const Eigen::bfloat16&' from expression of type 'float'
   return (isnan)(float(a));
                  ^~~~~~~~
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h:480:45: note: in passing argument 1 of 'bool Eigen::bfloat16_impl::isnan(const Eigen::bfloat16&)'
 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool (isnan)(const bfloat16& a) {
                                             ^~~~~
In file included from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Core:287:0,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Dense:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Eigen:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen.h:10,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:2:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/DenseStorage.h: At global scope:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/DenseStorage.h:142:43: warning: requested alignment 64 is larger than 32 [-Wattributes]
   EIGEN_ALIGN_TO_BOUNDARY(64) T array[Size];
                                           ^
C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino: In function 'void setup()':
C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:33:38: error: no matching function for call to 'HardwareSerial::println(const SingularValuesType&)'
   Serial.println(svd.singularValues());
                                      ^
In file included from C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Stream.h:16:0,
                 from C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Arduino.h:19,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:1:
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:207:12: note: candidate: size_t Print::println()
     size_t println(void);
            ^~~~~~~
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:207:12: note:   candidate expects 0 arguments, 1 provided
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:216:12: note: candidate: size_t Print::println(const String&)
     size_t println(const String &s);
            ^~~~~~~
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:216:12: note:   no known conversion for argument 1 from 'const SingularValuesType {aka const Eigen::Matrix<float, 2, 1>}' to 'const String&'
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:217:12: note: candidate: size_t Print::println(const __FlashStringHelper*)
     size_t println(const __FlashStringHelper *rhs);
            ^~~~~~~
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:217:12: note:   no known conversion for argument 1 from 'const SingularValuesType {aka const Eigen::Matrix<float, 2, 1>}' to 'const __FlashStringHelper*'
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:226:12: note: candidate: size_t Print::println(const char*)
     size_t println(const char []);
            ^~~~~~~
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:226:12: note:   no known conversion for argument 1 from 'const SingularValuesType {aka const Eigen::Matrix<float, 2, 1>}' to 'const char*'
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:235:12: note: candidate: size_t Print::println(char)
     size_t println(char);
            ^~~~~~~
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:235:12: note:   no known conversion for argument 1 from 'const SingularValuesType {aka const Eigen::Matrix<float, 2, 1>}' to 'char'
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:245:12: note: candidate: size_t Print::println(unsigned char, int)
     size_t println(unsigned char, int = DEC);
            ^~~~~~~
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:245:12: note:   no known conversion for argument 1 from 'const SingularValuesType {aka const Eigen::Matrix<float, 2, 1>}' to 'unsigned char'
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:255:12: note: candidate: size_t Print::println(int, int)
     size_t println(int, int = DEC);
            ^~~~~~~
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:255:12: note:   no known conversion for argument 1 from 'const SingularValuesType {aka const Eigen::Matrix<float, 2, 1>}' to 'int'
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:265:12: note: candidate: size_t Print::println(unsigned int, int)
     size_t println(unsigned int, int = DEC);
            ^~~~~~~
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:265:12: note:   no known conversion for argument 1 from 'const SingularValuesType {aka const Eigen::Matrix<float, 2, 1>}' to 'unsigned int'
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:275:12: note: candidate: size_t Print::println(long int, int)
     size_t println(long, int = DEC);
            ^~~~~~~
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:275:12: note:   no known conversion for argument 1 from 'const SingularValuesType {aka const Eigen::Matrix<float, 2, 1>}' to 'long int'
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:285:12: note: candidate: size_t Print::println(long unsigned int, int)
     size_t println(unsigned long, int = DEC);
            ^~~~~~~
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:285:12: note:   no known conversion for argument 1 from 'const SingularValuesType {aka const Eigen::Matrix<float, 2, 1>}' to 'long unsigned int'
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:295:12: note: candidate: size_t Print::println(double, int)
     size_t println(double, int = BIN);
            ^~~~~~~
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:295:12: note:   no known conversion for argument 1 from 'const SingularValuesType {aka const Eigen::Matrix<float, 2, 1>}' to 'double'
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:304:12: note: candidate: size_t Print::println(const Printable&)
     size_t println(const Printable &);
            ^~~~~~~
C:\Users\XiaoWang-Unofficial\AppData\Local\Arduino15\packages\w80x_duino\hardware\XT804\0.0.6\cores\w806/Print.h:304:12: note:   no known conversion for argument 1 from 'const SingularValuesType {aka const Eigen::Matrix<float, 2, 1>}' to 'const Printable&'
In file included from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Core:171:0,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Dense:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Eigen:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen.h:10,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:2:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h: In instantiation of 'typename Eigen::internal::enable_if<((! std::is_integral<_Tp>::value) && (! Eigen::NumTraits<T>::IsComplex)), bool>::type Eigen::internal::isnan_impl(const T&) [with T = float; typename Eigen::internal::enable_if<((! std::is_integral<_Tp>::value) && (! Eigen::NumTraits<T>::IsComplex)), bool>::type = bool]':
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h:1370:97:   required from 'bool Eigen::numext::isnan(const T&) [with T = float]'
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/arch/Default/BFloat16.h:250:47:   required from here
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h:1019:36: error: 'isnan' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
     return isnan EIGEN_NOT_A_MACRO (x);
            ~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Core:380:0,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Dense:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Eigen:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen.h:10,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:2:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/GlobalFunctions.h:97:36: note: 'template<class Derived> const Eigen::CwiseUnaryOp<Eigen::internal::scalar_isnan_op<typename Derived::Scalar>, const Derived> Eigen::isnan(const Eigen::ArrayBase<Derived>&)' declared here, later in the translation unit
   EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(isnan,scalar_isnan_op,not-a-number test,\sa Eigen::isinf DOXCOMMA Eigen::isfinite DOXCOMMA ArrayBase::isnan)
                                    ^
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/GlobalFunctions.h:32:4: note: in definition of macro 'EIGEN_ARRAY_DECLARE_GLOBAL_UNARY'
   (NAME)(const Eigen::ArrayBase<Derived>& x) { \
    ^~~~
In file included from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Core:171:0,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Dense:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Eigen:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen.h:10,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:2:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h:1019:36: error: no matching function for call to 'isnan(const float&)'
     return isnan EIGEN_NOT_A_MACRO (x);
            ~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Core:380:0,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Dense:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Eigen:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen.h:10,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:2:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/GlobalFunctions.h:97:36: note: candidate: template<class Derived> const Eigen::CwiseUnaryOp<Eigen::internal::scalar_isnan_op<typename Derived::Scalar>, const Derived> Eigen::isnan(const Eigen::ArrayBase<Derived>&)
   EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(isnan,scalar_isnan_op,not-a-number test,\sa Eigen::isinf DOXCOMMA Eigen::isfinite DOXCOMMA ArrayBase::isnan)
                                    ^
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/GlobalFunctions.h:32:4: note: in definition of macro 'EIGEN_ARRAY_DECLARE_GLOBAL_UNARY'
   (NAME)(const Eigen::ArrayBase<Derived>& x) { \
    ^~~~
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/GlobalFunctions.h:97:36: note:   template argument deduction/substitution failed:
   EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(isnan,scalar_isnan_op,not-a-number test,\sa Eigen::isinf DOXCOMMA Eigen::isfinite DOXCOMMA ArrayBase::isnan)
                                    ^
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/GlobalFunctions.h:32:4: note: in definition of macro 'EIGEN_ARRAY_DECLARE_GLOBAL_UNARY'
   (NAME)(const Eigen::ArrayBase<Derived>& x) { \
    ^~~~
In file included from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Core:171:0,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Dense:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Eigen:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen.h:10,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:2:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h:1019:36: note:   mismatched types 'const Eigen::ArrayBase<Derived>' and 'const float'
     return isnan EIGEN_NOT_A_MACRO (x);
            ~~~~~~~~~~~~~~~~~~~~~~~~^~~
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h: In instantiation of 'typename Eigen::internal::enable_if<((! std::is_integral<_Tp>::value) && (! Eigen::NumTraits<T>::IsComplex)), bool>::type Eigen::internal::isfinite_impl(const T&) [with T = float; typename Eigen::internal::enable_if<((! std::is_integral<_Tp>::value) && (! Eigen::NumTraits<T>::IsComplex)), bool>::type = bool]':
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h:1372:100:   required from 'bool Eigen::numext::isfinite(const T&) [with T = float]'
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/SVD/JacobiSVD.h:680:26:   required from 'Eigen::JacobiSVD<MatrixType, QRPreconditioner>& Eigen::JacobiSVD<MatrixType, QRPreconditioner>::compute(const MatrixType&, unsigned int) [with _MatrixType = Eigen::Matrix<float, 2, 2>; int QRPreconditioner = 2; Eigen::JacobiSVD<MatrixType, QRPreconditioner>::MatrixType = Eigen::Matrix<float, 2, 2>]'
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/SVD/JacobiSVD.h:549:14:   required from 'Eigen::JacobiSVD<MatrixType, QRPreconditioner>::JacobiSVD(const MatrixType&, unsigned int) [with _MatrixType = Eigen::Matrix<float, 2, 2>; int QRPreconditioner = 2; Eigen::JacobiSVD<MatrixType, QRPreconditioner>::MatrixType = Eigen::Matrix<float, 2, 2>]'
C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:21:85:   required from here
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h:989:39: error: 'isfinite' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
     return isfinite EIGEN_NOT_A_MACRO (x);
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Core:380:0,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Dense:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Eigen:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen.h:10,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:2:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/GlobalFunctions.h:99:36: note: 'template<class Derived> const Eigen::CwiseUnaryOp<Eigen::internal::scalar_isfinite_op<typename Derived::Scalar>, const Derived> Eigen::isfinite(const Eigen::ArrayBase<Derived>&)' declared here, later in the translation unit
   EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(isfinite,scalar_isfinite_op,finite value test,\sa Eigen::isinf DOXCOMMA Eigen::isnan DOXCOMMA ArrayBase::isfinite)
                                    ^
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/GlobalFunctions.h:32:4: note: in definition of macro 'EIGEN_ARRAY_DECLARE_GLOBAL_UNARY'
   (NAME)(const Eigen::ArrayBase<Derived>& x) { \
    ^~~~
In file included from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Core:171:0,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Dense:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Eigen:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen.h:10,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:2:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h:989:39: error: no matching function for call to 'isfinite(const float&)'
     return isfinite EIGEN_NOT_A_MACRO (x);
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Core:380:0,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Dense:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Eigen:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen.h:10,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:2:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/GlobalFunctions.h:99:36: note: candidate: template<class Derived> const Eigen::CwiseUnaryOp<Eigen::internal::scalar_isfinite_op<typename Derived::Scalar>, const Derived> Eigen::isfinite(const Eigen::ArrayBase<Derived>&)
   EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(isfinite,scalar_isfinite_op,finite value test,\sa Eigen::isinf DOXCOMMA Eigen::isnan DOXCOMMA ArrayBase::isfinite)
                                    ^
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/GlobalFunctions.h:32:4: note: in definition of macro 'EIGEN_ARRAY_DECLARE_GLOBAL_UNARY'
   (NAME)(const Eigen::ArrayBase<Derived>& x) { \
    ^~~~
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/GlobalFunctions.h:99:36: note:   template argument deduction/substitution failed:
   EIGEN_ARRAY_DECLARE_GLOBAL_UNARY(isfinite,scalar_isfinite_op,finite value test,\sa Eigen::isinf DOXCOMMA Eigen::isnan DOXCOMMA ArrayBase::isfinite)
                                    ^
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/GlobalFunctions.h:32:4: note: in definition of macro 'EIGEN_ARRAY_DECLARE_GLOBAL_UNARY'
   (NAME)(const Eigen::ArrayBase<Derived>& x) { \
    ^~~~
In file included from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Core:171:0,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Dense:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/Eigen:1,
                 from c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen.h:10,
                 from C:\Users\XiaoWang-Unofficial\Documents\Arduino\W801-Example\W801-Example.ino:2:
c:\Users\XiaoWang-Unofficial\Documents\Arduino\libraries\Eigen/ArduinoEigen/Eigen/src/Core/MathFunctions.h:989:39: note:   mismatched types 'const Eigen::ArrayBase<Derived>' and 'const float'
     return isfinite EIGEN_NOT_A_MACRO (x);
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~

exit status 1

Compilation error: no matching function for call to 'HardwareSerial::println(const SingularValuesType&)'

My Code:

#include <Arduino.h>
#include <ArduinoEigen.h>
#include <ArduinoEigenDense.h>

using namespace Eigen;

// 定义一个2x2的矩阵进行SVD分解
Matrix2f A;

void setup() {
  Serial.begin(9600); // 初始化串口通信

  // 初始化矩阵
  A << 1, 2,
       3, 4;

  // 开始计时
  unsigned long start_time = micros();

  // 进行SVD分解
  JacobiSVD<Matrix2f> svd(A, ComputeThinU | ComputeThinV);

  // 结束计时
  unsigned long end_time = micros();

  // 计算并输出分解所需时间
  Serial.print("SVD decomposition took ");
  Serial.print(end_time - start_time);
  Serial.println(" microseconds.");

  // 输出奇异值
  Serial.println("Singular values:");
  Serial.println(svd.singularValues());
}

void loop() {
}

Might the floating point calculations be patched in later? Since this development board has an extremely high frequency, I want to fully utilize its computing speed. Thank u very much!

Can Not get PSRAM_test.ino to work - using Ips6404-SQPI

Can Not get PSRAM_test.ino to work - using Ips6404-SQPI

I integrated the Ips6404-SQPI to W806 :
-- but it only returns and prints garbage back.

Pad pin mapping relationship :
SCLK -> PA_15 PSRAM_CK
SI/IO0 -> PB_02 PSRAM_D0
01/SO -> PB_03 PSRAM_D1
WP -> PB_04 PSRAM_D2
HOLD -> PB_05 PSRAM_D3
CS -> PB_27 PSRAM_CS

BRD PSRAM :
PB27 CS \/ +Vdd
PB3 01/SO Hold PB5
PB4 WP SCLK PA15
Gnd- SI/IO0 PB2

-- I also tried SPI_Basic.ino - no results either.

  • Only method that worked was using bit-banging SPI - which is Slow.

-> Has the PSRAM_test.ino been tested ?

Add Servo example

Привет! Чтобы не забыть добавить пример в папку Basic examples
Servo.zip

Cannot be found in the Development Board Manager in Arduino IDE 2.x

I tried to use it in Arduino IDE 2.x. I've added the corresponding json file, but I can't find it in the board manager.
There is another problem, when I first installed it, the 1.x IDE would complain about a CRC checksum error. Both of these problems seem to be the result of you not adding checksum and size parameters to the json description file.
图片

Nevermind

Does Not Work - Downloads to Board - but board does not run - missing Clocks ???

  • Blink program does not blink LEDs - they just stay ON.
  • Printf() does not output to Serial
  • etc ...

All Code , such as Blink , all work from /wm-sdk-w806 Dos Builds though (the http:/IOsetting/wm-sdk-w806 - not the Arduino IDE).

I can ONLY get BLINK to work using For() Loops - Timers are NOT Working.

What good is this Library without Printf() working ???

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.