File tree Expand file tree Collapse file tree 4 files changed +9
-3
lines changed
current_sense/hardware_specific/rp2040 Expand file tree Collapse file tree 4 files changed +9
-3
lines changed Original file line number Diff line number Diff line change @@ -18,7 +18,12 @@ void Sensor::update() {
1818float Sensor::getVelocity () {
1919 // calculate sample time
2020 float Ts = (angle_prev_ts - vel_angle_prev_ts)*1e-6 ;
21- // TODO handle overflow - we do need to reset vel_angle_prev_ts
21+ if (Ts < 0 .0f ) { // handle micros() overflow - we need to reset vel_angle_prev_ts
22+ vel_angle_prev = angle_prev;
23+ vel_full_rotations = full_rotations;
24+ vel_angle_prev_ts = angle_prev_ts;
25+ return velocity;
26+ }
2227 if (Ts < min_elapsed_time) return velocity; // don't update velocity if deltaT is too small
2328
2429 velocity = ( (float )(full_rotations - vel_full_rotations)*_2PI + (angle_prev - vel_angle_prev) ) / Ts;
Original file line number Diff line number Diff line change 2828#define _PI_6 0.52359877559f
2929#define _RPM_TO_RADS 0.10471975512f
3030
31- #define NOT_SET -12345.0
31+ #define NOT_SET -12345.0f
3232#define _HIGH_IMPEDANCE 0
3333#define _HIGH_Z _HIGH_IMPEDANCE
3434#define _ACTIVE 1
Original file line number Diff line number Diff line change 55#include " ../common/foc_utils.h"
66
77
8- #if defined(_STM32_DEF_) || defined(ESP_H) || defined(ARDUINO_ARCH_AVR) || defined(ARDUINO_SAM_DUE) || defined(CORE_TEENSY) || defined(NRF52_SERIES )
8+ #if ! defined(TARGET_RP2040) && ! defined(_SAMD21_) && ! defined(_SAMD51_) && ! defined(_SAME51_ )
99#define PinStatus int
1010#endif
1111
Original file line number Diff line number Diff line change 1010#include " hardware/dma.h"
1111#include " hardware/irq.h"
1212#include " hardware/pwm.h"
13+ #include " hardware/adc.h"
1314
1415
1516/* Singleton instance of the ADC engine */
You can’t perform that action at this time.
0 commit comments