diff --git a/cores/arduino/main.cpp b/cores/arduino/main.cpp index ee68b238..ab7aaf7a 100644 --- a/cores/arduino/main.cpp +++ b/cores/arduino/main.cpp @@ -13,11 +13,20 @@ void start_static_threads(); #endif + +// This function will be overwriten by most variants. +void __attribute__((weak))initVariant(void) { + +} + + int main(void) { #if (DT_NODE_HAS_PROP(DT_PATH(zephyr_user), cdc_acm) && CONFIG_USB_CDC_ACM) Serial.begin(115200); #endif + initVariant(); + #ifdef CONFIG_MULTITHREADING start_static_threads(); #endif diff --git a/loader/boards/arduino_nano_33_ble_sense.overlay b/loader/boards/arduino_nano_33_ble_sense.overlay index 34053352..c491cd6b 100644 --- a/loader/boards/arduino_nano_33_ble_sense.overlay +++ b/loader/boards/arduino_nano_33_ble_sense.overlay @@ -45,6 +45,8 @@ / { zephyr,user { + pin-enable-gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>; + digital-pin-gpios = <&arduino_nano_header 0 0>, <&arduino_nano_header 1 0>, <&arduino_nano_header 2 0>, diff --git a/variants/arduino_nano_33_ble_sense/variant.cpp b/variants/arduino_nano_33_ble_sense/variant.cpp index c702d453..de0de2f7 100644 --- a/variants/arduino_nano_33_ble_sense/variant.cpp +++ b/variants/arduino_nano_33_ble_sense/variant.cpp @@ -1,6 +1,23 @@ +#include "Arduino.h" #include +#include void _on_1200_bps() { nrf_power_gpregret_set(NRF_POWER, 0, 0xb0); NVIC_SystemReset(); -} \ No newline at end of file +} + +void initVariant(void) { + static const struct gpio_dt_spec enable_sensors = + GPIO_DT_SPEC_GET(DT_PATH(zephyr_user), pin_enable_gpios); + if (gpio_is_ready_dt(&enable_sensors)) { + gpio_flags_t flags = enable_sensors.dt_flags | GPIO_OUTPUT_HIGH | GPIO_ACTIVE_HIGH | NRF_GPIO_DRIVE_H0H1; + Serial.println((uint32_t)flags, HEX); + + gpio_pin_configure(enable_sensors.port, enable_sensors.pin, flags); + gpio_pin_set(enable_sensors.port, enable_sensors.pin, HIGH); + //Serial.println("### Sensor pin enabled ###"); + + delay(500); + } +} pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy