Wozzy
Well-known member
FreqMeasureMulti Fails to compile
I was able to successfully compile the serial.ino FreqMeasure example, but failed to compile the FreqMeasureMulti serial.ino example for Teensy 4-Beta2.
The Arduino IDE returned the following errors:
I noticed that Paul had made modifications to FreqMeasure in January.
Also FreqCount and FreqTimer2 Failed... I'll list the errors separately below.
Let me know if this is not appropriate.
I was able to successfully compile the serial.ino FreqMeasure example, but failed to compile the FreqMeasureMulti serial.ino example for Teensy 4-Beta2.
The Arduino IDE returned the following errors:
Code:
Error compiling for board Teensy 4-BETA2
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp: In member function 'bool FreqMeasureMulti::begin(uint32_t, uint8_t)':
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:48:59: error: 'PORT_PCR_MUX' was not declared in this scope
case 22: channel = 0; CORE_PIN22_CONFIG = PORT_PCR_MUX(4); break;
^
In file included from C:\Arduino189_T147B4\hardware\teensy\avr\cores\teensy4/core_pins.h:32:0,
from C:\Arduino189_T147B4\hardware\teensy\avr\cores\teensy4/wiring.h:38,
from C:\Arduino189_T147B4\hardware\teensy\avr\cores\teensy4/WProgram.h:45,
from C:\Users\Rober\AppData\Local\Temp\arduino_build_67275/pch/Arduino.h:6,
from C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.h:4,
from C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:27:
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:77:19: error: 'IRQ_FTM0' was not declared in this scope
NVIC_DISABLE_IRQ(IRQ_FTM0);
^
C:\Arduino189_T147B4\hardware\teensy\avr\cores\teensy4/imxrt.h:8293:52: note: in definition of macro 'NVIC_DISABLE_IRQ'
#define NVIC_DISABLE_IRQ(n) (*(&NVIC_ICER0 + ((n) >> 5)) = (1 << ((n) & 31)))
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:78:6: error: 'FTM0_MOD' was not declared in this scope
if (FTM0_MOD != 0xFFFF || (FTM0_SC & 0x7F) != FTM_SC_VALUE) {
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:78:29: error: 'FTM0_SC' was not declared in this scope
if (FTM0_MOD != 0xFFFF || (FTM0_SC & 0x7F) != FTM_SC_VALUE) {
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:29:23: error: 'FTM_SC_TOIE' was not declared in this scope
#define FTM_SC_VALUE (FTM_SC_TOIE | FTM_SC_CLKS(1) | FTM_SC_PS(0))
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:78:48: note: in expansion of macro 'FTM_SC_VALUE'
if (FTM0_MOD != 0xFFFF || (FTM0_SC & 0x7F) != FTM_SC_VALUE) {
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:29:50: error: 'FTM_SC_CLKS' was not declared in this scope
#define FTM_SC_VALUE (FTM_SC_TOIE | FTM_SC_CLKS(1) | FTM_SC_PS(0))
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:78:48: note: in expansion of macro 'FTM_SC_VALUE'
if (FTM0_MOD != 0xFFFF || (FTM0_SC & 0x7F) != FTM_SC_VALUE) {
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:29:65: error: 'FTM_SC_PS' was not declared in this scope
#define FTM_SC_VALUE (FTM_SC_TOIE | FTM_SC_CLKS(1) | FTM_SC_PS(0))
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:78:48: note: in expansion of macro 'FTM_SC_VALUE'
if (FTM0_MOD != 0xFFFF || (FTM0_SC & 0x7F) != FTM_SC_VALUE) { ^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:80:3: error: 'FTM0_CNT' was not declared in this scope
FTM0_CNT = 0;
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:95:28: error: 'FTM0_C0SC' was not declared in this scope
volatile uint32_t *csc = &FTM0_C0SC + channel * 2;
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:30:26: error: 'FTM_CSC_CHIE' was not declared in this scope
#define FTM_CSC_RAISING (FTM_CSC_CHIE | FTM_CSC_ELSA)
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:100:9: note: in expansion of macro 'FTM_CSC_RAISING'
*csc = FTM_CSC_RAISING; // first capture is always rising
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:30:41: error: 'FTM_CSC_ELSA' was not declared in this scope
#define FTM_CSC_RAISING (FTM_CSC_CHIE | FTM_CSC_ELSA)
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:100:9: note: in expansion of macro 'FTM_CSC_RAISING'
*csc = FTM_CSC_RAISING; // first capture is always rising
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp: In member function 'void FreqMeasureMulti::end()':
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:173:28: error: 'FTM0_C0SC' was not declared in this scope
volatile uint32_t *csc = &FTM0_C0SC + channel * 2;
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp: In function 'void ftm0_isr()':
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:180:6: error: 'FTM0_SC' was not declared in this scope
if (FTM0_SC & FTM_SC_TOF) {
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:180:16: error: 'FTM_SC_TOF' was not declared in this scope
if (FTM0_SC & FTM_SC_TOF) {
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:189:17: error: 'FTM0_STATUS' was not declared in this scope
uint8_t mask = FTM0_STATUS & channelmask;
^
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp: In member function 'void FreqMeasureMulti::isr(bool)':
C:\Arduino189_T147B4\hardware\teensy\avr\libraries\FreqMeasureMulti\FreqMeasureMulti.cpp:206:28: error: 'FTM0_C0SC' was not declared in this scope
volatile uint32_t *csc = &FTM0_C0SC + channel * 2;
^
Error compiling for board Teensy 4-Beta2.
I noticed that Paul had made modifications to FreqMeasure in January.
Also FreqCount and FreqTimer2 Failed... I'll list the errors separately below.
Let me know if this is not appropriate.
Last edited: