Coder Social home page Coder Social logo

mch2022-badge's Introduction

MCH2022 template app

This repository contains a template app for the MCH2022 badge. It is intended to be used as the basis for developing your own native ESP32 apps. See Getting Started

License

The source code contained in the main folder of this example is public domain / CC0 licensed, use it as you please.

Source code included as submodules is licensed separately, please check the following table for details.

Submodule License Author
esp-idf Apache License 2.0 Espressif Systems (Shanghai) CO LTD
components/appfs THE BEER-WARE LICENSE Revision 42 Jeroen Domburg [email protected]
components/bus-i2c MIT Nicolai Electronics
components/i2c-bno055 MIT Nicolai Electronics
components/mch2022-rp2040 MIT Renze Nicolai
components/pax-graphics MIT Julian Scheffers
components/pax-keyboard MIT Julian Scheffers
components/sdcard MIT Nicolai Electronics
components/spi-ice40 MIT Nicolai Electronics
components/spi-ili9341 MIT Nicolai Electronics
components/ws2812 Unlicense / Public domain None

Source the update_components.sh to update all the submodules to their corresponding tips.

How to make

git clone --recursive https://github.com/badgeteam/mch2022-template-app
cd mch2022-template-app
make

The default target of the Makefile (the one executed if you just run make) installs the proper ESP-IDF version and all other dependencies, then builds the project and tries to install it on an attached Badge. Because this process checks all the dependencies for updates, this can become tedious during development, so you'll probably want to execute specific targets:

  • prepare : this is (one of) the targets executed in the default task and the one that, technically, only needs to run once to install dependencies
  • clean : clean the build environment. This does NOT clean up installed dependencies.
  • build : well ... build. Compiles you sources and assembles a binary to install.
  • install : This install the binary that was build, you can only call install, it depends on build. Note installation is not and SHOULD NOT be performed with the typical idf.py flash call, see the note below for details.
  • monitor : start the serial monitor to examine log output
  • menuconfig : The IDF build system has a fairly elaborate configuration system that can be accessed via menuconfig. You'll know if you need it. Or try it out to explore.

Note: Why not to use idf.py flash to install my native app.

If you have previously used the IDF, you may have noticed that we don’t use idf.py flash to install the app on the Badge. (And if you haven’t, you can safely skip this section. :)

The idf.py flash command assumes that the binary to flash is the main (and only) application for the device. This is not the case for the Badge, though. The main application is the launcher app, i.e. the app with the menu that starts by default. The make install target of the Makefile copies our newly created app into the [appfs](https://github.com/badgeteam/esp32-component-appfThe Makefile cs) instead of overwriting the launcher. Once copied to the appfs, the launcher can find your app and it should appear in the apps menu.

Obviously you can use idf.py flash but you’ll delete the launcher app and would need to reinstall it later.

mch2022-badge's People

Contributors

0xfeedc0de64 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.