Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions boards/zeroUSB_AU.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{
"build": {
"arduino": {
"ldscript": "flash_with_bootloader.ld"
},
"core": "arduino",
"cpu": "cortex-m0plus",
"extra_flags": "-DARDUINO_SAMD_ZERO -D__SAMD21G18AU__",
"f_cpu": "48000000L",
"hwids": [
[
"0x2341",
"0x804D"
],
[
"0x2341",
"0x004D"
],
[
"0x2341",
"0x824D"
]
],
"mcu": "samd21g18au",
"usb_product": "Arduino Zero",
"variant": "arduino_zero"
},
"debug": {
"jlink_device": "ATSAMD21G18",
"onboard_tools": [
"cmsis-dap"
],
"openocd_chipname": "at91samd21g18",
"openocd_target": "at91samdXX",
"svd_path": "ATSAMD21G18A.svd"
},
"frameworks": [
"arduino"
],
"name": "Arduino Zero (USB Native Port)",
"upload": {
"disable_flushing": true,
"maximum_ram_size": 32768,
"maximum_size": 262144,
"native_usb": true,
"offset_address": "0x2000",
"protocol": "sam-ba",
"protocols": [
"sam-ba",
"blackmagic",
"jlink",
"atmel-ice",
"cmsis-dap"
],
"require_upload_port": true,
"use_1200bps_touch": true,
"wait_for_upload_port": true
},
"url": "https://www.arduino.cc/en/Main/ArduinoBoardZero",
"vendor": "Arduino"
}
Binary file modified docs/mcumap_gen.xlsx
Binary file not shown.
7 changes: 5 additions & 2 deletions uCNC/src/hal/boards/samd21/samd21.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,12 @@

[common_samd21]
platform = atmelsam
board = zeroUSB
build_flags = ${env.build_flags} -std=gnu99 -Wall -fdata-sections -ffunction-sections -fno-exceptions -Wl,--gc-sections -nostdlib -fno-exceptions
lib_deps =
${env.lib_deps}
https://github.com/Paciente8159/uCNC-tinyusb.git#v0.15.4
platform_packages = platformio/tool-openocd
build_type = debug
; build_type = debug
debug_build_flags = -Og -g3 -ggdb3 -gdwarf-2
debug_tool = custom
debug_server =
Expand All @@ -30,12 +29,16 @@ debug_init_cmds =

[env:SAMD21-Wemos-M0]
extends = common_samd21
board = zeroUSB_AU
build_flags = ${common_samd21.build_flags} -D BOARDMAP=\"src/hal/boards/samd21/boardmap_mzero.h\"
board_build.mcu = samd21g18au
; upload_protocol = cmsis-dap
board_build.offset = 0x2000
board_upload.offset_address = 0x00002000

[env:SAMD21-Arduino-Zero]
extends = common_samd21
board = zeroUSB
build_flags = ${common_samd21.build_flags} -D BOARDMAP=\"src/hal/boards/samd21/boardmap_zero.h\"
board_build.offset = 0x4000
board_upload.offset_address = 0x00004000
Expand Down
16 changes: 8 additions & 8 deletions uCNC/src/hal/mcus/samd21/mcu_samd21.c
Original file line number Diff line number Diff line change
Expand Up @@ -188,11 +188,11 @@ void MCU_ITP_ISR(void)
#if (ITP_TIMER < 3)
if (ITP_REG->INTFLAG.bit.MC0)
{
ITP_REG->INTFLAG.bit.MC0 = 1;
ITP_REG->INTFLAG.reg = TCC_INTFLAG_MC0;
#else
if (ITP_REG->COUNT16.INTFLAG.bit.MC0)
{
ITP_REG->COUNT16.INTFLAG.bit.MC0 = 1;
ITP_REG->COUNT16.INTFLAG.reg = TC_INTFLAG_MC0;
#endif
if (!resetstep)
{
Expand All @@ -216,7 +216,7 @@ void mcu_com_isr()

if (COM_UART->USART.INTFLAG.bit.RXC && COM_UART->USART.INTENSET.bit.RXC)
{
COM_UART->USART.INTFLAG.bit.RXC = 1;
COM_UART->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_RXC;
uint8_t c = (0xff & COM_INREG);
#if !defined(DETACH_UART_FROM_MAIN_PROTOCOL)
if (mcu_com_rx_cb(c))
Expand Down Expand Up @@ -256,7 +256,7 @@ void mcu_com2_isr()
{
if (COM2_UART->USART.INTFLAG.bit.RXC && COM2_UART->USART.INTENSET.bit.RXC)
{
COM2_UART->USART.INTFLAG.bit.RXC = 1;
COM2_UART->USART.INTFLAG.reg = SERCOM_USART_INTFLAG_RXC;
uint8_t c = (0xff & COM2_INREG);
#if !defined(DETACH_UART2_FROM_MAIN_PROTOCOL)
if (mcu_com_rx_cb(c))
Expand Down Expand Up @@ -510,11 +510,11 @@ void MCU_SERVO_ISR(void)
#if (SERVO_TIMER < 3)
if (SERVO_REG->INTFLAG.bit.MC0)
{
SERVO_REG->INTFLAG.bit.MC0 = 1;
SERVO_REG->INTFLAG.reg = TCC_INTFLAG_MC0;
#else
if (SERVO_REG->COUNT16.INTFLAG.bit.MC0)
{
SERVO_REG->COUNT16.INTFLAG.bit.MC0 = 1;
SERVO_REG->COUNT16.INTFLAG.reg = TC_INTFLAG_MC0;
#endif
mcu_clear_servos();
NVIC_DisableIRQ(SERVO_IRQ);
Expand Down Expand Up @@ -2106,15 +2106,15 @@ void MCU_ONESHOT_ISR(void)
;
if (ONESHOT_REG->INTFLAG.bit.MC0)
{
ONESHOT_REG->INTFLAG.bit.MC0 = 1;
ONESHOT_REG->INTFLAG.reg = TCC_INTFLAG_MC0;
#else
ONESHOT_REG->COUNT16.INTENSET.bit.MC0 = 0;
ONESHOT_REG->COUNT16.CTRLA.bit.ENABLE = 0;
while (ONESHOT_REG->COUNT16.STATUS.bit.SYNCBUSY)
;
if (ONESHOT_REG->COUNT16.INTFLAG.bit.MC0)
{
ONESHOT_REG->COUNT16.INTFLAG.bit.MC0 = 1;
ONESHOT_REG->COUNT16.INTFLAG.reg = TC_INTFLAG_MC0;
#endif
}

Expand Down
Loading
Loading