Skip to content

Commit 82729bd

Browse files
committed
Merge pull request #4 from esp8266/esp8266
pull master
2 parents 5b916e5 + 799f680 commit 82729bd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+2490
-694
lines changed

.travis.yml

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ script:
2424
- which arduino
2525
- source hardware/esp8266com/esp8266/tests/common.sh
2626
- arduino --board esp8266com:esp8266:generic --save-prefs
27+
- arduino --get-pref sketchbook.path
28+
- install_libraries
2729
- build_sketches arduino $PWD/hardware/esp8266com/esp8266
2830

2931
notifications:

build/build_board_manager_package.sh

+65-69
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
#!/bin/bash
22
#
3-
# for platform in windows linux macosx; do pushd $platform; ls -l esptool-*; shasum -a 256 esptool-*; popd; done;
4-
#
5-
#
63

74
ver=`git describe --tags`
8-
outdir=esp8266-$ver
9-
srcdir=../hardware/esp8266com/esp8266/
5+
package_name=esp8266-$ver
6+
echo "Version: $ver"
7+
echo "Package name: $package_name"
8+
outdir=versions/$ver/$package_name
9+
srcdir=$PWD/../hardware/esp8266com/esp8266/
10+
11+
rm -rf versions/$ver
1012
mkdir -p $outdir
13+
1114
cp -R $srcdir/* $outdir/
1215

1316
cp -R ../libraries/SD $outdir/libraries/
@@ -20,36 +23,21 @@ gsed 's/runtime.tools.esptool.path={runtime.platform.path}\/tools//g' | \
2023
gsed 's/tools.esptool.path={runtime.platform.path}\/tools/tools.esptool.path=\{runtime.tools.esptool.path\}/g' \
2124
> $outdir/platform.txt
2225

23-
zip -r $outdir.zip $outdir
24-
rm -rf $outdir
25-
sha=`shasum -a 256 $outdir.zip | cut -f 1 -d ' '`
26-
size=`/bin/ls -l $outdir.zip | awk '{print $5}'`
26+
pushd versions/$ver
27+
echo "Making $package_name.zip"
28+
zip -qr $package_name.zip $package_name
29+
rm -rf $package_name
30+
sha=`shasum -a 256 $package_name.zip | cut -f 1 -d ' '`
31+
size=`/bin/ls -l $package_name.zip | awk '{print $5}'`
2732
echo Size: $size
2833
echo SHA-256: $sha
2934

30-
if [ "$upload" == "stable" ]; then
31-
badge_title="stable"
32-
badge_color="blue"
33-
path=""
34-
elif [ "$upload" == "staging" ]; then
35-
badge_title="staging"
36-
badge_color="yellow"
37-
path="staging/"
38-
elif [ "$upload" == "test" ]; then
39-
badge_title="test"
40-
badge_color="red"
41-
path="test/"
42-
else
43-
upload=""
44-
remote="http://localhost:8000"
45-
fi
46-
47-
if [ ! -z "$upload" ]; then
48-
remote="http://arduino.esp8266.com"
49-
release_date=$(date "+%b_%d,_%Y")
50-
wget -O badge.svg https://img.shields.io/badge/$badge_title-$release_date-$badge_color.svg
35+
if [ -z "$REMOTE_URL" ]; then
36+
REMOTE_URL="http://localhost:8000"
37+
echo "REMOTE_URL not defined, using default: $REMOTE_URL"
5138
fi
5239

40+
echo "Making package_esp8266com_index.json"
5341
cat << EOF > package_esp8266com_index.json
5442
{
5543
"packages": [ {
@@ -58,20 +46,20 @@ cat << EOF > package_esp8266com_index.json
5846
"websiteURL":"https://github.com/esp8266/Arduino",
5947
"email":"[email protected]",
6048
"help":{
61-
"online":"http://esp8266.com"
49+
"online":"$REMOTE_URL/versions/$ver/doc/reference.html"
6250
},
6351
6452
"platforms": [ {
6553
"name":"esp8266",
6654
"architecture":"esp8266",
6755
"version":"$ver",
6856
"category":"ESP8266",
69-
"url":"$remote/$path/$outdir.zip",
70-
"archiveFileName":"$outdir.zip",
57+
"url":"$REMOTE_URL/versions/$ver/$package_name.zip",
58+
"archiveFileName":"$package_name.zip",
7159
"checksum":"SHA-256:$sha",
7260
"size":"$size",
7361
"help":{
74-
"online":"http://esp8266.com"
62+
"online":"$REMOTE_URL/versions/$ver/doc/reference.html"
7563
},
7664
"boards":[
7765
{
@@ -89,66 +77,76 @@ cat << EOF > package_esp8266com_index.json
8977
{
9078
"name":"Adafruit HUZZAH ESP8266 (ESP-12)"
9179
},
80+
{
81+
"name":"SparkFun Thing"
82+
},
9283
{
9384
"name":"SweetPea ESP-210"
9485
}
9586
],
9687
"toolsDependencies":[ {
9788
"packager":"esp8266",
9889
"name":"esptool",
99-
"version":"0.4.5"
90+
"version":"0.4.6"
10091
},
10192
{
10293
"packager":"esp8266",
10394
"name":"xtensa-lx106-elf-gcc",
104-
"version":"1.20.0-26-gb404fb9"
95+
"version":"1.20.0-26-gb404fb9-2"
10596
} ]
10697
} ],
10798
10899
"tools": [ {
109100
"name":"esptool",
110-
"version":"0.4.5",
101+
"version":"0.4.6",
111102
"systems": [
112103
{
113104
"host":"i686-mingw32",
114-
"url":"https://github.com/igrr/esptool-ck/releases/download/0.4.5/esptool-0.4.5-win32.zip",
115-
"archiveFileName":"esptool-0.4.5-win32.zip",
116-
"checksum":"SHA-256:1b0a7d254e74942d820a09281aa5dc2af1c8314ae5ee1a5abb0653d0580e531b",
117-
"size":"17408"
105+
"url":"https://github.com/igrr/esptool-ck/releases/download/0.4.6/esptool-0.4.6-win32.zip",
106+
"archiveFileName":"esptool-0.4.6-win32.zip",
107+
"checksum":"SHA-256:0248bf78514a3195f583e29218ca7828a66e13c6e5545a078f1c1257033e4927",
108+
"size":"17481"
118109
},
119110
{
120111
"host":"x86_64-apple-darwin",
121-
"url":"https://github.com/igrr/esptool-ck/releases/download/0.4.5/esptool-0.4.5-osx.tar.gz",
122-
"archiveFileName":"esptool-0.4.5-osx.tar.gz",
123-
"checksum":"SHA-256:924d31c64f4bb9f748e70806dafbabb15e5eb80afcdde33715f3ec884be1652d",
124-
"size":"11359"
112+
"url":"https://github.com/igrr/esptool-ck/releases/download/0.4.6/esptool-0.4.6-osx.tar.gz",
113+
"archiveFileName":"esptool-0.4.6-osx.tar.gz",
114+
"checksum":"SHA-256:0fe87ba7e29ee90a9fc72492aada8c0796f9e8f8a1c594b6b26cee2610d09bb3",
115+
"size":"20926"
116+
},
117+
{
118+
"host":"i386-apple-darwin",
119+
"url":"https://github.com/igrr/esptool-ck/releases/download/0.4.6/esptool-0.4.6-osx.tar.gz",
120+
"archiveFileName":"esptool-0.4.6-osx.tar.gz",
121+
"checksum":"SHA-256:0fe87ba7e29ee90a9fc72492aada8c0796f9e8f8a1c594b6b26cee2610d09bb3",
122+
"size":"20926"
125123
},
126124
{
127125
"host":"x86_64-pc-linux-gnu",
128-
"url":"https://github.com/igrr/esptool-ck/releases/download/0.4.5/esptool-0.4.5-linux64.tar.gz",
129-
"archiveFileName":"esptool-0.4.5-linux64.tar.gz",
130-
"checksum":"SHA-256:4ce799e13fbd89f8a8f08a08db77dc3b1362c4486306fe1b3801dee80cfa3203",
131-
"size":"12789"
126+
"url":"https://github.com/igrr/esptool-ck/releases/download/0.4.6/esptool-0.4.6-linux64.tar.gz",
127+
"archiveFileName":"esptool-0.4.6-linux64.tar.gz",
128+
"checksum":"SHA-256:f9f456e9a42bb2597126c513cb8865f923fb978865d4838b9623d322216b74d0",
129+
"size":"12885"
132130
},
133131
{
134132
"host":"i686-pc-linux-gnu",
135-
"url":"https://github.com/igrr/esptool-ck/releases/download/0.4.5/esptool-0.4.5-linux32.tar.gz",
136-
"archiveFileName":"esptool-0.4.5-linux32.tar.gz",
137-
"checksum":"SHA-256:4aa81b97a470641771cf371e5d470ac92d3b177adbe8263c4aae66e607b67755",
138-
"size":"12044"
133+
"url":"https://github.com/igrr/esptool-ck/releases/download/0.4.6/esptool-0.4.6-linux32.tar.gz",
134+
"archiveFileName":"esptool-0.4.6-linux32.tar.gz",
135+
"checksum":"SHA-256:85275ca03a82bfc456f5a84e86962ca1e470ea2e168829c38ca29ee668831d93",
136+
"size":"13417"
139137
}
140138
]
141139
},
142140
{
143141
"name":"xtensa-lx106-elf-gcc",
144-
"version":"1.20.0-26-gb404fb9",
142+
"version":"1.20.0-26-gb404fb9-2",
145143
"systems": [
146144
{
147-
"host":"i686-mingw32",
148-
"url":"http://arduino.esp8266.com/win32-xtensa-lx106-elf-gb404fb9-2.tar.gz",
149-
"archiveFileName":"win32-xtensa-lx106-elf-gb404fb9-2.tar.gz",
150-
"checksum":"SHA-256:10476b9c11a7a90f40883413ddfb409f505b20692e316c4e597c4c175b4be09c",
151-
"size":"153527527"
145+
"host":"i686-mingw32",
146+
"url":"http://arduino.esp8266.com/win32-xtensa-lx106-elf-gb404fb9-2.tar.gz",
147+
"archiveFileName":"win32-xtensa-lx106-elf-gb404fb9-2.tar.gz",
148+
"checksum":"SHA-256:10476b9c11a7a90f40883413ddfb409f505b20692e316c4e597c4c175b4be09c",
149+
"size":"153527527"
152150
},
153151
{
154152
"host":"x86_64-apple-darwin",
@@ -157,6 +155,13 @@ cat << EOF > package_esp8266com_index.json
157155
"checksum":"SHA-256:0cf150193997bd1355e0f49d3d49711730035257bc1aee1eaaad619e56b9e4e6",
158156
"size":"35385382"
159157
},
158+
{
159+
"host":"i386-apple-darwin",
160+
"url":"http://arduino.esp8266.com/osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
161+
"archiveFileName":"osx-xtensa-lx106-elf-gb404fb9-2.tar.gz",
162+
"checksum":"SHA-256:0cf150193997bd1355e0f49d3d49711730035257bc1aee1eaaad619e56b9e4e6",
163+
"size":"35385382"
164+
},
160165
{
161166
"host":"x86_64-pc-linux-gnu",
162167
"url":"http://arduino.esp8266.com/linux64-xtensa-lx106-elf-gb404fb9.tar.gz",
@@ -177,13 +182,4 @@ cat << EOF > package_esp8266com_index.json
177182
}
178183
EOF
179184

180-
181-
if [ ! -z "$upload" ]; then
182-
remote_path=dl:apps/download_files/download/$path
183-
scp $outdir.zip $remote_path
184-
scp package_esp8266com_index.json $remote_path
185-
scp -r $srcdir/doc $remote_path
186-
scp badge.svg $remote_path
187-
else
188-
python -m SimpleHTTPServer
189-
fi
185+
popd

build/shared/tools/ESP8266FS/make.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ fi
1515
set -e
1616

1717
mkdir -p bin
18-
javac -target 1.7 -cp "$pde_path:$core_path" \
18+
javac -target 1.8 -cp "$pde_path:$core_path" \
1919
-d bin src/ESP8266FS.java
2020

2121
pushd bin

build/shared/tools/ESP8266FS/src/ESP8266FS.java

+34-30
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import processing.app.PreferencesData;
3636
import processing.app.Editor;
3737
import processing.app.Base;
38+
import processing.app.BaseNoGui;
3839
import processing.app.Platform;
3940
import processing.app.Sketch;
4041
import processing.app.tools.Tool;
@@ -57,7 +58,7 @@ public void init(Editor editor) {
5758
public String getMenuTitle() {
5859
return "ESP8266 Sketch Data Upload";
5960
}
60-
61+
6162
private int listenOnProcess(String[] arguments){
6263
try {
6364
final Process p = ProcessUtils.exec(arguments);
@@ -79,7 +80,7 @@ public void run() {
7980
return -1;
8081
}
8182
}
82-
83+
8384
private void sysExec(final String[] arguments){
8485
Thread thread = new Thread() {
8586
public void run() {
@@ -96,25 +97,25 @@ public void run() {
9697
};
9798
thread.start();
9899
}
99-
100-
100+
101+
101102
private long getIntPref(String name){
102-
String data = Base.getBoardPreferences().get(name);
103+
String data = BaseNoGui.getBoardPreferences().get(name);
103104
if(data == null || data.contentEquals("")) return 0;
104105
if(data.startsWith("0x")) return Long.parseLong(data.substring(2), 16);
105106
else return Integer.parseInt(data);
106107
}
107-
108+
108109
private void createAndUpload(){
109110
if(!PreferencesData.get("target_platform").contentEquals("esp8266")){
110111
System.err.println();
111112
editor.statusError("SPIFFS Not Supported on "+PreferencesData.get("target_platform"));
112113
return;
113114
}
114-
115-
if(!Base.getBoardPreferences().containsKey("build.spiffs_start") || !Base.getBoardPreferences().containsKey("build.spiffs_end")){
115+
116+
if(!BaseNoGui.getBoardPreferences().containsKey("build.spiffs_start") || !BaseNoGui.getBoardPreferences().containsKey("build.spiffs_end")){
116117
System.err.println();
117-
editor.statusError("SPIFFS Not Defined for "+Base.getBoardPreferences().get("name"));
118+
editor.statusError("SPIFFS Not Defined for "+BaseNoGui.getBoardPreferences().get("name"));
118119
return;
119120
}
120121
long spiStart, spiEnd, spiPage, spiBlock;
@@ -129,18 +130,21 @@ private void createAndUpload(){
129130
editor.statusError(e);
130131
return;
131132
}
132-
133-
TargetPlatform platform = Base.getTargetPlatform();
134-
133+
134+
TargetPlatform platform = BaseNoGui.getTargetPlatform();
135+
136+
String esptoolCmd = platform.getTool("esptool").get("cmd");
135137
File esptool;
136-
if(!PreferencesData.get("runtime.os").contentEquals("windows")) esptool = new File(platform.getFolder()+"/tools", "esptool");
137-
else esptool = new File(platform.getFolder()+"/tools", "esptool.exe");
138+
esptool = new File(platform.getFolder()+"/tools", esptoolCmd);
138139
if(!esptool.exists()){
139-
System.err.println();
140-
editor.statusError("SPIFFS Error: esptool not found!");
141-
return;
140+
esptool = new File(PreferencesData.get("runtime.tools.esptool.path"), esptoolCmd);
141+
if (!esptool.exists()) {
142+
System.err.println();
143+
editor.statusError("SPIFFS Error: esptool not found!");
144+
return;
145+
}
142146
}
143-
147+
144148
File tool;
145149
if(!PreferencesData.get("runtime.os").contentEquals("windows")) tool = new File(platform.getFolder()+"/tools", "mkspiffs");
146150
else tool = new File(platform.getFolder()+"/tools", "mkspiffs.exe");
@@ -160,34 +164,34 @@ private void createAndUpload(){
160164
}
161165
}
162166
}
163-
167+
164168
String dataPath = dataFolder.getAbsolutePath();
165169
String toolPath = tool.getAbsolutePath();
166170
String esptoolPath = esptool.getAbsolutePath();
167171
String sketchName = editor.getSketch().getName();
168-
String buildPath = Base.getBuildFolder().getAbsolutePath();
172+
String buildPath = BaseNoGui.getBuildFolder().getAbsolutePath();
169173
String imagePath = buildPath+"/"+sketchName+".spiffs.bin";
170174
String serialPort = PreferencesData.get("serial.port");
171-
String resetMethod = Base.getBoardPreferences().get("upload.resetmethod");
172-
String uploadSpeed = Base.getBoardPreferences().get("upload.speed");
173-
String uploadAddress = Base.getBoardPreferences().get("build.spiffs_start");
174-
175+
String resetMethod = BaseNoGui.getBoardPreferences().get("upload.resetmethod");
176+
String uploadSpeed = BaseNoGui.getBoardPreferences().get("upload.speed");
177+
String uploadAddress = BaseNoGui.getBoardPreferences().get("build.spiffs_start");
178+
175179
Object[] options = { "Yes", "No" };
176180
String title = "SPIFFS Create";
177181
String message = "No files have been found in your data folder!\nAre you sure you want to create an empty SPIFFS image?";
178-
182+
179183
if(fileCount == 0 && JOptionPane.showOptionDialog(editor, message, title, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[1]) != JOptionPane.YES_OPTION){
180184
System.err.println();
181185
editor.statusError("SPIFFS Warning: mkspiffs canceled!");
182186
return;
183187
}
184-
188+
185189
editor.statusNotice("SPIFFS Creating Image...");
186190
System.out.println("[SPIFFS] data : "+dataPath);
187191
System.out.println("[SPIFFS] size : "+((spiEnd - spiStart)/1024));
188192
System.out.println("[SPIFFS] page : "+spiPage);
189193
System.out.println("[SPIFFS] block : "+spiBlock);
190-
194+
191195
try {
192196
if(listenOnProcess(new String[]{toolPath, "-c", dataPath, "-p", spiPage+"", "-b", spiBlock+"", "-s", (spiEnd - spiStart)+"", imagePath}) != 0){
193197
System.err.println();
@@ -199,18 +203,18 @@ private void createAndUpload(){
199203
editor.statusError("SPIFFS Create Failed!");
200204
return;
201205
}
202-
206+
203207
editor.statusNotice("SPIFFS Uploading Image...");
204208
System.out.println("[SPIFFS] upload : "+imagePath);
205209
System.out.println("[SPIFFS] reset : "+resetMethod);
206210
System.out.println("[SPIFFS] port : "+serialPort);
207211
System.out.println("[SPIFFS] speed : "+uploadSpeed);
208212
System.out.println("[SPIFFS] address: "+uploadAddress);
209213
System.out.println();
210-
214+
211215
sysExec(new String[]{esptoolPath, "-cd", resetMethod, "-cb", uploadSpeed, "-cp", serialPort, "-ca", uploadAddress, "-cf", imagePath});
212216
}
213-
217+
214218
public void run() {
215219
createAndUpload();
216220
}

0 commit comments

Comments
 (0)