Confluence for SCuM Documentation and Guides: https://crystalfree.atlassian.net/wiki/spaces/SCUM/overview?homepageId=229432
Message Austin: austinpatel at berkeley dot edu
- 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
- 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
- Install ARM Keil: https://www.keil.com/demo/eval/arm.htm, default settings (
MDK528A.EXE
andMDK525.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
)
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
- Create new directory
scm_v3c/applications/<project_name>
- Copy
hello_world.c
,hello_world.uvoptx
, andhello_world.uvprojx
fromscm_v3c/applications/hello_world/
into new directory (replacehello_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 pressProject > 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)
You can program SCuM using either a nRF52840DK (recommended) or a Teensy.
Bootload & Wiring Guide: https://crystalfree.atlassian.net/wiki/spaces/SCUM/pages/1901559821/Sulu+Programming+With+nRF+Setup
- 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)
- https://www.python.org/downloads/ (
- connect both Teensy+SCuM board to computer, creates a COM port for each
- run
python scm_v3c\bootload.py --image <path to .bin file>
You will want to setup an OpenMote B if you want to either transmit packets to SCuM or receive packets from SCuM.