初始化提交

This commit is contained in:
王立帮
2024-07-19 10:16:00 +08:00
parent 4c7b571f20
commit 4a2d56dcc4
7084 changed files with 741212 additions and 63 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,14 @@
export default {
littlefs: {
download: "{{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} read_flash {{&offset}} {{&size}} {{&img}} && {{&fsTool}} -u {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}}",
upload: "{{&fsTool}} -c {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}} && {{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} write_flash --flash_mode {{&flashMode}} --flash_freq {{&flashFreq}} --flash_size {{&flashSize}} {{&offset}} {{&img}}"
},
spiffs: {
download: "{{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} read_flash {{&offset}} {{&size}} {{&img}} && {{&fsTool}} -u {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}}",
upload: "{{&fsTool}} -c {{&usrFolder}} -b {{&blockSize}} -p {{&pageSize}} -s {{&size}} {{&img}} && {{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} write_flash --flash_mode {{&flashMode}} --flash_freq {{&flashFreq}} --flash_size {{&flashSize}} {{&offset}} {{&img}}"
},
fatfs: {
download: "{{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} read_flash {{&offset}} {{&size}} {{&img}} && {{&fsTool}} -u {{&usrFolder}} -t fatfs -s {{&size}} {{&img}}",
upload: "{{&fsTool}} -c {{&usrFolder}} -t fatfs -s {{&size}} {{&img}} && {{&esptool}} --chip esp8266 --port {{&port}} --baud {{&baud}} write_flash --flash_mode {{&flashMode}} --flash_freq {{&flashFreq}} --flash_size {{&flashSize}} {{&offset}} {{&img}}"
}
};

View File

@@ -0,0 +1,80 @@
import { Env, Boards, FSBoardHandler } from 'mixly';
import * as path from 'path';
import COMMANDS from './commands';
import BOARDS_EESZ_INFO from './boards-eesz-info';
import MENU from './menu';
import FS_INFO from './fs-info';
export default class FSArduEsp8266Handler extends FSBoardHandler {
constructor() {
super();
for (let key in COMMANDS) {
this.setFSCommands(key, COMMANDS[key]);
}
}
onBeforeUpload() {
const boardKey = Boards.getSelectedBoardKey();
const flashMode = Boards.getSelectedBoardConfigParam('FlashMode') || 'keep';
let flashFreq = Boards.getSelectedBoardConfigParam('FlashFreq') || 'keep';
if (flashFreq !== 'keep') {
flashFreq += 'm';
}
const baud = Boards.getSelectedBoardConfigParam('baud') || '115200';
const eesz = Boards.getSelectedBoardConfigParam('eesz');
const info = BOARDS_EESZ_INFO[boardKey][eesz];
const partition = {
offset: info.spiffs_start,
size: info.spiffs_end - info.spiffs_start,
blockSize: info.spiffs_blocksize,
pageSize: info.spiffs_pagesize
};
const flashSize = info.flash_size + 'B';
const fsTool = this.getFSToolPath();
const img = path.join(Env.boardDirPath, 'build', 'script.img');
this.updateConfig({
fsTool, img, flashMode, flashFreq, flashSize, baud,
...partition
});
}
onBeforeDownload() {
const boardKey = Boards.getSelectedBoardKey();
const baud = Boards.getSelectedBoardConfigParam('baud') || '115200';
const eesz = Boards.getSelectedBoardConfigParam('eesz');
const info = BOARDS_EESZ_INFO[boardKey][eesz];
const partition = {
offset: info.spiffs_start,
size: info.spiffs_end - info.spiffs_start,
blockSize: info.spiffs_blocksize,
pageSize: info.spiffs_pagesize
};
const fsTool = this.getFSToolPath();
const img = path.join(Env.boardDirPath, 'build', 'script.img');
this.updateConfig({ fsTool, img, baud, ...partition });
}
getFSMenu() {
return MENU;
}
getFSToolPath() {
const fsType = this.getFSType();
let arch = 'x64';
switch (process.arch) {
case 'arm64':
case 'arm':
arch = 'arm';
break;
case 'ia32':
arch = 'x32';
break;
case 'x64':
default:
arch = 'x64';
}
const platform = Env.currentPlatform;
const fsToolInfo = FS_INFO[`mk${fsType}`];
return path.join(Env.boardDirPath, 'build/tools', fsToolInfo[platform][arch]);
}
}

View File

@@ -0,0 +1,34 @@
export default {
"mkspiffs": {
"version": "0.2.3",
"linux": {
"x32": "./mkspiffs/linux/mkspiffs-x32.bin",
"x64": "./mkspiffs/linux/mkspiffs-x64.bin",
"arm": "./mkspiffs/linux/mkspiffs-arm.bin"
},
"darwin": {
"x64": "./mkspiffs/darwin/mkspiffs.bin",
"arm": "./mkspiffs/darwin/mkspiffs.bin"
},
"win32": {
"x32": "./mkspiffs/win32/mkspiffs.exe",
"x64": "./mkspiffs/win32/mkspiffs.exe"
}
},
"mklittlefs": {
"version": "3.2.0",
"linux": {
"x32": "./mklittlefs/linux/mklittlefs-x64.bin",
"x64": "./mklittlefs/linux/mklittlefs-x64.bin",
"arm": "./mklittlefs/linux/mklittlefs-arm.bin"
},
"darwin": {
"x64": "./mklittlefs/darwin/mklittlefs.bin",
"arm": "./mklittlefs/darwin/mklittlefs.bin"
},
"win32": {
"x32": "./mklittlefs/win32/mklittlefs-x32.exe",
"x64": "./mklittlefs/win32/mklittlefs-x64.exe"
}
}
};

View File

@@ -0,0 +1,29 @@
import { Workspace, ContextMenu } from 'mixly';
import FSArduEsp8266Handler from './fs-board-handler';
import { Msg } from 'blockly/core';
export default function addBoardFSItem () {
const mainWorkspace = Workspace.getMain();
const statusBarsManager = mainWorkspace.getStatusBarsManager();
const dropdownMenu = statusBarsManager.getDropdownMenu();
const menu = dropdownMenu.getItem('menu');
menu.add({
weight: 2,
type: 'sep1',
data: '---------'
});
menu.add({
weight: 3,
type: 'filesystem-tool',
data: {
isHtmlName: true,
name: ContextMenu.getItem(Msg.BOARD_FS, ''),
callback: () => {
statusBarsManager.add('board-fs', 'board-fs', Msg.BOARD_FS, Msg.BOARD_FS);
statusBarsManager.changeTo('board-fs');
const fsStatusBar = statusBarsManager.getStatusBarById('board-fs');
fsStatusBar.setHandler(new FSArduEsp8266Handler());
}
}
});
}

View File

@@ -0,0 +1,9 @@
export default [
{
id: 'littlefs',
text: 'littlefs'
}, {
id: 'spiffs',
text: 'spiffs'
}
];