imuFilter with ESP32

Hello,
I'm trying to run basicMPU6050 with ESP32, but I got some errors, hope you can help me with that.
Firstly, for Velocity example, esp32 keep resetting. I tried to debug it and I think this error because of vector data type library.
Secondly, For output example. The readings are not stable at all and keep changes although I didn't move the module at all.
Sorry for your time, I will be very grateful if you can help me. Thanks in advance.
Sincerely,
Zidan

Hey, I'll first focus on your issue with vector_datatype. We can work up from there to make all the libraries work.

Since the dependencies for this library are working for you, please try the "output" example of ImuFilter. Like before, please output the console log.

Note, please use tockn's library to retrieve the gyroscope and accelerometer value. Provide these values to the imuFilter's "update" function and run the output example.

I adjusted it and used vector output example and here is the serial
10:44:10.744 ->  x = -0.10,0.23,0.97 | y = 0.82,-0.53,0.22 | z = 0.56,0.82,-0.14 | v = 0.72,-0.29,1.18 | q = -0.24,0.62,0.42,0.61
10:44:10.847 ->  x = -0.09,0.26,0.96 | y = 0.82,-0.52,0.22 | z = 0.56,0.81,-0.17 | v = 0.73,-0.26,1.18 | q = -0.23,0.63,0.43,0.60
10:44:10.982 ->  x = -0.08,0.27,0.96 | y = 0.82,-0.54,0.21 | z = 0.57,0.80,-0.18 | v = 0.74,-0.27,1.18 | q = -0.23,0.64,0.42,0.60
10:44:11.118 ->  x = -0.06,0.25,0.97 | y = 0.83,-0.53,0.19 | z = 0.56,0.81,-0.17 | v = 0.76,-0.28,1.16 | q = -0.24,0.64,0.42,0.60
10:44:11.219 ->  x = -0.06,0.24,0.97 | y = 0.83,-0.53,0.18 | z = 0.56,0.81,-0.17 | v = 0.77,-0.29,1.15 | q = -0.25,0.64,0.42,0.60
10:44:11.356 ->  x = -0.07,0.25,0.97 | y = 0.83,-0.53,0.19 | z = 0.56,0.81,-0.17 | v = 0.76,-0.28,1.16 | q = -0.24,0.64,0.42,0.60
10:44:11.456 ->  x = -0.07,0.27,0.96 | y = 0.82,-0.54,0.21 | z = 0.57,0.80,-0.18 | v = 0.75,-0.27,1.17 | q = -0.23,0.64,0.42,0.60
10:44:11.594 ->  x = -0.09,0.26,0.96 | y = 0.81,-0.54,0.22 | z = 0.57,0.80,-0.17 | v = 0.73,-0.27,1.18 | q = -0.23,0.64,0.42,0.60
10:44:11.696 ->  x = -0.07,0.26,0.96 | y = 0.82,-0.53,0.20 | z = 0.56,0.81,-0.17 | v = 0.75,-0.27,1.17 | q = -0.24,0.64,0.42,0.60
10:44:11.833 ->  x = -0.07,0.28,0.96 | y = 0.82,-0.53,0.21 | z = 0.57,0.80,-0.19 | v = 0.75,-0.25,1.17 | q = -0.23,0.64,0.43,0.59
10:44:11.934 ->  x = -0.07,0.28,0.96 | y = 0.82,-0.53,0.21 | z = 0.56,0.80,-0.19 | v = 0.75,-0.25,1.17 | q = -0.23,0.64,0.43,0.59
10:44:12.068 ->  x = -0.07,0.27,0.96 | y = 0.81,-0.55,0.21 | z = 0.58,0.79,-0.18 | v = 0.75,-0.28,1.17 | q = -0.23,0.64,0.42,0.60
10:44:12.170 ->  x = -0.07,0.26,0.96 | y = 0.82,-0.53,0.20 | z = 0.57,0.80,-0.18 | v = 0.76,-0.27,1.16 | q = -0.24,0.64,0.42,0.60
10:44:12.304 ->  x = -0.05,0.25,0.97 | y = 0.83,-0.53,0.18 | z = 0.56,0.81,-0.18 | v = 0.77,-0.28,1.15 | q = -0.24,0.64,0.42,0.59
10:44:12.406 ->  x = -0.06,0.24,0.97 | y = 0.83,-0.53,0.18 | z = 0.56,0.81,-0.17 | v = 0.77,-0.29,1.15 | q = -0.25,0.64,0.42,0.60
10:44:12.541 ->  x = -0.05,0.24,0.97 | y = 0.82,-0.54,0.18 | z = 0.57,0.81,-0.17 | v = 0.77,-0.30,1.15 | q = -0.25,0.64,0.41,0.60
10:44:12.642 ->  x = -0.05,0.24,0.97 | y = 0.81,-0.56,0.18 | z = 0.59,0.79,-0.16 | v = 0.76,-0.33,1.15 | q = -0.24,0.65,0.40,0.60
10:44:12.780 ->  x = -0.05,0.20,0.98 | y = 0.81,-0.57,0.16 | z = 0.59,0.80,-0.13 | v = 0.76,-0.37,1.14 | q = -0.25,0.64,0.39,0.61
10:44:12.883 ->  x = -0.06,0.19,0.98 | y = 0.81,-0.56,0.16 | z = 0.58,0.81,-0.12 | v = 0.75,-0.37,1.14 | q = -0.25,0.64,0.39,0.61
##############and this the log from vector output without and modifications
10:47:05.800 ->  x = 0.01,0.23,-0.97 | y = 0.11,0.97,0.23 | z = 0.99,-0.11,-0.01 | v = 0.12,1.20,-0.74 | q = 0.70,0.12,0.70,0.04
10:47:05.835 ->  x = 0.01,0.23,-0.97 | y = 0.10,0.97,0.23 | z = 0.99,-0.10,-0.01 | v = 0.11,1.20,-0.74 | q = 0.70,0.12,0.70,0.05
10:47:05.869 ->  x = 0.01,0.23,-0.97 | y = 0.09,0.97,0.23 | z = 1.00,-0.09,-0.01 | v = 0.10,1.20,-0.74 | q = 0.70,0.12,0.70,0.05
10:47:05.903 ->  x = 0.01,0.23,-0.97 | y = 0.09,0.97,0.23 | z = 1.00,-0.09,-0.01 | v = 0.10,1.20,-0.74 | q = 0.70,0.11,0.70,0.05
10:47:05.936 ->  x = 0.01,0.23,-0.97 | y = 0.08,0.97,0.23 | z = 1.00,-0.08,-0.01 | v = 0.09,1.20,-0.74 | q = 0.70,0.11,0.70,0.05
10:47:05.970 ->  x = 0.01,0.23,-0.97 | y = 0.08,0.97,0.23 | z = 1.00,-0.08,-0.01 | v = 0.09,1.20,-0.74 | q = 0.70,0.11,0.70,0.05
10:47:05.970 ->  x = 0.01,0.23,-0.97 | y = 0.07,0.97,0.23 | z = 1.00,-0.07,-0.01 | v = 0.08,1.20,-0.74 | q = 0.70,0.11,0.70,0.06
10:47:06.004 ->  x = 0.01,0.23,-0.97 | y = 0.07,0.97,0.23 | z = 1.00,-0.07,-0.01 | v = 0.08,1.20,-0.74 | q = 0.70,0.11,0.70,0.06
10:47:06.038 ->  x = 0.01,0.23,-0.97 | y = 0.06,0.97,0.23 | z = 1.00,-0.06,-0.00 | v = 0.07,1.20,-0.74 | q = 0.70,0.10,0.70,0.06
10:47:06.073 ->  x = 0.01,0.23,-0.97 | y = 0.06,0.97,0.23 | z = 1.00,-0.06,-0.00 | v = 0.07,1.20,-0.74 | q = 0.70,0.10,0.70,0.06
10:47:06.108 ->  x = 0.01,0.23,-0.97 | y = 0.05,0.97,0.23 | z = 1.00,-0.05,-0.00 | v = 0.06,1.20,-0.74 | q = 0.70,0.10,0.70,0.06
10:47:06.141 ->  x = 0.01,0.23,-0.97 | y = 0.05,0.97,0.23 | z = 1.00,-0.05,-0.00 | v = 0.06,1.20,-0.74 | q = 0.70,0.10,0.70,0.07
10:47:06.176 ->  x = 0.01,0.23,-0.97 | y = 0.04,0.97,0.23 | z = 1.00,-0.04,0.00 | v = 0.05,1.20,-0.74 | q = 0.70,0.10,0.70,0.07
10:47:06.176 ->  x = 0.01,0.23,-0.97 | y = 0.03,0.97,0.23 | z = 1.00,-0.04,0.00 | v = 0.05,1.20,-0.74 | q = 0.70,0.09,0.70,0.07
10:47:06.209 ->  x = 0.01,0.23,-0.97 | y = 0.03,0.97,0.23 | z = 1.00,-0.03,0.00 | v = 0.04,1.20,-0.74 | q = 0.70,0.09,0.70,0.07
10:47:06.244 ->  x = 0.01,0.23,-0.97 | y = 0.02,0.97,0.23 | z = 1.00,-0.03,0.00 | v = 0.03,1.20,-0.74 | q = 0.70,0.09,0.70,0.07
10:47:06.279 ->  x = 0.01,0.23,-0.97 | y = 0.02,0.97,0.23 | z = 1.00,-0.02,0.01 | v = 0.03,1.20,-0.74 | q = 0.71,0.09,0.70,0.07
10:47:06.313 ->  x = 0.01,0.23,-0.97 | y = 0.27,0.94,0.22 | z = 0.96,-0.26,-0.05 | v = 0.28,1.17,-0.75 | q = 0.69,0.18,0.70,-0.01
10:47:06.347 ->  x = 0.01,0.23,-0.97 | y = 0.26,0.94,0.22 | z = 0.96,-0.26,-0.05 | v = 0.27,1.17,-0.75 | q = 0.69,0.17,0.70,-0.01
10:47:06.381 ->  x = 0.01,0.23,-0.97 | y = 0.26,0.94,0.22 | z = 0.97,-0.25,-0.05 | v = 0.27,1.17,-0.75 | q = 0.69,0.17,0.70,-0.01
I think both working good now, Still has the velocity example problem

Please provide a console log of the velocity example. I suspect the values are overflowing and this is causing a reset. Although, since the heading estimate is working, I'm not sure why the velocity integration continues to fail.

