Skip to content

Commit

Permalink
Merge pull request #355 from adafruit/sht4xtrinkey
Browse files Browse the repository at this point in the history
Tested SHT4x Trinkey
  • Loading branch information
BlitzCityDIY authored Mar 25, 2024
2 parents 0bf3258 + e82192c commit 1a87637
Show file tree
Hide file tree
Showing 9 changed files with 906 additions and 0 deletions.
146 changes: 146 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -755,6 +755,68 @@ adafruit_proxlighttrinkey_m0.menu.debug.on=On
adafruit_proxlighttrinkey_m0.menu.debug.on.build.flags.debug=-g


# -----------------------------------
# Adafruit SHT4x Trinkey M0 (SAMD21)
# -----------------------------------
adafruit_sht4xtrinkey_m0.name=Adafruit SHT4x Trinkey M0 (SAMD21)

# VID/PID for Bootloader, Arduino & CircuitPython
adafruit_sht4xtrinkey_m0.vid.0=0x239A
adafruit_sht4xtrinkey_m0.pid.0=0x8153
adafruit_sht4xtrinkey_m0.vid.1=0x239A
adafruit_sht4xtrinkey_m0.pid.1=0x0153
adafruit_sht4xtrinkey_m0.vid.2=0x239A
adafruit_sht4xtrinkey_m0.pid.2=0x8154

# Upload
adafruit_sht4xtrinkey_m0.upload.tool=bossac18
adafruit_sht4xtrinkey_m0.upload.protocol=sam-ba
adafruit_sht4xtrinkey_m0.upload.maximum_size=262144
adafruit_sht4xtrinkey_m0.upload.offset=0x2000
adafruit_sht4xtrinkey_m0.upload.use_1200bps_touch=true
adafruit_sht4xtrinkey_m0.upload.wait_for_upload_port=true
adafruit_sht4xtrinkey_m0.upload.native_usb=true

# Build
adafruit_sht4xtrinkey_m0.build.mcu=cortex-m0plus
adafruit_sht4xtrinkey_m0.build.f_cpu=48000000L
adafruit_sht4xtrinkey_m0.build.usb_product="SHT4x Trinkey M0"
adafruit_sht4xtrinkey_m0.build.usb_manufacturer="Adafruit"
adafruit_sht4xtrinkey_m0.build.board=SHT4XTRINKEY_M0
adafruit_sht4xtrinkey_m0.build.core=arduino
adafruit_sht4xtrinkey_m0.build.extra_flags=-D__SAMD21E18A__ -DCRYSTALLESS -DADAFRUIT_SHT4XTRINKEY_M0 -DARDUINO_SAMD_ZERO -DARM_MATH_CM0PLUS {build.usb_flags}
adafruit_sht4xtrinkey_m0.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld
adafruit_sht4xtrinkey_m0.build.openocdscript=scripts/openocd/daplink_samd21.cfg
adafruit_sht4xtrinkey_m0.build.variant=sht4xtrinkey_m0
adafruit_sht4xtrinkey_m0.build.variant_system_lib=
adafruit_sht4xtrinkey_m0.build.vid=0x239A
adafruit_sht4xtrinkey_m0.build.pid=0x8153
adafruit_sht4xtrinkey_m0.bootloader.tool=openocd
adafruit_sht4xtrinkey_m0.bootloader.file=sht4xtrinkey_m0/bootloader-sht4xtrinkey_m0.bin

# Menu: Optimization
adafruit_sht4xtrinkey_m0.menu.opt.small=Small (-Os) (standard)
adafruit_sht4xtrinkey_m0.menu.opt.small.build.flags.optimize=-Os
adafruit_sht4xtrinkey_m0.menu.opt.fast=Fast (-O2)
adafruit_sht4xtrinkey_m0.menu.opt.fast.build.flags.optimize=-O2
adafruit_sht4xtrinkey_m0.menu.opt.faster=Faster (-O3)
adafruit_sht4xtrinkey_m0.menu.opt.faster.build.flags.optimize=-O3
adafruit_sht4xtrinkey_m0.menu.opt.fastest=Fastest (-Ofast)
adafruit_sht4xtrinkey_m0.menu.opt.fastest.build.flags.optimize=-Ofast
adafruit_sht4xtrinkey_m0.menu.opt.dragons=Here be dragons (-Ofast -funroll-loops)
adafruit_sht4xtrinkey_m0.menu.opt.dragons.build.flags.optimize=-Ofast -funroll-loops

# Menu: USB Stack
adafruit_sht4xtrinkey_m0.menu.usbstack.arduino=Arduino
adafruit_sht4xtrinkey_m0.menu.usbstack.tinyusb=TinyUSB
adafruit_sht4xtrinkey_m0.menu.usbstack.tinyusb.build.flags.usbstack=-DUSE_TINYUSB

