Skip to content

Board Bring Up Software

andy diller edited this page Jul 31, 2023 · 26 revisions

Bringing Up the Software Development Enviroment for FujiNet

News

May 2023 - moved project to PIO 6.x

This document will take you thru the steps needed to build, modify and deploy the FujiNet project onto the ESP32 system that is the heart of the FujiNet Hardware Device. Even if you are builing a raw devkit with an ESP32 dev board Board Bring Up Hardware or if you are using a retail FuijNet purcahsed from one of the many vendors selling them, you will have to build the same project and upload it to your device.

You can build new versions of FujiNet firmware on:

  • Linux
  • OSX
  • Windows

The #FujiNet firmware is being written in Platform.IO. If you want to help work on it, you'll need to build and flash a version of the code on your hardware.

If you are upgrading there is a guide

Guide for upgrading from 3.4 to 6.1

Building in CLI

Tired of waiting for VSCode to do unimaginable things with PIO and waste cycles of your CPU and your brain? If so just run build with the nice build script included with every git clone! The script was created by Mark J. Fisher back in Dec. 2022. Thanks Mark!

Quick Setup:

start a terminal; go to your repo

dillera@trashcan ~/code/fujinet-platformio_6.1 (master) $ export PATH=$PATH:$HOME/.platformio/penv/bin
dillera@trashcan ~/code/fujinet-platformio_6.1 (master) $ ./build.sh  -um

Above is the absolute minimum to build a Firmware image and flash. PIO will detect any file changes and compile/build as required. You can see from the full set of commands below that you can build without flashing as well as flash the UI (filesystem) when required. If you are using these commands it's best to not have VSCode running at the same time as there will be contention with files. The same goes with the FujiNet-Flasher app- don't run it at the same time you are using these commands to monitor the output via USB or there will be device contention.

More Details:

 $ ./build.sh  -h
Usage: build.sh [-b|-e ENV|-c|-m|-x|-t TARGET|-h]
   -b       # run build
   -c       # run clean before build
   -d       # add dev flag to build
   -m       # run monitor after build
   -u       # upload image (device code)
   -f       # upload filesystem (webUI etc)
   -x       # exclude dep graph output from logging
   -e ENV   # use specific environment
   -t TGT   # run target task (default of none means do build, but -b must be specified
   -h       # this help

Clone this wiki locally