Thank you so much for your support. Here is the log
0:08:14.994 -> Rebooting...
00:08:14.994 -> ets Jun  8 2016 00:22:57
00:08:14.994 ->
00:08:14.994 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
00:08:14.994 -> configsip: 0, SPIWP:0xee
00:08:14.994 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
00:08:15.028 -> mode:DIO, clock div:1
00:08:15.028 -> load:0x3fff0018,len:4
00:08:15.028 -> load:0x3fff001c,len:1216
00:08:15.028 -> ho 0 tail 12 room 4
00:08:15.028 -> load:0x40078000,len:10944
00:08:15.028 -> load:0x40080400,len:6388
00:08:15.028 -> entry 0x400806b4
00:08:15.096 -> Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.
00:08:15.131 -> Core 0 register dump:
00:08:15.131 -> PC      : 0x400eb0df  PS      : 0x00060330  A0      : 0x800d0d0f  A1      : 0x3ffe3b70
00:08:15.131 -> A2      : 0x3ffbfedc  A3      : 0x00000000  A4      : 0x00000000  A5      : 0x00000000
00:08:15.131 -> A6      : 0x00000000  A7      : 0x00000000  A8      : 0x00000000  A9      : 0x00000000
00:08:15.131 -> A10     : 0x3ffe3b64  A11     : 0x00000000  A12     : 0x00000000  A13     : 0x00000000
00:08:15.165 -> A14     : 0x00ff0000  A15     : 0xff000000  SAR     : 0x0000001d  EXCCAUSE: 0x0000001c
00:08:15.165 -> EXCVADDR: 0x00000000  LBEG    : 0x4000142d  LEND    : 0x4000143a  LCOUNT  : 0xfffffff8
00:08:15.165 ->
00:08:15.165 -> ELF file SHA256:<PHONE_NUMBER>000000
00:08:15.165 ->
00:08:15.165 -> Backtrace: 0x400eb0df:0x3ffe3b70 0x400d0d0c:0x3ffe3b90 0x400e13bf:0x3ffe3bb0 0x40081ae1:0x3ffe3bd0 0x40081ce1:0x3ffe3c20 0x4007925f:0x3ffe3c40 0x400792c5:0x3ffe3c70 0x400792d0:0x3ffe3ca0 0x4007947d:0x3ffe3cc0 0x400806e6:0x3ffe3df0 0x40007c31:0x3ffe3eb0 0x4000073d:0x3ffe3f20
00:08:15.200 ->

No worries, I'm glad to help :)
As for the code, according this reddit thread the error:
Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled.
Is likely due to reading an incorrect pointer. This would definately be the case if you were defining vel_t as a float!
vec3_t vel = 0;
The above statement is incorrect and should lead to a compilation error. A 3D vector must be defined with 3 values, as you did later:
vec3_t vel ={0,0,0};
If the code has compiled sucesfully at this point, and the ESP doesn't reset, then we're much closer to getting a proper result. Please confirm if this is the case.
The exponentially growing numbers tells us the velocity isn't being integrated properly. This will occur if the acceleration is not being suppressed. Can you please print the acceleration output, along with the velocity estimate?
Something like this will do:
Serial.print(" ax = "); Serial.print(ax);
Serial.print(" ay = "); Serial.print(ay);
Serial.print(" az = "); Serial.print(az);
Serial.println();

Here is the log,
02:25:15.151 -> 25.05 3.77 -13.81
02:25:15.151 ->  ax = 9099.88 ay = 1388.51 az = 4771.48
02:25:15.151 -> 26.97 4.40 -15.19
02:25:15.185 ->  ax = 9105.86 ay = 1388.51 az = 4761.90
02:25:15.185 -> 0.39 1.26 -1.02
02:25:15.185 ->  ax = 9109.46 ay = 1370.55 az = 4781.06
02:25:15.185 -> 0.16 1.91 -0.90
02:25:15.185 ->  ax = 9140.59 ay = 1364.56 az = 4740.34
02:25:15.218 -> 0.40 2.32 -0.50
02:25:15.218 ->  ax = 9144.18 ay = 1369.35 az = 4773.87
02:25:15.218 -> 0.29 0.30 0.33
02:25:15.218 ->  ax = 9159.75 ay = 1377.73 az = 4776.27
02:25:15.252 -> -0.11 -0.60 -0.12
02:25:15.252 ->  ax = 9119.04 ay = 1371.75 az = 4714.00
02:25:15.252 -> -0.45 -0.93 -0.09
02:25:15.252 ->  ax = 9103.47 ay = 1371.75 az = 4735.55
02:25:15.286 -> -0.30 -0.81 0.56
02:25:15.286 ->  ax = 9092.69 ay = 1383.72 az = 4757.11
02:25:15.286 -> -0.05 -0.87 0.65
02:25:15.286 ->  ax = 9103.47 ay = 1369.35 az = 4776.27
02:25:15.319 -> 0.41 -0.93 0.22
02:25:15.319 ->  ax = 9147.78 ay = 1374.14 az = 4742.74
############################And here is the code
/*
This sketch shows to integrate acceleration to obtain an estimate of velocity
*/
/* NOTE:

The accelerometer MUST be calibrated to integrate its output. Adjust the
AX, AY, AND AZ offsets until the sensor reads (0,0,GRAVITY) at rest.

REQUIRED UNITS:
I. The gyroscope must output: radians/second
II. The accelerometer output:  length/second^2  [The length unit is arbitrary. Can be meter, feet, etc]
*/

#include <basicMPU6050.h>   // Library for IMU sensor. See this link: https://github.com/RCmags/basicMPU6050
#include <accIntegral.h>
// ========== IMU sensor ==========
// Gyro settings:
#define         LP_FILTER   3           // Low pass filter.                    Value from 0 to 6
#define         GYRO_SENS   0           // Gyro sensitivity.                   Value from 0 to 3
#define         ACCEL_SENS  0           // Accelerometer sensitivity.          Value from 0 to 3
#define         ADDRESS_A0  LOW         // I2C address from state of A0 pin.   A0 -> GND : ADDRESS_A0 = LOW
//                                     A0 -> 5v  : ADDRESS_A0 = HIGH
// Accelerometer offset:
constexpr int   AX_OFFSET =  552;       // Use these values to calibrate the accelerometer. The sensor should output 1.0g if held level.
constexpr int   AY_OFFSET = -241;       // These values are unlikely to be zero.
constexpr int   AZ_OFFSET = -3185;
//-- Set template parameters:
basicMPU6050<LP_FILTER,  GYRO_SENS,  ACCEL_SENS, ADDRESS_A0,
AX_OFFSET,  AY_OFFSET,  AZ_OFFSET
>imu;
// =========== Settings ===========
accIntegral fusion;
// Filter coefficients               //  Unit
constexpr float GRAVITY = 9.81e3;    //  mm/s^2    Magnitude of gravity at rest. Determines units of velocity. [UNITS MUST MATCH ACCELERATION]
constexpr float SD_ACC  = 1000;      //  mm/s^2    Standard deviation of acceleration. Deviations from zero are suppressed.
constexpr float SD_VEL  = 200;       //  mm/s      Standard deviation of velocity. Deviations from target value are suppressed.
constexpr float ALPHA   = 0.5;       //            Gain of heading update - See example "output" for more information.
// Sensor scaling
constexpr float TO_LENGTH_PER_SECOND_SQ = GRAVITY;     // Constant to convert acceleration measurements to:  length/second^2
constexpr float TO_RAD_PER_SECOND = 1.0;               // Constant to convery gyroscope measurements to:     radians/second
void setup() {
Serial.begin(38400);
delay(1000);
// calibrate IMU sensor
imu.setup();
imu.setBias();
// initialize sensor fusion
//fusion.setup( imu.ax(), imu.ay(), imu.az() );   // ALWAYS set initial heading with acceleration
fusion.setup();
//fusion.reset();  /* Use this function to zero velocity estimate */
}
void loop() {
imu.updateBias();
// Measure state:
vec3_t accel = { imu.ax(), imu.ay(), imu.az() };
vec3_t gyro = { imu.gx(), imu.gy(), imu.gz() };
  // Scale measurements

accel *= TO_LENGTH_PER_SECOND_SQ;
gyro *= TO_RAD_PER_SECOND;
// Update heading and velocity estimate:
  // known measured velocity (target state). Estimate will be forced towards this vector

vec3_t vel_t = {0,0,0};
  /* note: all coefficients are optional and have default values */

fusion.update( gyro, accel, vel_t, SD_ACC, SD_VEL, GRAVITY, ALPHA );
  // obtain velocity estimate

vec3_t vel = fusion.getVel();
// Display velocity components: [view with serial plotter]
Serial.print( vel.x, 2 );
Serial.print( " " );
Serial.print( vel.y, 2 );
Serial.print( " " );
Serial.print( vel.z, 2 );
Serial.println();
Serial.print(" ax = "); Serial.print(accel.x);
Serial.print(" ay = "); Serial.print(accel.y);
Serial.print(" az = "); Serial.print(accel.z);
Serial.println();
}

Great! The output looks reasonable. Set all the accelerometer offsets to zero. The sensor appeared well calibrated using tockns library.
Once you upload the code, wait 20 seconds for the velocity to self calibrate. After, use the serial plotter to view the output. When you abruptly move the sensor, you should see a velocity pulse.

I tried this but unfortunately the same problem exist, here is the log
16:24:38.810 -> -21591.42 219198.39 456439.03
16:24:38.810 -> -21429.69 230841.78 451029.09
16:24:38.810 -> -21257.53 242353.48 445321.38
16:24:38.810 -> -21073.44 253747.61 439312.06
16:24:38.843 -> -20884.95 265014.88 433165.94
16:24:38.843 -> -20978.72 260829.30 435913.00
16:24:38.843 -> -21061.42 256584.83 438413.84
16:24:38.843 -> -21142.79 252221.09 440885.81
16:24:38.878 -> -21233.94 247927.88 443625.50
16:24:38.878 -> -21316.54 243515.86 446009.72
16:24:38.878 -> -21404.42 239174.16 448499.53
16:24:38.878 -> -21218.29 250549.22 442365.00
16:24:38.913 -> -21028.39 261872.16 436148.41
16:24:38.913 -> -20825.81 273033.63 429646.91
16:24:38.913 -> -20920.32 268876.81 432476.06
16:24:38.913 -> -21013.12 264678.44 435212.97
16:24:38.913 -> -20797.42 275690.59 428285.28

Hello,
I fixed the issue by changing this line from   fusion.update( gyro, accel, vel_t, SD_ACC, SD_VEL, GRAVITY, ALPHA );
to    fusion.update( imu.gx(), imu.gy(), imu.gz(), imu.ax(), imu.ay(), imu.az() , 0,0,0, SD_ACC, SD_VEL, GRAVITY, ALPHA );
but another problem appeared that the change in speed are very low, I tried to move it very fast with my hand but It doesn't exceed 1 at all. Here is the log .
00:11:18.913 -> -0.00 0.00 0.00
00:11:18.913 -> -0.04 -0.01 -0.02
00:11:18.947 -> -0.03 -0.01 -0.02
00:11:18.947 -> 0.01 -0.01 -0.01
00:11:18.981 -> -0.00 -0.01 0.04
00:11:19.015 -> 0.01 -0.01 0.03
00:11:19.015 -> 0.01 -0.02 -0.02
00:11:19.049 -> -0.01 -0.02 -0.01
00:11:19.049 -> -0.01 -0.00 0.00
00:11:19.083 -> 0.00 0.03 -0.03
00:11:19.117 -> -0.01 0.01 -0.03
00:11:19.117 -> -0.02 -0.01 0.00
00:11:19.152 -> -0.00 0.00 -0.03
00:11:19.152 -> 0.01 -0.03 0.00
00:11:19.187 -> 0.01 -0.02 -0.00
00:11:19.187 -> 0.00 0.01 -0.04
00:11:19.221 -> -0.00 0.01 -0.01
00:11:19.256 -> -0.01 -0.01 0.01
00:11:19.256 -> -0.00 0.03 0.01
00:11:19.290 -> -0.00 0.04 0.01
00:11:19.290 -> -0.00 0.01 -0.00
00:11:19.323 -> 0.03 -0.01 -0.02
00:11:19.357 -> 0.01 -0.00 -0.03
00:11:19.357 -> -0.01 0.03 -0.00
00:11:19.390 -> 0.01 0.02 0.01
00:11:19.390 -> -0.01 0.00 -0.01
00:11:19.424 -> -0.01 -0.02 0.03
00:11:19.424 -> -0.00 0.00 0.03
00:11:19.458 -> -0.00 0.03 -0.00
00:11:19.492 -> 0.01 0.01 0.03
00:11:19.492 -> 0.02 0.01 -0.01
00:11:19.525 -> 0.02 0.00 -0.01
00:11:19.525 -> 0.01 0.00 0.02
00:11:19.559 -> -0.00 0.01 0.00
00:11:19.594 -> 0.01 -0.02 0.00
00:11:19.594 -> -0.02 -0.02 0.02
00:11:19.628 -> -0.03 0.00 0.01
00:11:19.628 -> -0.01 -0.01 0.01
00:11:19.662 -> 0.02 0.02 0.01
00:11:19.696 -> 0.02 -0.00 0.01
00:11:19.696 -> -0.01 -0.04 0.01
00:11:19.730 -> -0.00 -0.01 -0.00
00:11:19.730 -> -0.00 0.01 0.01
00:11:19.764 -> 0.01 -0.01 -0.01
00:11:19.764 -> -0.02 -0.01 -0.02
00:11:19.797 -> -0.04 0.00 -0.01
00:11:19.831 -> -0.01 -0.02 -0.01
00:11:19.831 -> 0.01 -0.01 0.03
00:11:19.865 -> 0.02 -0.01 0.03
00:11:19.865 -> -0.01 -0.02 -0.02
00:11:19.899 -> -0.01 -0.01 -0.01
00:11:19.933 -> -0.00 -0.00 0.00
00:11:19.933 -> 0.00 -0.00 0.01
00:11:19.967 -> -0.00 0.04 -0.03
00:11:19.967 -> 0.00 0.04 -0.03
00:11:20.001 -> 0.01 -0.00 0.01
00:11:20.035 -> 0.00 0.00 0.00
00:11:20.035 -> 0.00 0.00 -0.00
00:11:20.070 -> -0.00 0.00 -0.01
00:11:20.070 -> 0.00 0.00 -0.01
00:11:20.104 -> 0.00 0.01 -0.00
00:11:20.104 -> -0.03 -0.02 -0.00
00:11:20.138 -> -0.03 -0.02 -0.01
00:11:20.172 -> 0.03 0.03 -0.00
00:11:20.172 -> 0.04 0.02 0.01
Thanks in advance.