# Menu: Debug
adafruit_sht4xtrinkey_m0.menu.debug.off=Off
adafruit_sht4xtrinkey_m0.menu.debug.on=On
adafruit_sht4xtrinkey_m0.menu.debug.on.build.flags.debug=-g


# -----------------------------------
# Adafruit ItsyBitsy M0 Express (SAMD21)
# -----------------------------------
Expand Down Expand Up @@ -1488,6 +1550,90 @@ adafruit_feather_m4_can.menu.debug.on=On
adafruit_feather_m4_can.menu.debug.on.build.flags.debug=-g


# -----------------------------------
# Adafruit Feather M4 Adalogger (SAMD51)
# -----------------------------------
#adafruit_feather_m4_log.name=Adafruit Feather M4 Adalogger (SAMD51)

# VID/PID for Bootloader, Arduino & CircuitPython
#adafruit_feather_m4_log.vid.0=0x239A
#adafruit_feather_m4_log.pid.0=0x8115
#adafruit_feather_m4_log.vid.1=0x239A
#adafruit_feather_m4_log.pid.1=0x0115
#adafruit_feather_m4_log.vid.2=0x239A
#adafruit_feather_m4_log.pid.2=0x8116

# Upload
#adafruit_feather_m4_log.upload.tool=bossac18
#adafruit_feather_m4_log.upload.protocol=sam-ba
#adafruit_feather_m4_log.upload.maximum_size=1032192
#adafruit_feather_m4_log.upload.offset=0x4000
#adafruit_feather_m4_log.upload.use_1200bps_touch=true
#adafruit_feather_m4_log.upload.wait_for_upload_port=true
#adafruit_feather_m4_log.upload.native_usb=true

# Build
#adafruit_feather_m4_log.build.mcu=cortex-m4
#adafruit_feather_m4_log.build.f_cpu=120000000L
#adafruit_feather_m4_log.build.usb_product="Feather M4 Adalogger"
#adafruit_feather_m4_log.build.usb_manufacturer="Adafruit"
#adafruit_feather_m4_log.build.board=FEATHER_M4_ADALOGGER
#adafruit_feather_m4_log.build.core=arduino
#adafruit_feather_m4_log.build.extra_flags=-D__SAMD51J20A__ -DADAFRUIT_FEATHER_M4_ADALOGGER -D__SAMD51__ -D__FPU_PRESENT -DARM_MATH_CM4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 {build.usb_flags}
#adafruit_feather_m4_log.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld
#adafruit_feather_m4_log.build.openocdscript=scripts/openocd/daplink_samd51.cfg
#adafruit_feather_m4_log.build.variant=feather_m4
#adafruit_feather_m4_log.build.variant_system_lib=
#adafruit_feather_m4_log.build.vid=0x239A
#adafruit_feather_m4_log.build.pid=0x8115
#adafruit_feather_m4_log.bootloader.tool=openocd
#adafruit_feather_m4_log.bootloader.file=featherM4/bootloader-feather_m4-v2.0.0-adafruit.5.bin
#adafruit_feather_m4_log.compiler.arm.cmsis.ldflags="-L{runtime.tools.CMSIS-5.4.0.path}/CMSIS/Lib/GCC/" "-L{build.variant.path}" -larm_cortexM4lf_math -mfloat-abi=hard -mfpu=fpv4-sp-d16

# Menu: Cache
#adafruit_feather_m4_log.menu.cache.on=Enabled
#adafruit_feather_m4_log.menu.cache.on.build.cache_flags=-DENABLE_CACHE
#adafruit_feather_m4_log.menu.cache.off=Disabled
#adafruit_feather_m4_log.menu.cache.off.build.cache_flags=

# Menu: Speed
#adafruit_feather_m4_log.menu.speed.120=120 MHz (standard)
#adafruit_feather_m4_log.menu.speed.120.build.f_cpu=120000000L
#adafruit_feather_m4_log.menu.speed.150=150 MHz (overclock)
#adafruit_feather_m4_log.menu.speed.150.build.f_cpu=150000000L
#adafruit_feather_m4_log.menu.speed.180=180 MHz (overclock)
#adafruit_feather_m4_log.menu.speed.180.build.f_cpu=180000000L
#adafruit_feather_m4_log.menu.speed.200=200 MHz (overclock)
#adafruit_feather_m4_log.menu.speed.200.build.f_cpu=200000000L

