Skip to content

Commit 04a8a88

Browse files
Merge pull request #299 from runger1101001/dev
Fixing errors with new Arduino framework versions
2 parents 451be63 + a5ecace commit 04a8a88

21 files changed

+90
-5
lines changed

src/communication/StepDirListener.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#include "../common/foc_utils.h"
66

77

8-
#if !defined(TARGET_RP2040) && !defined(_SAMD21_) && !defined(_SAMD51_) && !defined(_SAME51_) && !defined(ARDUINO_UNOR4_WIFI) && !defined(ARDUINO_UNOR4_MINIMA)
8+
#if !defined(TARGET_RP2040) && !defined(_SAMD21_) && !defined(_SAMD51_) && !defined(_SAME51_) && !defined(ARDUINO_UNOR4_WIFI) && !defined(ARDUINO_UNOR4_MINIMA) && !defined(NRF52_SERIES) && !defined(ARDUINO_ARCH_MEGAAVR)
99
#define PinStatus int
1010
#endif
1111

src/current_sense/hardware_specific/esp32/esp32_mcu.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#include "../../../drivers/hardware_api.h"
33
#include "../../../drivers/hardware_specific/esp32/esp32_driver_mcpwm.h"
44

5-
#if defined(ESP_H) && defined(ARDUINO_ARCH_ESP32) && defined(SOC_MCPWM_SUPPORTED)
5+
#if defined(ESP_H) && defined(ARDUINO_ARCH_ESP32) && defined(SOC_MCPWM_SUPPORTED) && !defined(SIMPLEFOC_ESP32_USELEDC)
66

77
#include "esp32_adc_driver.h"
88

src/current_sense/hardware_specific/esp32/esp32s_adc_driver.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
#include "freertos/task.h"
77
#include "rom/ets_sys.h"
88
#include "esp_attr.h"
9-
#include "esp_intr.h"
9+
//#include "esp_intr.h" // deprecated
10+
#include "esp_intr_alloc.h"
1011
#include "soc/rtc_io_reg.h"
1112
#include "soc/rtc_cntl_reg.h"
1213
#include "soc/sens_reg.h"

src/drivers/hardware_specific/atmega/atmega2560_mcu.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
#if defined(__AVR_ATmega2560__) || defined(AVR_ATmega1280)
44

5+
6+
#pragma message("")
7+
#pragma message("SimpleFOC: compiling for Arduino/ATmega2560 or Arduino/ATmega1280")
8+
#pragma message("")
9+
10+
511
#define _PWM_FREQUENCY 32000
612
#define _PWM_FREQUENCY_MAX 32000
713
#define _PWM_FREQUENCY_MIN 4000

src/drivers/hardware_specific/atmega/atmega328_mcu.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
#if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega168__) || defined(__AVR_ATmega328PB__)
44

5+
#pragma message("")
6+
#pragma message("SimpleFOC: compiling for Arduino/ATmega328 ATmega168 ATmega328PB")
7+
#pragma message("")
8+
59
#define _PWM_FREQUENCY 32000
610
#define _PWM_FREQUENCY_MAX 32000
711
#define _PWM_FREQUENCY_MIN 4000

src/drivers/hardware_specific/atmega/atmega32u4_mcu.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33

44
#if defined(__AVR_ATmega32U4__)
55

