Skip to content

Merge New release #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 43 commits into from
Oct 12, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
8ea12f8
Update pins (#3249)
Magicblocks Sep 23, 2019
298c610
Added board defintion for VintLabs boards (#3252)
pvint Sep 24, 2019
731fd19
Update get.py
me-no-dev Sep 24, 2019
0eec630
Add missing env to PIO CI build
me-no-dev Sep 24, 2019
0ac2de7
Add partition schemes to adafruit featheresp32 (#3255)
tpitman Sep 24, 2019
b30e55e
Added partition size option for Pico Kit (#3258)
bitbank2 Sep 24, 2019
f32083a
Fix timerRestart
me-no-dev Sep 24, 2019
ca88fdc
Fixed FFat::end. Fixes #3244 (#3245)
lbernstone Sep 24, 2019
895a150
Update README.md
me-no-dev Sep 24, 2019
a5c873b
Update README.md
me-no-dev Sep 24, 2019
f8c0689
Better cleanup on mount failures, as the idf api now seems to assign …
lbernstone Sep 26, 2019
589bb70
Update WiFiScan.h (#3266)
billprozac Sep 26, 2019
9bbd720
Update BLEDevice.cpp (#3267)
billprozac Sep 26, 2019
5bff89f
Fixed issue-3153 - Allocating enough memory to construct the entire U…
william-ferguson-au Sep 29, 2019
1c77790
allow the examples to build in a more strict env (#3299)
me-no-dev Sep 29, 2019
3b71e13
Builder scripts update (#3300)
me-no-dev Sep 29, 2019
caa391a
More efficient CI builds (#3303)
me-no-dev Sep 30, 2019
ed96d2a
Use Github Actions for release (#3309)
me-no-dev Oct 1, 2019
40ebee1
Update BluetoothSerial.cpp (#3308)
rafern Oct 1, 2019
5f1dff7
IDF release/v3.2 d3e562907 (#3292)
me-no-dev Oct 1, 2019
64cfb33
Add Added unimplemented getCharacteristicsByHandle function (#3277)
tanakamasayuki Oct 1, 2019
71e3d51
Fix BLEUUID toString (#3289)
tanakamasayuki Oct 1, 2019
01d9345
Update development JSON location
me-no-dev Oct 1, 2019
270a275
Add pages action (#3311)
me-no-dev Oct 1, 2019
8a46697
Fix for issue_3209. (#3210)
william-ferguson-au Oct 1, 2019
b334b2c
Add config, menu partition Wrover (#3147)
chio7896 Oct 1, 2019
38c4c06
Support for Master mode, Pin and SSP (#3219)
IonicEV Oct 1, 2019
5ad468f
Add ARM toolchain
me-no-dev Oct 1, 2019
c8e3f0c
Support Pi 4 on 64bit kernel
me-no-dev Oct 1, 2019
85c77a9
Fix CI Builds for Linux (#3313)
me-no-dev Oct 1, 2019
d0b064a
Update CI scripts for better error handling (#3316)
me-no-dev Oct 2, 2019
6f70e27
Base64::encode : const correctness / String by reference passing (#3314)
dirkmueller Oct 2, 2019
4638628
Wait for client.available() to prevent ESP32 crashes (#3154)
paynterf Oct 2, 2019
b10ed77
Update boards_manager.md
me-no-dev Oct 2, 2019
048b265
Update boards_manager.md
me-no-dev Oct 2, 2019
8fb8e7d
CI can be used on windows desktop with msys
me-no-dev Oct 2, 2019
c2b3f2d
Make yield() overridable (#2991)
dok-net Oct 4, 2019
24b277a
Add readFloat to BLE (#3321)
copercini Oct 6, 2019
e506136
Fix typo in SPIFFS and FFAT examples (#3322)
mariansam Oct 6, 2019
0cdfb0b
Add support for WiFi long range mode (#3190)
me-no-dev Oct 6, 2019
9ef3e2d
Allow sketches to have custom partitions (#3328)
me-no-dev Oct 6, 2019
a35035f
fix authrization problem (#3329)
lightzl Oct 8, 2019
79e4339
Remove warnings if no debug enabled (#3334)
luc-github Oct 8, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@

set -e

cd "`dirname $0`/.." # cd to arduino-esp32 root

# pull all submodules
git submodule update --init --recursive

Expand Down
36 changes: 36 additions & 0 deletions .github/scripts/install-arduino-core-esp32.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#!/bin/bash

export ARDUINO_ESP32_PATH="$ARDUINO_USR_PATH/hardware/espressif/esp32"
if [ ! -d "$ARDUINO_ESP32_PATH" ]; then
echo "Installing ESP32 Arduino Core ..."
script_init_path="$PWD"
mkdir -p "$ARDUINO_USR_PATH/hardware/espressif"
cd "$ARDUINO_USR_PATH/hardware/espressif"

echo "Installing Python Serial ..."
pip install pyserial > /dev/null

if [ "$OS_IS_WINDOWS" == "1" ]; then
echo "Installing Python Requests ..."
pip install requests > /dev/null
fi

if [ "$GITHUB_REPOSITORY" == "espressif/arduino-esp32" ]; then
echo "Linking Core..."
ln -s $GITHUB_WORKSPACE esp32
else
echo "Cloning Core Repository..."
git clone https://github.com/espressif/arduino-esp32.git esp32 > /dev/null 2>&1
fi

echo "Updating Submodules ..."
cd esp32
git submodule update --init --recursive > /dev/null 2>&1

echo "Installing Platform Tools ..."
cd tools && python get.py
cd $script_init_path

echo "ESP32 Arduino has been installed in '$ARDUINO_ESP32_PATH'"
echo ""
fi
220 changes: 220 additions & 0 deletions .github/scripts/install-arduino-ide.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,220 @@
#!/bin/bash

#OSTYPE: 'linux-gnu', ARCH: 'x86_64' => linux64
#OSTYPE: 'msys', ARCH: 'x86_64' => win32
#OSTYPE: 'darwin18', ARCH: 'i386' => macos

OSBITS=`arch`
if [[ "$OSTYPE" == "linux"* ]]; then
export OS_IS_LINUX="1"
ARCHIVE_FORMAT="tar.xz"
if [[ "$OSBITS" == "i686" ]]; then
OS_NAME="linux32"
elif [[ "$OSBITS" == "x86_64" ]]; then
OS_NAME="linux64"
elif [[ "$OSBITS" == "armv7l" || "$OSBITS" == "aarch64" ]]; then
OS_NAME="linuxarm"
else
OS_NAME="$OSTYPE-$OSBITS"
echo "Unknown OS '$OS_NAME'"
exit 1
fi
elif [[ "$OSTYPE" == "darwin"* ]]; then
export OS_IS_MACOS="1"
ARCHIVE_FORMAT="zip"
OS_NAME="macosx"
elif [[ "$OSTYPE" == "cygwin" ]] || [[ "$OSTYPE" == "msys" ]] || [[ "$OSTYPE" == "win32" ]]; then
export OS_IS_WINDOWS="1"
ARCHIVE_FORMAT="zip"
OS_NAME="windows"
else
OS_NAME="$OSTYPE-$OSBITS"
echo "Unknown OS '$OS_NAME'"
exit 1
fi
export OS_NAME

ARDUINO_BUILD_DIR="$HOME/.arduino/build.tmp"
ARDUINO_CACHE_DIR="$HOME/.arduino/cache.tmp"

if [ "$OS_IS_MACOS" == "1" ]; then
export ARDUINO_IDE_PATH="/Applications/Arduino.app/Contents/Java"
export ARDUINO_USR_PATH="$HOME/Documents/Arduino"
elif [ "$OS_IS_WINDOWS" == "1" ]; then
export ARDUINO_IDE_PATH="$HOME/arduino_ide"
export ARDUINO_USR_PATH="$HOME/Documents/Arduino"
else
export ARDUINO_IDE_PATH="$HOME/arduino_ide"
export ARDUINO_USR_PATH="$HOME/Arduino"
fi

if [ ! -d "$ARDUINO_IDE_PATH" ]; then
echo "Installing Arduino IDE on $OS_NAME ..."
echo "Downloading 'arduino-nightly-$OS_NAME.$ARCHIVE_FORMAT' to 'arduino.$ARCHIVE_FORMAT' ..."
if [ "$OS_IS_LINUX" == "1" ]; then
wget -O "arduino.$ARCHIVE_FORMAT" "https://www.arduino.cc/download.php?f=/arduino-nightly-$OS_NAME.$ARCHIVE_FORMAT" > /dev/null 2>&1
echo "Extracting 'arduino.$ARCHIVE_FORMAT' ..."
tar xf "arduino.$ARCHIVE_FORMAT" > /dev/null
mv arduino-nightly "$ARDUINO_IDE_PATH"
else
curl -o "arduino.$ARCHIVE_FORMAT" -L "https://www.arduino.cc/download.php?f=/arduino-nightly-$OS_NAME.$ARCHIVE_FORMAT" > /dev/null 2>&1
echo "Extracting 'arduino.$ARCHIVE_FORMAT' ..."
unzip "arduino.$ARCHIVE_FORMAT" > /dev/null
if [ "$OS_IS_MACOS" == "1" ]; then
mv "Arduino.app" "/Applications/Arduino.app"
else
mv arduino-nightly "$ARDUINO_IDE_PATH"
fi
fi
rm -rf "arduino.$ARCHIVE_FORMAT"

mkdir -p "$ARDUINO_USR_PATH/libraries"
mkdir -p "$ARDUINO_USR_PATH/hardware"

echo "Arduino IDE Installed in '$ARDUINO_IDE_PATH'"
echo ""
fi

function build_sketch(){ # build_sketch <fqbn> <path-to-ino> [extra-options]
if [ "$#" -lt 2 ]; then
echo "ERROR: Illegal number of parameters"
echo "USAGE: build_sketch <fqbn> <path-to-ino> [extra-options]"
return 1
fi

local fqbn="$1"
local sketch="$2"
local xtra_opts="$3"
local win_opts=""
if [ "$OS_IS_WINDOWS" == "1" ]; then
local ctags_version=`ls "$ARDUINO_IDE_PATH/tools-builder/ctags/"`
local preprocessor_version=`ls "$ARDUINO_IDE_PATH/tools-builder/arduino-preprocessor/"`
win_opts="-prefs=runtime.tools.ctags.path=$ARDUINO_IDE_PATH/tools-builder/ctags/$ctags_version -prefs=runtime.tools.arduino-preprocessor.path=$ARDUINO_IDE_PATH/tools-builder/arduino-preprocessor/$preprocessor_version"
fi

echo ""
echo "Compiling '"$(basename "$sketch")"' ..."
mkdir -p "$ARDUINO_BUILD_DIR"
mkdir -p "$ARDUINO_CACHE_DIR"
$ARDUINO_IDE_PATH/arduino-builder -compile -logger=human -core-api-version=10810 \
-fqbn=$fqbn \
-warnings="all" \
-tools "$ARDUINO_IDE_PATH/tools-builder" \
-tools "$ARDUINO_IDE_PATH/tools" \
-built-in-libraries "$ARDUINO_IDE_PATH/libraries" \
-hardware "$ARDUINO_IDE_PATH/hardware" \
-hardware "$ARDUINO_USR_PATH/hardware" \
-libraries "$ARDUINO_USR_PATH/libraries" \
-build-cache "$ARDUINO_CACHE_DIR" \
-build-path "$ARDUINO_BUILD_DIR" \
$win_opts $xtra_opts "$sketch"
}

function count_sketches() # count_sketches <examples-path>
{
local examples="$1"
rm -rf sketches.txt
if [ ! -d "$examples" ]; then
touch sketches.txt
return 0
fi
local sketches=$(find $examples -name *.ino)
local sketchnum=0
for sketch in $sketches; do
local sketchdir=$(dirname $sketch)
local sketchdirname=$(basename $sketchdir)
local sketchname=$(basename $sketch)
if [[ "${sketchdirname}.ino" != "$sketchname" ]]; then
continue
fi;
if [[ -f "$sketchdir/.test.skip" ]]; then
continue
fi
echo $sketch >> sketches.txt
sketchnum=$(($sketchnum + 1))
done
return $sketchnum
}

function build_sketches() # build_sketches <fqbn> <examples-path> <chunk> <total-chunks> [extra-options]
{
local fqbn=$1
local examples=$2
local chunk_idex=$3
local chunks_num=$4
local xtra_opts=$5

if [ "$#" -lt 2 ]; then
echo "ERROR: Illegal number of parameters"
echo "USAGE: build_sketches <fqbn> <examples-path> [<chunk> <total-chunks>] [extra-options]"
return 1
fi

if [ "$#" -lt 4 ]; then
chunk_idex="0"
chunks_num="1"
xtra_opts=$3
fi

if [ "$chunks_num" -le 0 ]; then
echo "ERROR: Chunks count must be positive number"
return 1
fi
if [ "$chunk_idex" -ge "$chunks_num" ]; then
echo "ERROR: Chunk index must be less than chunks count"
return 1
fi

set +e
count_sketches "$examples"
local sketchcount=$?
set -e
local sketches=$(cat sketches.txt)
rm -rf sketches.txt

local chunk_size=$(( $sketchcount / $chunks_num ))
local all_chunks=$(( $chunks_num * $chunk_size ))
if [ "$all_chunks" -lt "$sketchcount" ]; then
chunk_size=$(( $chunk_size + 1 ))
fi

local start_index=$(( $chunk_idex * $chunk_size ))
if [ "$sketchcount" -le "$start_index" ]; then
echo "Skipping job"
return 0
fi

local end_index=$(( $(( $chunk_idex + 1 )) * $chunk_size ))
if [ "$end_index" -gt "$sketchcount" ]; then
end_index=$sketchcount
fi

local start_num=$(( $start_index + 1 ))
echo "Found $sketchcount Sketches";
echo "Chunk Count : $chunks_num"
echo "Chunk Size : $chunk_size"
echo "Start Sketch: $start_num"
echo "End Sketch : $end_index"

local sketchnum=0
for sketch in $sketches; do
local sketchdir=$(dirname $sketch)
local sketchdirname=$(basename $sketchdir)
local sketchname=$(basename $sketch)
if [ "${sketchdirname}.ino" != "$sketchname" ] \
|| [ -f "$sketchdir/.test.skip" ]; then
continue
fi
sketchnum=$(($sketchnum + 1))
if [ "$sketchnum" -le "$start_index" ] \
|| [ "$sketchnum" -gt "$end_index" ]; then
continue
fi
build_sketch "$fqbn" "$sketch" "$xtra_opts"
local result=$?
if [ $result -ne 0 ]; then
return $result
fi
done
return 0
}
Loading