You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Please update the library. It has too many compatible issues.
The compilation output is:
`c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp: In function 'void onHLim(void*)':
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\Fre
8000
qCountESP.cpp:25:39: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
25 | *(volatile uint32_t )backupCounter += PCNT_HIGH_LIMIT;
| ^
In file included from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32/include/xtensa/include/xt_utils.h:16,
from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32/include/esp_hw_support/include/esp_cpu.h:16,
from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32/include/esp_hw_support/include/spinlock.h:11,
from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32/include/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/portmacro.h:74,
from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32/include/freertos/FreeRTOS-Kernel/include/freertos/portable.h:59,
from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32/include/freertos/FreeRTOS-Kernel/include/freertos/FreeRTOS.h:71,
from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0-rc3\cores\esp32/Arduino.h:33,
from c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.h:4,
from c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:1:
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:16:19: error: 'PCNT_UNIT_0' was not declared in this scope; did you mean 'PCNT_UNIT'?
16 | #define PCNT_UNIT PCNT_UNIT_0
| ^~~~~~~~~~~
C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32/include/esp_common/include/esp_bit_defs.h:79:42: note: in definition of macro 'BIT'
79 | #define BIT(nr) (1UL << (nr))
| ^~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:26:26: note: in expansion of macro 'PCNT_UNIT'
26 | PCNT.int_clr.val = BIT(PCNT_UNIT); // Clear the interrupt.
| ^~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp: At global scope:
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:30:8: error: 'pcnt_isr_handle_t' does not name a type; did you mean 'pcnt_unit_handle_t'?
30 | static pcnt_isr_handle_t setupPcnt(uint8_t pin, volatile uint32_t backupCounter) {
| ^~~~~~~~~~~~~~~~~
| pcnt_unit_handle_t
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:52:24: warning: ignoring attribute 'section (".iram1.3")' because it conflicts with previous 'section (".iram1.1")' [-Wattributes]
52 | void IRAM_ATTR onTimer()
| ^
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.h:17:16: note: previous declaration here
17 | void IRAM_ATTR onTimer();
| ^~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp: In function 'void onTimer()':
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:16:19: error: 'PCNT_UNIT_0' was not declared in this scope; did you mean 'PCNT_UNIT'?
16 | #define PCNT_UNIT PCNT_UNIT_0
| ^~~~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:57:26: note: in expansion of macro 'PCNT_UNIT'
57 | pcnt_get_counter_value(PCNT_UNIT, &pulseCount);
| ^~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:57:3: error: 'pcnt_get_counter_value' was not declared in this scope
57 | pcnt_get_counter_value(PCNT_UNIT, &pulseCount);
| ^~~~~~~~~~~~~~~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp: At global scope:
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:69:6: error: variable or field 'teardownPcnt' declared void
69 | void teardownPcnt(pcnt_isr_handle_t isrHandle)
| ^~~~~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:69:19: error: 'pcnt_isr_handle_t' was not declared in this scope; did you mean 'pcnt_unit_handle_t'?
69 | void teardownPcnt(pcnt_isr_handle_t isrHandle)
| ^~~~~~~~~~~~~~~~~
| pcnt_unit_handle_t
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:90:23: warning: ignoring attribute 'section (".iram1.4")' because it conflicts with previous 'section (".iram1.0")' [-Wattributes]
90 | void IRAM_ATTR onRise()
| ^
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.h:16:16: note: previous declaration here
16 | void IRAM_ATTR onRise();
| ^~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp: In function 'void onRise()':
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:93:18: warning: '++' expression of 'volatile'-qualified type is deprecated [-Wvolatile]
93 | _FreqCountESP::sCount++;
| ~~~~~~~~~~~~~~~^~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp: In member function 'void _FreqCountESP::_begin(uint8_t, uint8_t)':
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:119:16: error: 'setupPcnt' was not declared in this scope
119 | mIsrHandle = setupPcnt(mPin, &_FreqCountESP::sCount);
| ^~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:125:5: error: 'timerAlarmEnable' was not declared in this scope; did you mean 'timerAlarm'?
125 | timerAlarmEnable(mTimer);
| ^~~~~~~~~~~~~~~~
| timerAlarm
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp: In member function 'void _FreqCountESP::begin(uint8_t, uint16_t, uint8_t, uint8_t)':
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:134:22: error: too many arguments to function 'hw_timer_t timerBegin(uint32_t)'
134 | mTimer = timerBegin(hwTimerId, 80, true);
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0-rc3\cores\esp32/esp32-hal.h:84,
from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0-rc3\cores\esp32/Arduino.h:36:
C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0-rc3\cores\esp32/esp32-hal-timer.h:35:13: note: declared here
35 | hw_timer_t timerBegin(uint32_t frequency);
| ^~~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:135:23: error: too many arguments to function 'void timerAttachInterrupt(hw_timer_t, void ()())'
135 | timerAttachInterrupt(mTimer, &onTimer, true);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0-rc3\cores\esp32/esp32-hal-timer.h:50:6: note: declared here
50 | void timerAttachInterrupt(hw_timer_t *timer, void (*userFunc)(void));
| ^~~~~~~~~~~~~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:136:3: error: 'timerAlarmWrite' was not declared in this scope; did you mean 'timerWrite'?
136 | timerAlarmWrite(mTimer, timerMs * 1000, true);
| ^~~~~~~~~~~~~~~
| timerWrite
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp: In member function 'void _FreqCountESP::end()':
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:167:3: error: 'teardownPcnt' was not declared in this scope
167 | teardownPcnt(mIsrHandle);
| ^~~~~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:172:5: error: 'timerAlarmDisable' was not declared in this scope
172 | timerAlarmDisable(mTimer);
| ^~~~~~~~~~~~~~~~~
exit status 1
Compilation error: exit status 1`
The text was updated successfully, but these errors were encountered:
Affected functions in FreqCountESP.cpp are (at least): _FreqCountESP::_begin _FreqCountESP::begin _FreqCountESP::end()
In my specific case the compilation errrors are only about the timer functions, i.e. similar to the above, but only the part starting from the message pointing at line 125 and onwards. An update to the new timer functions would be greatly appreciated.
In the meantime, I found a possible workaround for anyone with similar issues. In my case, where the problem is only related to the timer function, I was able to get my project using the FreqCountESP library to compile (and work) again by reverting back to the previous API 2.0.17. Here are the steps to follow:
Please update the library. It has too many compatible issues.
The compilation output is:
`c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp: In function 'void onHLim(void*)':
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\Fre 8000 qCountESP.cpp:25:39: warning: compound assignment with 'volatile'-qualified left operand is deprecated [-Wvolatile]
25 | *(volatile uint32_t )backupCounter += PCNT_HIGH_LIMIT;
| ^
In file included from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32/include/xtensa/include/xt_utils.h:16,
from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32/include/esp_hw_support/include/esp_cpu.h:16,
from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32/include/esp_hw_support/include/spinlock.h:11,
from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32/include/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/portmacro.h:74,
from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32/include/freertos/FreeRTOS-Kernel/include/freertos/portable.h:59,
from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32/include/freertos/FreeRTOS-Kernel/include/freertos/FreeRTOS.h:71,
from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0-rc3\cores\esp32/Arduino.h:33,
from c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.h:4,
from c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:1:
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:16:19: error: 'PCNT_UNIT_0' was not declared in this scope; did you mean 'PCNT_UNIT'?
16 | #define PCNT_UNIT PCNT_UNIT_0
| ^~~~~~~~~~~
C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32/include/esp_common/include/esp_bit_defs.h:79:42: note: in definition of macro 'BIT'
79 | #define BIT(nr) (1UL << (nr))
| ^~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:26:26: note: in expansion of macro 'PCNT_UNIT'
26 | PCNT.int_clr.val = BIT(PCNT_UNIT); // Clear the interrupt.
| ^~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp: At global scope:
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:30:8: error: 'pcnt_isr_handle_t' does not name a type; did you mean 'pcnt_unit_handle_t'?
30 | static pcnt_isr_handle_t setupPcnt(uint8_t pin, volatile uint32_t backupCounter) {
| ^~~~~~~~~~~~~~~~~
| pcnt_unit_handle_t
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:52:24: warning: ignoring attribute 'section (".iram1.3")' because it conflicts with previous 'section (".iram1.1")' [-Wattributes]
52 | void IRAM_ATTR onTimer()
| ^
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.h:17:16: note: previous declaration here
17 | void IRAM_ATTR onTimer();
| ^~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp: In function 'void onTimer()':
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:16:19: error: 'PCNT_UNIT_0' was not declared in this scope; did you mean 'PCNT_UNIT'?
16 | #define PCNT_UNIT PCNT_UNIT_0
| ^~~~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:57:26: note: in expansion of macro 'PCNT_UNIT'
57 | pcnt_get_counter_value(PCNT_UNIT, &pulseCount);
| ^~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:57:3: error: 'pcnt_get_counter_value' was not declared in this scope
57 | pcnt_get_counter_value(PCNT_UNIT, &pulseCount);
| ^~~~~~~~~~~~~~~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp: At global scope:
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:69:6: error: variable or field 'teardownPcnt' declared void
69 | void teardownPcnt(pcnt_isr_handle_t isrHandle)
| ^~~~~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:69:19: error: 'pcnt_isr_handle_t' was not declared in this scope; did you mean 'pcnt_unit_handle_t'?
69 | void teardownPcnt(pcnt_isr_handle_t isrHandle)
| ^~~~~~~~~~~~~~~~~
| pcnt_unit_handle_t
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:90:23: warning: ignoring attribute 'section (".iram1.4")' because it conflicts with previous 'section (".iram1.0")' [-Wattributes]
90 | void IRAM_ATTR onRise()
| ^
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.h:16:16: note: previous declaration here
16 | void IRAM_ATTR onRise();
| ^~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp: In function 'void onRise()':
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:93:18: warning: '++' expression of 'volatile'-qualified type is deprecated [-Wvolatile]
93 | _FreqCountESP::sCount++;
| ~~~~~~~~~~~~~~~^~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp: In member function 'void _FreqCountESP::_begin(uint8_t, uint8_t)':
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:119:16: error: 'setupPcnt' was not declared in this scope
119 | mIsrHandle = setupPcnt(mPin, &_FreqCountESP::sCount);
| ^~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:125:5: error: 'timerAlarmEnable' was not declared in this scope; did you mean 'timerAlarm'?
125 | timerAlarmEnable(mTimer);
| ^~~~~~~~~~~~~~~~
| timerAlarm
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp: In member function 'void _FreqCountESP::begin(uint8_t, uint16_t, uint8_t, uint8_t)':
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:134:22: error: too many arguments to function 'hw_timer_t timerBegin(uint32_t)'
134 | mTimer = timerBegin(hwTimerId, 80, true);
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0-rc3\cores\esp32/esp32-hal.h:84,
from C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0-rc3\cores\esp32/Arduino.h:36:
C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0-rc3\cores\esp32/esp32-hal-timer.h:35:13: note: declared here
35 | hw_timer_t timerBegin(uint32_t frequency);
| ^~~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:135:23: error: too many arguments to function 'void timerAttachInterrupt(hw_timer_t, void ()())'
135 | timerAttachInterrupt(mTimer, &onTimer, true);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\woodl\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0-rc3\cores\esp32/esp32-hal-timer.h:50:6: note: declared here
50 | void timerAttachInterrupt(hw_timer_t *timer, void (*userFunc)(void));
| ^~~~~~~~~~~~~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:136:3: error: 'timerAlarmWrite' was not declared in this scope; did you mean 'timerWrite'?
136 | timerAlarmWrite(mTimer, timerMs * 1000, true);
| ^~~~~~~~~~~~~~~
| timerWrite
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp: In member function 'void _FreqCountESP::end()':
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:167:3: error: 'teardownPcnt' was not declared in this scope
167 | teardownPcnt(mIsrHandle);
| ^~~~~~~~~~~~
c:\Users\woodl\Documents\Arduino\libraries\FreqCountESP\src\FreqCountESP.cpp:172:5: error: 'timerAlarmDisable' was not declared in this scope
172 | timerAlarmDisable(mTimer);
| ^~~~~~~~~~~~~~~~~
exit status 1
Compilation error: exit status 1`
The text was updated successfully, but these errors were encountered: