feat: sync arduino source board configurations
This commit is contained in:
223
mixly/boards/default_src/arduino/blocks/ethernet.js
Normal file
223
mixly/boards/default_src/arduino/blocks/ethernet.js
Normal file
@@ -0,0 +1,223 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
import CITYS_DATA from '../templates/json/cities.json';
|
||||
|
||||
const ETHERNET_HUE = 0;
|
||||
const WEATHER_HUE = '#27b6ac';
|
||||
|
||||
|
||||
/**
|
||||
* @name 模块名 Http GET请求
|
||||
* @support 支持板卡 {ESP8266, ESP32, ESP32C3, ESP32S2, ESP32S3}
|
||||
*/
|
||||
export const http_get = {
|
||||
init: function () {
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_ETHERNET_CLINET_GET_REQUEST);
|
||||
this.appendValueInput("api")
|
||||
.setCheck(null)
|
||||
.appendField(Blockly.Msg.blynk_SERVER_ADD);
|
||||
this.appendStatementInput("success")
|
||||
.setCheck(null)
|
||||
.appendField(Blockly.Msg.MIXLY_SUCCESS);
|
||||
this.appendStatementInput("failure")
|
||||
.setCheck(null)
|
||||
.appendField(Blockly.Msg.MIXLY_FAILED);
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
this.setColour(ETHERNET_HUE);
|
||||
this.setTooltip("");
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* @name 模块名 Http PATCH|POST|PUT请求
|
||||
* @support 支持板卡 {ESP8266, ESP32, ESP32C3, ESP32S2, ESP32S3}
|
||||
*/
|
||||
export const http_post = {
|
||||
init: function () {
|
||||
this.appendDummyInput()
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
["POST", "POST"],
|
||||
["PATCH", "PATCH"],
|
||||
["PUT", "PUT"]
|
||||
]), "TYPE")
|
||||
.appendField(Blockly.Msg.blockpy_REQUESTS);
|
||||
this.appendValueInput("api")
|
||||
.setCheck(null)
|
||||
.appendField(Blockly.Msg.blynk_SERVER_ADD);
|
||||
this.appendValueInput("data")
|
||||
.setCheck(null)
|
||||
.appendField(Blockly.Msg.MIXLY_SD_DATA);
|
||||
this.appendStatementInput("success")
|
||||
.setCheck(null)
|
||||
.appendField(Blockly.Msg.MIXLY_SUCCESS);
|
||||
this.appendStatementInput("failure")
|
||||
.setCheck(null)
|
||||
.appendField(Blockly.Msg.MIXLY_FAILED);
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
this.setColour(ETHERNET_HUE);
|
||||
this.setTooltip("");
|
||||
}
|
||||
};
|
||||
|
||||
var PROVINCES = [], key;
|
||||
for (key in CITYS_DATA)
|
||||
PROVINCES.push([key, key]);
|
||||
|
||||
|
||||
function getCitysByProvince(a) {
|
||||
var b = [], c;
|
||||
for (c in CITYS_DATA[a])
|
||||
b.push([c, c]);
|
||||
return b;
|
||||
}
|
||||
|
||||
var citysByProvince = {};
|
||||
for (key of PROVINCES) {
|
||||
citysByProvince[key[0]] = getCitysByProvince(key[0]);
|
||||
}
|
||||
|
||||
export const china_city = {
|
||||
init: function () {
|
||||
const defaultOptions = [["-", "-"]];
|
||||
this.appendDummyInput()
|
||||
.appendField(new Blockly.FieldDropdown(PROVINCES), "province")
|
||||
.appendField(new Blockly.FieldDependentDropdown("province", citysByProvince, defaultOptions), "city");
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true, null);
|
||||
this.setColour(WEATHER_HUE);
|
||||
this.setHelpUrl("");
|
||||
this.preProvince = null;
|
||||
}
|
||||
};
|
||||
|
||||
export const weather_private_key = {
|
||||
init: function () {
|
||||
this.setColour(WEATHER_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown([['S9l2sb_ZK-UsWaynG', 'S9l2sb_ZK-UsWaynG'], ['SpRpSYb7QOMT0M8Tz', 'SpRpSYb7QOMT0M8Tz'], ['SboqGMxP4tYNXUN8f', 'SboqGMxP4tYNXUN8f'], ['SJiRrYGYFkGnfi081', 'SJiRrYGYFkGnfi081'], ['SMhSshUxuTL0GLVLS', 'SMhSshUxuTL0GLVLS']]), 'key');
|
||||
this.setOutput(true, null);
|
||||
}
|
||||
};
|
||||
|
||||
export const weather_seniverse_city_weather = {
|
||||
init: function () {
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MSG.catweather)
|
||||
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_LIVE_WEATHER, "weather/now"], [Blockly.Msg.MIXLY_3_DAY_WEATHER_FORECAST, "weather/daily"], [Blockly.Msg.MIXLY_6_LIFE_INDEXES, "life/suggestion"]]), "api")
|
||||
.appendField(Blockly.Msg.MIXLY_INFORMATION_CONFIGURATION);
|
||||
this.appendValueInput("location")
|
||||
.setCheck(null)
|
||||
.appendField(Blockly.Msg.MIXLY_GEOGRAPHIC_LOCATION);
|
||||
this.appendValueInput("private_key")
|
||||
.setCheck(null)
|
||||
.appendField(Blockly.Msg.MIXLY_API_PRIVATE_KEY);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_LANGUAGE)
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
["简体中文", "zh-Hans"],
|
||||
["繁體中文", "zh-Hant"],
|
||||
["English", "en"]
|
||||
]), "language");
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_TEMPERATURE_UNIT)
|
||||
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_CELSIUS + "(℃)", "c"], [Blockly.Msg.MIXLY_FAHRENHEIT + "(℉)", "f"]]), "unit");
|
||||
this.setInputsInline(false);
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
this.setColour(WEATHER_HUE);
|
||||
this.setTooltip("这里的API私钥免费体验有次数限制\n访问频率限制20次/分钟");
|
||||
this.setHelpUrl("");
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
export const weather_get_seniverse_weather_info = {
|
||||
init: function () {
|
||||
this.appendDummyInput("")
|
||||
//.appendField("心知天气")
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.MIXLY_LIVE_WEATHER, "weather/now"],
|
||||
[Blockly.Msg.MIXLY_3_DAY_WEATHER_FORECAST, "weather/daily"],
|
||||
[Blockly.Msg.MIXLY_6_LIFE_INDEXES, "life/suggestion"]
|
||||
]), "api")
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.MIXLY_AVAILABLE, "update"],
|
||||
[Blockly.Msg.MIXLY_GET_DATA_UPDATE_TIME, "getLastUpdate"],
|
||||
[Blockly.Msg.MIXLY_GET_SERVER_RESPONSE_STATUS_CODE, "getServerCode"]
|
||||
]), "type");
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true, null);
|
||||
this.setColour(WEATHER_HUE);
|
||||
this.setTooltip("");
|
||||
this.setHelpUrl("");
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
export const weather_get_seniverse_weather_info1 = {
|
||||
init: function () {
|
||||
this.appendDummyInput("")
|
||||
//.appendField("心知天气")
|
||||
.appendField(Blockly.Msg.MIXLY_LIVE_WEATHER)
|
||||
.appendField(Blockly.Msg.MIXLY_GET)
|
||||
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_WEATHER_PHENOMENON, "getWeatherText"], [Blockly.Msg.MIXLY_WEATHER_PHENOMENON_CODE, "getWeatherCode"], [Blockly.Msg.MIXLY_TEMPERATURE, "getDegree"]]), "type");
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true, null);
|
||||
this.setColour(WEATHER_HUE);
|
||||
this.setTooltip("");
|
||||
this.setHelpUrl("");
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
export const weather_get_seniverse_weather_info2 = {
|
||||
init: function () {
|
||||
this.appendDummyInput("")
|
||||
//.appendField("心知天气")
|
||||
.appendField(Blockly.Msg.MIXLY_3_DAY_WEATHER_FORECAST)
|
||||
.appendField(Blockly.Msg.MIXLY_GET)
|
||||
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_TODAY, "0"], [Blockly.Msg.MIXLY_TOMORROW, "1"], [Blockly.Msg.MIXLY_DAY_AFTER_TOMORROW, "2"]]), "date")
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.ForecastHigh, "getHigh"],
|
||||
[Blockly.Msg.ForecastLow, "getLow"],
|
||||
[Blockly.Msg.MIXLY_DAYTIME_WEATHER_PHENOMENON, "getDayText"],
|
||||
[Blockly.Msg.MIXLY_DAYTIME_WEATHER_PHENOMENON_CODE, "getDayCode"],
|
||||
[Blockly.Msg.MIXLY_EVENING_WEATHER_PHENOMENON, "getNightText"],
|
||||
[Blockly.Msg.MIXLY_EVENING_WEATHER_PHENOMENON_CODE, "getNightCode"],
|
||||
[Blockly.Msg.MIXLY_PROBABILITY_OF_PRECIPITATION, "getRain"],
|
||||
[Blockly.Msg.ForecastFx, "getWindDirection"],
|
||||
[Blockly.Msg.MIXLY_WIND_SPEED, "getWindSpeed"],
|
||||
[Blockly.Msg.MIXLY_WIND_RATING, "getWindScale"],
|
||||
[Blockly.Msg.MIXLY_Humidity, "getHumidity"]
|
||||
]), "type");
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true, null);
|
||||
this.setColour(WEATHER_HUE);
|
||||
this.setTooltip("");
|
||||
this.setHelpUrl("");
|
||||
}
|
||||
};
|
||||
|
||||
export const weather_get_seniverse_weather_info3 = {
|
||||
init: function () {
|
||||
this.appendDummyInput("")
|
||||
//.appendField("心知天气")
|
||||
.appendField(Blockly.Msg.MIXLY_6_LIFE_INDEXES)
|
||||
.appendField(Blockly.Msg.MIXLY_GET)
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.MIXLY_CAR_WASH_INDEX, "getCarWash"],
|
||||
[Blockly.Msg.MIXLY_DRESSING_INDEX, "getDressing"],
|
||||
[Blockly.Msg.MIXLY_COLD_INDEX, "getFactorFlu"],
|
||||
[Blockly.Msg.MIXLY_MOVEMENT_INDEX, "getExercise"],
|
||||
[Blockly.Msg.MIXLY_TOURISM_INDEX, "getTravel"],
|
||||
[Blockly.Msg.MIXLY_UV_INDEX, "getUV"]]
|
||||
), "type");
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true, null);
|
||||
this.setColour(WEATHER_HUE);
|
||||
this.setTooltip("");
|
||||
this.setHelpUrl("");
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user