Skip to content

Commit 9ddc306

Browse files
committed
CAN variant updates, fix for PDM on badge
1 parent dcc531f commit 9ddc306

File tree

3 files changed

+19
-9
lines changed

3 files changed

+19
-9
lines changed

boards.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1617,7 +1617,7 @@ adafruit_blm_badge.build.usb_product="BLM Badge"
16171617
adafruit_blm_badge.build.usb_manufacturer="Adafruit"
16181618
adafruit_blm_badge.build.board=BLM_BADGE_M0
16191619
adafruit_blm_badge.build.core=arduino
1620-
adafruit_blm_badge.build.extra_flags=-DCRYSTALLESS -DADAFRUIT_BLM_BADGE -D__SAMD21E18A__ -DARM_MATH_CM0PLUS {build.usb_flags}
1620+
adafruit_blm_badge.build.extra_flags=-DCRYSTALLESS -DADAFRUIT_BLM_BADGE -D__SAMD21E18A__ -DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS {build.usb_flags}
16211621
adafruit_blm_badge.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld
16221622
adafruit_blm_badge.build.openocdscript=openocd_scripts/=blm_badge.cfg
16231623
adafruit_blm_badge.build.variant=blm_badge

variants/feather_m4_can/variant.cpp

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
*/
1818

1919
#include "variant.h"
20+
#include "Arduino.h"
2021

2122
/*
2223
* Pins descriptions
@@ -42,19 +43,19 @@ const PinDescription g_APinDescription[PINS_COUNT]=
4243
{ NOT_A_PORT, 0, PIO_NOT_A_PIN, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE },
4344
{ NOT_A_PORT, 0, PIO_NOT_A_PIN, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE },
4445
{ PORTA, 14, PIO_DIGITAL, PIN_ATTR_PWM_E, No_ADC_Channel, TC3_CH0, TC3_CH0, EXTERNAL_INT_14 },
45-
{ PORTA, 16, PIO_TIMER_ALT, PIN_ATTR_PWM_F, No_ADC_Channel, TCC1_CH0, TC2_CH0, EXTERNAL_INT_0 },
46-
{ PORTA, 18, PIO_TIMER_ALT, PIN_ATTR_PWM_F, No_ADC_Channel, TCC1_CH2, TC3_CH0, EXTERNAL_INT_2 },
47-
{ NOT_A_PORT, 0, PIO_NOT_A_PIN, PIN_ATTR_TIMER, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE },
46+
{ PORTA, 16, PIO_TIMER_ALT, PIN_ATTR_PWM_F, No_ADC_Channel, TCC1_CH0, TC2_CH0, EXTERNAL_INT_0 },
47+
{ PORTA, 18, PIO_TIMER_ALT, PIN_ATTR_PWM_F, No_ADC_Channel, TCC1_CH2, TC3_CH0, EXTERNAL_INT_2 },
48+
{ PORTB, 3, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // 7: neopixel power
4849

4950
// Digital High
50-
{ PORTB, 3, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, //neopix
51-
{ PORTA, 19, PIO_TIMER_ALT, PIN_ATTR_PWM_F, No_ADC_Channel, TCC1_CH3, TC3_CH1, EXTERNAL_INT_3 },
52-
{ PORTA, 20, PIO_TIMER_ALT, PIN_ATTR_PWM_G, No_ADC_Channel, TCC0_CH0, NOT_ON_TIMER, EXTERNAL_INT_4 },
51+
{ PORTB, 2, PIO_DIGITAL, PIN_ATTR_DIGITAL, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE }, // 8: neopixel
52+
{ PORTA, 19, PIO_TIMER_ALT, PIN_ATTR_PWM_F, No_ADC_Channel, TCC1_CH3, TC3_CH1, EXTERNAL_INT_3 },
53+
{ PORTA, 20, PIO_TIMER_ALT, PIN_ATTR_PWM_G, No_ADC_Channel, TCC0_CH0, NOT_ON_TIMER, EXTERNAL_INT_4 },
5354
{ PORTA, 21, PIO_DIGITAL, PIN_ATTR_PWM_G, No_ADC_Channel, TCC0_CH1, NOT_ON_TIMER, EXTERNAL_INT_5 },
54-
{ PORTA, 22, PIO_DIGITAL, PIN_ATTR_PWM_G, No_ADC_Channel, TCC0_CH2, NOT_ON_TIMER, EXTERNAL_INT_6 }, // CAN TX
55+
{ PORTA, 22, PIO_DIGITAL, PIN_ATTR_PWM_G, No_ADC_Channel, TCC0_CH2, NOT_ON_TIMER, EXTERNAL_INT_6 },
5556

5657
// 13 (LED)
57-
{ PORTA, 23, PIO_DIGITAL, PIN_ATTR_PWM_G, No_ADC_Channel, TCC0_CH3, TC4_CH1, EXTERNAL_INT_7 }, // CAN RX
58+
{ PORTA, 23, PIO_DIGITAL, PIN_ATTR_PWM_G, No_ADC_Channel, TCC0_CH3, TC4_CH1, EXTERNAL_INT_7 },
5859

5960
// 14..19 - Analog pins
6061
// --------------------
@@ -145,3 +146,11 @@ void SERCOM5_3_Handler()
145146
{
146147
Serial1.IrqHandler();
147148
}
149+
150+
void initVariant(void) {
151+
// special initialization code just for us
152+
153+
// turn on neopixel
154+
pinMode(7, OUTPUT);
155+
digitalWrite(7, HIGH);
156+
}

variants/feather_m4_can/variant.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ extern "C"
8989
#define PIN_LED3 PIN_LED_TXL
9090
#define LED_BUILTIN PIN_LED_13
9191
#define PIN_NEOPIXEL (8)
92+
#define PIN_NEOPIXEL_POWER (7)
9293

9394
/*
9495
* Analog pins

0 commit comments

Comments
 (0)