修改 mixgo_sant
This commit is contained in:
@@ -951,7 +951,7 @@ export const set_power_output = {
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.LISTS_SET_INDEX_SET + Blockly.Msg.ME_GO_MOTOR_EXTERN)
|
||||
.appendField(Blockly.Msg.PIN_NUMBERING)
|
||||
.appendField(new Blockly.FieldDropdown([["1", "1"], ["2", "2"]]), "index");
|
||||
.appendField(new Blockly.FieldDropdown([["1", "1"], ["2", "2"], ["3", "3"]]), "index");
|
||||
this.appendValueInput('duty')
|
||||
.setCheck(Number)
|
||||
.setAlign(Blockly.inputs.Align.RIGHT)
|
||||
|
||||
@@ -389,6 +389,25 @@ export const radar_set_DETECTION_THRESHOLD = {
|
||||
}
|
||||
};
|
||||
|
||||
export const radar_set_DETECTION_THRESHOLD_SANT = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_RADAR+'CBR817')
|
||||
.appendField(Blockly.Msg.LISTS_SET_INDEX_SET + Blockly.Msg.MIXlY_INTERACTION)
|
||||
this.appendValueInput('VAR')
|
||||
.appendField(Blockly.Msg.MIXLY_DETECTION_THRESHOLD);
|
||||
this.appendValueInput('VAR2')
|
||||
.appendField(Blockly.Msg.MIXLY_DELAY_TIME);
|
||||
this.appendDummyInput()
|
||||
.appendField('ms');
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setInputsInline(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_THRESHOLD_TOOLTIP+' ; '+Blockly.Msg.MIXLY_DELAY_TIME_RANGE)
|
||||
}
|
||||
};
|
||||
|
||||
export const interaction_whether_to_interaction = {
|
||||
init:function(){
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
@@ -402,6 +421,17 @@ export const interaction_whether_to_interaction = {
|
||||
}
|
||||
};
|
||||
|
||||
export const interaction_whether_to_interaction_SANT = {
|
||||
init:function(){
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_RADAR+'CBR817')
|
||||
.appendField(Blockly.Msg.MIXLY_GET_TO_INTERACTION)
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const CI130X_IDENTIFY_AND_SAVE = {
|
||||
init:function(){
|
||||
this.setColour(SENSOR_EXTERN_HUE);
|
||||
|
||||
@@ -400,22 +400,21 @@ export const sensor_mixgo_pin_near = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_GET)
|
||||
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.mixpy_PL_TEXT_TOP, "l"], [Blockly.Msg.mixpy_PL_TEXT_BOTTOM, "r"]]), "direction")
|
||||
.appendField(Blockly.Msg.MIXLY_ESP32_NEAR);
|
||||
.appendField(Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + Blockly.Msg.MIXLY_ESP32_NEAR);
|
||||
// .appendField(new Blockly.FieldDropdown([[Blockly.Msg.mixpy_PL_TEXT_TOP, "l"], [Blockly.Msg.mixpy_PL_TEXT_BOTTOM, "r"]]), "direction")
|
||||
this.setOutput(true, Number);
|
||||
this.setInputsInline(true);
|
||||
var thisBlock = this;
|
||||
this.setTooltip(function () {
|
||||
var mode = thisBlock.getFieldValue('direction');
|
||||
var mode0 = Blockly.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP;
|
||||
var mode1 = Blockly.Msg.MIXLY_ESP32_NEAR;
|
||||
var TOOLTIPS = {
|
||||
'l': Blockly.Msg.mixpy_PL_TEXT_TOP,
|
||||
'r': Blockly.Msg.mixpy_PL_TEXT_BOTTOM,
|
||||
};
|
||||
return mode0 + TOOLTIPS[mode] + mode1
|
||||
});
|
||||
// var thisBlock = this;
|
||||
// this.setTooltip(function () {
|
||||
// var mode = thisBlock.getFieldValue('direction');
|
||||
// var mode0 = Blockly.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP;
|
||||
// var mode1 = Blockly.Msg.MIXLY_ESP32_NEAR;
|
||||
// var TOOLTIPS = {
|
||||
// 'l': Blockly.Msg.mixpy_PL_TEXT_TOP,
|
||||
// 'r': Blockly.Msg.mixpy_PL_TEXT_BOTTOM,
|
||||
// };
|
||||
// return mode0 + TOOLTIPS[mode] + mode1
|
||||
// });
|
||||
}
|
||||
};
|
||||
|
||||
@@ -470,22 +469,20 @@ export const sensor_mixgo_LTR308 = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_GET)
|
||||
.appendField(new Blockly.FieldDropdown([[Blockly.Msg.mixpy_PL_TEXT_TOP, "l"], [Blockly.Msg.mixpy_PL_TEXT_BOTTOM, "r"]]), "direction")
|
||||
.appendField(Blockly.Msg.MIXLY_ESP32_EXTERN_LIGHT + Blockly.Msg.MIXLY_DATA);
|
||||
// .appendField(new Blockly.FieldDropdown([[Blockly.Msg.mixpy_PL_TEXT_TOP, "l"], [Blockly.Msg.mixpy_PL_TEXT_BOTTOM, "r"]]), "direction")
|
||||
.appendField(Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + Blockly.Msg.MIXLY_ESP32_EXTERN_LIGHT + Blockly.Msg.MIXLY_DATA);
|
||||
this.setOutput(true, Number);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const sensor_mixgo_sant_color = {
|
||||
init: function () {
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_GET + Blockly.Msg.MIXLY_COLOR_SENSOR + Blockly.Msg.MIXLY_DATA);
|
||||
this.setOutput(true, Number);
|
||||
this.setInputsInline(true);
|
||||
var thisBlock = this;
|
||||
this.setTooltip(function () {
|
||||
var mode = thisBlock.getFieldValue('direction');
|
||||
var mode0 = Blockly.Msg.MIXLY_ESP32_SENSOR_MIXGO_PIN_NEAR_TOOLTIP;
|
||||
var mode1 = Blockly.Msg.MIXLY_ESP32_EXTERN_LIGHT;
|
||||
var TOOLTIPS = {
|
||||
'l': Blockly.Msg.mixpy_PL_TEXT_TOP,
|
||||
'r': Blockly.Msg.mixpy_PL_TEXT_BOTTOM,
|
||||
};
|
||||
return mode0 + TOOLTIPS[mode] + mode1
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1513,3 +1510,218 @@ export const educore_rfid_sensor_scan_data = {
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const CI130X_IDENTIFY_AND_SAVE_SANT = {
|
||||
init:function(){
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_AipSpeech_asr + Blockly.Msg.MIXLY_IDENTIFY_ONCE_AND_SAVE)
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const CI130X_GET_WHETHER_IDENTIFY_SANT = {
|
||||
init:function(){
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_AipSpeech_asr + Blockly.Msg.MIXLY_GET)
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.MIXLY_HELLO_XIAOZHI,"1"],
|
||||
[Blockly.Msg.MIXLY_XIAOZHIXIAOZHI ,"2"],
|
||||
[Blockly.Msg.MIXLY_THE_FIRST ,"3"],
|
||||
[Blockly.Msg.MIXLY_THE_SECOND ,"4"],
|
||||
[Blockly.Msg.MIXLY_THE_THIRD ,"5"],
|
||||
[Blockly.Msg.MIXLY_THE_FOURTH ,"6"],
|
||||
[Blockly.Msg.MIXLY_THE_FIFTH ,"7"],
|
||||
[Blockly.Msg.MIXLY_THE_SIXTH ,"8"],
|
||||
[Blockly.Msg.MIXLY_THE_SEVENTH ,"9"],
|
||||
[Blockly.Msg.MIXLY_THE_EIGHTH ,"10"],
|
||||
[Blockly.Msg.MIXLY_THE_NINTH ,"11"],
|
||||
[Blockly.Msg.MIXLY_THE_TENTH ,"12"],
|
||||
[Blockly.Msg.MIXLY_THE_ELEVENTH ,"13"],
|
||||
[Blockly.Msg.MIXLY_THE_TWELFTH ,"14"],
|
||||
[Blockly.Msg.MIXLY_THE_13TH ,"15"],
|
||||
[Blockly.Msg.MIXLY_THE_14TH ,"16"],
|
||||
[Blockly.Msg.MIXLY_THE_15TH ,"17"],
|
||||
[Blockly.Msg.MIXLY_THE_16TH ,"18"],
|
||||
[Blockly.Msg.MIXLY_THE_17TH ,"19"],
|
||||
[Blockly.Msg.MIXLY_THE_18TH ,"20"],
|
||||
[Blockly.Msg.MIXLY_THE_19TH ,"21"],
|
||||
[Blockly.Msg.MIXLY_THE_20TH ,"22"],
|
||||
[Blockly.Msg.MIXLY_Turn_on_the_lights ,"23"],
|
||||
[Blockly.Msg.MIXLY_Turn_off_the_lights ,"24"],
|
||||
[Blockly.Msg.MIXLY_Turn_up_the_brightness ,"25"],
|
||||
[Blockly.Msg.MIXLY_Turn_down_the_brightness ,"26"],
|
||||
[Blockly.Msg.MIXLY_Set_it_to_red ,"27"],
|
||||
[Blockly.Msg.MIXLY_Set_it_to_orange ,"28"],
|
||||
[Blockly.Msg.MIXLY_Set_it_to_yellow ,"29"],
|
||||
[Blockly.Msg.MIXLY_Set_it_to_green ,"30"],
|
||||
[Blockly.Msg.MIXLY_Set_it_to_cyan ,"31"],
|
||||
[Blockly.Msg.MIXLY_Set_it_to_blue ,"32"],
|
||||
[Blockly.Msg.MIXLY_Set_it_to_purple ,"33"],
|
||||
[Blockly.Msg.MIXLY_Set_it_to_white ,"34"],
|
||||
[Blockly.Msg.MIXLY_Turn_on_the_fan ,"35"],
|
||||
[Blockly.Msg.MIXLY_Turn_off_the_fan ,"36"],
|
||||
[Blockly.Msg.MIXLY_First_gear ,"37"],
|
||||
[Blockly.Msg.MIXLY_Wind_speed_second ,"38"],
|
||||
[Blockly.Msg.MIXLY_Third_gear ,"39"],
|
||||
[Blockly.Msg.MIXLY_Previous ,"40"],
|
||||
[Blockly.Msg.MIXLY_Next_page ,"41"],
|
||||
[Blockly.Msg.MIXLY_Show_smiley_face ,"42"],
|
||||
[Blockly.Msg.MIXLY_Show_crying_face ,"43"],
|
||||
[Blockly.Msg.MIXLY_Show_love ,"44"],
|
||||
[Blockly.Msg.MIXLY_Close_display ,"45"],
|
||||
[Blockly.Msg.MIXLY_Start_execution ,"46"],
|
||||
[Blockly.Msg.MIXLY_FORWARD ,"47"],
|
||||
[Blockly.Msg.MIXLY_BACKWARD ,"48"],
|
||||
[Blockly.Msg.MIXLY_TURNLEFT ,"49"],
|
||||
[Blockly.Msg.MIXLY_TURNRIGHT ,"50"],
|
||||
[Blockly.Msg.MIXLY_STOP ,"51"],
|
||||
[Blockly.Msg.MIXLY_Accelerate ,"52"],
|
||||
[Blockly.Msg.MIXLY_retard ,"53"],
|
||||
[Blockly.Msg.ROTATION_FORWARD ,"54"],
|
||||
[Blockly.Msg.ROTATION_BACKWARD ,"55"],
|
||||
[Blockly.Msg.MIXLY_Query_temperature ,"56"],
|
||||
[Blockly.Msg.MIXLY_Query_humidity ,"57"],
|
||||
[Blockly.Msg.MIXLY_Query_brightness ,"58"],
|
||||
[Blockly.Msg.MIXLY_Query_sound ,"59"],
|
||||
[Blockly.Msg.MIXLY_Query_time ,"60"],
|
||||
[Blockly.Msg.MIXLY_Query_distance ,"61"],
|
||||
[Blockly.Msg.MIXLY_Query_pressure ,"62"],
|
||||
[Blockly.Msg.MIXLY_Query_key ,"63"],
|
||||
[Blockly.Msg.MIXLY_Query_touch ,"64"],
|
||||
[Blockly.Msg.MIXLY_Query_color ,"65"]
|
||||
]),"cmd")
|
||||
.appendField(Blockly.Msg.MIXLY_WHETHER+Blockly.Msg.MIXLY_BE_IDENTIFIED);
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const CI130X_GET_THE_RECOGNIZED_CMD_SANT = {
|
||||
init:function(){
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_AipSpeech_asr + Blockly.Msg.MIXLY_GET)
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.MIXLY_RECOGNIZED_STATE,"status1"],
|
||||
[Blockly.Msg.MIXLY_WHETHER_BROADCAST,"status2"],
|
||||
[Blockly.Msg.MIXLY_THE_RECOGNIZED_CMD,"result"]
|
||||
]),"key")
|
||||
this.setOutput(true);
|
||||
this.setInputsInline(true);
|
||||
this.setTooltip(Blockly.Msg.MIXLY_CI130X_GET_THE_RECOGNIZED_STATE_TOOLTIP);
|
||||
}
|
||||
};
|
||||
|
||||
export const CI130X_BROADCAST_SANT = {
|
||||
init:function(){
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_AipSpeech_asr + Blockly.Msg.MIXLY_MP3_PLAY)
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],
|
||||
[Blockly.Msg.MIXLY_WIND_SPEED,"154"],
|
||||
[Blockly.Msg.MIXLY_HYETAL,"155"],
|
||||
[Blockly.Msg.MIXLY_TEMPERATURE,"156"],
|
||||
[Blockly.Msg.MIXLY_Humidity,"157"],
|
||||
[Blockly.Msg.MIXLY_Altitude, "158"],
|
||||
[Blockly.Msg.MIXLY_SOUND, "159"],
|
||||
[Blockly.Msg.MIXLY_BRIGHTNESS, "160"],
|
||||
[Blockly.Msg.ME_GO_HALL_SENSOR_DISTANCE,"161"],
|
||||
[Blockly.Msg.MIXLY_SERVO,"162"],
|
||||
[Blockly.Msg.MIXLY_MICROBIT_JS_BY_ANGLE,"163"],
|
||||
[Blockly.Msg.MIXLY_BUTTON2,"164"],
|
||||
[Blockly.Msg.MIXLY_ESP32_TOUCH,"165"],
|
||||
[Blockly.Msg.MIXLY_PAY,"166"],
|
||||
[Blockly.Msg.MIXLY_CARSH_CHANGE,"167"],
|
||||
[Blockly.Msg.MIXLY_COUNTDOWN,"168"],
|
||||
[Blockly.Msg.MIXLY_TIMING,"169"],
|
||||
[Blockly.Msg.MIXLY_AT_THE_MOMENT,"170"],
|
||||
[Blockly.Msg.MIXLY_MICROBIT_JS_CURRENT_GESTURE,"171"],
|
||||
[Blockly.Msg.MIXLY_FORWARD ,"172"],
|
||||
[Blockly.Msg.MIXLY_BACKWARD ,"173"],
|
||||
[Blockly.Msg.MIXLY_TURNLEFT ,"174"],
|
||||
[Blockly.Msg.MIXLY_TURNRIGHT ,"175"],
|
||||
[Blockly.Msg.MIXLY_STOP ,"176"],
|
||||
[Blockly.Msg.MIXLY_Accelerate ,"177"],
|
||||
[Blockly.Msg.MIXLY_retard ,"178"],
|
||||
[Blockly.Msg.ROTATION_FORWARD ,"179"],
|
||||
[Blockly.Msg.ROTATION_BACKWARD ,"180"],
|
||||
[Blockly.Msg.TUPLE_JOIN,"181"],
|
||||
[Blockly.Msg.MIXLY_SHOW,"182"],
|
||||
[Blockly.Msg.MIXLY_LAMPLIGHT,"183"],
|
||||
[Blockly.Msg.MIXLY_ACCELERATION,"184"]
|
||||
]),"star");
|
||||
this.appendValueInput('NUM')
|
||||
.appendField(Blockly.Msg.MIXLY_NUMBER);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_UNIT)
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.MIXLY_MICROBIT_JS_INOUT_PULL_NONE,"None"],
|
||||
[Blockly.Msg.MIXLY_YEAR,"117"],
|
||||
[Blockly.Msg.MIXLY_MONTH,"118"],
|
||||
[Blockly.Msg.MIXLY_DAY,"119"],
|
||||
[Blockly.Msg.MIXLY_HOUR,"120"],
|
||||
[Blockly.Msg.MIXLY_MINUTE,"121"],
|
||||
[Blockly.Msg.MIXLY_SECOND,"122"],
|
||||
[Blockly.Msg.MIXLY_WEEK2,"123"],
|
||||
[Blockly.Msg.MIXLY_RMB_UNIT,"124"],
|
||||
[Blockly.Msg.blockpy_setheading_degree,"125"],
|
||||
[Blockly.Msg.MIXLY_GEAR,"126"],
|
||||
[Blockly.Msg.MIXLY_LAYER,"127"],
|
||||
[Blockly.Msg.MIXLY_GRAM,"128"],
|
||||
[Blockly.Msg.MIXLY_METER,"129"],
|
||||
[Blockly.Msg.MIXLY_CENTIMETER,"130"],
|
||||
[Blockly.Msg.MIXLY_MILLIMETER,"131"],
|
||||
[Blockly.Msg.MIXLY_LUMEN,"132"],
|
||||
[Blockly.Msg.MIXLY_DECIBEL,"133"],
|
||||
[Blockly.Msg.MIXLY_hectopascal,"134"],
|
||||
[Blockly.Msg.MIXLY_PERCENT,"135"],
|
||||
[Blockly.Msg.MIXLY_CELSIUS,"136"],
|
||||
[Blockly.Msg.MIXLY_METER_PER_SEC,"137"],
|
||||
[Blockly.Msg.MIXLY_MICROBIT_Turn_on_display,"138"],
|
||||
[Blockly.Msg.MIXLY_MICROBIT_Turn_off_display,"139"],
|
||||
[Blockly.Msg.MIXLY_SUCCESS,"140"],
|
||||
[Blockly.Msg.MIXLY_FAILED,"141"],
|
||||
[Blockly.Msg.MIXLY_WRONG,"142"],
|
||||
[Blockly.Msg.MIXLY_GOOD,"143"],
|
||||
[Blockly.Msg.MIXLY_blockpy_set_add,"144"],
|
||||
[Blockly.Msg.MIXLY_DECREASE,"145"],
|
||||
[Blockly.Msg.COLOUR_RGB_RED,"146"],
|
||||
[Blockly.Msg.COLOUR_RGB_ORANGE,"147"],
|
||||
[Blockly.Msg.COLOUR_YELLOW,"148"],
|
||||
[Blockly.Msg.COLOUR_RGB_GREEN,"149"],
|
||||
[Blockly.Msg.COLOUR_CYAN,"150"],
|
||||
[Blockly.Msg.COLOUR_RGB_BLUE,"151"],
|
||||
[Blockly.Msg.COLOUR_RGB_PURPLE,"152"],
|
||||
[Blockly.Msg.COLOUR_RGB_WHITE,"153"]
|
||||
]),"end");
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
}
|
||||
|
||||
export const CI130X_SET_SYSTEM_CMD_SANT = {
|
||||
init:function(){
|
||||
this.setColour(SENSOR_ONBOARD_HUE);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_AipSpeech_asr+Blockly.Msg.LISTS_SET_INDEX_SET + Blockly.Msg.MIXLY_SYSTEM + Blockly.Msg.MIXLY_CMD)
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.MILXY_ENTER_WAKE_UP,"1"],
|
||||
[Blockly.Msg.MIXLY_INCREASE_VOLUME,"202"],
|
||||
[Blockly.Msg.MIXLY_REDUCE_VOLUME,"203"],
|
||||
[Blockly.Msg.MIXLY_MAX_VOLUME,"204"],
|
||||
[Blockly.Msg.MIXLY_MINIMUM,"205"],
|
||||
[Blockly.Msg.MIXLY_OPEN_RESPONSE,"206"],
|
||||
[Blockly.Msg.MIXLY_CLOSE_RESPONSE,"207"],
|
||||
[Blockly.Msg.MIXLY_QUIT_WAKE_UP,"208"]
|
||||
]),"cmd")
|
||||
this.setPreviousStatement(true);
|
||||
this.setNextStatement(true);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
@@ -437,7 +437,7 @@ export const get_power_output = function (_, generator) {
|
||||
}
|
||||
|
||||
export const set_all_power_output = function (_, generator) {
|
||||
var version = generator.getSelectedBoardKey().split(':')[2];
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||
var duty = generator.valueToCode(this, 'duty', generator.ORDER_ATOMIC);
|
||||
generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
|
||||
var code = 'onboard_bot.usben(freq = ' + duty + ')\n';
|
||||
|
||||
@@ -231,6 +231,15 @@ export const radar_set_DETECTION_THRESHOLD = function (_, generator) {
|
||||
return code;
|
||||
}
|
||||
|
||||
export const radar_set_DETECTION_THRESHOLD_SANT = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||
generator.definitions_['import_'+version +'_ext.mmw'] = 'from '+ version +' import ext.mmw';
|
||||
var value = generator.valueToCode(this, 'VAR', generator.ORDER_ATOMIC);
|
||||
var value2 = generator.valueToCode(this, 'VAR2', generator.ORDER_ATOMIC);
|
||||
var code = 'ext.mmw.threshold(' + value +')\n'+ 'ext.mmw.delay_ms(' + value2 +')\n';
|
||||
return code;
|
||||
}
|
||||
|
||||
export const interaction_whether_to_interaction = function(_,generator){
|
||||
generator.definitions_['import_cbr817'] = 'import cbr817';
|
||||
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
|
||||
@@ -238,6 +247,11 @@ export const interaction_whether_to_interaction = function(_,generator){
|
||||
return [code,generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const interaction_whether_to_interaction_SANT = function(_,generator){
|
||||
var code = 'ext.mmw.result()';
|
||||
return [code,generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const CI130X_IDENTIFY_AND_SAVE = function(_,generator){
|
||||
generator.definitions_['import_ci130x'] = 'import ci130x';
|
||||
var sub = generator.valueToCode(this, 'SUB', generator.ORDER_ATOMIC);
|
||||
|
||||
@@ -131,6 +131,13 @@ export const sensor_mixgo_pin_near_double = function (_, generator) {
|
||||
}
|
||||
|
||||
export const sensor_mixgo_pin_near = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
generator.definitions_['import_' + version + '_onboard_als'] = 'from ' + version + ' import onboard_als';
|
||||
var code = 'onboard_als.ps()';
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const sensor_mixgo_nova_pin_near = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
var direction = this.getFieldValue('direction');
|
||||
generator.definitions_['import_' + version + '_' + direction] = 'from ' + version + ' import onboard_als_' + direction;
|
||||
@@ -138,18 +145,27 @@ export const sensor_mixgo_pin_near = function (_, generator) {
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const sensor_mixgo_nova_pin_near = sensor_mixgo_pin_near;
|
||||
|
||||
export const sensor_mixgo_LTR308 = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
generator.definitions_['import_' + version + '_onboard_als'] = 'from ' + version + ' import onboard_als';
|
||||
var code = 'onboard_als.als()';
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const sensor_mixgo_sant_color = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
generator.definitions_['import_' + version + '_onboard_als'] = 'from ' + version + ' import onboard_als';
|
||||
var code = 'onboard_als.coclor()';
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const sensor_mixgo_nova_LTR308 = function (_, generator) {
|
||||
var direction = this.getFieldValue('direction');
|
||||
generator.definitions_['import_' + version + '_' + direction] = 'from ' + version + ' import onboard_als_' + direction;
|
||||
var code = 'onboard_als_' + direction + '.als_vis()';
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const sensor_mixgo_nova_LTR308 = sensor_mixgo_LTR308;
|
||||
|
||||
export const sensor_ds18x20 = function (_, generator) {
|
||||
generator.definitions_['import_ds18x20x'] = 'import ds18x20x';
|
||||
var dropdown_pin = generator.valueToCode(this, 'PIN', generator.ORDER_ATOMIC);
|
||||
@@ -342,10 +358,10 @@ export const sensor_mpu9250_get_acceleration = function (_, generator) {
|
||||
export const sensor_mixgoce_pin_pressed = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
var pin = generator.valueToCode(this, 'button', generator.ORDER_ATOMIC);
|
||||
if (version == 'mixgo_mini') {
|
||||
if ( 'mixgo_mini'|| version == 'mixgo_sant') {
|
||||
generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
|
||||
var code = 'onboard_bot.touched(' + pin + ')';
|
||||
} else {
|
||||
}else {
|
||||
generator.definitions_['import_' + version] = 'import ' + version;
|
||||
var code = version + '.touched(' + pin + ')';
|
||||
}
|
||||
@@ -354,7 +370,7 @@ export const sensor_mixgoce_pin_pressed = function (_, generator) {
|
||||
|
||||
export const sensor_mixgo_touch_slide = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
if (version == 'mixgo_mini') {
|
||||
if (version == 'mixgo_mini'|| version == 'mixgo_sant') {
|
||||
generator.definitions_['import_' + version + '_onboard_bot'] = 'from ' + version + ' import onboard_bot';
|
||||
var code = 'onboard_bot.touch_slide()';
|
||||
} else {
|
||||
@@ -854,3 +870,50 @@ export const educore_rfid_sensor_scan_data = function (_, generator) {
|
||||
var code = sub+'.'+key+'()';
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const CI130X_IDENTIFY_AND_SAVE_SANT = function(_,generator){
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr';
|
||||
var code = 'onboard_asr.cmd_id()\n';
|
||||
return code;
|
||||
}
|
||||
|
||||
export const CI130X_GET_WHETHER_IDENTIFY_SANT = function(_,generator){
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr';
|
||||
var cmd = this.getFieldValue('cmd');
|
||||
var code = 'onboard_asr.result('+cmd+')';
|
||||
return [code,generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const CI130X_GET_THE_RECOGNIZED_CMD_SANT = function(_,generator){
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr';
|
||||
var key = this.getFieldValue('key');
|
||||
if(key == 'status1'){
|
||||
var code = 'onboard_asr.status()[0]';
|
||||
}else if(key == 'status2'){
|
||||
var code = 'onboard_asr.status()[1]';
|
||||
}else{
|
||||
var code = 'onboard_asr.'+key +'()';
|
||||
}
|
||||
return [code,generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const CI130X_BROADCAST_SANT = function(_,generator){
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr';
|
||||
var num = generator.valueToCode(this, 'NUM', generator.ORDER_ATOMIC);
|
||||
var star = this.getFieldValue('star');
|
||||
var end = this.getFieldValue('end');
|
||||
var code = 'onboard_asr.play('+star+','+num+','+end+')\n';
|
||||
return code;
|
||||
}
|
||||
|
||||
export const CI130X_SET_SYSTEM_CMD_SANT = function(_,generator){
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
generator.definitions_['import_' + version + '_onboard_asr'] = 'from ' + version + ' import onboard_asr';
|
||||
var cmd = this.getFieldValue('cmd');
|
||||
var code = 'onboard_asr.sys_cmd('+cmd+')\n';
|
||||
return code;
|
||||
}
|
||||
BIN
boards/default_src/micropython_educore/origin/media/educore.png
Normal file
BIN
boards/default_src/micropython_educore/origin/media/educore.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 126 KiB |
@@ -1728,7 +1728,8 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="analog_keyboard_str" m-show="micropython:esp32c2:mixgo_mini">; <value name="str">
|
||||
<block type="analog_keyboard_str" m-show="micropython:esp32c2:mixgo_mini">
|
||||
<value name="str">
|
||||
<shadow type="text">
|
||||
<field name="TEXT">Hello, Mixly!</field>
|
||||
</shadow>
|
||||
|
||||
149
boards/default_src/micropython_esp32s3/blocks/sant_g2.js
Normal file
149
boards/default_src/micropython_esp32s3/blocks/sant_g2.js
Normal file
@@ -0,0 +1,149 @@
|
||||
import * as Blockly from 'blockly/core';
|
||||
import { Boards } from 'mixly';
|
||||
|
||||
const MEG1_HUE = 40;
|
||||
|
||||
// export const mini_g2_aht11 = {
|
||||
// init: function () {
|
||||
// var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
// if (version == "mixgo_me") { var name = 'ME G1' }
|
||||
// this.setColour(MEG1_HUE);
|
||||
// this.appendDummyInput("")
|
||||
// .appendField(name)
|
||||
// .appendField(Blockly.Msg.MIXLY_TEM_HUM + " AHT21")
|
||||
// .appendField(new Blockly.FieldDropdown([
|
||||
// [Blockly.Msg.MIXLY_GETTEMPERATUE, "temperature"],
|
||||
// [Blockly.Msg.MIXLY_GETHUMIDITY, "humidity"]
|
||||
// ]), "key");
|
||||
// this.setOutput(true, Number);
|
||||
// this.setInputsInline(true);
|
||||
// var thisBlock = this;
|
||||
// this.setTooltip(function () {
|
||||
// var mode = thisBlock.getFieldValue('key');
|
||||
// var TOOLTIPS = {
|
||||
// "temperature": Blockly.Msg.MIXLY_MICROBIT_SENSOR_SHT_temperature_TOOLTIP,
|
||||
// "relative_humidity": Blockly.Msg.MIXLY_MICROBIT_SENSOR_SHT_HUM_TOOLTIP
|
||||
// };
|
||||
// return TOOLTIPS[mode]
|
||||
// });
|
||||
// }
|
||||
// };
|
||||
|
||||
// export const mini_g2_hp203 = {
|
||||
// init: function () {
|
||||
// var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
// if (version == "mixgo_me") { var name = 'ME G1' }
|
||||
// this.setColour(MEG1_HUE);
|
||||
// this.appendDummyInput("")
|
||||
// .appendField(name)
|
||||
// .appendField(Blockly.Msg.MIXLY_Altitude + Blockly.Msg.MSG.catSensor + " HP203X")
|
||||
// .appendField(new Blockly.FieldDropdown([
|
||||
// [Blockly.Msg.MIXLY_GETPRESSURE, "pressure()"],
|
||||
// [Blockly.Msg.MIXLY_GETTEMPERATUE, "temperature()"],
|
||||
// [Blockly.Msg.MIXLY_GET_ALTITUDE, "altitude()"],
|
||||
// ]), "key");
|
||||
// this.setOutput(true, Number);
|
||||
// this.setInputsInline(true);
|
||||
// }
|
||||
// };
|
||||
|
||||
// export const mini_g2_varistor = {
|
||||
// init: function () {
|
||||
// var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
// if (version == "mixgo_me") { var name = 'ME G1' }
|
||||
// this.setColour(MEG1_HUE);
|
||||
// this.appendDummyInput()
|
||||
// .appendField(name)
|
||||
// .appendField(Blockly.Msg.MIXLY_MIXGO_NOVA_POTENTIAL_NUM);
|
||||
// this.setOutput(true, Number);
|
||||
// this.setInputsInline(true);
|
||||
// }
|
||||
// };
|
||||
|
||||
export const mini_g2_rfid_readid = {
|
||||
init: function () {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
if (version == "mixgo_me") { var name = 'ME G1' }
|
||||
this.setColour(MEG1_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(name)
|
||||
.appendField("RFID" + Blockly.Msg.MIXLY_RFID_READ_CARD);
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_RFID_READ_CARD_UID);
|
||||
this.setOutput(true, Number);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const mini_g2_rfid_readcontent = {
|
||||
init: function () {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
if (version == "mixgo_me") { var name = 'ME G1' }
|
||||
this.setColour(MEG1_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(name)
|
||||
.appendField("RFID" + Blockly.Msg.MIXLY_RFID_READ_CARD);
|
||||
this.appendValueInput('SECTOR')
|
||||
.appendField(Blockly.Msg.MIXLY_LIST_INDEX)
|
||||
this.appendDummyInput("")
|
||||
.appendField(Blockly.Msg.MIXLY_MICROBIT_PY_STORAGE_ALL);
|
||||
this.setOutput(true, Number);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const mini_g2_rfid_write = {
|
||||
init: function () {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
if (version == "mixgo_me") { var name = 'ME G1' }
|
||||
this.setColour(MEG1_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(name)
|
||||
.appendField(Blockly.Msg.MIXLY_COMMUNICATION_RFID_WRITE);
|
||||
this.appendValueInput('SECTOR')
|
||||
.appendField(Blockly.Msg.MIXLY_LIST_INDEX)
|
||||
this.appendValueInput('CONTENT')
|
||||
.appendField(Blockly.Msg.MIXLY_COMMUNICATION_WRITE_NUM)
|
||||
this.setInputsInline(true);
|
||||
this.setPreviousStatement(true, null);
|
||||
this.setNextStatement(true, null);
|
||||
}
|
||||
};
|
||||
|
||||
export const mini_g2_rfid_write_outcome = {
|
||||
init: function () {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
if (version == "mixgo_me") { var name = 'ME G1' }
|
||||
this.setColour(MEG1_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(name)
|
||||
.appendField(Blockly.Msg.MIXLY_COMMUNICATION_RFID_WRITE);
|
||||
this.appendValueInput('SECTOR')
|
||||
.appendField(Blockly.Msg.MIXLY_LIST_INDEX)
|
||||
this.appendValueInput('CONTENT')
|
||||
.appendField(Blockly.Msg.MIXLY_COMMUNICATION_WRITE_NUM)
|
||||
this.appendDummyInput()
|
||||
.appendField(Blockly.Msg.RETURN_SUCCESS_OR_NOT)
|
||||
this.setInputsInline(true);
|
||||
this.setOutput(true);
|
||||
}
|
||||
};
|
||||
|
||||
export const mini_g2_rfid_status = {
|
||||
init: function () {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2]
|
||||
if (version == "mixgo_me") { var name = 'ME G1' }
|
||||
this.setColour(MEG1_HUE);
|
||||
this.appendDummyInput()
|
||||
.appendField(name)
|
||||
.appendField("RFID");
|
||||
this.appendDummyInput("")
|
||||
.appendField(new Blockly.FieldDropdown([
|
||||
[Blockly.Msg.MIXLY_RFID_SCAN_OK, "True"],
|
||||
[Blockly.Msg.MIXLY_RFID_SCAN_NOTAGERR, "None"],
|
||||
[Blockly.Msg.MIXLY_RFID_SCAN_ERROR, "False"]
|
||||
]), "key");
|
||||
this.setOutput(true, Number);
|
||||
this.setInputsInline(true);
|
||||
}
|
||||
};
|
||||
@@ -118,20 +118,12 @@ div.blocklyToolboxDiv > div.blocklyToolboxContents > div:nth-child(12) > div.blo
|
||||
background:url('../../../../common/media/mark/display_new2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
#catME_GO.blocklyTreeRow > div.blocklyTreeRowContentContainer > span.blocklyTreeIcon{
|
||||
background:url('../../../../common/media/mark/act.png') no-repeat;
|
||||
#catSANT_G2.blocklyTreeRow > div.blocklyTreeRowContentContainer > span.blocklyTreeIcon{
|
||||
background:url('../../../../common/media/mark/sensor.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
#catME_GO.blocklyTreeRow.blocklyTreeSelected > div.blocklyTreeRowContentContainer > span.blocklyTreeIcon{
|
||||
background:url('../../../../common/media/mark/act2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
#catCE_G6.blocklyTreeRow > div.blocklyTreeRowContentContainer > span.blocklyTreeIcon{
|
||||
background:url('../../../../common/media/mark/act.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
#catCE_G6.blocklyTreeRow.blocklyTreeSelected > div.blocklyTreeRowContentContainer > span.blocklyTreeIcon{
|
||||
background:url('../../../../common/media/mark/act2.png') no-repeat;
|
||||
#catSANT_G2.blocklyTreeRow.blocklyTreeSelected > div.blocklyTreeRowContentContainer > span.blocklyTreeIcon{
|
||||
background:url('../../../../common/media/mark/sensor2.png') no-repeat;
|
||||
background-size: 100% auto;
|
||||
}
|
||||
#catExternSensor.blocklyTreeRow > div.blocklyTreeRowContentContainer > span.blocklyTreeIcon{
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
import MicropythonESP32S3Pins from './blocks/esp32_profile';
|
||||
import * as MicropythonESP32S3InoutBlocks from './blocks/inout';
|
||||
import * as MicropythonESP32S3PinsBlocks from './blocks/pins';
|
||||
import * as MicropythonESP32S3SANTG2Blocks from './blocks/sant_g2';
|
||||
import * as MicropythonESP32S3InoutGenerators from './generators/inout';
|
||||
import * as MicropythonESP32S3PinsGenerators from './generators/pins';
|
||||
import * as MicropythonESP32S3SANTG2Generators from './generators/sant_g2';
|
||||
|
||||
export {
|
||||
MicropythonESP32S3Pins,
|
||||
MicropythonESP32S3InoutBlocks,
|
||||
MicropythonESP32S3PinsBlocks,
|
||||
MicropythonESP32S3SANTG2Blocks,
|
||||
MicropythonESP32S3InoutGenerators,
|
||||
MicropythonESP32S3PinsGenerators
|
||||
MicropythonESP32S3PinsGenerators,
|
||||
MicropythonESP32S3SANTG2Generators
|
||||
};
|
||||
88
boards/default_src/micropython_esp32s3/generators/sant_g2.js
Normal file
88
boards/default_src/micropython_esp32s3/generators/sant_g2.js
Normal file
@@ -0,0 +1,88 @@
|
||||
import { Boards } from 'mixly';
|
||||
|
||||
// export const mini_g2_aht11 = function (_, generator) {
|
||||
// var key = this.getFieldValue('key');
|
||||
// generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
// var code = 'mini_g2.ext_ahtx0.' + key + '()';
|
||||
// return [code, generator.ORDER_ATOMIC];
|
||||
// }
|
||||
|
||||
// export const mini_g2_hp203 = function (_, generator) {
|
||||
// var key = this.getFieldValue('key');
|
||||
// generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
// var code = 'mini_g2.ext_hp203x.' + key;
|
||||
// return [code, generator.ORDER_ATOMIC];
|
||||
// }
|
||||
|
||||
// export const mini_g2_varistor = function (_, generator) {
|
||||
// generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
// var code = 'mini_g2.varistor()';
|
||||
// return [code, generator.ORDER_ATOMIC];
|
||||
// }
|
||||
|
||||
export const mini_g2_rfid_readid = function (_, generator) {
|
||||
generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||
if (version == "mixgo_mini") {
|
||||
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
|
||||
var code = 'ext_rfid.read_card(0, x="id")';
|
||||
} else {
|
||||
generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
var code = 'mini_g2.ext_rc522.read_card(0, x="id")';
|
||||
}
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const mini_g2_rfid_readcontent = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||
var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC);
|
||||
if (version == "mixgo_mini") {
|
||||
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
|
||||
var code = 'ext_rfid.read_card(' + sector + ')';
|
||||
} else {
|
||||
generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
var code = 'mini_g2.ext_rc522.read_card(' + sector + ')';
|
||||
}
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const mini_g2_rfid_write = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||
var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC);
|
||||
var cnt = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC);
|
||||
if (version == "mixgo_mini") {
|
||||
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
|
||||
var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')\n';
|
||||
} else {
|
||||
generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
var code = 'mini_g2.ext_rc522.write_card(' + cnt + ',' + sector + ')\n';
|
||||
}
|
||||
return code;
|
||||
}
|
||||
|
||||
export const mini_g2_rfid_write_outcome = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||
var sector = generator.valueToCode(this, 'SECTOR', generator.ORDER_ATOMIC);
|
||||
var cnt = generator.valueToCode(this, 'CONTENT', generator.ORDER_ATOMIC);
|
||||
if (version == "mixgo_mini") {
|
||||
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
|
||||
var code = 'ext_rfid.write_card(' + cnt + ',' + sector + ')';
|
||||
} else {
|
||||
generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
var code = 'mini_g2.ext_rc522.write_card(' + cnt + ',' + sector + ')';
|
||||
}
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
|
||||
export const mini_g2_rfid_status = function (_, generator) {
|
||||
var version = Boards.getSelectedBoardKey().split(':')[2];
|
||||
var key = this.getFieldValue('key');
|
||||
if (version == "mixgo_mini") {
|
||||
generator.definitions_['import_mini_g2_ext_rfid'] = 'from mini_g2 import ext_rfid';
|
||||
var code = 'ext_rfid.scan_card()==' + key;
|
||||
} else {
|
||||
generator.definitions_['import_mini_g2'] = 'import mini_g2';
|
||||
var code = 'mini_g2.ext_rc522.scan_card()==' + key;
|
||||
}
|
||||
return [code, generator.ORDER_ATOMIC];
|
||||
}
|
||||
@@ -78,8 +78,10 @@ import {
|
||||
MicropythonESP32S3Pins,
|
||||
MicropythonESP32S3InoutBlocks,
|
||||
MicropythonESP32S3PinsBlocks,
|
||||
MicropythonESP32S3SANTG2Blocks,
|
||||
MicropythonESP32S3InoutGenerators,
|
||||
MicropythonESP32S3PinsGenerators
|
||||
MicropythonESP32S3PinsGenerators,
|
||||
MicropythonESP32S3SANTG2Generators
|
||||
} from './';
|
||||
|
||||
import './css/color_esp32s2_mixgoce.css';
|
||||
@@ -128,7 +130,8 @@ Object.assign(
|
||||
MicroPythonBlynkBlocks,
|
||||
MicroPythonNovaG1Blocks,
|
||||
MicropythonESP32S3InoutBlocks,
|
||||
MicropythonESP32S3PinsBlocks
|
||||
MicropythonESP32S3PinsBlocks,
|
||||
MicropythonESP32S3SANTG2Blocks
|
||||
);
|
||||
|
||||
Object.assign(
|
||||
@@ -166,5 +169,6 @@ Object.assign(
|
||||
MicroPythonBlynkGenerators,
|
||||
MicroPythonNovaG1Generators,
|
||||
MicropythonESP32S3InoutGenerators,
|
||||
MicropythonESP32S3PinsGenerators
|
||||
MicropythonESP32S3PinsGenerators,
|
||||
MicropythonESP32S3SANTG2Generators
|
||||
);
|
||||
@@ -0,0 +1,23 @@
|
||||
"""
|
||||
MINI G2 -MixGo MINI EXT G2
|
||||
|
||||
MicroPython library for the MINI G2 (Expansion board for MixGo MINI)
|
||||
=======================================================
|
||||
@dahanzimin From the Mixly Team
|
||||
"""
|
||||
|
||||
import gc
|
||||
from machine import Pin, SoftI2C
|
||||
|
||||
'''i2c-extboard'''
|
||||
ext_i2c = SoftI2C(scl=Pin(7), sda=Pin(8), freq=400000)
|
||||
|
||||
'''RFID_Sensor'''
|
||||
try :
|
||||
import rc522
|
||||
ext_rfid = rc522.RC522(ext_i2c)
|
||||
except Exception as e:
|
||||
print("Warning: Failed to communicate with SI522A (RFID) or",e)
|
||||
|
||||
'''Reclaim memory'''
|
||||
gc.collect()
|
||||
@@ -1,8 +1,7 @@
|
||||
{
|
||||
"board": {
|
||||
"元控青春": "micropython:esp32s3:mixgo_nova",
|
||||
"元控": "micropython:esp32s3:mixgo_zero",
|
||||
"MixGo Sant": "micropython:esp32c3:mixgo_sant"
|
||||
"元控自强": "micropython:esp32s3:mixgo_sant"
|
||||
},
|
||||
"language": "MicroPython",
|
||||
"burn": {
|
||||
|
||||
@@ -1420,32 +1420,33 @@
|
||||
</value>
|
||||
</block>
|
||||
<block type="sensor_mixgo_touch_slide"></block>
|
||||
<block type="sensor_mixgo_pin_near" m-show='micropython:esp32s3:mixgo_zero'></block>
|
||||
<block type="sensor_mixgo_nova_pin_near" m-show='micropython:esp32s3:mixgo_nova'></block>
|
||||
<block type="sensor_mixgo_LTR308" m-show='micropython:esp32s3:mixgo_zero'></block>
|
||||
<block type="sensor_mixgo_nova_LTR308" m-show='micropython:esp32s3:mixgo_nova'></block>
|
||||
<block type="sensor_mixgo_pin_near" m-show='micropython:esp32s3:mixgo_sant'></block>
|
||||
<!-- <block type="sensor_mixgo_nova_pin_near" m-show='micropython:esp32s3:mixgo_nova'></block> -->
|
||||
<block type="sensor_mixgo_LTR308" m-show='micropython:esp32s3:mixgo_sant'></block>
|
||||
<!-- <block type="sensor_mixgo_nova_LTR308" m-show='micropython:esp32s3:mixgo_nova'></block> -->
|
||||
<block type="sensor_mixgo_sant_color" m-show='micropython:esp32s3:mixgo_sant'></block>
|
||||
<block type="sensor_sound"></block>
|
||||
<block type="sensor_hp203" m-show='micropython:esp32s3:mixgo_zero'></block>
|
||||
<block type="sensor_hp203" m-show='micropython:esp32s3:mixgo_sant'></block>
|
||||
<block type="sensor_aht11"></block>
|
||||
<block type="sensor_get_acceleration"></block>
|
||||
<block type="sensor_mixgo_cc_mmc5603_calibrate_compass"></block>
|
||||
<block type="sensor_mixgo_cc_mmc5603_get_magnetic"></block>
|
||||
<block type="sensor_mixgo_cc_mmc5603_get_angle"></block>
|
||||
<block type="rfid_readid">
|
||||
<block type="rfid_readid" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">rfid</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="rfid_readcontent">
|
||||
<block type="rfid_readcontent" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="SECTOR">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">0</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="rfid_write">
|
||||
<block type="rfid_write" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="SECTOR">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">0</field>
|
||||
@@ -1457,7 +1458,7 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="rfid_write_return">
|
||||
<block type="rfid_write_return" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="SECTOR">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">0</field>
|
||||
@@ -1469,6 +1470,15 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="CI130X_IDENTIFY_AND_SAVE_SANT" m-show='micropython:esp32s3:mixgo_sant'></block>
|
||||
<block type="CI130X_GET_WHETHER_IDENTIFY_SANT" m-show='micropython:esp32s3:mixgo_sant'></block>
|
||||
<block type="CI130X_GET_THE_RECOGNIZED_CMD_SANT" m-show='micropython:esp32s3:mixgo_sant'></block>
|
||||
<block type="CI130X_BROADCAST_SANT" m-show='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="NUM">
|
||||
<block type="logic_null"></block>
|
||||
</value>
|
||||
</block>
|
||||
<block type = "CI130X_SET_SYSTEM_CMD_SANT" m-show='micropython:esp32s3:mixgo_sant'></block>
|
||||
<block type="onboard_RTC_set_datetime">
|
||||
<value name="year">
|
||||
<shadow type="math_number">
|
||||
@@ -1559,7 +1569,7 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="actuator_mixgo_zero_led_color" m-show='micropython:esp32s3:mixgo_zero'>
|
||||
<block type="actuator_mixgo_zero_led_color" m-show='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="led">
|
||||
<shadow type="number">
|
||||
</shadow>
|
||||
@@ -1569,22 +1579,22 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="actuator_mixgo_nova_mic_set">
|
||||
<block type="actuator_mixgo_nova_mic_set" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="bright">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">100</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="actuator_mixgo_nova_mic_get"></block>
|
||||
<block type="actuator_mixgo_nova_voice_set">
|
||||
<block type="actuator_mixgo_nova_mic_get" m-hide='micropython:esp32s3:mixgo_sant'></block>
|
||||
<block type="actuator_mixgo_nova_voice_set" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="bright">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">100</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="actuator_mixgo_nova_voice_get"></block>
|
||||
<block type="actuator_mixgo_nova_voice_get" m-hide='micropython:esp32s3:mixgo_sant'></block>
|
||||
<!-- <block type="actuator_mixgo_nova_onboard_music_pitch">
|
||||
<value name="pitch">
|
||||
<shadow type="pins_tone_notes">
|
||||
@@ -1592,7 +1602,7 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block> -->
|
||||
<block type="esp32_onboard_music_pitch_with_time">
|
||||
<block type="esp32_onboard_music_pitch_with_time" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="pitch">
|
||||
<shadow type="pins_tone_notes">
|
||||
<field name="PIN">440</field>
|
||||
@@ -1611,12 +1621,12 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block> -->
|
||||
<block type="esp32_onboard_music_play_list">
|
||||
<block type="esp32_onboard_music_play_list" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="LIST">
|
||||
<shadow type="pins_playlist"></shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="actuator_mixgo_nova_record_audio">
|
||||
<block type="actuator_mixgo_nova_record_audio" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="PATH">
|
||||
<shadow type="text">
|
||||
<field name="TEXT">/sd/1.wav</field>
|
||||
@@ -1628,14 +1638,14 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="actuator_mixgo_nova_play_audio">
|
||||
<block type="actuator_mixgo_nova_play_audio" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="PATH">
|
||||
<shadow type="text">
|
||||
<field name="TEXT">/sd/1.wav</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="actuator_mixgo_nova_play_online_audio">
|
||||
<block type="actuator_mixgo_nova_play_online_audio" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="PATH">
|
||||
<shadow type="text">
|
||||
<field name="TEXT">https://gitee.com/dahanzimin/test/raw/master/wav/8.wav</field>
|
||||
@@ -1643,6 +1653,52 @@
|
||||
</value>
|
||||
</block>
|
||||
|
||||
<block type="esp32_onboard_music_pitch" m-show='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="pitch">
|
||||
<shadow type="pins_tone_notes">
|
||||
<field name="PIN">440</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="esp32_onboard_music_pitch_with_time" m-show='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="pitch">
|
||||
<shadow type="pins_tone_notes">
|
||||
<field name="PIN">440</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="time">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">1000</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="esp32_onboard_music_stop" m-show='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="PIN">
|
||||
<shadow type="pins_pwm_pin">
|
||||
<field name="PIN">0</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="esp32_onboard_music_play_list" m-show='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="LIST">
|
||||
<shadow type="pins_playlist"></shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="esp32_music_set_tempo" m-show='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="TICKS">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">4</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="BPM">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">120</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="esp32_music_get_tempo" m-show='micropython:esp32s3:mixgo_sant'></block>
|
||||
<block type="esp32_music_reset" m-show='micropython:esp32s3:mixgo_sant'></block>
|
||||
|
||||
<block type="actuator_onboard_neopixel_rgb">
|
||||
<value name="_LED_">
|
||||
<shadow type="math_number">
|
||||
@@ -1713,6 +1769,67 @@
|
||||
</block>
|
||||
<block type="actuator_onboard_neopixel_write">
|
||||
</block>
|
||||
<block type="set_power_output" m-show="micropython:esp32s3:mixgo_sant">
|
||||
<value name="duty">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">100</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="set_all_power_output" m-show="micropython:esp32s3:mixgo_sant">
|
||||
<value name="duty">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">20000</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="analog_keyboard_input" m-show="micropython:esp32s3:mixgo_sant">
|
||||
<value name="special">
|
||||
<block type="special_key">
|
||||
</block>
|
||||
</value>
|
||||
<value name="general">
|
||||
<block type="general_key">
|
||||
</block>
|
||||
</value>
|
||||
</block>
|
||||
<block type="general_key_tuple" m-show="micropython:esp32s3:mixgo_sant">
|
||||
<value name="general">
|
||||
<block type="general_key">
|
||||
</block>
|
||||
</value>
|
||||
</block>
|
||||
|
||||
<block type="analog_mouse_input" m-show="micropython:esp32s3:mixgo_sant">
|
||||
<value name="key">
|
||||
<block type="mouse_key">
|
||||
</block>
|
||||
</value>
|
||||
<value name="x">
|
||||
<shadow type="math_number">
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="y">
|
||||
<shadow type="math_number">
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="wheel">
|
||||
<shadow type="math_number">
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="analog_keyboard_str" m-show="micropython:esp32s3:mixgo_sant">
|
||||
<value name="str">
|
||||
<shadow type="text">
|
||||
<field name="TEXT">Hello, Mixly!</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="time">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">10</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
</category>
|
||||
<category id="catOnBoardDisplay" colour='#78B5B4'>
|
||||
<block type="mpython_pbm_image"></block>
|
||||
@@ -2156,225 +2273,54 @@
|
||||
</value>
|
||||
</block>
|
||||
</category>
|
||||
<!-- <category id="catME_GO" colour="100">
|
||||
<block type="ce_go_led_bright">
|
||||
<value name="led">
|
||||
<shadow type="ce_go_light_number">
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="bright">
|
||||
<shadow type="ledswitch">
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="ce_go_get_led_state">
|
||||
<value name="led">
|
||||
<shadow type="ce_go_light_number">
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="ce_go_led_brightness">
|
||||
<value name="led">
|
||||
<shadow type="ce_go_light_number">
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="bright">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">100</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="ce_go_get_led_bright">
|
||||
<value name="led">
|
||||
<shadow type="ce_go_light_number">
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="ce_go_stepper_keep">
|
||||
<value name="speed">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">100</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="ce_go_stepper_stop"></block>
|
||||
<block type="ce_go_dc_motor">
|
||||
<value name="speed">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">100</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="ce_go_hall_initialize">
|
||||
<value name="num">
|
||||
<category id="catSANT_G2" colour="40" m-show='micropython:esp32s3:mixgo_sant'>
|
||||
<block type="mini_g2_rfid_readcontent">
|
||||
<value name="SECTOR">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">0</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="ce_go_hall_data">
|
||||
</block>
|
||||
<block type="ce_go_hall_attachInterrupt">
|
||||
<value name="DO">
|
||||
<shadow type="factory_block_return">
|
||||
<field name="VALUE">interrupt_func</field>
|
||||
<block type="mini_g2_rfid_readid"></block>
|
||||
<block type="mini_g2_rfid_write">
|
||||
<value name="SECTOR">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">0</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="CONTENT">
|
||||
<shadow type="text">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="procedures_defnoreturn">
|
||||
<mutation>
|
||||
<arg name="turns"></arg>
|
||||
<arg name="distance"></arg>
|
||||
</mutation>
|
||||
<field name="NAME">interrupt_func</field>
|
||||
<statement name="STACK">
|
||||
<block type="system_print_many">
|
||||
<mutation items="2"></mutation>
|
||||
<value name="ADD0">
|
||||
<block type="variables_get">
|
||||
<field name="VAR">turns</field>
|
||||
</block>
|
||||
</value>
|
||||
<value name="ADD1">
|
||||
<block type="variables_get">
|
||||
<field name="VAR">distance</field>
|
||||
</block>
|
||||
</value>
|
||||
</block>
|
||||
</statement>
|
||||
<block type="mini_g2_rfid_write_outcome">
|
||||
<value name="SECTOR">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">0</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="CONTENT">
|
||||
<shadow type="text">
|
||||
<field name="TEXT">Mixly</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="ce_go_pin_near_state_change"></block>
|
||||
<block type="ce_go_pin_near_line"></block>
|
||||
<block type="ce_go_pin_near"></block>
|
||||
<block type="ce_go_pin_light"></block>
|
||||
<block type="sensor_mixgome_eulerangles"></block>
|
||||
<block type="mini_g2_rfid_status"></block>
|
||||
<block type="radar_set_DETECTION_THRESHOLD_SANT">
|
||||
<value name="VAR">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">5000</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="VAR2">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">500</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="interaction_whether_to_interaction_SANT"></block>
|
||||
</category>
|
||||
<category id="catCE_G6" colour="100">
|
||||
<block type="communicate_i2c_init">
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">i2c_extend</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="TX">
|
||||
<shadow type="pins_digital_pin">
|
||||
<field name="PIN">17</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="RX">
|
||||
<shadow type="pins_digital_pin">
|
||||
<field name="PIN">18</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="freq">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">400000</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<next>
|
||||
<block type="pe_g1_use_i2c_init">
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">g6</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="I2CSUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">i2c_extend</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
</next>
|
||||
</block>
|
||||
<block type="pe_g1_battery_left">
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">g6</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="pe_g1_servo_set_angle">
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">g6</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="PIN">
|
||||
<shadow type="number5">
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="NUM">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">100</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="pe_g1_servo_get_angle">
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">g6</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="PIN">
|
||||
<shadow type="number5">
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="pe_g1_servo_set_speed">
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">g6</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="PIN">
|
||||
<shadow type="number5">
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="NUM">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">100</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="pe_g1_servo_get_speed">
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">g6</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="PIN">
|
||||
<shadow type="number5">
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="pe_g1_dc_motor">
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">g6</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="PIN">
|
||||
<shadow type="number4">
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="speed">
|
||||
<shadow type="math_number">
|
||||
<field name="NUM">100</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="pe_g1_dc_motor_speed">
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">g6</field>
|
||||
</shadow>
|
||||
</value>
|
||||
<value name="PIN">
|
||||
<shadow type="number4">
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
</category> -->
|
||||
<category id="catIot" colour="#2FAD7A">
|
||||
<category id="catBlynk" colour="#2FAD7A">
|
||||
<block type="iot_wifi_connect">
|
||||
@@ -4054,7 +4000,7 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="radar_set_DETECTION_THRESHOLD">
|
||||
<block type="radar_set_DETECTION_THRESHOLD" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">xsensor</field>
|
||||
@@ -4071,35 +4017,35 @@
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="interaction_whether_to_interaction">
|
||||
<block type="interaction_whether_to_interaction" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">xsensor</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="CI130X_IDENTIFY_AND_SAVE">
|
||||
<block type="CI130X_IDENTIFY_AND_SAVE" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">xsensor</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="CI130X_GET_WHETHER_IDENTIFY">
|
||||
<block type="CI130X_GET_WHETHER_IDENTIFY" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">xsensor</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="CI130X_GET_THE_RECOGNIZED_CMD">
|
||||
<block type="CI130X_GET_THE_RECOGNIZED_CMD" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">xsensor</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="CI130X_BROADCAST">
|
||||
<block type="CI130X_BROADCAST" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">xsensor</field>
|
||||
@@ -4109,11 +4055,12 @@
|
||||
<block type="logic_null"></block>
|
||||
</value>
|
||||
</block>
|
||||
<block type = "CI130X_SET_SYSTEM_CMD">
|
||||
<block type = "CI130X_SET_SYSTEM_CMD" m-hide='micropython:esp32s3:mixgo_sant'>
|
||||
<value name="SUB">
|
||||
<shadow type="variables_get">
|
||||
<field name="VAR">xsensor</field>
|
||||
</shadow>
|
||||
</value>
|
||||
</block>
|
||||
<block type="communicate_spi_init">
|
||||
<value name="VAR">
|
||||
|
||||
Reference in New Issue
Block a user