mirror of
https://github.com/esp8266/Arduino.git
synced 2025-06-12 01:53:07 +03:00
uart: BW improvements (#4620)
* uart fixes and BW improvements * uart: read_char straightly use hw buffer * +attributes for functions called by ISR * uart: BW improvements read_char straightly use hw buffer (+ ~10%bw) read by block (+ ~190%bw) (instead of generic Stream::readBytes) attributes for functions called by ISR remove overrun message remove some ISR flags which were not honoured * fix merge * fix buffer overflow * serial stress test sketch * astyle * serial stress example: interactive keyboard, stop reading, overrun * serial device test: bandwidth & overrun * update + HardwareSerial::hasError() * interactive overrun in example * astyle * Test using @plerup's SoftwareSerial as submodule (tag 3.4.1) * update upstream ref (fix warning) * host mock uart/read(buf,size) * reset style changes in submodules before style diff * update build_boards_manager_package.sh for submodules * trigger CI (removing space) * cannot reproduce locally the CI issue, setting bash -x option to get live trace * remove previously added (in this PR) 'set -e' in package builder (passes local tests, not real CI) script-comment new recipe.hooks.core.prebuild.3 (along with already commented .1 and .2) moved CI package test to be first on the test list remove 'set -x', wish me luck
This commit is contained in:
@ -1,6 +1,8 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
|
||||
#set -x
|
||||
|
||||
# Extract next version from platform.txt
|
||||
next=`sed -n -E 's/version=([0-9.]+)/\1/p' ../platform.txt`
|
||||
|
||||
@ -16,6 +18,9 @@ else
|
||||
plain_ver=$ver
|
||||
fi
|
||||
|
||||
# 'set -e' breaks CI but not local tests
|
||||
#set -e
|
||||
|
||||
package_name=esp8266-$ver
|
||||
echo "Version: $ver"
|
||||
echo "Package name: $package_name"
|
||||
@ -44,10 +49,20 @@ srcdir=$PWD
|
||||
rm -rf package/versions/$ver
|
||||
mkdir -p $outdir
|
||||
|
||||
# Get submodules
|
||||
modules=libraries/SoftwareSerial
|
||||
for mod in $modules; do
|
||||
echo "refreshing submodule: $mod"
|
||||
git submodule update --init -- $mod
|
||||
(cd $mod && git reset --hard)
|
||||
done
|
||||
echo "done with submodules"
|
||||
|
||||
# Some files should be excluded from the package
|
||||
cat << EOF > exclude.txt
|
||||
.git
|
||||
.gitignore
|
||||
.gitmodules
|
||||
.travis.yml
|
||||
package
|
||||
doc
|
||||
@ -58,15 +73,6 @@ git ls-files --other --directory >> exclude.txt
|
||||
rsync -a --exclude-from 'exclude.txt' $srcdir/ $outdir/
|
||||
rm exclude.txt
|
||||
|
||||
# Get additional libraries (TODO: add them as git submodule or subtree?)
|
||||
|
||||
# SoftwareSerial library
|
||||
curl -L -o SoftwareSerial.zip https://github.com/plerup/espsoftwareserial/archive/3.4.1.zip
|
||||
unzip -q SoftwareSerial.zip
|
||||
rm -rf SoftwareSerial.zip
|
||||
mv espsoftwareserial-* SoftwareSerial
|
||||
mv SoftwareSerial $outdir/libraries
|
||||
|
||||
# For compatibility, on OS X we need GNU sed which is usually called 'gsed'
|
||||
if [ "$(uname)" == "Darwin" ]; then
|
||||
SED=gsed
|
||||
@ -83,6 +89,7 @@ $SED 's/tools.esptool.path={runtime.platform.path}\/tools\/esptool/tools.esptool
|
||||
$SED 's/tools.mkspiffs.path={runtime.platform.path}\/tools\/mkspiffs/tools.mkspiffs.path=\{runtime.tools.mkspiffs.path\}/g' |\
|
||||
$SED 's/recipe.hooks.core.prebuild.1.pattern.*//g' |\
|
||||
$SED 's/recipe.hooks.core.prebuild.2.pattern.*//g' |\
|
||||
$SED 's/recipe.hooks.core.prebuild.3.pattern.*//g' |\
|
||||
$SED "s/version=.*/version=$ver/g" |\
|
||||
$SED -E "s/name=([a-zA-Z0-9\ -]+).*/name=\1($ver)/g"\
|
||||
> $outdir/platform.txt
|
||||
@ -154,3 +161,5 @@ python ../../merge_packages.py $new_json $old_json >tmp && mv tmp $new_json && r
|
||||
|
||||
popd
|
||||
popd
|
||||
|
||||
echo "All done"
|
||||
|
Reference in New Issue
Block a user