Skip to content

Commit fc95e90

Browse files
committed
Add initial MKRNbIoT support
1 parent 3d8acdc commit fc95e90

File tree

2 files changed

+40
-1
lines changed

2 files changed

+40
-1
lines changed

boards.txt

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,35 @@ mkrgsm1400.build.pid=0x8052
220220
mkrgsm1400.bootloader.tool=openocd
221221
mkrgsm1400.bootloader.file=mkrgsm1400/samd21_sam_ba_arduino_mkrgsm1400.bin
222222

223+
# Arduino MKR NB-IoT 1450
224+
# --------------------
225+
mkrgsm1400.name=Arduino MKR NB-IoT 1450
226+
mkrgsm1400.vid.0=0x2341
227+
mkrgsm1400.pid.0=0x8054
228+
mkrgsm1400.vid.1=0x2341
229+
mkrgsm1400.pid.1=0x0054
230+
231+
mkrgsm1400.upload.tool=bossac
232+
mkrgsm1400.upload.protocol=sam-ba
233+
mkrgsm1400.upload.maximum_size=262144
234+
mkrgsm1400.upload.use_1200bps_touch=true
235+
mkrgsm1400.upload.wait_for_upload_port=true
236+
mkrgsm1400.upload.native_usb=true
237+
mkrgsm1400.build.mcu=cortex-m0plus
238+
mkrgsm1400.build.f_cpu=48000000L
239+
mkrgsm1400.build.usb_product="Arduino MKR NB-IoT 1450"
240+
mkrgsm1400.build.usb_manufacturer="Arduino LLC"
241+
mkrgsm1400.build.board=SAMD_MKRGSM1400
242+
mkrgsm1400.build.core=arduino
243+
mkrgsm1400.build.extra_flags=-D__SAMD21G18A__ {build.usb_flags} -DUSE_BQ24195L_PMIC -DNO_HW_FLOW_CONTROL
244+
mkrgsm1400.build.ldscript=linker_scripts/gcc/flash_with_bootloader.ld
245+
mkrgsm1400.build.openocdscript=openocd_scripts/arduino_zero.cfg
246+
mkrgsm1400.build.variant=mkrgsm1400
247+
mkrgsm1400.build.vid=0x2341
248+
mkrgsm1400.build.pid=0x8054
249+
mkrgsm1400.bootloader.tool=openocd
250+
mkrgsm1400.bootloader.file=mkrgsm1400/samd21_sam_ba_arduino_mkrgsm1400.bin
251+
223252
# Arduino MKR WAN 1300
224253
# --------------------
225254
mkrwan1300.name=Arduino MKR WAN 1300

variants/mkrgsm1400/variant.cpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,12 @@ void initVariant() {
233233
// set GSM DTR to LOW on start
234234
pinMode(GSM_DTR, OUTPUT);
235235
digitalWrite(GSM_DTR, LOW);
236+
237+
#ifdef NO_HW_FLOW_CONTROL
238+
// set GSM DTR to LOW on start
239+
pinMode(PIN_SERIAL2_RTS, OUTPUT);
240+
digitalWrite(PIN_SERIAL2_RTS, LOW);
241+
#endif
236242
}
237243

238244
// Serial1
@@ -244,10 +250,14 @@ void SERCOM5_Handler()
244250
}
245251

246252
// SerialGSM
253+
254+
#ifdef NO_HW_FLOW_CONTROL
255+
Uart Serial2(&sercom2, PIN_SERIAL2_RX, PIN_SERIAL2_TX, PAD_SERIAL2_RX, PAD_SERIAL2_TX);
256+
#else
247257
Uart Serial2(&sercom2, PIN_SERIAL2_RX, PIN_SERIAL2_TX, PAD_SERIAL2_RX, PAD_SERIAL2_TX, PIN_SERIAL2_RTS, PIN_SERIAL2_CTS);
258+
#endif
248259

249260
void SERCOM2_Handler()
250261
{
251262
Serial2.IrqHandler();
252263
}
253-

0 commit comments

Comments
 (0)