Skip to main content

A tool for managing SJSU-Dev2 firmware projects and to install external packages such as platforms and libraries.

Project description

sammy

Sammy is a tool for managing SJSU-Dev2 firmware projects and to install external packages such as platforms and libraries.

Quick Start

# Install sammy tool via PIP
pip install sammy-sjsu-dev2

# Create a project
sammy start new_project

# Enter project
cd new_project

# Build main.cpp source code into .elf, .bin, .hex etc. Default platform is the
# LPC40xx series.
sammy build

Dependencies

  • python3.6 and above
  • git

Usage

Run sammy --help to get information about how to use sammy and what it can do. A quick guide on the most common commands for sammy are listed here.

Usage: sammy [OPTIONS] COMMAND [ARGS]...

  Sammy is a tool for managing SJSU-Dev2 firmware projects and to install
  external packages such as platforms and libraries.

Options:
  --help  Show this message and exit.

Commands:
  build       Build Application
  build-test  Build Test Executable
  install     Download and install library to project
  list        List libraries available from the SJSU-Dev2 organization
  remove      Delete library from project
  start       Start a new firmware project.

Building Code

Building code is as simple as running sammy build in a SJSU-Dev2 directory with a main.cpp in it.

$ sammy build --help
Usage: sammy build [OPTIONS] [SOURCE]

  Build Application

Options:
  -o, --optimization TEXT   [default: g]
  -p, --platform TEXT       [default: lpc40xx]
  -l, --linker_script TEXT  [default: default.ld]
  -t, --toolchain TEXT      [default: gcc-arm-none-eabi-picolibc]
  -c, --compiler TEXT       [default: arm-none-eabi-g++]
  --help                    Show this message and exit.

Installing Packages

To install a package you need to specify a library name such as libesp8266 or liblpc40xx. This will scan SJSU-Dev2 repo list and if it exists will download the repo to the packages directory and link the library to the library directory. If the package you want to install is not apart of the SJSU-Dev2 repo you can specify a URL to an git project and it will be installed.

$ sammy install --help
Usage: sammy install [OPTIONS] LIBRARY

  Download and install library to project

Options:
  -d, --project_directory PATH
  -t, --tag TEXT

You can list the SJSU-Dev2 projects by using the following comamnd:

sammy list

You can uninstall a package by running:

sammy remove <package_name>

Build Test Files

You can build host tests programs using sammy build-test file.test.cpp. The extension does not matter, but SJSU-Dev2 follows the .test.cpp extension pattern.

Usage: sammy build-test [OPTIONS] TEST_SOURCE_CODE

  Build Test Executable

Options:
  -c, --compiler TEXT  [default: g++-10]
  -r, --run

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sammy-sjsu-dev2-0.2.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

sammy_sjsu_dev2-0.2.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file sammy-sjsu-dev2-0.2.0.tar.gz.

File metadata

  • Download URL: sammy-sjsu-dev2-0.2.0.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.2

File hashes

Hashes for sammy-sjsu-dev2-0.2.0.tar.gz
Algorithm Hash digest
SHA256 021c5b82a1966c2525ac3310671418fc4450856c52a458edbfab92bd8a39079d
MD5 a535365d3bca9c83dfe988a6e6bf3e4f
BLAKE2b-256 90b10d0f13a93ad135e4ab3cf5701b3f69231b55cfce5ffc0944bd593ffbf0f4

See more details on using hashes here.

File details

Details for the file sammy_sjsu_dev2-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: sammy_sjsu_dev2-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.2

File hashes

Hashes for sammy_sjsu_dev2-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 378c90fce96bd95e7915dc9e5059f1b9fe7c1233c9d90980f2d065272251b3e2
MD5 e1e248a740e68837871570517ecf467a
BLAKE2b-256 2fceed01c4ee0108e6b6e306a1b8cd116a79a835a865fe667948fcecf2309d25

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page