board707 / w80x_arduino Goto Github PK
View Code? Open in Web Editor NEWw806 package for Arduino IDE
License: GNU Lesser General Public License v2.1
w806 package for Arduino IDE
License: GNU Lesser General Public License v2.1
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.
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
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:
So well, on a quick glance everything is working, there are a couple of issues though.
I'll have a look to see what can be done about this.
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’
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!
Дмитрий привет! Сделал тесты на совместимость с библиотекой DHTStable.
Работает, но нужно кое что добавить в ядро
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’
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
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 ???
For HAL ver "0.4.0" Tested. Add to example folder pls
hal_pwm_led.ZIP
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!
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);
}
Another concern is when can we achieve support for Arduino's WiFiManager library and Bluetooth related libraries?
Yesterday, I shared information and screen display of Arduino's W80X on GITHUB in several relevant QQ groups. Many friends asked me when WIFI is supported?
Привет! Тестировщики из поднебесной нарыли ошибку.
Не верна последовательность параметров передаваемых в функцию attachInterrupt(), и нет заглушки для функции digitalPinToInterrupt(). Механизм присоединения пользовательской обработки прерывания на GPIO не соответствует текущей документации на Arduino
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);
}
}
}
`
Попытался помигать диодом через таймер.
Взял пример работы с таймером из 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);
}
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
.
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!
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
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.
-> Has the PSRAM_test.ino been tested ?
Due to current millis & micros realization both delay()
and delayMicroseconds()
can't be used inside an interrupt routines.
Привет! Чтобы не забыть добавить пример в папку Basic examples
Servo.zip
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.
Does Not Work - Downloads to Board - but board does not run - missing Clocks ???
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 ???
Can Not Download new Versions - NONE of JSONS are visible in Manage Libraries now ...
Worked in HAL v. "0.4.0" and v. "0.6.0". Tested in Win/Lin, IDE 2.0.3/1.8.19
hal_led.ZIP
hal_gpio_led_interrupt.ZIP
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.