Closed georgychen closed 4 years ago
Hi
Thank you very much for this help! i will change the package soon.
Albert
From: georgy Sent: Friday, December 22, 2017 4:03 AM To: avandalen/SAM15x15 Cc: Subscribed Subject: [avandalen/SAM15x15] Default SPI does not work because of pin MUX setting (#1)
The package was installed as per http://www.avdweb.nl/arduino/samd21/sam-15x15-installation.html.
Default SPI does not work.
In "...user\AppData\Local\arduino15\packages\SAM15x15\hardware\samd\1.12.16\variants\arduino_zerovariant.cpp", under // SPI D22..D24 section, pin functions were set as PIO_TIMER: { PORTA, 12, PIO_TIMER, (PIN_ATTR_DIGITAL | PIN_ATTR_PWM | PIN_ATTR_TIMER), No_ADC_Channel, PWM2_CH0, TCC2_CH0, EXTERNAL_INT_12 }, // p21 { PORTB, 10, PIO_TIMER, (PIN_ATTR_DIGITAL | PIN_ATTR_PWM | PIN_ATTR_TIMER), No_ADC_Channel, PWM5_CH0, TC5_CH0, EXTERNAL_INT_10 }, // p19 { PORTB, 11, PIO_TIMER, (PIN_ATTR_DIGITAL | PIN_ATTR_PWM | PIN_ATTR_TIMER), No_ADC_Channel, PWM5_CH1, TC5_CH1, EXTERNAL_INT_11 }, // p20
After changing the PIO_TIMER to PIO_SERCOM_ALT: { PORTA, 12, PIO_SERCOM_ALT, (PIN_ATTR_DIGITAL | PIN_ATTR_PWM | PIN_ATTR_TIMER), No_ADC_Channel, PWM2_CH0, TCC2_CH0, EXTERNAL_INT_12 }, // p21 { PORTB, 10, PIO_SERCOM_ALT, (PIN_ATTR_DIGITAL | PIN_ATTR_PWM | PIN_ATTR_TIMER), No_ADC_Channel, PWM5_CH0, TC5_CH0, EXTERNAL_INT_10 }, // p19 { PORTB, 11, PIO_SERCOM_ALT, (PIN_ATTR_DIGITAL | PIN_ATTR_PWM | PIN_ATTR_TIMER), No_ADC_Channel, PWM5_CH1, TC5_CH1, EXTERNAL_INT_11 }, // p20
The default SPI works normally.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
Thank you to fix that bug! I will update the SAM15x15 package soon.
Package updated and bug fixed in v1.8.6 core
The package was installed as per http://www.avdweb.nl/arduino/samd21/sam-15x15-installation.html.
Default SPI does not work.
In "...user\AppData\Local\arduino15\packages\SAM15x15\hardware\samd\1.12.16\variants\arduino_zerovariant.cpp", under // SPI D22..D24 section, pin functions were set as PIO_TIMER:
{ PORTA, 12, PIO_TIMER, (PIN_ATTR_DIGITAL | PIN_ATTR_PWM | PIN_ATTR_TIMER), No_ADC_Channel, PWM2_CH0, TCC2_CH0, EXTERNAL_INT_12 }, // p21 { PORTB, 10, PIO_TIMER, (PIN_ATTR_DIGITAL | PIN_ATTR_PWM | PIN_ATTR_TIMER), No_ADC_Channel, PWM5_CH0, TC5_CH0, EXTERNAL_INT_10 }, // p19 { PORTB, 11, PIO_TIMER, (PIN_ATTR_DIGITAL | PIN_ATTR_PWM | PIN_ATTR_TIMER), No_ADC_Channel, PWM5_CH1, TC5_CH1, EXTERNAL_INT_11 }, // p20
After changing the PIO_TIMER to PIO_SERCOM_ALT:
{ PORTA, 12, PIO_SERCOM_ALT, (PIN_ATTR_DIGITAL | PIN_ATTR_PWM | PIN_ATTR_TIMER), No_ADC_Channel, PWM2_CH0, TCC2_CH0, EXTERNAL_INT_12 }, // p21 { PORTB, 10, PIO_SERCOM_ALT, (PIN_ATTR_DIGITAL | PIN_ATTR_PWM | PIN_ATTR_TIMER), No_ADC_Channel, PWM5_CH0, TC5_CH0, EXTERNAL_INT_10 }, // p19 { PORTB, 11, PIO_SERCOM_ALT, (PIN_ATTR_DIGITAL | PIN_ATTR_PWM | PIN_ATTR_TIMER), No_ADC_Channel, PWM5_CH1, TC5_CH1, EXTERNAL_INT_11 }, // p20
The default SPI works normally.