# Menu: Optimization
#adafruit_feather_m4_log.menu.opt.small=Small (-Os) (standard)
#adafruit_feather_m4_log.menu.opt.small.build.flags.optimize=-Os
#adafruit_feather_m4_log.menu.opt.fast=Fast (-O2)
#adafruit_feather_m4_log.menu.opt.fast.build.flags.optimize=-O2
#adafruit_feather_m4_log.menu.opt.faster=Faster (-O3)
#adafruit_feather_m4_log.menu.opt.faster.build.flags.optimize=-O3
#adafruit_feather_m4_log.menu.opt.fastest=Fastest (-Ofast)
#adafruit_feather_m4_log.menu.opt.fastest.build.flags.optimize=-Ofast
#adafruit_feather_m4_log.menu.opt.dragons=Here be dragons (-Ofast -funroll-loops)
#adafruit_feather_m4_log.menu.opt.dragons.build.flags.optimize=-Ofast -funroll-loops

# Menu: QSPI Speed
#adafruit_feather_m4_log.menu.maxqspi.50=50 MHz (standard)
#adafruit_feather_m4_log.menu.maxqspi.50.build.flags.maxqspi=-DVARIANT_QSPI_BAUD_DEFAULT=50000000
#adafruit_feather_m4_log.menu.maxqspi.fcpu=CPU Speed / 2
#adafruit_feather_m4_log.menu.maxqspi.fcpu.build.flags.maxqspi=-DVARIANT_QSPI_BAUD_DEFAULT=({build.f_cpu})

# Menu: USB Stack
#adafruit_feather_m4_log.menu.usbstack.arduino=Arduino
#adafruit_feather_m4_log.menu.usbstack.tinyusb=TinyUSB
#adafruit_feather_m4_log.menu.usbstack.tinyusb.build.flags.usbstack=-DUSE_TINYUSB

# Menu: Debug
#adafruit_feather_m4_log.menu.debug.off=Off
#adafruit_feather_m4_log.menu.debug.on=On
#adafruit_feather_m4_log.menu.debug.on.build.flags.debug=-g

# -----------------------------------
# Adafruit Trellis M4 (SAMD51)
# -----------------------------------
Expand Down
10 changes: 10 additions & 0 deletions tools/makeboards.py
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,11 @@ def make_board(mcu, name, variant, vendor, product, vid, pid_list, boarddefine,
"PROXLIGHTTRINKEY_M0", "-D__SAMD21E18A__ -DCRYSTALLESS -DADAFRUIT_PROXLIGHTTRINKEY_M0",
"proxlighttrinkey_m0/bootloader-proxlighttrinkey_m0.bin"],

["adafruit_sht4xtrinkey_m0", "sht4xtrinkey_m0", "Adafruit", "SHT4x Trinkey M0",
"0x239A", ["0x8153", "0x0153", "0x8154"],
"SHT4XTRINKEY_M0", "-D__SAMD21E18A__ -DCRYSTALLESS -DADAFRUIT_SHT4XTRINKEY_M0",
"sht4xtrinkey_m0/bootloader-sht4xtrinkey_m0.bin"],

["adafruit_itsybitsy_m0", "itsybitsy_m0", "Adafruit", "ItsyBitsy M0 Express",
"0x239A", ["0x800F", "0x000F", "0x8012"],
"ITSYBITSY_M0", "-D__SAMD21G18A__ -DCRYSTALLESS -DADAFRUIT_ITSYBITSY_M0",
Expand Down Expand Up @@ -330,6 +335,11 @@ def make_board(mcu, name, variant, vendor, product, vid, pid_list, boarddefine,
"FEATHER_M4_CAN", "-D__SAME51J19A__ -DADAFRUIT_FEATHER_M4_EXPRESS -DADAFRUIT_FEATHER_M4_CAN",
"featherM4/bootloader-feather_m4_express-v2.0.0-adafruit.5.bin"],

# ["adafruit_feather_m4_log", "feather_m4_log", "Adafruit", "Feather M4 Adalogger",
# "0x239A", ["0x8115", "0x0115", "0x8116"],
# "FEATHER_M4_ADALOGGER", "-D__SAME51J19A__ -DADAFRUIT_FEATHER_M4_ADALOGGER",
# "feather_m4_log/bootloader-feather_m4_log-v2.0.0-adafruit.5.bin"],

["adafruit_trellis_m4", "trellis_m4",
"Adafruit", "Trellis M4", "0x239A", ["0x802F", "0x002F", "0x0030"],
"TRELLIS_M4", "-D__SAMD51G19A__ -DCRYSTALLESS -DADAFRUIT_TRELLIS_M4_EXPRESS",
Expand Down
31 changes: 31 additions & 0 deletions variants/sht4xtrinkey_m0/debug_scripts/variant.gdb
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#
# Arduino Zero OpenOCD script.
#
# Copyright (c) 2014-2015 Arduino LLC. All right reserved.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#

# Define 'reset' command
define reset

info reg

break main

# End of 'reset' command
end

target remote | openocd -c "interface cmsis-dap" -c "set CHIPNAME at91samd21e18" -f target/at91samdXX.cfg -c "gdb_port pipe; log_output openocd.log"
Loading

0 comments on commit 1a87637

Please sign in to comment.