Woah! That is a weird bug! Thank you making me aware of this! If it's not blowing up, its a great sign. That means its likely integrating properly.
The output is small because you are not scaling the accelerometer values. They're still in g-units.
Change this line of code:
fusion.update( imu.gx(), imu.gy(), imu.gz(), imu.ax(), imu.ay(), imu.az() , 0,0,0, SD_ACC, SD_VEL, GRAVITY, ALPHA );

To this:
fusion.update( imu.gx(), imu.gy(), imu.gz(),
                        imu.ax() * TO_LENGTH_PER_SECOND_SQ,
                        imu.ay() * TO_LENGTH_PER_SECOND_SQ,
                        imu.az() * TO_LENGTH_PER_SECOND_SQ,
                        0,0,0, SD_ACC, SD_VEL, GRAVITY, ALPHA );

If that doesn't work, replace TO_LENGTH_PER_SECOND_SQ to 9.81e3 in the fusion() call.

Hello,
After doing the scaling part the readings were stable at the beginning till I move the IMU, it gave these large values again.
16:24:38.810 -> -21591.42 219198.39 456439.03
16:24:38.810 -> -21429.69 230841.78 451029.09
16:24:38.810 -> -21257.53 242353.48 445321.38
16:24:38.810 -> -21073.44 253747.61 439312.06
16:24:38.843 -> -20884.95 265014.88 433165.94
16:24:38.843 -> -20978.72 260829.30 435913.00
Thanks in advance.

Hmm please try the alternative method wherein the you don't multiply the acceleration, but rather multiply the velocity.
You got stable values with the un-scaled acceleration, so it should continue to remain stable.

If I didn't scale the Accel and gyro, isn't this wrong as it different units, And if not what will be the velocity output unit ?.  Thanks in advance.

There's tThere's two ways to scale the velocity:

You can scale the acceleration (not the gyro!! it must be in deg/s only!!), and that will raise the size of the velocity.
Multiply the velocity directly, with the same scale of the acceleration.

It comes from calculus. A constant can exist inside or outside the integration sign:

It might be the bug you're experiencing is related to the acceleration being scaled.wo ways to scale the velocity:

You can scale the acceleration (not the gyro!! it must be in deg/s only!!), and that will raise the size of the velocity.
Multiply the velocity directly, with the same scale of the acceleration.

It comes from calculus. A constant can exist inside or outside the integration sign:

It might be the bug you're experiencing is related to the acceleration being scaled.

Thank you so much I did that it solved the issue, I'm trying now to get the displacement from the velocity using theselines of code but I don't get the hoped results
float constant = 9800;
accel_last = accel;
vec3_t ddisp ={0,0,0};
ddisp = (vel * constant)*dt;
disp += ddisp;
Do you have any recommendation?. Thanks in advance.

Great news! We've identified one bug so far.
How are you getting dt? Try using the timeStep function included with the filter:
dt = fusion.timeStep();
Likewise, the acceleration integration is only an approximation. You will need to play with the filter coeficients SD_ACC and SD_VEL to get satisfactory results.
Nonetheless, it's still not perfect. If you move the imu slowly, the filter wont measure it well. It works best for fast and abrupt displacements. For example, a box on a floor getting hit with a bat.

I'm adjusting the library itself accintegral.cpp file, I'm getting now a good velocity but the displacement is not good I don't know the reason for that
Here is the code
vec3_t accIntegral::getDis() {
return disp;
}
// update velocity with imu measurements
void accIntegral::update( vec3_t angvel,
vec3_t accel,
vec3_t vel_t,
const float SD_ACC,
const float SD_VEL,
const float GRAVITY,
const float ALPHA ) {
// 0. Constants:
const float VAR_ACC = SD_ACCSD_ACC;
const float VAR_VEL = SD_VELSD_VEL;
const float VAR_COMB = VAR_ACC*VAR_VEL;
// 1.  Integrate acceleration:
// Update Variance
vec3_t dvel = vel_t - vel;
float dvel_mag = dvel.dot(dvel);
// gain affected by velocity and acceleration
float gain_vel = VAR_COMB/(VAR_COMB + var_velvar_acc);
// Serial.print("dvel x");
// Serial.println(dvel.x);
//   Serial.print("dvel y");
// Serial.println(dvel.y);
//   Serial.print("dvel z");
// Serial.println(dvel.z);
// Serial.print("dvel_mag");
// Serial.println(dvel_mag);
var_vel = dvel_mag + gain_velvar_vel;
// Integrate

float dt = imuFilter::timeStep();
vel += 0.5*(accel + accel_last)dt;     // trapezoidal rule
vel += dvelgain_vel;                   // update with target velocity
float constant = 9800;
accel_last = accel;
//// getting displacement
vec3_t ddisp ={0,0,0};
ddisp = (vel*constant)*dt;
disp += ddisp;
}

You can simplify expresion by using vel directly:
vec3_t ddisp =(vel* 9.81e3)*dt; disp += ddisp; }
Is disp defined inside the class as another member variable? It looks like it is. What value isit initialized to?

