summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoralf Trønnes <noralf@tronnes.org>2018-05-18 12:31:23 +0200
committerNoralf Trønnes <noralf@tronnes.org>2018-05-18 12:35:26 +0200
commitcf33ad9a548d5d481a34b46d6d0f6c5bd3d1e720 (patch)
tree397d6e900589b568a46aa5b5fa3630e01dad2626
parent1eb412b44d9bdaadcf546d0ffb26cabd69dd2878 (diff)
atmel-samd/samd21: Enable long int on Express boards
This is necessary for using 1970 epoch in the time module.
-rw-r--r--ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h3
-rw-r--r--ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.mk2
-rw-r--r--ports/atmel-samd/boards/feather_m0_express/mpconfigboard.h3
-rw-r--r--ports/atmel-samd/boards/feather_m0_express/mpconfigboard.mk2
-rw-r--r--ports/atmel-samd/boards/itsybitsy_m0_express/mpconfigboard.h3
-rw-r--r--ports/atmel-samd/boards/itsybitsy_m0_express/mpconfigboard.mk1
-rw-r--r--ports/atmel-samd/boards/metro_m0_express/mpconfigboard.h3
-rw-r--r--ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk2
-rw-r--r--ports/atmel-samd/mpconfigport.h2
-rw-r--r--ports/atmel-samd/mpconfigport.mk2
10 files changed, 23 insertions, 0 deletions
diff --git a/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h b/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
index 3d97e2cb1..44da28eae 100644
--- a/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
+++ b/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.h
@@ -1,6 +1,9 @@
#define MICROPY_HW_BOARD_NAME "Adafruit CircuitPlayground Express"
#define MICROPY_HW_MCU_NAME "samd21g18"
+#define MICROPY_LONGINT_IMPL MICROPY_LONGINT_IMPL_MPZ
+#define MP_SSIZE_MAX 0x7fffffff
+
// Don't allow touch on A0 (PA02), because it's connected to the speaker.
#define PA02_NO_TOUCH (true)
diff --git a/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.mk b/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.mk
index 4d6e32eb7..3b341c32c 100644
--- a/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.mk
+++ b/ports/atmel-samd/boards/circuitplayground_express/mpconfigboard.mk
@@ -9,6 +9,8 @@ SPI_FLASH_FILESYSTEM = 1
CHIP_VARIANT = SAMD21G18A
CHIP_FAMILY = samd21
+MPY_TOOL_LONGINT_IMPL = -mlongint-impl=mpz
+
# Include these Python libraries in firmware.
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_BusDevice
FROZEN_MPY_DIRS += $(TOP)/frozen/Adafruit_CircuitPython_CircuitPlayground
diff --git a/ports/atmel-samd/boards/feather_m0_express/mpconfigboard.h b/ports/atmel-samd/boards/feather_m0_express/mpconfigboard.h
index bfa8c642a..44141773d 100644
--- a/ports/atmel-samd/boards/feather_m0_express/mpconfigboard.h
+++ b/ports/atmel-samd/boards/feather_m0_express/mpconfigboard.h
@@ -1,6 +1,9 @@
#define MICROPY_HW_BOARD_NAME "Adafruit Feather M0 Express"
#define MICROPY_HW_MCU_NAME "samd21g18"
+#define MICROPY_LONGINT_IMPL MICROPY_LONGINT_IMPL_MPZ
+#define MP_SSIZE_MAX 0x7fffffff
+
#define MICROPY_HW_NEOPIXEL (&pin_PA06)
// Clock rates are off: Salae reads 12MHz which is the limit even though we set it to the safer 8MHz.
diff --git a/ports/atmel-samd/boards/feather_m0_express/mpconfigboard.mk b/ports/atmel-samd/boards/feather_m0_express/mpconfigboard.mk
index 909922dbe..202d8a626 100644
--- a/ports/atmel-samd/boards/feather_m0_express/mpconfigboard.mk
+++ b/ports/atmel-samd/boards/feather_m0_express/mpconfigboard.mk
@@ -8,3 +8,5 @@ SPI_FLASH_FILESYSTEM = 1
CHIP_VARIANT = SAMD21G18A
CHIP_FAMILY = samd21
+
+MPY_TOOL_LONGINT_IMPL = -mlongint-impl=mpz
diff --git a/ports/atmel-samd/boards/itsybitsy_m0_express/mpconfigboard.h b/ports/atmel-samd/boards/itsybitsy_m0_express/mpconfigboard.h
index be59bc5d4..fea2d290b 100644
--- a/ports/atmel-samd/boards/itsybitsy_m0_express/mpconfigboard.h
+++ b/ports/atmel-samd/boards/itsybitsy_m0_express/mpconfigboard.h
@@ -1,6 +1,9 @@
#define MICROPY_HW_BOARD_NAME "Adafruit Itsy Bitsy M0 Express"
#define MICROPY_HW_MCU_NAME "samd21g18"
+#define MICROPY_LONGINT_IMPL MICROPY_LONGINT_IMPL_MPZ
+#define MP_SSIZE_MAX 0x7fffffff
+
#define CIRCUITPY_BITBANG_APA102
#define MICROPY_HW_APA102_MOSI (&pin_PA01)
#define MICROPY_HW_APA102_SCK (&pin_PA00)
diff --git a/ports/atmel-samd/boards/itsybitsy_m0_express/mpconfigboard.mk b/ports/atmel-samd/boards/itsybitsy_m0_express/mpconfigboard.mk
index 0fb0e38ed..b3e5a636d 100644
--- a/ports/atmel-samd/boards/itsybitsy_m0_express/mpconfigboard.mk
+++ b/ports/atmel-samd/boards/itsybitsy_m0_express/mpconfigboard.mk
@@ -9,3 +9,4 @@ SPI_FLASH_FILESYSTEM = 1
CHIP_VARIANT = SAMD21G18A
CHIP_FAMILY = samd21
+MPY_TOOL_LONGINT_IMPL = -mlongint-impl=mpz
diff --git a/ports/atmel-samd/boards/metro_m0_express/mpconfigboard.h b/ports/atmel-samd/boards/metro_m0_express/mpconfigboard.h
index f798c5d36..4825b6663 100644
--- a/ports/atmel-samd/boards/metro_m0_express/mpconfigboard.h
+++ b/ports/atmel-samd/boards/metro_m0_express/mpconfigboard.h
@@ -1,6 +1,9 @@
#define MICROPY_HW_BOARD_NAME "Adafruit Metro M0 Express"
#define MICROPY_HW_MCU_NAME "samd21g18"
+#define MICROPY_LONGINT_IMPL MICROPY_LONGINT_IMPL_MPZ
+#define MP_SSIZE_MAX 0x7fffffff
+
#define MICROPY_HW_LED_TX PIN_PA27
//#define MICROPY_HW_LED_RX PIN_PA31
diff --git a/ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk b/ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk
index 79d60380d..ee1335c9a 100644
--- a/ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk
+++ b/ports/atmel-samd/boards/metro_m0_express/mpconfigboard.mk
@@ -8,3 +8,5 @@ SPI_FLASH_FILESYSTEM = 1
CHIP_VARIANT = SAMD21G18A
CHIP_FAMILY = samd21
+
+MPY_TOOL_LONGINT_IMPL = -mlongint-impl=mpz
diff --git a/ports/atmel-samd/mpconfigport.h b/ports/atmel-samd/mpconfigport.h
index 27c248001..8e726f9b7 100644
--- a/ports/atmel-samd/mpconfigport.h
+++ b/ports/atmel-samd/mpconfigport.h
@@ -141,8 +141,10 @@ typedef long mp_off_t;
#define MICROPY_PY_SYS_PLATFORM "Atmel SAMD21"
#define PORT_HEAP_SIZE (16384 + 4096)
// If you change MICROPY_LONGINT_IMPL, also change MPY_TOOL_LONGINT_IMPL in mpconfigport.mk.
+#ifndef MICROPY_LONGINT_IMPL
#define MICROPY_LONGINT_IMPL (MICROPY_LONGINT_IMPL_NONE)
#endif
+#endif
#ifdef SAMD51
#define CIRCUITPY_MCU_FAMILY samd51
diff --git a/ports/atmel-samd/mpconfigport.mk b/ports/atmel-samd/mpconfigport.mk
index 0f3f399e2..80ec9d978 100644
--- a/ports/atmel-samd/mpconfigport.mk
+++ b/ports/atmel-samd/mpconfigport.mk
@@ -2,8 +2,10 @@
# $(MPY-TOOL) needs to know what kind of longint to use (if any) to freeze long integers.
# This should correspond to the MICROPY_LONGINT_IMPL definition in mpconfigport.h.
ifeq ($(CHIP_FAMILY), samd21)
+ifndef MPY_TOOL_LONGINT_IMPL
MPY_TOOL_LONGINT_IMPL = -mlongint-impl=none
endif
+endif
ifeq ($(CHIP_FAMILY), samd51)
MPY_TOOL_LONGINT_IMPL = -mlongint-impl=mpz