6+
#pragma message("")
7+
#pragma message("SimpleFOC: compiling for Arduino/ATmega32U4")
8+
#pragma message("")
9+
610
// set pwm frequency to 32KHz
711
void _pinHighFrequency(const int pin){
812
// High PWM frequency

src/drivers/hardware_specific/due_mcu.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
#if defined(__arm__) && defined(__SAM3X8E__)
44

5+
6+
#pragma message("")
7+
#pragma message("SimpleFOC: compiling for Arduino/Due")
8+
#pragma message("")
9+
10+
511
#define _PWM_FREQUENCY 25000 // 25khz
612
#define _PWM_FREQUENCY_MAX 50000 // 50khz
713

src/drivers/hardware_specific/esp32/esp32_driver_mcpwm.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@
55

66
#if defined(ESP_H) && defined(ARDUINO_ARCH_ESP32) && defined(SOC_MCPWM_SUPPORTED) && !defined(SIMPLEFOC_ESP32_USELEDC)
77

8+
9+
10+
#pragma message("")
11+
#pragma message("SimpleFOC: compiling for ESP32 MCPWM driver")
12+
#pragma message("")
13+
14+
815
#include "driver/mcpwm.h"
916
#include "soc/mcpwm_reg.h"
1017
#include "soc/mcpwm_struct.h"

src/drivers/hardware_specific/esp32/esp32_ledc_mcu.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
#if defined(ESP_H) && defined(ARDUINO_ARCH_ESP32) && ( !defined(SOC_MCPWM_SUPPORTED) || defined(SIMPLEFOC_ESP32_USELEDC) )
44

5+
#pragma message("")
6+
#pragma message("SimpleFOC: compiling for ESP32 LEDC driver")
7+
#pragma message("")
8+
59
#include "driver/ledc.h"
610

711
#define _PWM_FREQUENCY 25000 // 25khz

src/drivers/hardware_specific/esp8266_mcu.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
#if defined(ESP_H) && defined(ARDUINO_ARCH_ESP8266)
44

5+
6+
#pragma message("")
7+
#pragma message("SimpleFOC: compiling for ESP8266")
8+
#pragma message("")
9+
10+
511
#define _PWM_FREQUENCY 25000 // 25khz
612
#define _PWM_FREQUENCY_MAX 50000 // 50khz
713

src/drivers/hardware_specific/generic_mcu.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1+
12
#include "../hardware_api.h"
23

34
// if the mcu doen't have defiend analogWrite
4-
#if defined(ESP_H) && defined(ARDUINO_ARCH_ESP32)
5+
#if defined(ESP_H) && defined(ARDUINO_ARCH_ESP32) && !defined(analogWrite)
56
__attribute__((weak)) void analogWrite(uint8_t pin, int value){ };
67
#endif
78

src/drivers/hardware_specific/nrf52_mcu.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33

44
#if defined(NRF52_SERIES)
55

6+
#pragma message("")
7+
#pragma message("SimpleFOC: compiling for NRF52")
8+
#pragma message("")
9+
610

711
#define PWM_CLK (16000000)
812
#define PWM_FREQ (40000)

src/drivers/hardware_specific/portenta_h7_mcu.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33

44
#if defined(TARGET_PORTENTA_H7)
55

6+
7+
#pragma message("")
8+
#pragma message("SimpleFOC: compiling for Arduino/Portenta_H7")
9+
#pragma message("")
10+
11+
612
#include "pwmout_api.h"
713
#include "pinDefinitions.h"
814
#include "platform/mbed_critical.h"

src/drivers/hardware_specific/renesas/renesas.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@
33

44
#if defined(ARDUINO_UNOR4_WIFI) || defined(ARDUINO_UNOR4_MINIMA)
55

6+
7+
#pragma message("")
8+
#pragma message("SimpleFOC: compiling for Arduino/Renesas (UNO R4)")
9+
#pragma message("")
10+
11+
12+
613
#include "communication/SimpleFOCDebug.h"
714
#include "FspTimer.h"
815

src/drivers/hardware_specific/rp2040/rp2040_mcu.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44
*/
55
#if defined(TARGET_RP2040)
66

7+
8+
#pragma message("")
9+
#pragma message("SimpleFOC: compiling for RP2040")
10+
#pragma message("")
11+
12+
713
#define SIMPLEFOC_DEBUG_RP2040
814

915
#include "../../hardware_api.h"

src/drivers/hardware_specific/samd/samd21_mcu.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@
77
#ifdef _SAMD21_
88

99

10+
#pragma message("")
11+
#pragma message("SimpleFOC: compiling for SAMD21")
12+
#pragma message("")
13+
1014

1115
#ifndef TCC3_CH0
1216
#define TCC3_CH0 NOT_ON_TIMER

src/drivers/hardware_specific/samd/samd51_mcu.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@
66
#if defined(_SAMD51_)||defined(_SAME51_)
77

88

9+
#pragma message("")
10+
#pragma message("SimpleFOC: compiling for SAMD51/SAME51")
11+
#pragma message("")
12+
13+
914

1015
// expected frequency on DPLL, since we don't configure it ourselves. Typically this is the CPU frequency.
1116
// for custom boards or overclockers you can override it using this define.

src/drivers/hardware_specific/stm32/stm32_mcu.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44

55
#if defined(_STM32_DEF_)
66

7+
#pragma message("")
8+
#pragma message("SimpleFOC: compiling for STM32")
9+
#pragma message("")
10+
711

812
//#define SIMPLEFOC_STM32_DEBUG
913

src/drivers/hardware_specific/teensy/teensy3_mcu.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@
1010
#if defined(__arm__) && defined(CORE_TEENSY) && (defined(__MK20DX128__) || defined(__MK20DX256__) || defined(__MKL26Z64__) || defined(__MK64FX512__) || defined(__MK66FX1M0__))
1111

1212

13+
#pragma message("")
14+
#pragma message("SimpleFOC: compiling for Teensy 3.x")
15+
#pragma message("")
16+
1317
// pin definition from https://github.com/PaulStoffregen/cores/blob/286511f3ec849a6c9e0ec8b73ad6a2fada52e44c/teensy3/pins_teensy.c
1418
#if defined(__MK20DX128__)
1519
#define FTM0_CH0_PIN 22

src/drivers/hardware_specific/teensy/teensy4_mcu.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@
77
// - Teensy 4.1
88
#if defined(__arm__) && defined(CORE_TEENSY) && ( defined(__IMXRT1062__) || defined(ARDUINO_TEENSY40) || defined(ARDUINO_TEENSY41) || defined(ARDUINO_TEENSY_MICROMOD) )
99

10+
11+
#pragma message("")
12+
#pragma message("SimpleFOC: compiling for Teensy 4.x")
13+
#pragma message("")
14+
15+
1016
// half_cycle of the PWM variable
1117
int half_cycle = 0;
1218

src/sensors/MagneticSensorPWM.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ float MagneticSensorPWM::getSensorAngle(){
8585
int MagneticSensorPWM::getRawCount(){
8686
if (!is_interrupt_based){ // if it's not interrupt based read the value in a blocking way
8787
pulse_timestamp = _micros(); // ideally this should be done right at the rising edge of the pulse
88-
pulse_length_us = pulseIn(pinPWM, HIGH);
88+
pulse_length_us = pulseIn(pinPWM, HIGH, 1200); // 1200us timeout, should this be configurable?
8989
}
9090
return pulse_length_us;
9191
}

0 commit comments

Comments
 (0)