Yes, it's
class accIntegral: public imuFilter {
private:
// vectors
vec3_t   disp = { 0, 0, 0};
vec3_t   vel = { 0, 0, 0};
vec3_t   accel_mean = {0,0,0};
vec3_t   accel_last = {0,0,0};

// scalars
long    var_vel = 0;
long    var_acc = 0;

Hmm it should work. Why do you say the position doesnt integrate well? How does it behave?
Please post a console log of the position.

Hey! I found your problem. You're defing disp as a local variable. Try this:
disp += vel * dt;

Yes, but I'm updating it
vec3_t ddisp ={0,0,0};
ddisp = (vel*constant)*dt;
disp += ddisp;  // here I'm adding the result
here is my log
2:04:42.577 ->  Vy 0.33 Dy 26.92
02:04:42.577 ->  Vy 4.43 Dy 26.94
02:04:42.577 ->  Vy 4.43 Dy 26.97
02:04:42.577 ->  Vy 0.19 Dy 26.97
02:04:42.577 ->  Vy -3.74 Dy 26.95
02:04:42.577 ->  Vy -3.58 Dy 26.93
02:04:42.616 ->  Vy 0.30 Dy 26.93
02:04:42.616 ->  Vy 4.35 Dy 26.95
02:04:42.616 ->  Vy 0.29 Dy 26.96
02:04:42.616 ->  Vy 0.33 Dy 26.96
02:04:42.616 ->  Vy 0.41 Dy 26.96
02:04:42.616 ->  Vy -3.67 Dy 26.94
02:04:42.616 ->  Vy -3.71 Dy 26.92
02:04:42.650 ->  Vy -3.75 Dy 26.90
02:04:42.650 ->  Vy 0.31 Dy 26.90
02:04:42.650 ->  Vy 0.32 Dy 26.90
02:04:42.650 ->  Vy -3.55 Dy 26.88
02:04:42.650 ->  Vy 0.35 Dy 26.88
02:04:42.689 ->  Vy 4.28 Dy 26.91
02:04:42.689 ->  Vy 0.26 Dy 26.91
02:04:42.689 ->  Vy 0.23 Dy 26.91
02:04:42.689 ->  Vy 4.53 Dy 26.93
02:04:42.689 ->  Vy 0.45 Dy 26.94
02:04:42.689 ->  Vy -3.76 Dy 26.92
02:04:42.689 ->  Vy -3.70 Dy 26.90
02:04:42.712 ->  Vy 0.28 Dy 26.90
02:04:42.712 ->  Vy 4.35 Dy 26.92
02:04:42.712 ->  Vy 4.54 Dy 26.95
02:04:42.712 ->  Vy 4.62 Dy 26.97
02:04:42.712 ->  Vy 4.59 Dy 27.00
02:04:42.746 ->  Vy 4.61 Dy 27.02
02:04:42.746 ->  Vy 4.67 Dy 27.05
02:04:42.746 ->  Vy 4.82 Dy 27.08
02:04:42.746 ->  Vy 0.29 Dy 27.08
02:04:42.746 ->  Vy -4.20 Dy 27.06
02:04:42.746 ->  Vy -3.92 Dy 27.03
02:04:42.780 ->  Vy -3.93 Dy 27.01
02:04:42.780 ->  Vy 0.30 Dy 27.01
02:04:42.780 ->  Vy 4.64 Dy 27.04
02:04:42.780 ->  Vy 4.76 Dy 27.07
02:04:42.780 ->  Vy 4.96 Dy 27.09
02:04:42.780 ->  Vy 4.89 Dy 27.12
02:04:42.813 ->  Vy 0.33 Dy 27.12
02:04:42.813 ->  Vy -4.18 Dy 27.10
02:04:42.813 ->  Vy -4.20 Dy 27.08
02:04:42.813 ->  Vy -4.11 Dy 27.05
02:04:42.813 ->  Vy 0.19 Dy 27.05
02:04:42.813 ->  Vy 4.77 Dy 27.08
02:04:42.846 ->  Vy 0.43 Dy 27.08
02:04:42.846 ->  Vy -4.06 Dy 27.06
02:04:42.846 ->  Vy -3.92 Dy 27.04
02:04:42.846 ->  Vy -4.05 Dy 27.02
02:04:42.846 ->  Vy -4.01 Dy 26.99
02:04:42.846 ->  Vy -3.93 Dy 26.97
02:04:42.880 ->  Vy -3.95 Dy 26.95
02:04:42.880 ->  Vy -3.79 Dy 26.93
02:04:42.880 ->  Vy -3.79 Dy 26.91
02:04:42.880 ->  Vy -3.84 Dy 26.88
02:04:42.880 ->  Vy -3.67 Dy 26.86
02:04:42.880 ->  Vy -3.55 Dy 26.84
02:04:42.914 ->  Vy 0.26 Dy 26.85
02:04:42.914 ->  Vy 4.21 Dy 26.87
02:04:42.914 ->  Vy 4.53 Dy 26.89
02:04:42.914 ->  Vy 0.33 Dy 26.90
02:04:42.914 ->  Vy -3.89 Dy 26.87
02:04:42.914 ->  Vy -3.58 Dy 26.85
02:04:42.948 ->  Vy -3.49 Dy 26.83
02:04:42.948 ->  Vy -3.42 Dy 26.82
02:04:42.948 ->  Vy -3.43 Dy 26.80
02:04:42.948 ->  Vy -3.50 Dy 26.78
02:04:42.948 ->  Vy -3.47 Dy 26.76
02:04:42.948 ->  Vy -3.28 Dy 26.74
02:04:42.982 ->  Vy -3.12 Dy 26.72
02:04:42.982 ->  Vy -3.09 Dy 26.70
02:04:42.982 ->  Vy -3.09 Dy 26.69
02:04:42.982 ->  Vy -3.00 Dy 26.67
02:04:42.982 ->  Vy -2.98 Dy 26.65
02:04:42.982 ->  Vy -2.90 Dy 26.64
02:04:43.015 ->  Vy -2.72 Dy 26.62
02:04:43.015 ->  Vy -2.73 Dy 26.61
02:04:43.015 ->  Vy -2.68 Dy 26.59
02:04:43.015 ->  Vy 0.13 Dy 26.59
02:04:43.015 ->  Vy 3.06 Dy 26.61
02:04:43.015 ->  Vy 3.37 Dy 26.63
02:04:43.049 ->  Vy 3.55 Dy 26.65
02:04:43.049 ->  Vy 0.21 Dy 26.65
02:04:43.049 ->  Vy -2.94 Dy 26.63
02:04:43.049 ->  Vy -2.71 Dy 26.62
02:04:43.049 ->  Vy -2.67 Dy 26.60
02:04:43.049 ->  Vy 0.23 Dy 26.60
02:04:43.084 ->  Vy 0.31 Dy 26.61
02:04:43.084 ->  Vy 0.33 Dy 26.61
02:04:43.084 ->  Vy 3.23 Dy 26.63
02:04:43.084 ->  Vy 3.41 Dy 26.64
02:04:43.084 ->  Vy 3.64 Dy 26.67
02:04:43.084 ->  Vy 0.19 Dy 26.67
02:04:43.117 ->  Vy -2.96 Dy 26.65
02:04:43.117 ->  Vy -2.73 Dy 26.63
02:04:43.117 ->  Vy 0.27 Dy 26.64
02:04:43.117 ->  Vy 3.51 Dy 26.66
02:04:43.117 ->  Vy 3.52 Dy 26.68
02:04:43.117 ->  Vy 0.22 Dy 26.68
02:04:43.150 ->  Vy -2.98 Dy 26.66
02:04:43.150 ->  Vy 0.18 Dy 26.66
02:04:43.150 ->  Vy 3.51 Dy 26.68
02:04:43.150 ->  Vy 0.35 Dy 26.68
02:04:43.150 ->  Vy 0.42 Dy 26.68
02:04:43.150 ->  Vy 3.84 Dy 26.71
02:04:43.184 ->  Vy 0.17 Dy 26.71
02:04:43.184 ->  Vy 0.28 Dy 26.71
02:04:43.184 ->  Vy 3.97 Dy 26.73
02:04:43.184 ->  Vy 4.02 Dy 26.75
02:04:43.184 ->  Vy 4.20 Dy 26.78
02:04:43.184 ->  Vy 0.21 Dy 26.78
02:04:43.219 ->  Vy -3.47 Dy 26.76
02:04:43.219 ->  Vy -3.18 Dy 26.74
02:04:43.219 ->  Vy -3.30 Dy 26.72
02:04:43.219 ->  Vy -3.24 Dy 26.70
02:04:43.219 ->  Vy -3.18 Dy 26.69
02:04:43.219 ->  Vy 0.23 Dy 26.69
02:04:43.253 ->  Vy 3.82 Dy 26.71
02:04:43.253 ->  Vy 0.25 Dy 26.71
02:04:43.253 ->  Vy -3.25 Dy 26.69
02:04:43.253 ->  Vy -2.99 Dy 26.68
02:04:43.253 ->  Vy -2.95 Dy 26.66
02:04:43.253 ->  Vy -2.91 Dy 26.64
02:04:43.287 ->  Vy -2.83 Dy 26.63
02:04:43.287 ->  Vy 0.21 Dy 26.63
02:04:43.287 ->  Vy 0.26 Dy 26.63
02:04:43.287 ->  Vy 0.34 Dy 26.63
02:04:43.287 ->  Vy 0.17 Dy 26.63
02:04:43.287 ->  Vy -2.86 Dy 26.62
02:04:43.287 ->  Vy 0.22 Dy 26.62
02:04:43.321 ->  Vy 3.47 Dy 26.64
02:04:43.321 ->  Vy 3.84 Dy 26.66
02:04:43.321 ->  Vy 3.71 Dy 26.68
02:04:43.321 ->  Vy 0.29 Dy 26.68
02:04:43.321 ->  Vy 0.14 Dy 26.68
02:04:43.321 ->  Vy 3.70 Dy 26.70
02:04:43.355 ->  Vy 4.08 Dy 26.72
02:04:43.355 ->  Vy 4.10 Dy 26.75
02:04:43.355 ->  Vy 4.15 Dy 26.77
02:04:43.355 ->  Vy 4.23 Dy 26.79
02:04:43.355 ->  Vy 4.27 Dy 26.82
02:04:43.355 ->  Vy 0.25 Dy 26.82
02:04:43.389 ->  Vy -3.60 Dy 26.80
02:04:43.389 ->  Vy -3.55 Dy 26.78
02:04:43.389 ->  Vy 68.28 Dy 27.16
02:04:43.389 ->  Vy 70.80 Dy 27.56
02:04:43.389 ->  Vy -74.33 Dy 27.14
02:04:43.389 ->  Vy -78.69 Dy 26.70
02:04:43.423 ->  Vy 0.39 Dy 26.70
02:04:43.423 ->  Vy 1.13 Dy 26.71
02:04:43.423 ->  Vy -0.59 Dy 26.71
02:04:43.423 ->  Vy 0.41 Dy 26.71
02:04:43.423 ->  Vy 0.30 Dy 26.71
02:04:43.423 ->  Vy 3.98 Dy 26.73
02:04:43.458 ->  Vy 4.07 Dy 26.76
02:04:43.458 ->  Vy 4.19 Dy 26.78
02:04:43.458 ->  Vy 70.42 Dy 27.17
02:04:43.458 ->  Vy 3.23 Dy 27.19
02:04:43.458 ->  Vy -65.86 Dy 26.82
02:04:43.458 ->  Vy -3.50 Dy 26.80
02:04:43.493 ->  Vy -3.35 Dy 26.78
02:04:43.493 ->  Vy -2.62 Dy 26.77
02:04:43.493 ->  Vy -3.58 Dy 26.75
02:04:43.493 ->  Vy 71.47 Dy 27.15
02:04:43.493 ->  Vy -2.46 Dy 27.14
02:04:43.493 ->  Vy -77.98 Dy 26.70
02:04:43.527 ->  Vy -4.90 Dy 26.67
02:04:43.527 ->  Vy -3.12 Dy 26.66
02:04:43.527 ->  Vy -2.17 Dy 26.64
02:04:43.527 ->  Vy -3.09 Dy 26.63
02:04:43.527 ->  Vy -2.97 Dy 26.61
02:04:43.527 ->  Vy -2.72 Dy 26.59
02:04:43.560 ->  Vy 85.77 Dy 27.07
02:04:43.560 ->  Vy 87.73 Dy 27.56
02:04:43.560 ->  Vy -90.29 Dy 27.06
02:04:43.560 ->  Vy -1.35 Dy 27.05
02:04:43.560 ->  Vy -2.95 Dy 27.04
02:04:43.560 ->  Vy -93.77 Dy 26.51
02:04:43.594 ->  Vy 0.76 Dy 26.52
02:04:43.594 ->  Vy 0.06 Dy 26.52
02:04:43.594 ->  Vy -0.39 Dy 26.51
02:04:43.594 ->  Vy 0.33 Dy 26.52
02:04:43.594 ->  Vy -1.89 Dy 26.50
02:04:43.594 ->  Vy -1.82 Dy 26.49
02:04:43.628 ->  Vy -1.89 Dy 26.48
02:04:43.628 ->  Vy -2.01 Dy 26.47
02:04:43.628 ->  Vy 97.25 Dy 27.02
02:04:43.628 ->  Vy -1.38 Dy 27.01
02:04:43.628 ->  Vy -100.93 Dy 26.44
Thanks in advance.

Umm, if the position barely changes with velocity, how exactly did it get to 26?

That's confuse me, I think at the starting point it got it or something, at the first time of filtering. I really don't know :(.

Hmm okay. Try this. Pull displacement code and put it outside the library into the sketch. Disp should be a global variable placed outside loop().
Afterwords, load the code to esp32, and open the console plotter. Take a picture of the plot a second or two after startup. Dont move the imu.
Next, move the imu a few times, and take a picture of the plotter.
Post both pictures.

Here is it, first 2 seconds

moving the IMU

Gosh! Sorry.
Please use the serial plotter, to obtain a graph of the signals.

Here is it sorry,

So the offset in position can be explained by the giant pulse at the start. Its stillvery unsensitive to velocity though.

No, I didn't
constexpr float GRAVITY = 9.81e3;    //  mm/s^2    Magnitude of gravity at rest. Determines units of velocity. [UNITS MUST MATCH ACCELERATION]
constexpr float SD_ACC  = 1000;      //  mm/s^2    Standard deviation of acceleration. Deviations from zero are suppressed.
constexpr float SD_VEL  = 200;       //  mm/s      Standard deviation of velocity. Deviations from target value are suppressed.

Ok. Divide the gains by gravity. That should have a significant effect.
constexpr float SD_ACC = 1000 / 9.81e3;
And
SD_VEL = 200 / 9.81e3;

Actually, It didn't go well at all.

My bad. Please set gravity to 1.
constexpr float GRAVITY =1.0

The log is here, It does not respond at all
03:55:13.195 ->  Vy -0.00 Dy 0.00
03:55:13.195 ->  Vy 0.01 Dy 0.00
03:55:13.195 ->  Vy 0.01 Dy 0.00
03:55:13.195 ->  Vy -0.01 Dy 0.00
03:55:13.195 ->  Vy -0.00 Dy 0.00
03:55:13.195 ->  Vy 0.01 Dy 0.00
03:55:13.220 ->  Vy -0.00 Dy 0.00
03:55:13.220 ->  Vy -0.00 Dy 0.00
03:55:13.220 ->  Vy -0.01 Dy 0.00
03:55:13.220 ->  Vy -0.01 Dy 0.00
###the code
/*
This sketch shows to integrate acceleration to obtain an estimate of velocity
*/
/* NOTE:

The accelerometer MUST be calibrated to integrate its output. Adjust the
AX, AY, AND AZ offsets until the sensor reads (0,0,GRAVITY) at rest.

REQUIRED UNITS:
I. The gyroscope must output: radians/second
II. The accelerometer output:  length/second^2  [The length unit is arbitrary. Can be meter, feet, etc]
*/

#include <basicMPU6050.h>   // Library for IMU sensor. See this link: https://github.com/RCmags/basicMPU6050
#include <accIntegral.h>
// ========== IMU sensor ==========
// Gyro settings:
#define         LP_FILTER   3           // Low pass filter.                    Value from 0 to 6
#define         GYRO_SENS   0           // Gyro sensitivity.                   Value from 0 to 3
#define         ACCEL_SENS  0           // Accelerometer sensitivity.          Value from 0 to 3
#define         ADDRESS_A0  LOW         // I2C address from state of A0 pin.   A0 -> GND : ADDRESS_A0 = LOW
//                                     A0 -> 5v  : ADDRESS_A0 = HIGH
// Accelerometer offset:
constexpr int   AX_OFFSET =  0;       // Use these values to calibrate the accelerometer. The sensor should output 1.0g if held level.
constexpr int   AY_OFFSET = 0;       // These values are unlikely to be zero.
constexpr int   AZ_OFFSET = 0;
//-- Set template parameters:
basicMPU6050<LP_FILTER,  GYRO_SENS,  ACCEL_SENS, ADDRESS_A0,
AX_OFFSET,  AY_OFFSET,  AZ_OFFSET
>imu;
// =========== Settings ===========
accIntegral fusion;
// Filter coefficients               //  Unit
constexpr float GRAVITY = 1;    //  mm/s^2    Magnitude of gravity at rest. Determines units of velocity. [UNITS MUST MATCH ACCELERATION]
constexpr float SD_ACC  = 1000/GRAVITY;      //  mm/s^2    Standard deviation of acceleration. Deviations from zero are suppressed.
constexpr float SD_VEL  = 200/GRAVITY;       //  mm/s      Standard deviation of velocity. Deviations from target value are suppressed.
constexpr float ALPHA   = .5;       //            Gain of heading update - See example "output" for more information.
// Sensor scaling
constexpr float TO_LENGTH_PER_SECOND_SQ = GRAVITY;     // Constant to convert acceleration measurements to:  length/second^2
constexpr float TO_RAD_PER_SECOND = 1.0;               // Constant to convery gyroscope measurements to:     radians/second
vec3_t disp = { 0, 0, 0 };
void setup() {
Serial.begin(38400);
delay(1000);
// calibrate IMU sensor
imu.setup();
imu.setBias();
// initialize sensor fusion
//fusion.setup( imu.ax(), imu.ay(), imu.az() );   // ALWAYS set initial heading with acceleration
fusion.setup();
//fusion.reset();  /* Use this function to zero velocity estimate */
}
void loop() {
imu.updateBias();
// Measure state:
vec3_t accel = { imu.ax(), imu.ay(), imu.az() };
vec3_t gyro = { imu.gx(), imu.gy(), imu.gz() };
  // Scale measurements

//  accel *= TO_LENGTH_PER_SECOND_SQ;
gyro *= TO_RAD_PER_SECOND;
// Update heading and velocity estimate:
  // known measured velocity (target state). Estimate will be forced towards this vector

vec3_t vel_t = {0,0,0};
/* note: all coefficients are optional and have default values */
fusion.update( gyro, accel, vel_t, SD_ACC, SD_VEL, GRAVITY, ALPHA );
  // obtain velocity estimate

vec3_t vel = fusion.getVel();
//    Serial.print( " before" );
//  Serial.print( vel.x, 2 );
//  Serial.print( " " );
//  Serial.print( vel.y, 2 );
vel *= TO_LENGTH_PER_SECOND_SQ;
Serial.print( " Vy " );
Serial.print( vel.y, 2 );
// Display velocity components: [view with serial plotter]
vec3_t ddisp ={0,0,0};
ddisp = vel * fusion.timeStep();
disp += ddisp;
Serial.print( " Dy " );
Serial.println( disp.y, 2 );
//  Serial.print( " " );
//  Serial.print( vel.y, 2 );
//  Serial.print( "DZ " );
//  Serial.print( disp.z );
//  Serial.println();
}
Should I change this line
vel *= TO_LENGTH_PER_SECOND_SQ; to 9800

Just change these lines:
constexpr float SD_ACC = 1000/9.81e3;
constexpr float SD_VEL = 200/9.81e3;
constexpr float TO_LENGTH_PER_SECOND_SQ = 9.81e3;

Hello @RCmags , @MohamedGaberZidan ,
could you please point me to the part of this post which fixed the resetting issue?
I think i am facing the same error on my esp32 - while the output example shows stable values, i cannot get the velocity example to work, the esp32 keeps resetting.
I am using the imuFilter library version 1.6.2
output example
-0.01 -0.05 0.01 0.004159
-0.01 -0.05 0.01 0.004152
-0.01 -0.05 0.00 0.004135
tilted by 90° on Pitch
-1.48 -0.19 0.19 0.004130
-1.48 -0.19 0.19 0.004147
-1.48 -0.19 0.19 0.004152
tilted by 90° on Roll
-0.03 -0.30 1.48 0.004141
-0.03 -0.30 1.48 0.004146
-0.03 -0.30 1.48 0.004145
-0.03 -0.30 1.48 0.004159
-0.03 -0.30 1.48 0.004145
-0.03 -0.30 1.48 0.004131
Vector Output Example:
x = 1.00,-0.00,-0.02 | y = 0.00,1.00,-0.00 | z = 0.02,0.00,1.00 | v = 1.00,1.00,-0.03 | q = 1.00,-0.00,0.01,-0.00
x = 1.00,-0.00,-0.02 | y = 0.00,1.00,-0.00 | z = 0.02,0.00,1.00 | v = 1.00,1.00,-0.03 | q = 1.00,-0.00,0.01,-0.00
x = 1.00,-0.00,-0.02 | y = 0.00,1.00,-0.00 | z = 0.02,0.00,1.00 | v = 1.00,1.00,-0.03 | q = 1.00,-0.00,0.01,-0.00
x = 1.00,-0.00,-0.02 | y = 0.00,1.00,-0.00 | z = 0.02,0.00,1.00 | v = 1.00,1.00,-0.03 | q = 1.00,-0.00,0.01,-0.00
Velocity Example:
E (198) esp_core_dump_flash: Core dump flash config is corrupted! CRC=0x7bd5c66f instead of 0x0
Rebooting...
ets Jul 29 2019 12:21:46
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1184
load:0x40078000,len:13260
load:0x40080400,len:3028
entry 0x400805e4
Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.
Core  0 register dump:
PC      : 0x400f3093  PS      : 0x00060d30  A0      : 0x800d14ff  A1      : 0x3ffe3be0
A2      : 0x3ffc1c74  A3      : 0x00000000  A4      : 0x00000000  A5      : 0x00000000
A6      : 0x00000000  A7      : 0x00000400  A8      : 0x00000000  A9      : 0x00000000
A10     : 0x3ffe3bd4  A11     : 0x00000000  A12     : 0x00000000  A13     : 0x00000000
A14     : 0x00ff0000  A15     : 0xff000000  SAR     : 0x0000001b  EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000000  LBEG    : 0x4008156e  LEND    : 0x40081580  LCOUNT  : 0x00000000
Backtrace: 0x400f3090:0x3ffe3be0 0x400d14fc:0x3ffe3c00 0x400dc18f:0x3ffe3c20 0x40082f59:0x3ffe3c50 0x40079306:0x3ffe3c90 |<-CORRUPTED
Thanks a lot

@mittlc
Hi mittlc,
What output does your gyroscope have at rest?
As mentioned in this issue and others, its critical the sensor reads (0,0,1) when held horizontally.
When you plot the velocity example, what do the graphs look like?

Hi @RCmags,
Thanks for the response and sorry for reopening both issues - i only saw later the more recent teensy issue from November and asked the same question there (and it was already answered).
After chaning accIntegral.h i can now run the velocity example.
currently readings of the sensor when held still are 0.07, -0.01, 1.03
Do you want me to take this to the other issue - or better opening a new one for further discussion? i think you can close this one again.

What line did you change in accIntegral.h?
I think there's an issue with the arduino IDE using code that's different from the one in this repo. It should be fixed now after making a new release.
I'll go ahead and close this one again.


Extend elasticsearch tests with SSL

Describe the feature here
Currently we don't test SSL with elasticsearch component. After we will add support for Native, it could be good to test it.

@llowinge it can be closed?

@zhfeng I don't have any info about existing elasticsearch tests with SSL, so from my POV no.


Borrow Mechanism Between NodePools in Karpenter

Summary:
Introduce a "borrow" mechanism between NodePools in Karpenter, inspired by Kueue's Cohort borrowing functionality. This feature would allow a NodePool to borrow CPU cores (or other resources) from another NodePool, optimizing the utilization of reserved compute instances and improving overall flexibility.
Background:
Karpenter significantly improves workload efficiency by automatically provisioning nodes that meet pod requirements and deprovisioning nodes when they are no longer needed. However, in environments with multiple NodePools (such as those containing both on-demand and reserved instances), it would be beneficial to allow NodePools to share underutilized resources. This would enable more efficient use of reserved instances, ensuring that the resources already allocated are fully leveraged before new nodes are provisioned.
Proposed Solution:
Implement a feature similar to Kueue’s "borrow" mechanism, where NodePools can borrow unused CPU cores or other resources from other NodePools. For translation, a Kueue "ClusterQueue" can be seen as equivalent to a NodePool in Karpenter.

Cohort of NodePools:
Allow grouping of NodePools into a cohort. NodePools in the same cohort should be able to borrow resources (e.g., CPU cores) from each other.

Borrowing Semantics:
When a NodePool runs out of its allocated resources, it should be able to borrow unused resources from another NodePool in the same cohort:

Karpenter should attempt to provision workloads within the assigned quota of a NodePool first.
If resources are exhausted, it should try to borrow from unused quota in other NodePools within the cohort.
A NodePool can only borrow resources it is configured to use, and borrowing should be limited by predefined thresholds (similar to Kueue’s borrowingLimit).

Resource Prioritization:
Borrowed resources should prioritize workloads within nominal quotas, ensuring that borrowing is a secondary measure. If multiple workloads require borrowing, prioritize based on workload priority or creation timestamp, similar to Kueue's approach.

Reference:
For details on Kueue’s borrowing semantics, refer to the Kueue documentation.
Use Case:
This feature would be especially useful for environments with a mix of on-demand and reserved instances. For example, a NodePool running on reserved instances could lend unused CPU cores to an on-demand NodePool, reducing the need to provision additional on-demand nodes when reserved capacity is available. This would result in significant cost savings and better resource utilization.

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Hi @sftim . I don't think so that this can be handled via kube-scheduler. What I'm looking for is something which acts like a Karpenter internal "spot market". I have a fixed set of on-demand nodes reserved, sometimes they are not fully utilized, so I want to borrow those nodes to workload which can be interrupted (like a spot node). As soon as I have a workload which requires running on those on-demand nodes. E.g. a  long runing job which is not allowed to be interrupted, it should unborrow/evict the node from the one pool and give it back to the owner's pool. So yes, it is similar to eviction of workloads but on the node level.

You should write this out as some user stories. Bear in mind that Karpenter > 1.0 never assigns Pods to nodes (a scheduler does that).


Add InteractionService from sbt-core-next

Fixes sbt/sbt#3167

Probably https://github.com/sbt/sbt-bintray/blob/b0d9e37a8b9540a679a41534a1e5865a3eb8be20/src/main/scala/Prompt.scala can be replaced with this.


Merge MAIN -> PPV2

Looks good this one @NB-MikeRichardson, why did you close it?

This is an attempt to get stuff from main to ppv2


Increment version for communication releases

Increment package version after release of com.azure azure-communication-common

/azp run java - communication - ci

/check-enforcer override

cannot rerun the pipelines. looks like a code analysis issue. otherwise the changes looks ok. we'll merge and fix in main.


feat : add course

I can not mege because there are conflict in files.

I can not mege because there are conflict in files.


clang: error: no such file or directory libRNCPushNotificationIOS.a

Bug
When you try to make a build or archive in Xcode 10.2
Environment info
RN : 0.59.10
Xcode: 10.2.1
React native info output:
clang: error: no such file or directory: '/Users/xxx/Library/Developer/Xcode/DerivedData/xxx-ewerqswkditpomciyhywhltemfhd/Build/Products/Release-iphoneos/libRNCPushNotificationIOS.a'
Command Ld failed with a nonzero exit code

Library version: Latest
Steps To Reproduce

Add libRNCNotificationPush.a to Link Binary
Build the project
...

Describe what you expected to happen:
1.Succes

I faced this Problem and after few hours heres what worked for me,

remove the PushNotificationIOS.xcodeproj from my project
2.cleaned and build the project
3.added the PushNotificationIOS.xcodeproj , libRNCNotificationPush.a  and made sure that the iOS  header search path on  build settings is set to the right path with recursive "$(SRCROOT)/../node_modules/@react-native-community/push-notification-ios/ios"
4.build the project and again and thats it

Same problem and not work for me your solution @AbdoHema2016

For sure the problem is in this library.. Im  back with not community version and all working fine..!!!!!!

@LuisBonsembiante what u mean but not community version?

@LeoMoonStar I mean the React version...

Please set the iOS deployment Target of PushNotificationIOS project same wit the deployment target of your app.
They set it to iOS 12.1, my app deployment target was iOS 9.0 and I set deployment Target of PushNotificationIOS project to iOS 9.0 in build settings.
That fixed my issue.

Guys I appreciate if you give some help about the local notification in background iOS mode.... It si posible?

not work run release have a problem

not work run release have a problem

Yes, debug (react-native run-ios) has no problem.
Only Release build has this issue. You have to set the deployment target of PushNotificationIOS project same with your app's.

@LeoMoonStar I mean the React version...

so you choose one lower version of react native?

@LeoMoonStar  is not a lower version is the version that yoy have in react-native/Librarries/push-notification-ios

@cuimin0609 your solution worked for me, thanks!

I am also observing this error. I have verified that the iOS Deployment Target is set correctly for the project. I have also tried cleaning and building again a couple of times. After the build finishes, I see all the .a files in the Release-iphoneos directory except libRNCPushNotificationIOS.a. Please let us know how to fix this problem.

I am having the same issue and all my deployment targets are set to 9.0

I am having the same issue and all my deployment targets are set to 9.0

same issues. I had set all targets to 9.0

Still no fix for this? I cannot release the app because of this.

Same here, i cannot release the app because of this.

Same here, i cannot release the app because of this.
EDIT
I have changed to react native module and everything is ok!
https://facebook.github.io/react-native/docs/pushnotificationios.html

When I try to use PushNotificationIOS I get native module cannot be null even though I link the library manually

make sure the deployment target for the RNCPushNotificationIOS target is set to 9.0 (or the same version as your app)

make sure the deployment target for the RNCPushNotificationIOS target (not project) is set to 9.0 (or the same version as your app)

In my case it was solved by cloning the project to a different directory and making sure the deployment target was set to 9.0

I faced this Problem and after few hours heres what worked for me,

remove the PushNotificationIOS.xcodeproj from my project
2.cleaned and build the project
3.added the PushNotificationIOS.xcodeproj , libRNCNotificationPush.a  and made sure that the iOS  header search path on  build settings is set to the right path with recursive "$(SRCROOT)/../node_modules/@react-native-community/push-notification-ios/ios"
4.build the project and again and thats it

This worked for me!

Nothing above worked for me. Using latest react native 0.60.4. Tried manual linking ( Which we shouldn't need since auto linking is now enabled ) Then still the same seeing this error Native module cannot be null

@maamounapprise check that you have PushNotificationIOS.xcodeproj added under Libraries, and libRNCPushNotificationIOS.a added under Linked Frameworks and Libraries.

@BaderSerhan Under the workspace or pods?

@maamounapprise workspace. I follow this manual linking technique for all of my libraries. Saves me the headaches of react-native link and CocoaPods

@BaderSerhan I tried it and didn't work, what version of react native are you running on. Mine is 0.60.5

Got the same error: "clang: error: no such file or directory libRNCPushNotificationIOS.a" on 60.5, does someone have a fix? I have tried everything above

@maamounapprise same 0.60.5
@jeremyscatigna for me it was working yesterday on both debug and release, today it is failing with the same error on release
I decided to return to PushNotificationIOS library found in react-native while the issues here are solved :/

@BaderSerhan Does it work using the PushNotificationIOS library found in react-native ? I have a Native Module cannot be null using it

@jeremyscatigna yes switching back to react-native/PushNotificationsIOS as a temporary workaround should do. Note that you should add RCTPushNotification.xcodeproj to your Libraries folder in XCode from node_modules/react-native/Libraries.

I did everything mentioned above. Nothing worked for version 0.60.5. Did anyone find a solution?

Please set the iOS deployment Target of PushNotificationIOS project same wit the deployment target of your app.
They set it to iOS 12.1, my app deployment target was iOS 9.0 and I set deployment Target of PushNotificationIOS project to iOS 9.0 in build settings.
That fixed my issue.

I confirm @cuimin0609 solution fixed the issue for me.
I'm using React Native 0.60 and followed this steps:

Product > Clean

Product > Clean build folder  (You'll see this option in XCode by holding the Atl key)

Make sure the deployment target for RNCPushNotificationIOS (not project) is the same as the projects deployment target. In my case I set both to 9.0 for iphone devices.

Build again.

My problem was that the file "libRNCPushNotificationIOS.a" was empty, to see that I pressed on the buttons "open as" "hex" in Xcode, if nothing shows up, you have the same problem. I fixed this problem by replacing the "PushNotificationIOS.xcodeproj" file in my project with the one available on GitHub.

I got the same error when trying to build the release version of my app. After readding the library I got this error:
undefined symbols for architecture armv7: "_objc_class_$_rncpushnotificationios",
Also tried changing the target version of the app to match my app as well. That didn't work.

Did you find any solution ?

My problem was that the file "libRNCPushNotificationIOS.a" was empty, to see that I pressed on the buttons "open as" "hex" in Xcode, if nothing shows up, you have the same problem. I fixed this problem by replacing the "PushNotificationIOS.xcodeproj" file in my project by the one available on GitHub.

Can you explain what do you mean by replacing the PushNotificationIOS.xcodeproj file?
I'm having the same problem as you and struggled for days....

I downloaded the file on Github, and I copied paste the PushNotificationIOS.xcodeproj from download to "/node_modules/@react-native-community/push-notification-ios/iOS".

Please set the iOS deployment Target of PushNotificationIOS project same wit the deployment target of your app.
They set it to iOS 12.1, my app deployment target was iOS 9.0 and I set deployment Target of PushNotificationIOS project to iOS 9.0 in build settings.
That fixed my issue.

That worked for me too !!

For some reason even after i changed my deployment target to 9.0 that doesn't fix my problem but after removing the library and add it back and changing the deployment target it worked.
Hope this may help some other people.

I tried all of the above, I am stuck at:
Invariant Violation: Native module cannot be null.

constructor
    NativeEventEmitter.js:36:16
<global>
    PushNotificationIOS.js:18:2
loadModuleImplementation
    require.js:322:6
<global>
    index.ios.js:10:13
loadModuleImplementation
    require.js:322:6
<global>
    index.js:7:38
loadModuleImplementation
    require.js:322:6
<global>
    Receive.js:1
loadModuleImplementation
    require.js:322:6
<global>
    bgMessaging.js:4
loadModuleImplementation
    require.js:322:6
<global>
    FirebaseClient.js:4
loadModuleImplementation
    require.js:322:6
<global>
    StoreScreen.js:5
loadModuleImplementation
    require.js:322:6
<global>
    ProsStackNavigator.js:11
loadModuleImplementation
    require.js:322:6
<global>
    MainTabNavigator.js:10
loadModuleImplementation
    require.js:322:6
<global>
    RootScreen.js:22
loadModuleImplementation
    require.js:322:6
<global>
    App.js:20
loadModuleImplementation
    require.js:322:6
<global>
    index.js:2
loadModuleImplementation
    require.js:322:6
guardedLoadModule
    require.js:201:45
global code
    index.bundle?platform=ios&dev=true&minify=false:273235:4

why is this closed? I am still experienceing this issue. Autolinking seems to not work
using ract-native: 61.4

My issue has been solved after importing the libRNCPushNotificationIOS.a file listed under pods directory.

"libRNCPushNotificationIOS.a"

That file is still empty even after cloning from https://github.com/react-native-community/react-native-push-notification-ios.git and copying the whole PushNotificationIOS.xcodeproj in my project.
@obana1990 Is there another place where I can download that file other than their GitHub? Apparently, this issue was closed when they changed the target from 12.1 to 9.0 but some of us are still having the same error.

Here's the file I found on my local machine if that's what you looking for.
https://drive.google.com/file/d/1rgDMP2U2nW1PyrX53eBLZ0AJGw2MOtwe/view?usp=sharing

Here's the file I found on my local machine if that's what you looking for.
https://drive.google.com/file/d/1rgDMP2U2nW1PyrX53eBLZ0AJGw2MOtwe/view?usp=sharing

Thanks...that's what I needed but it does not fix my issue. Can you upload the entire folder PushNotificationIOS.xcodeproj instead? Thanks

I figure that won't help too.
Try cleaning the build and then change the deploy target to 9.0 see if that helps?
I spent a lot of time on this too but changing the build target did the trick.

Thanks...
I actually did change the target, cleaned and it did not help.
On Thu, Mar 5, 2020 at 1:56 PM obana1990<EMAIL_ADDRESS>wrote:

I figure that won't help too.
Try cleaning the build and then change the deploy target to 9.0 see if
that helps?
I spent a lot of time on this too but changing the build target did the
trick.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/react-native-community/react-native-push-notification-ios/issues/17?email_source=notifications&email_token=ADBCPWQBUXQQMOCTQEJCDADRF7YV3A5CNFSM4IHVYIV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEN6O7IA#issuecomment-595390368,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADBCPWR6SQA35BSKF3HZWPDRF7YV3ANCNFSM4IHVYIVQ
.

--
Baraka, Mahili
Sent from my (PC Google Mail)
DISCLAIMER:
This email and any files transmitted with it are confidential and intended
solely for this individual or entity to which they are addressed. If you
are not the intended recipient or have received this email in error please
notify the sender and destroy this email. Any unauthorized copying,
disclosure or distribution of the material in this email is
strictly forbidden. Please note that any views or opinion presented in this
email are solely those of the sender and do not necessarily represent those
of anyone else. Finally, the recipient should check this email and any
attachments for the presence of viruses. The author accepts no liability
for any damage caused by any virus transmitted by this email.

https://github.com/react-native-community/push-notification-ios/issues/38#issuecomment-631846409


Add a File Explorer view

First off I love the software, you're doing a great job and I appreciate your work. I would say the current structuring is probably the biggest limiter to myself (and probably a lot of others) to really starting to use this software. I have a bunch of Patreons I support and a lot of them follow a similar folder structure, but very rarely is there a consistent naming format.

I would love to simply be able to view my models in a folder structure in van dam, basically the same as if you are using windows explorer w/ preview for images, but you have all of the models for that folder viewable. I think this would give folks a lot of freedom to structure things how they want without needed any super complex filename parsing logic. Bonus points if there was a way to interpret the pre-rendered img files and use them to "preview" whats in a given folder. Here is a horrible inspect-element mock-up of what it might look like:

Basically a new tab in which it will show you all of the content under your "libraries" folder. Folders are shown as a default folder image and open-able just like a normal file explorer. Like mentioned above, you could build in logic to interpret X image name in a directory to represent the parent directory like shown in Creator C (e.g. a logo for a creator folder, or a pre-rendered image for a release/object folder), then the explorer will only show folders and stl files. Stl files would be shown similarly to today, where you can open them, download, etc.

Originally posted by @DougTheDruid in https://github.com/Floppy/van_dam/issues/460#issuecomment-1452447517

I have a similar issue with the many patreons I follow.   I would think this view would be helpful with imports into libraries... possibly an addition to the view is an "import" button that could import specific directories/files into a library directly from this view.   Then I could point the explorer at my downloads, and pick and choose which files to import, and to what library, etc.
possibly this could have an extremely simple set of ETL templates to choose from similar to the library import templates to be able to choose the right one on import.

Related to, but not the same as #764.


Remove github oauth

https://github.com/composer/composer/issues/4884#issuecomment-195229989

ping ;)

Closing by #2688


bug: Cairo lang server Crashes

Bug Report
Cairo version:
1.0.0-alpha.6

Current behavior:
Cairo lang server crashes multiple times and connection gets closed

Expected behavior:
Should not Crash

Steps to reproduce:
I dont know what part of the code causes this, as the same extension does not crash on the compiler repo.

Related code:

thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', crates/cairo-lang-semantic/src/corelib.rs:572:60
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[Info  - 9:52:05 AM] Connection to server got closed. Server will restart.
[Error - 9:52:05 AM] Request textDocument/semanticTokens/full failed.
Error: Connection got disposed.

Hey! You have installed Cairo LS from HEAD and use it with Scarb 0.1 project. Please downgrade LS to 1.0.0-alpha.6. You must use precisely the commit tagged as such.

Thankyou for the help, that fixed my issue !!

We plan to bundle LS with Scarb, so that this will not happen in the future. We track the work here: https://github.com/software-mansion/scarb/issues/221


function to "average" statuses

Hi.
When analyzing runs with seeds and wanting to obtain a column with the "averaged" status of all the runs I had to implement this extra functionality. I leave here my implementation in case it is of any use:
def getAverageStatus(listofstatuses):
    '''
    given a list of status, returns the worst status: From worst to better the
    statuses are:
    fail_abort, readerror, fail_dual_bound, failed_objective_value,
    failed_solution_on_infeasible_instance, failed_solution_infeasible, fail,
    limit different from timeout, timeout, unknown, solved_not_verified, ok
    '''
    bad_statuses = ["fail_abort", "readerror", "fail_dual_bound",
            "failed_objective_value", "failed_solution_on_infeasible_instance",
            "failed_solution_infeasible", "fail"]
    good_statuses = ["timeout", "unknown", "solved_not_verified", "ok"]
    return_status = "ok"
    for status in listofstatuses:
        if return_status in bad_statuses:
            if status in bad_statuses and bad_statuses.index(status) < bad_statuses.index(return_status):
                return_status = status
            continue
        if status in bad_statuses:
            return_status = status
            continue
        if return_status in good_statuses:
            if status not in good_statuses or good_statuses.index(status) < good_statuses.index(return_status):
                return_status = status
    return return_status

@fserra, I modified the suggestion in a couple of ways:

use new string constants in Experiment.py to represent good and bad statuses
new methods getBestStatus, getWorstStatus in Experiment.py
modified search for transformation functions in IPETEvalTable.py a little bit to also search the Experiment module

The reason for putting this into Experiment rather than misc is that misc should not import anything from experiment.

thanks!


#7787 version of 1.1.2 wmagent dbs event

@amaltaro, when this need to be patched DBS client version need to be patched as well.
Also DBS3Upload need to be restarted.
Here is DBS client patch
https://github.com/dmwm/DBS/pull/546
Here is DBS location in production agent.
/data/srv/wmagent/current/sw/slc6_amd64_gcc493/cms/dbs3-client/3.3.155-comp/lib/python2.7/site-packages/dbs/apis/dbsClient.py

Agent 1.1.2 is dead, so I'm closing this PR.


Fix alignment issues caused by fixed table width

Remove "table width = 100%" which caused alignment issues with current version of HN.
ps: thank you for creating the extension!

Before:

After:

Oh hey, I  didn't see this but I will go ahead and update the one in the chrome store Thanks :)


Add different requirements (Quorum, Approval Threshold, etc) to different types of proposal on the same SnapShot

Is your feature request related to a problem? Please describe.
Each snapshot page allows only one set of parameters (quorum, min amount to create proposals, approval threshold, "authors only") for all the proposals created.
If i wanted to have different settings (i.e. One type of proposal requiring 10k tokens as quorum, and another type of proposal requiring 100k tokens) i would need a different snapshot page, wich would also require another ENS domain cost
Describe the solution you'd like
Allow creating different types of proposals inside the same snapshot page.
For example:
Budget Proposal:

Min Quorum: 100k Tokens
Time for Voting: 30 days

Small change proposal:

Min Quorum: 1k Tokens
Time for Voting: 10 days

That way, when a user wanted to create a new proposal, he would select with type of proposal he want to create, and the requirements would be dependent of that type.
Describe alternatives you've considered
Pay a second ENS domain to create a new snapshot page (Extra costs)
Additional context
Add any other context or screenshots about the feature request here.

@bonustrack, what are your thoughts on this?


Enterprise ready checklist

https://www.enterprisegrade.io/

Not an issue - moved to a separate list as to not confuse people


CE Filter Task - would like a destroy option for deleting bulk CEs

Feature or enhancement
When existing CEs are imported as brand new (duplicate) CEs (see #4101), I would like to be able to delete the duplicate CEs in bulk through the CE filter/housekeeping.
There are no delete/destroy options in any of the radials. I have to delete them one by one.
These new CEs are no longer linked to any CO records.
See #4101 for Unify issues.
Location
Task - CE filter
Screenshot, napkin sketch of interface, or conceptual description
No option to delete multiple duplicate CEs with no collecting event or GA data

Your role
No response

This is going to be tricky to handle.  Suggestions as to the process that safegaurds accidents welcome.

Perhaps a prompt if there are COs linked to the CE would make one double check before deleting.


Add food truck project

Describe the project you want to add with tech stack
Hey @pranjay-poddar I want to add the Food truck project to the frontend project. Please assign me this issue. Thank you!
Expected behavior

Screenshots (optional)

Additional context (optional )

I would like to work on this under gssoc 23 . Please assign it to me.

Please assign me this issue so that I can start working on it @pranjay-poddar

Please assign me this issue so that I can start working on it @pranjay-poddar


Nothing is rendering.

I'm new to Blade, and I'm trying to include your application as a Vendor but the conditions aren't (@desktop, @handheld, @anything).
I followed the readme instructions to add Riverskies\Laravel\MobileDetect\Facades\MobileDetect::class to my config file and then placed the sample @desktop conditions in my Blade template. Am I missing a step?

If your composer install succeeded, that's pretty much all you have to do (for Laravel 5.4 or earlier). So, if you do
@desktop

Only visible on desktop

@else

Visible on non-desktop browsers

@enddesktop

you should see the first paragraph on desktop browsers. What is that you experience exactly? Nothing showing / wrong content showing / else?

The same problem. @desktop (and other directives) are rendering as simple text.
Laravel 5.5
Tried with and without provider in config/app.php
BUT!
local server - ok
stage server - ok
production server - not ok
php7.1 is on every server

@andreizakharkin Try clearing your view cache php artisan view:clear - that often is required when introducing new Blade directives. Let me know if that worked!

In my case, executing artisan commands always returns Could not open input file: artisan - which I understand is because it believes I'm not in the
Laravel Blade directory. Since I'm brand new to Laravel and Blade, and
using it for the first time inside a WordPress Theme (Root's Sage 9) I'm
wondering if they have modified Laravel Blade in some way that would
prevent this command from being run because I can run other Laravel
commands from this directory. Any ideas? @andreizakharkin did this solution
work for you?
On Wed, Apr 25, 2018 at 7:45 AM Barnabas Kecskes<EMAIL_ADDRESS>wrote:

@andreizakharkin https://github.com/andreizakharkin Try clearing your
view cache php artisan view:clear - that often is required when
introducing new Blade directives. Let me know if that worked!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/riverskies/laravel-mobile-detect/issues/10#issuecomment-384313311,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAoFiGu2Dr-ijvAMbfNEOZi4ht4uRW9Zks5tsIv-gaJpZM4TfGPU
.

@s3w47m88 what do you mean by

I can run other Laravel commands

@barnabaskecskes
Yes! It was just a view cache :/
Thx


How to parse depth predict reuslt and to evaluate  SILog, Abs Rel  metrices?

Now, i get  a  tensor with  downsample 16 times  and use softmax  to classify ,  How to reproduce the depth value metrices  and to parse depth predict reuslt?

You can use the depth prediction result generated by depth net to get the results.


[BEAM-7235] StreamingDataflowWorker creates commit stream only when commit available

stream once there is a commit.
Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

R: @lukecwik


Conditions with 'NOT' or ShouldHaveSize waits full timeout.

Example:
$$("some collection").shouldHaveSize(2);
in debug mode i already see that collection size is 2.
but Selenide waits full timeout set by Configuration.timeout.
As i know it should wait until condition met.
The same is about:
SomeElement.shouldNot(exist)
etc.

@Bersikan Sorry, I cannot reproduce the problem.

Command $$("some collection").shouldHaveSize(2); runs with ~100 ms (didn't wait a full timeout).
Command $("xsxxx").shouldNot(exist); runs with ~20ms.

Could you give a full code to reproduce the problem?

Closing due to inactivity


Is it a safe assumption that this project is dead?

Hello,
Just thought I'd check to see if this project is officially dead? Considering there's been no activity for quite a while and there are quite a few open issues, it would seem so.

Hi Travis,
Thank you for the feedback. It's unfortunate as this seems like a very handy library. I see there are 11 open pull requests though, so it seems like there's been some contribution by the community. 🤷♂
Cheers,
Eric


Python 3 Conversion

Hello,
I'm interested in converting this to work in Python 3. I've forked the repo and will begin that today. Let me know if you'd like me to open a PR in this repo once I'm done.
Best,
Ben Glick

Sure, that would be great.

Okay! I've done it, and it's in PR #2. I believe it might be a breaking change, so maybe we should create a new repo and put it there, rather than making this repo not backward-compatible.


Document a propshaft approach to JS/CSS

Resolves #1064
Given Rails 8 has been released without transpilation or bundled JavaScript by default, this documentation update demonstrates how to use Stimulus and CSS in a ViewComponent without Webpacker.
A more terse demonstration would be possible without the view component arguments and/or less complicated Stimulus behaviour however that might be less instructive.
One of the trickier aspects of binding Stimulus controllers is often determining the correct data-controller key to use, especially when namespaces and/or multi-word component names are involved which this example makes explicit.
Approach 1 outputs a stylesheet link tag into HTML potentially several times if a ViewComponent using this technique is re-used in a page several times. Aside from that affecting the aesthetic of the rendered source, it seems like a reasonable trade-off to ensure the ViewComponent is completely self-sufficient inclusive of styling in lieu of the Encapsulating assets approach. A sidecar loaded .css (or .scss) file seems a like a logical place to look for styling.
Approach 2 demonstrates the Stimulus behaviour but not the css, that would likely involve dartsass-rails.

@joelhawksley this config checks out with one small issue, otherwise I think its 100%

@camertron, regarding https://github.com/ViewComponent/view_component/pull/2160#discussion_r1892967275, I'd love to avoid autoloading all assets in that app/components directory but when I have tried various approaches like the one you have suggested, I've been unable to make that work.


Register dynamic function from external extension not working.

Problem: https://github.com/useblocks/sphinx-test-reports/issues/12
Reason: External extension register their dynamic functions (during initialization) before sphinx-needs prepares its environment (by event).
During this event preparation NEEDS_FUNCTIONS get cleaned, even if it has already content from external.

@danwos Works as expected. Thanks 👍🏽


Handle Transaction.End meter value outside the Stop Transaction + Do not stop the Transaction in Status Notification

Handle Transaction.End meter value outside the Stop Transaction
Do not automatically stop the ongoing Transaction when Status Notification changes from Charging to Available
Code cleanup

How will be handled the stalled running transactions in case of not receiving a stop transaction? (because failures or bugs on charging stations)

Indeed!
We have 2 solutions here: The Soft Stop (manual in the UI) and a Start Transaction that will stop the ongoing one.
Here we are still dealing with an unusual use case that should not happen.

How will be handled the stalled running transactions in case of not receiving a stop transaction? (because failures or bugs on charging stations)

Indeed!
We have 2 solutions here: The Soft Stop (manual in the UI) and a Start Transaction that will stop the ongoing one.

A scheduler task can also check for running transactions and if one transaction:

is attached to a charging station online with the last status notification set "Available';
and
have not received a meter values since ... one hour?

a soft stop is then triggered.
We can't anything smart on offline charging stations because they should buffer in case of not reaching the backend, taking a decision in that case can end a transaction that will be ended properly when the charging station comes back online.

A scheduler task can also check for running transactions and if one transaction:

is attached to a charging station online with the last status notification set to "Available';
and
have not received a meter values since ... one hour?

a soft stop is then triggered.
We can't do anything smart on offline charging stations because they should buffer in case of not reaching the backend, taking a decision in that case can end a transaction that will be ended properly when the charging station comes back online.

Yes indeed, the clean up job is a good idea!
For the time being we can live with the counter measures in place, time is money ;-).


Timezone id could not be parsed

The current implementation to parse the timezone is failing.
Log output
2015-05-11 00:09:58,578 INFO [52n-wdc-timer] [MuensterwetterRealTimeCollector.java:372] Timezone id '(UTC+1)
' is not supported by Java. Please check 'http://docs.oracle.com/javase/7/docs/api/java/util/TimeZone.html'.

It is a bit related to #3.

Could it be the case that the data you're downloading now actually refers to the new Weather station (HEI2?) ? Should we get in touch? Because that would explain why the timestamp format changed.

@nuest The problem was that they used the timezone identifier "UTC+1" which must be translated to "Etc/GMT-1".
From my point of view this issue is fixed by d97435f9fea0fa9acc.
In addition, we might get in touch to check, if I am using the correct data file.


MyCarePlanner : "PKCE code challenge is required by the application" error during VA connect attempt

I'm testing out the VA sandbox integration with the latest MyCarePlanner build, and I'm encountering this error:
invalid_request: PKCE code challenge is required by the application.
I have verified that the client ID and redirect URI are correct.
Does MyCarePlanner perform a PKCE authorization?  See this link for details:
https://developer.va.gov/explore/api/patient-health/authorization-code#pkce-authorization

adding "pkceMode": "unsafeV1" to the myproviders.json config block for the VA sandbox entry fixed the problem

My MyCarePlanner does support PKCE.  But it seems that this setting was
lost as part of migrating to the provider configuration file.  Our previous
launch.js file included this config:
{

// VA sandbox
issMatch: "https://sandbox-api.va.gov/services/fhir/v0/r4",
redirectUri: "./index.html",
clientId: process.env.REACT_APP_CLIENT_ID_va,
scope: process.env.REACT_APP_VA_SANDBOX_ENDPOINT_SCOPE,
pkceMode: "unsafeV1"
// "unsafeV1" - Use against Smart v1 servers. Smart v1 does not define
conformance, so validate your server supports PKCE before using this setting
},
Thanks,
Dave
On Mon, Mar 18, 2024 at 1:56 PM Matt Storer @.***>
wrote:

I'm testing out the VA sandbox integration with the latest MyCarePlanner
build, and I'm encountering this error:
invalid_request: PKCE code challenge is required by the application.
I have verified that the client ID and redirect URI are correct.
Does MyCarePlanner perform a PKCE authorization? See this link for details:
https://developer.va.gov/explore/api/patient-health/authorization-code#pkce-authorization
—
Reply to this email directly, view it on GitHub
https://github.com/chronic-care/mcc-project/issues/353, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAPT6N622TQQXKZKYI2OYKDYY5BGRAVCNFSM6AAAAABE4H6TCSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE4TGMJWGEZTANY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Set the input-type of the hoursminutes-input to number

In the mobile context the opened virrtual keyboard is defined by the input type.
For this reason and because hours and minutes can only be numbers this should be a number-input.

"09" for example is also valid in a number-type input

Currently it acts fine as a text type input field. It validates fine and you can select hour and minute from the md-clock directive.
Why do you want a number type input field?

When you are using text type input field on mobile devices  (android or apple or windows)
the virtual keyboard will open with the alpha chars, if the user disabled the number row (which is possible atleast on android) he has to tap the 123 button everytime just to get to the number input.
Text-Input:

Number-Input:


[AddressLowering] Create copy_addr after store.

When rewriting a store, insert the copy_addr after it rather than before
it.
Previously, after the copy_addr is created,
alloc_stack %target_addr $Ty, var, name "something"
...
copy_addr [take] %source_addr to [init] %target_addr
store %instance to [init] %addr

when deleting the store, debug info salvaging may result in a
debug_value instruction being created before the store,
alloc_stack %target_addr $Ty, var, name "something"
...
copy_addr [take] %source_addr to [init] %target_addr
debug_value %source_addr : $*Ty, var, name "something"
store %instance to [init] %addr

using the %source_addr.  If the created copy_addr is a [take], this
results in the debug_value being a use-after-consume in the final SIL:
alloc_stack %target_addr $Ty, var, name "something"
...
copy_addr [take] %source_addr to [init] %target_addr
debug_value %source_addr : $*Ty, var, name "something"

Instead, now, the copy_addr is created after:
alloc_stack %target_addr $Ty, var, name "something"
...
store %instance to [init] %addr
copy_addr [take] %source_addr to [init] %target_addr

So when the debug_value instruction is created before the store during
debug info salvaging
alloc_stack %target_addr $Ty, var, name "something"
...
debug_value %source_addr : $*Ty, var, name "something"
store %instance to [init] %addr
copy_addr [take] %source_addr to [init] %target_addr

it is also before the newly added copy_addr.  The result is that when
the store is deleted, we have valid SIL:
alloc_stack %target_addr $Ty, var, name "something"
...
debug_value %source_addr : $*Ty, var, name "something"
copy_addr [take] %source_addr to [init] %target_addr

Based on https://github.com/apple/swift/pull/62074 .

@swift-ci please test

@swift-ci please test

@swift-ci please test linux platform

@swift-ci please smoke test

LGTM but it makes me nervous about other places that may also salvage debug_info when deleting the original instruction. Any way to guard against that?


IE 11 support

Hi, I was looking if this directive works with IE11. I tried the code pen with the example, but I notice that the calendar is not displayed as in Chrome when the user clicks the control.

Hi, a new version is online. Do you still have problems?


[skip ci] ci: remove automerge again

Didn't work as expected. :(

I will ninja merge this as schutzbot is rebasing other PRs to the wrong base.


Have any issues alpha version with rust-stable?

I try to async request with rust-stable(1.39.0) and reqwest(v0.10.0-alpha.2) (blocked request [v0.9x] was running correctly)
But it seems not running.
I got messages like follow :
$  cargo build
   Compiling PJT

error[E0277]: `main` has invalid return type `impl std::future::Future`
  --> src/main.rs:24:20
   |
24 | async fn main() -> Result<(), Box<dyn std::error::Error>> {
   |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` can only return types that implement `std::process::Termination`
   |
   = help: consider using `()`, or a `Result`

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0277`.
error: could not compile `PJTName`.

To learn more, run the command again with --verbose.

And this is my project code
#[macro_use]
extern crate dotenv_codegen;

use reqwest;

async fn main() -> Result<(), Box<dyn std::error::Error>> {
  let resp = reqwest::get("https://www.rust-lang.org").await?
  .text().await?;
    println!("{:#?}", resp);
    Ok(())
}

Have any issues on rust-stable version?

I met similar problem before, but I managed to solve this by:

Add "#[tokio::main]" to main()
Add "tokio = { version = "0.2.0-alpha.6" }" in Cargo.toml

@CliffHan  Thank to help. It working :)

@ggomagundan Do you want to close the issue since it is working?


drivers: eth_enc28j60: fix typo and build for half duplex

Fix typo and build for half duplex configuration.

Codecov Report

Merging #14071 into master will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #14071      +/-   ##
==========================================
- Coverage   52.64%   52.61%   -0.04%
==========================================
  Files         307      307
  Lines       45472    45472
  Branches    10530    10530
==========================================
- Hits        23940    23924      -16
- Misses      16654    16666      +12
- Partials     4878     4882       +4

Impacted Files
Coverage Δ

subsys/testsuite/ztest/include/ztest_assert.h
38.88% <0%> (-38.89%)
:arrow_down:

subsys/testsuite/ztest/src/ztest.c
65.28% <0%> (-7.44%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b5589cc...3a04dde. Read the comment docs.


5.0 rtm relnotes

Docs Build status updates of commit a139249:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded
View

docs/release-notes/Index.md
:white_check_mark:Succeeded
View

docs/release-notes/NuGet-5.0-RTM.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Here is a link to the preview - https://review.docs.microsoft.com/en-us/nuget/release-notes/nuget-5.0-rtm?branch=karann-5.0-rtm

Docs Build status updates of commit 55d583d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded
View

docs/release-notes/Index.md
:white_check_mark:Succeeded
View

docs/release-notes/NuGet-5.0-RTM.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 7f03022:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded
View

docs/release-notes/Index.md
:white_check_mark:Succeeded
View

docs/release-notes/NuGet-5.0-RTM.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 793232c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded
View

docs/release-notes/Index.md
:white_check_mark:Succeeded
View

docs/release-notes/NuGet-5.0-RTM.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 8965643:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded
View

docs/release-notes/Index.md
:white_check_mark:Succeeded
View

docs/release-notes/NuGet-5.0-RTM.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 15f7691:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded
View

docs/release-notes/Index.md
:white_check_mark:Succeeded
View

docs/release-notes/NuGet-5.0-RTM.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 15f7691:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded
View

docs/release-notes/Index.md
:white_check_mark:Succeeded
View

docs/release-notes/NuGet-5.0-RTM.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit f253b12:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/TOC.md
:white_check_mark:Succeeded
View

docs/release-notes/Index.md
:white_check_mark:Succeeded
View

docs/release-notes/NuGet-5.0-RTM.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.