GithubHelp home page GithubHelp logo

chapnickc / epilepsy-monitor-fw Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 67.21 MB

Firmware for ARM processor | SLU Biomedical Engineering Department

C++ 21.99% C 76.88% Objective-C 0.17% Makefile 0.93% Python 0.03%
ble-nano arm-processor arm-toolchain mbed mbed-libraries cortex-m max30100 tmp006 mma8452 gnu-arm

epilepsy-monitor-fw's Introduction

Epilepsy Monitor Firmware

Repository Overview

This repository attempts to follow a basic directory tree organization, with libraries in lib, source code in src,

The analysis subdirectory currently consists of code for preliminary data processing.

The tools directory contains the GNU ARM Embedded Toolchain, needed to compile C++ code for the ARM processor used in this project.

The toolcahin version is version 4.9-2015-q3,

Source Code

The code running on the ARM proccessor is C++. The heart rate calculations require the use of vectors from the C++11 standard library. I ran into some issues here when using the MBED compiler, as I believe it uses the C++98 standard library. My solution to this was to export the program from the online MBED compiler to the ARM toolchain. This gave me a Makefile and all the relevant MBED libraries, such as the BLE_API, nrf51822, and mbed. All I had to do was add the path to the ARM toolchain, and change the std compiler flag to C++11. I also added an upload function. At the time of writing, the MBED libraries in this repository are out of date and should be exported again.

Once the code is ready to be compiled and uploaded to the device:

make
make merge
make upload

The first two commands place the output files in a directory entitled ".build" in the current working directory. The third command copys the 'combined.hex' to the device. This file that has been merged with the softdevice from the second command.

To clean the directory after the build:

make clean

Connecting to the device

In order to read data from a serial port, connect the TX and RX pins on the BLE Nano to RX and TX on the MK20 (in that order). To program the nRF51822 on the BLE Nano, connect the DCLK and DIO pins of the BLE Nano to the DCLK and DIO pins on the MK20. DCLK DIO on the BLE Nano -> MK20 DCLK DIO

BLE Nano Pin MK20 Pin
TX RX
RX TX
DLCK DCLK
DIO DIO

Kiel

In Kiel v5, the BLE Nano device can be found under Nordic Semiconductor -> nRF51 Series -> nRF51822_xxAA. This version has 256kB flash + 16kB RAM.

epilepsy-monitor-fw's People

Contributors

chapnickc avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.