Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,18 @@
cmake_minimum_required(VERSION 3.20.0)

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})

project(app_core)

# NORDIC SDK APP START
target_sources(app PRIVATE src/main.cpp)
# NORDIC SDK APP END

# COMPILER AND LINKER OPTIONS

# Add project directories
zephyr_library_include_directories(.)
add_subdirectory(src)

# Add CMSIS library from nrfSDK
include_directories(..\\..\\..\\..\\modules\\hal\\cmsis\\CMSIS\\DSP\\Include)
Expand Down
30 changes: 30 additions & 0 deletions nrf5340dk_nrf5340_cpuapp.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// To get started, press Ctrl+Space to bring up the completion menu and view the available nodes.

// You can also use the buttons in the sidebar to perform actions on nodes.
// Actions currently available include:

// * Enabling / disabling the node
// * Adding the bus to a bus
// * Removing the node
// * Connecting ADC channels

// For more help, browse the DeviceTree documentation at https://docs.zephyrproject.org/latest/guides/dts/index.html
// You can also visit the nRF DeviceTree extension documentation at https://nrfconnect.github.io/vscode-nrf-connect/devicetree/nrfdevicetree.html

&spi0 {
max-frequency = <DT_FREQ_M(1)>;
easydma-maxcnt-bits = <16>;
};

&pwm0 {
status = "disabled";
};

&sw_pwm {
status = "okay";
channel-gpios = <&gpio0 4 PWM_POLARITY_INVERTED>;
};

&pwm_led0 {
pwms = <&sw_pwm 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
};
34 changes: 25 additions & 9 deletions prj.conf
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,27 @@

CONFIG_MULTITHREADING=y
CONFIG_KERNEL_MEM_POOL=y
CONFIG_NUM_PREEMPT_PRIORITIES=0
CONFIG_NUM_PREEMPT_PRIORITIES=5
CONFIG_SYS_CLOCK_EXISTS=y
CONFIG_ZERO_LATENCY_IRQS=y
CONFIG_ARM_MPU=y
CONFIG_PWM=y
CONFIG_I2C=n
CONFIG_WATCHDOG=y
CONFIG_GPIO=y
CONFIG_SPI=y
CONFIG_SPI_ASYNC=y
CONFIG_SERIAL=y
CONFIG_FLASH=n
CONFIG_PM=n
CONFIG_BOARD_ENABLE_CPUNET=y

# Enable log settings
CONFIG_LOG=y
CONFIG_STDOUT_CONSOLE=n
CONFIG_UART_CONSOLE=n
# CONFIG_RTT=y
CONFIG_USE_SEGGER_RTT=y
CONFIG_LOG_BACKEND_RTT=y
CONFIG_CBPRINTF_FP_A_SUPPORT=y
# CONFIG_BOARD_ENABLE_CPUNET=y

# Enable CMSIS to be used through nrfSDK
CONFIG_FPU=y
Expand All @@ -25,14 +35,14 @@ CONFIG_CMSIS_DSP=y
CONFIG_CMSIS_DSP_TRANSFORM=y
CONFIG_CMSIS_DSP_BASICMATH=y
CONFIG_CMSIS_DSP_COMPLEXMATH=y
CONFIG_CMSIS_NN=y
CONFIG_NEWLIB_LIBC_MIN_REQUIRED_HEAP_SIZE=2048

# Enable hardware peripherals
CONFIG_DMA=y
CONFIG_CPP=y

# Enable firmware settings
CONFIG_USERSPACE=y
CONFIG_DEBUG_THREAD_INFO=y
CONFIG_DEBUG_OPTIMIZATIONS=y
CONFIG_DYNAMIC_INTERRUPTS=n
Expand All @@ -42,8 +52,14 @@ CONFIG_THREAD_STACK_INFO=y
CONFIG_THREAD_CUSTOM_DATA=n
CONFIG_BOOT_BANNER=n
CONFIG_BOOT_DELAY=0
CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=y
CONFIG_STDOUT_CONSOLE=n
CONFIG_PRINTK=y
CONFIG_EARLY_CONSOLE=n
CONFIG_EARLY_CONSOLE=n

# Enable CPP specific flags
# NOTE: some are deprecated but we need them to avoid linker errors
CONFIG_CPLUSPLUS=y
CONFIG_LIB_CPLUSPLUS=y
CONFIG_NEWLIB_LIBC=y
CONFIG_STD_CPP14=y

CONFIG_NRFX_SPIM0=y
17 changes: 17 additions & 0 deletions src/AnalogFrontEndWrapper.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#pragma once

#include "Data.h"

class AnalogFrontEndWrapper {

public:
virtual ~AnalogFrontEndWrapper() = default;
virtual void Initialize() = 0;
// virtual void Configure() = 0;
virtual void Start()=0;
virtual void Wakeup()=0;
virtual void Standby()=0;
virtual void Reset()=0;
virtual void Stop()=0;
virtual void ReadData()=0;
};
Loading