Skip to content

Commit 7fdcd38

Browse files
authored
Merge pull request arduino#67 from KurtE/nano_sense_spi1_enable_pin
Nano 33 BLE - enable the SPI1 sensors
2 parents 587b322 + 03a7fce commit 7fdcd38

File tree

3 files changed

+29
-1
lines changed

3 files changed

+29
-1
lines changed

Diff for: cores/arduino/main.cpp

+9
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,20 @@
1313
void start_static_threads();
1414
#endif
1515

16+
17+
// This function will be overwriten by most variants.
18+
void __attribute__((weak))initVariant(void) {
19+
20+
}
21+
22+
1623
int main(void) {
1724
#if (DT_NODE_HAS_PROP(DT_PATH(zephyr_user), cdc_acm) && CONFIG_USB_CDC_ACM)
1825
Serial.begin(115200);
1926
#endif
2027

28+
initVariant();
29+
2130
#ifdef CONFIG_MULTITHREADING
2231
start_static_threads();
2332
#endif

Diff for: loader/boards/arduino_nano_33_ble_sense.overlay

+2
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@
4545

4646
/ {
4747
zephyr,user {
48+
pin-enable-gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
49+
4850
digital-pin-gpios = <&arduino_nano_header 0 0>,
4951
<&arduino_nano_header 1 0>,
5052
<&arduino_nano_header 2 0>,

Diff for: variants/arduino_nano_33_ble_sense/variant.cpp

+18-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,23 @@
1+
#include "Arduino.h"
12
#include <hal/nrf_power.h>
3+
#include <zephyr/dt-bindings/gpio/nordic-nrf-gpio.h>
24

35
void _on_1200_bps() {
46
nrf_power_gpregret_set(NRF_POWER, 0, 0xb0);
57
NVIC_SystemReset();
6-
}
8+
}
9+
10+
void initVariant(void) {
11+
static const struct gpio_dt_spec enable_sensors =
12+
GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), pin_enable_gpios);
13+
if (gpio_is_ready_dt(&enable_sensors)) {
14+
gpio_flags_t flags = enable_sensors.dt_flags | GPIO_OUTPUT_HIGH | GPIO_ACTIVE_HIGH | NRF_GPIO_DRIVE_H0H1;
15+
Serial.println((uint32_t)flags, HEX);
16+
17+
gpio_pin_configure(enable_sensors.port, enable_sensors.pin, flags);
18+
gpio_pin_set(enable_sensors.port, enable_sensors.pin, HIGH);
19+
//Serial.println("### Sensor pin enabled ###");
20+
21+
delay(500);
22+
}
23+
}

0 commit comments

Comments
 (0)