This repository contains the source code and configuration files of the Arduino Core for MCCI Catena IoT devices. It is based on the Arduino core for Atmel's SAMD21 processor (used on the Arduino/Genuino Zero, MKR1000 and MKRZero boards), as extended by Adafruit for their SAMD Boards such as the Feather M0, and further extended by MCCI to support its MCCI Catena LoRaWAN® technology boards.
Contents:
The easy approach is to install the package following the instructions given here:
https://github.com/mcci-catena/arduino-boards/blob/master/README.md
However, if you need to development, it's more complicated. See the following section.
If you want to develop and test changes to this package, we suggest the following.
Install the current release from the standard location using the Arduino Tools>Boards>Boards Manager...
menu. This installs tools and so forth.
Select a board supported by this package.
Create an empty sketch with Arduino File>New
, and check that you can build.
Close the Arduino IDE.
Clone this repo to a convenient spot on your computer.
Open a command window and go to the Arduino board installation directory. It will be one of the following.
System | Location |
---|---|
Windows 7 through 10 | c:\Users\username\AppData\Local\Arduino15 . If you're using git bash, you can also use ~/AppData/Local/Arduino15 |
macOS | ~/Library/Arduino15 |
Linux | ~/.arduino15 |
From this location, change directory to packages/mcci/samd
.
Look at the directory contents with ls
. You'll see a directory named like a version number, for example 1.2.0
.
Move the directory you just found away from the samd
directory. It's convenient to have it around, so we suggest that you not delete it.
Create a symbolic link to the sandbox you created in step (3) above. On macOS and Linux, this is done using the ln -s
command. On Windows 10, this is done with the mklink /d
command. (On older versions of Windows, unless you're very experienced, you might want to use a Linux VM in VirtualBox -- we can't advise on the best way to do this.)
packages/mcci/samd
, but it can be put (for example) in packages/mcci/hide-samd-1.2.0
(or whatever version it was). After moving the old directory away, you can move the repo that you cloned in step 5, above, into the packages/mcci/samd
directory using a suitable version number.Open the Arduino IDE.
Use the menu File>New
to create an empty sketch (or reuse the sketch from step 3).
Make sure the board you want to develop for is selected in Tools>Boards
.
Make changes and build.
Remember to restart the IDE whenever you change platform.txt
, boards.txt
or programmers.txt
.
Caution: If you update your BSP from the IDE, your changes may be discarded.
If you find a bug you can submit an issue here on GitHub:
github.com/mcci-catena/ArduinoCore-samd/issues
Before posting a new issue, please check if the same problem has been already reported by someone else to avoid duplicates.
v2.3.0 adds Catena SAMD driver installers and post installer scripts.
v2.2.0 adds support for UI selection of network and subband.
v2.1.0 added support for the LoRaWAN Region KR-920 (issue #34). Rename AU921 region to AU915 (retaining CFG_au921
redundant symbol for older LMICs) (#37, #38). Add support for new IDE features for injecting precompiled objects (#39).
v2.0.0 makes a major version jump primarily to avoid reusing versions that are used by tags in the repo for Adafruit BSPs. It also adds _mcci_arduino_version
(issue #28).
v1.3.1 corrected the version in platform.txt
, which was missed.
v1.3.0 increases the serial port ring-buffer size (issue #26)
v1.2.0 adds several features. It moves flags in the link script to accommodate the BME680 BSEC library. It adapts the JSON templating system from the MCCI STM32 BSP. The millis()
routine was updated so that the clock value will advance even if interrupts are disabled (issue #17). Properly define the country code for as923jp (issue #13). Fix typo au915
should have been au921
(issue #12).
v1.1.0 adds support for the MCCI Catena 4420 and 4470. It also adds the ability to select the target LoRaWAN region from the IDE Tools menu (assuming that you're using the MCCI Catena arduino-lmic
library). It also fixes the USB product ID numbers to match the official numbers assigned by MCCI release engineering (issue #9).
This core has been developed by Arduino LLC in collaboration with Atmel. The copyright notice doesn't include Adafruit, but we think it probably should. Additional work was done by MCCI to incorporate better support LoRaWAN and the MCCI family of SAMD-based LoRa boards.
Copyright (c) 2015 Arduino LLC. All rights reserved.
Portions copyright (c) Adafruit Industries.
Portions copyright (c) 2017-2019 MCCI Corporation.
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
MCCI and MCCI Catena are registered trademarks of MCCI Corporation. LoRaWAN is a registered trademark of the LoRa Alliance. All other trademarks are the properties of their respective owners.
Everyone at MCCI invests time and resources providing this open-source code and open-source hardware. MCCI is also the principal corporate sponsor of The Things Network New York and Ithaca. Please support our work by purchasing products from MCCI! Visit our on-line store at store.mcci.com.