Code Monkey home page Code Monkey logo

scum-test-code's Introduction

Scum Test Code

Confluence for SCuM Documentation and Guides: https://crystalfree.atlassian.net/wiki/spaces/SCUM/overview?homepageId=229432

Questions?

Message Austin: austinpatel at berkeley dot edu

Preface

  • Native Windows is the only OS you can use for full SCuM development, and even a Windows VM running on macOS has been shown not to work (bootloading SCuM with nRF doesn't work through the VM for some reason). So you will need to stick to a Windows laptop or desktop PC running Windows.
  • Current version of SCuM is scm_v3c

Contributing

  • Create a fork of this repo onto your own Github account
  • Create a branch off of the develop branch on your fork
  • Submit pull requests from your branch on your fork into the develop branch of this main repository once your code is working

Build

  • Install ARM Keil: https://www.keil.com/demo/eval/arm.htm, default settings (MDK528A.EXE and MDK525.EXE known to work. MDK537.exe (latest version as of writing) does not work out of the box since it uses compiler version 6, when we should be using compiler version 5. Perhaps this can be fixed or configured after installing.)
  • Open scm_v3c/applications/all_projects.uvmpw
  • In Keil project/workspace pane, right click desired project and click Set as Active Project
  • Press build button to generate .bin file for active project (scm_v3c/applications/<app_name>/Objects/<app_name>.bin)

Projects

Existing projects

Read the README associated with each project for project specific setup.

freq_sweep_rx_simple: README

freq_sweep_tx_simple: README

hello_world: README

log_imu: README

continuously_cal: TODO

freq_sweep_lc_count: TODO

freq_sweep_rx: TODO

freq_sweep_tx: TODO

freq_sweep_tx_rx_transit: TODO

if_estimate_test: TODO

pingpong_test: TODO

quick_cal: TODO

channel_cal: README

Creating a new project

  • Create new directory scm_v3c/applications/<project_name>
  • Copy hello_world.c, hello_world.uvoptx, and hello_world.uvprojx from scm_v3c/applications/hello_world/ into new directory (replace hello_world with <project_name> in the file name for these three files)
  • Find and replace all instances of hello_world with <project_name> in the file contents of <project_name>.uvoptx, and <project_name>.uvprojx
  • Open scm_v3c/applications/all_projects.uvmpw amd in Keil press Project > Manage > Multi-Project Workspace... and add path to <project_name>.uvprojx file (it's okay to put absolute path since it will be saved as relative path)

Bootload

You can program SCuM using either a nRF52840DK (recommended) or a Teensy.

nRF52840DK Bootloader (for wired bootloading; this is the preferred approach)

Bootload & Wiring Guide: https://crystalfree.atlassian.net/wiki/spaces/SCUM/pages/1901559821/Sulu+Programming+With+nRF+Setup

Teensy bootloader (for optical bootloading)

  • install
    • https://www.python.org/downloads/ (Python 3.7.4 known to work)
    • Arduino IDE (arduino-1.8.9-windows.zip known to work)
    • Teensyduino (TeensyduinoInstall.exe known to work)
  • connect both Teensy+SCuM board to computer, creates a COM port for each
  • run python scm_v3c\bootload.py --image <path to .bin file>

OpenMote Setup

You will want to setup an OpenMote B if you want to either transmit packets to SCuM or receive packets from SCuM.

Setup Guide

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.