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
#define VCA 7
void setup() {
pinMode(VCA,OUTPUT);
}
void loop() {
static int i = 0;
analogWrite(VCA, i++);
}
Normally in Arduino C analogWrite is used on digital pins to engage a PWM mode where the pin oscillates 0 and 1 outputs rapidly so as to be "on average" the specified voltage. If you add an RC filter this can be a way of getting analog values out of digital pins. I've used this before on Atmel chips and it is a documented feature of the Cortex used in the Doppler.
If you compile this program for the dadamachines - M4 board, you get this link error
../arduino_cache_743729/core/core_dadamachines - M4_samd_doppler_cache_on_372425e7815a96db1ec07b293caaf52c.a(wiring_analog.c.o): In function `analogWrite':
/Users/mcc/Library/Arduino15/packages/dadamachines - M4/hardware/samd/1.3.1/cores/arduino/wiring_analog.c:523: undefined reference to `GCLK_CLKCTRL_IDs'
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board dadamachines doppler.
In other words the dadamachines - M4 board package exposes an analogWrite function, but the binary for this function links against this GCLK_CLKCTRL_IDs value which is not included in dadamachines - M4.
I asked around and I'm told this is normally something defined in the "Arduino SAMD Boards" header. I tried reinstalling the packages starting with "Arduino SAMD Boards" but I got the same error. I think either the dadamachines - M4 is not flagging a dependency it needs that would supply the GCLK_CLKCTRL_IDs symbol, or dadamachines - M4 did not port everything it needs from the cortex board definitions it's based on.
I would attempt to hack a fix myself but I don't really understand how the build system in Arduino IDE works or what documentation I should read to learn more. I tried asking about all this on the forum but didn't hear back.
The text was updated successfully, but these errors were encountered:
mcclure
changed the title
dadamachines - M4 package links missing symbols
dadamachines - M4 package links missing symbols - analogWrite broken
Aug 15, 2022
mcclure
changed the title
dadamachines - M4 package links missing symbols - analogWrite broken
"dadamachines - M4" package links missing symbols - analogWrite broken
Aug 15, 2022
Consider the following code
Normally in Arduino C analogWrite is used on digital pins to engage a PWM mode where the pin oscillates 0 and 1 outputs rapidly so as to be "on average" the specified voltage. If you add an RC filter this can be a way of getting analog values out of digital pins. I've used this before on Atmel chips and it is a documented feature of the Cortex used in the Doppler.
If you compile this program for the dadamachines - M4 board, you get this link error
In other words the dadamachines - M4 board package exposes an analogWrite function, but the binary for this function links against this
GCLK_CLKCTRL_IDs
value which is not included in dadamachines - M4.I asked around and I'm told this is normally something defined in the "Arduino SAMD Boards" header. I tried reinstalling the packages starting with "Arduino SAMD Boards" but I got the same error. I think either the dadamachines - M4 is not flagging a dependency it needs that would supply the GCLK_CLKCTRL_IDs symbol, or dadamachines - M4 did not port everything it needs from the cortex board definitions it's based on.
I would attempt to hack a fix myself but I don't really understand how the build system in Arduino IDE works or what documentation I should read to learn more. I tried asking about all this on the forum but didn't hear back.
The text was updated successfully, but these errors were encountered: