webduino-blockly
Version:
The Visual Programming Editor for Webduino
1,084 lines (1,083 loc) • 33 kB
text/xml
<xml id="toolbox" style="display: none">
<category id="catVariables" custom="VARIABLE"></category>
<category id="catFunctions" custom="PROCEDURE"></category>
<category id="catStandard">
<category id="catLogic">
<block type="controls_if"></block>
<block type="logic_compare"></block>
<block type="logic_operation"></block>
<block type="logic_negate"></block>
<block type="logic_boolean"></block>
<block type="logic_null"></block>
<block type="logic_ternary"></block>
</category>
<category id="catLoops">
<block type="controls_repeat_ext">
<value name="TIMES">
<block type="math_number">
<field name="NUM">10</field>
</block>
</value>
</block>
<block type="controls_whileUntil"></block>
<block type="controls_for">
<value name="FROM">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
<value name="TO">
<block type="math_number">
<field name="NUM">10</field>
</block>
</value>
<value name="BY">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
<block type="controls_forEach"></block>
<block type="controls_flow_statements"></block>
</category>
<category id="catMath">
<block type="math_number"></block>
<block type="math_arithmetic"></block>
<block type="math_single"></block>
<block type="math_trig"></block>
<block type="math_constant"></block>
<block type="math_number_property"></block>
<block type="math_change">
<value name="DELTA">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
<block type="math_round"></block>
<block type="math_on_list"></block>
<block type="math_modulo"></block>
<block type="math_constrain">
<value name="LOW">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
<value name="HIGH">
<block type="math_number">
<field name="NUM">100</field>
</block>
</value>
</block>
<block type="math_random_int">
<value name="FROM">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
<value name="TO">
<block type="math_number">
<field name="NUM">100</field>
</block>
</value>
</block>
<block type="math_random_float"></block>
</category>
<category id="catText">
<block type="text_print"></block>
<block type="text"></block>
<block type="text_join"></block>
<block type="text_append">
<value name="TEXT">
<block type="text"></block>
</value>
</block>
<block type="text_length"></block>
<block type="text_isEmpty"></block>
<block type="text_indexOf">
<value name="VALUE">
<block type="variables_get">
<field name="VAR" class="textVar">{{textVariable}}</field>
</block>
</value>
</block>
<block type="text_charAt">
<value name="VALUE">
<block type="variables_get">
<field name="VAR" class="textVar">{{textVariable}}</field>
</block>
</value>
</block>
<block type="text_getSubstring">
<value name="STRING">
<block type="variables_get">
<field name="VAR" class="textVar">{{textVariable}}</field>
</block>
</value>
</block>
<block type="text_changeCase"></block>
<block type="text_trim"></block>
<block type="text_prompt_ext">
<value name="TEXT">
<block type="text"></block>
</value>
</block>
</category>
<category id="catLists">
<block type="lists_create_empty"></block>
<block type="lists_create_with"></block>
<block type="lists_repeat">
<value name="NUM">
<block type="math_number">
<field name="NUM">5</field>
</block>
</value>
</block>
<block type="lists_length"></block>
<block type="lists_isEmpty"></block>
<block type="lists_indexOf">
<value name="VALUE">
<block type="variables_get">
<field name="VAR" class="listVar">{{listVariable}}</field>
</block>
</value>
</block>
<block type="lists_getIndex">
<value name="VALUE">
<block type="variables_get">
<field name="VAR" class="listVar">{{listVariable}}</field>
</block>
</value>
</block>
<block type="lists_setIndex">
<value name="LIST">
<block type="variables_get">
<field name="VAR" class="listVar">{{listVariable}}</field>
</block>
</value>
</block>
<block type="lists_getSublist">
<value name="LIST">
<block type="variables_get">
<field name="VAR" class="listVar">{{listVariable}}</field>
</block>
</value>
</block>
<block type="lists_split">
<value name="DELIM">
<block type="text">
<field name="TEXT">,</field>
</block>
</value>
</block>
</category>
<category id="catColour">
<block type="colour_picker"></block>
<block type="colour_random"></block>
<block type="colour_rgb">
<value name="RED">
<block type="math_number">
<field name="NUM">100</field>
</block>
</value>
<value name="GREEN">
<block type="math_number">
<field name="NUM">50</field>
</block>
</value>
<value name="BLUE">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
</block>
<block type="colour_blend">
<value name="COLOUR1">
<block type="colour_picker">
<field name="COLOUR">#ff0000</field>
</block>
</value>
<value name="COLOUR2">
<block type="colour_picker">
<field name="COLOUR">#3333ff</field>
</block>
</value>
<value name="RATIO">
<block type="math_number">
<field name="NUM">0.5</field>
</block>
</value>
</block>
</category>
<sep></sep>
</category>
<category id="catPlus">
<category id="catConsole">
<block type="console"></block>
<block type="getdate"></block>
<block type="gettime"></block>
<block type="temp_data_set">
<value name="name_">
<block type="text">
<field name="TEXT">temp</field>
</block>
</value>
</block>
<block type="temp_data_get">
<value name="name_">
<block type="text">
<field name="TEXT">temp</field>
</block>
</value>
</block>
</category>
<category id="catExec">
<block type="timer">
<value name="secs_">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
<block type="interval">
<value name="secs_">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
<block type="delay">
<value name="secs_">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</category>
<category id="catMathOther">
<block type="math_round_digit"></block>
<block type="math_value_conversion">
<value name="omin_">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="omax_">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
<value name="cmin_">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="cmax_">
<block type="math_number">
<field name="NUM">100</field>
</block>
</value>
</block>
<block type="number_to_string">
<value name="number_">
<block type="math_number">
<field name="NUM">100</field>
</block>
</value>
</block>
<block type="text_indexof">
<value name="indexof_">
<block type="text">
<field name="TEXT"></field>
</block>
</value>
</block>
</category>
<category id="catKeyCode">
<block type="document_keyboard"></block>
<block type="document_keycode"></block>
<block type="document_keyboard_konami"></block>
<block type="document_keyboard_stop"></block>
</category>
<category id="catSpeech">
<block type="sound_recognition"></block>
<block type="sound_recognition_check">
<value name="text_">
<block type="text">
<field name="TEXT"></field>
</block>
</value>
</block>
<block type="sound_recognition_text"></block>
<block type="sound_recognition_stop"></block>
</category>
<category id="catSpeak">
<block type="speak">
<value name="text_">
<block type="text">
<field name="TEXT"></field>
</block>
</value>
</block>
<block type="speak_callback">
<value name="text_">
<block type="text">
<field name="TEXT"></field>
</block>
</value>
</block>
<block type="speak_event"></block>
<block type="speak_setting_sample"></block>
</category>
<category id="catMobile">
<block type="mobile_deviceorientation_event"></block>
<block type="mobile_deviceorientation_event_val"></block>
<block type="mobile_devicemotion_event_val"></block>
<block type="mobile_deviceorientation_event_remove"></block>
</category>
<sep></sep>
</category>
<sep></sep>
<category id="catBoardGroup">
<category id="catBoard">
<block type="board_server" tags="fly,mark1">
<value name="server_">
<block type="text"></block>
</value>
</block>
<block type="board" tags="fly,mark1,smart">
<value name="device_">
<block type="text"></block>
</value>
<field name="rate_">250</field>
</block>
<block type="all_board_ready"></block>
<block type="board_error"></block>
</category>
<category id="catPin">
<block type="variables_set">
<field name="VAR">pin</field>
<value name="VALUE">
<block type="pin_get">
<value name="pin">
<block type="pin_num">
<field name="pin_">10</field>
</block>
</value>
</block>
</value>
</block>
<block type="variables_set">
<field name="VAR">pin</field>
<value name="VALUE">
<block type="pin_get">
<value name="pin">
<block type="pin_board">
<value name="pin_">
<block type="pin_num">
<field name="pin_">10</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
<block type="pin_set_mode"></block>
<block type="pin_read"></block>
<block type="pin_write">
<value name="value_">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
</block>
</category>
<sep></sep>
</category>
<category id="catMenu1">
<category id="catLed">
<block type="variables_set">
<field name="VAR">led</field>
<value name="VALUE">
<block type="led_new"></block>
</value>
</block>
<block type="led_state">
<field name="led_">led</field>
</block>
<block type="led_callback"></block>
<block type="led_blink">
<value name="time_">
<block type="math_number">
<field name="NUM">0.5</field>
</block>
</value>
</block>
<block type="led_blink_callback">
<value name="time_">
<block type="math_number">
<field name="NUM">0.5</field>
</block>
</value>
</block>
<block type="led_toggle">
<field name="led_">led</field>
</block>
<block type="led_intensity">
<field name="led_">led</field>
<value name="intensity_">
<block type="math_number">
<field name="NUM">0.5</field>
</block>
</value>
</block>
</category>
<category id="catRGBLed">
<block type="variables_set" tags="fly,mark1">
<field name="VAR">rgbled</field>
<value name="VALUE">
<block type="rgbled_new">
<field name="red_">6</field>
<field name="green_">9</field>
<field name="blue_">10</field>
</block>
</value>
</block>
<block type="variables_set" tags="smart">
<field name="VAR">rgbled</field>
<value name="VALUE">
<block type="rgbled_new_cathode">
<field name="red_">15</field>
<field name="green_">12</field>
<field name="blue_">13</field>
</block>
</value>
</block>
<block type="rgbled_setcolor">
<field name="rgbled_">rgbled</field>
<value name="color_">
<block type="colour_picker">
<field name="COLOUR">#ff0000</field>
</block>
</value>
</block>
<block type="rgbled_setcolor_callback">
<field name="rgbled_">rgbled</field>
<value name="color_">
<block type="colour_picker">
<field name="COLOUR">#ff0000</field>
</block>
</value>
</block>
</category>
<category id="catMax7219" tags="fly,mark1">
<block type="variables_set">
<field name="VAR">matrix</field>
<value name="VALUE">
<block type="max7219_new">
<field name="din_">9</field>
<field name="cs_">10</field>
<field name="clk_">11</field>
</block>
</value>
</block>
<block type="max7219_draw">
<value name="code_">
<block type="text">
<field name="TEXT">1026464040462610</field>
</block>
</value>
</block>
<block type="max7219_animate">
<value name="times_">
<block type="math_number">
<field name="NUM">100</field>
</block>
</value>
<value name="list_">
<block type="lists_create_with"></block>
</value>
</block>
<block type="max7219_animate_horse">
<value name="times_">
<block type="math_number">
<field name="NUM">100</field>
</block>
</value>
<value name="code_">
<block type="text">
<field name="TEXT">1026464040462610</field>
</block>
</value>
</block>
<block type="max7219_stop"></block>
<block type="max7219_off"></block>
<block type="max7219_val_alphabet">
<value name="value_">
<block type="text">
<field name="TEXT">A</field>
</block>
</value>
</block>
<block type="max7219_val_num">
<value name="value_">
<block type="math_number">
<field name="NUM">99</field>
</block>
</value>
</block>
<block type="max7219_val_img"></block>
<block type="max7219_88"></block>
</category>
<sep></sep>
</category>
<category id="catMenu2">
<category id="catBuzzer">
<block type="variables_set">
<field name="VAR">buzzer</field>
<value name="VALUE">
<block type="buzzer_new">
<field name="pin_">11</field>
</block>
</value>
</block>
<block type="buzzer_music_play"></block>
<block type="buzzer_var_notes_var_tempos"></block>
<block type="buzzer_notes_tempos"></block>
<block type="buzzer_music_array">
<value name="notes_">
<block type="text">
<field name="TEXT">C6,D6,E6,F6,G6,A6,B6</field>
</block>
</value>
<value name="tempos_">
<block type="text">
<field name="TEXT">8</field>
</block>
</value>
</block>
<block type="buzzer_load_music"></block>
<block type="buzzer_event"></block>
<block type="buzzer_state"></block>
</category>
<category id="catRelay" tags="fly,mark1">
<block type="variables_set">
<field name="VAR">relay</field>
<value name="VALUE">
<block type="relay_new">
<field name="pin_">10</field>
</block>
</value>
</block>
<block type="relay_state">
<field name="relay_">relay</field>
</block>
</category>
<category id="catIRLed" tags="fly,mark1">
<block type="variables_set">
<field name="VAR">irled</field>
<value name="VALUE">
<block type="irled_new">
<field name="pin_">9</field>
</block>
</value>
</block>
<block type="irled_launch">
<value name="code_">
<block type="text">
<field name="TEXT"></field>
</block>
</value>
</block>
</category>
<category id="catIRRecv" tags="fly,mark1">
<block type="variables_set">
<field name="VAR">irrecv</field>
<value name="VALUE">
<block type="irrecv_new">
<field name="pin_">10</field>
</block>
</value>
</block>
<block type="irrecv_on"></block>
<block type="irrecv_val"></block>
<block type="irrecv_off"></block>
</category>
<category id="catButton">
<block type="variables_set" tags="fly,mark1">
<field name="VAR">button</field>
<value name="VALUE">
<block type="button_new">
<field name="pin_">10</field>
</block>
</value>
</block>
<block type="variables_set" tags="smart">
<field name="VAR">button</field>
<value name="VALUE">
<block type="button_pullup_new">
<field name="pin_">4</field>
</block>
</value>
</block>
<block type="button_event"></block>
</category>
<category id="catShock" tags="fly,mark1">
<block type="variables_set">
<field name="VAR">shake</field>
<value name="VALUE">
<block type="shock_new">
<field name="pin_">10</field>
</block>
</value>
</block>
<block type="shock_event"></block>
</category>
<category id="catJoystick" tags="fly,mark1">
<block type="variables_set">
<field name="VAR">joystick</field>
<value name="VALUE">
<block type="joystick_new">
<field name="vrx_">4</field>
<field name="vry_">5</field>
<field name="sw_">11</field>
</block>
</value>
</block>
<block type="joystick_on"></block>
<block type="joystick_val"></block>
<block type="joystick_off"></block>
</category>
<sep></sep>
</category>
<category id="catMenu3">
<category id="catUltraSonic" tags="fly,mark1">
<block type="variables_set">
<field name="VAR">ultrasonic</field>
<value name="VALUE">
<block type="ultrasonic_new">
<field name="trig_">11</field>
<field name="echo_">10</field>
</block>
</value>
</block>
<block type="ultrasonic_get">
<value name="time">
<block type="math_number">
<field name="NUM">500</field>
</block>
</value>
</block>
<block type="ultrasonic_get_promise"></block>
<block type="ultrasonic_stop"></block>
<block type="ultrasonic_distance"></block>
</category>
<category id="catDht">
<block type="variables_set">
<field name="VAR">dht</field>
<value name="VALUE">
<block type="dht_new">
<field name="pin_">11</field>
</block>
</value>
</block>
<block type="dht_get">
<value name="time">
<block type="math_number">
<field name="NUM">1000</field>
</block>
</value>
</block>
<block type="dht_get_number"></block>
</category>
<category id="catPir" tags="fly,mark1">
<block type="variables_set">
<field name="VAR">pir</field>
<value name="VALUE">
<block type="pir_new">
<field name="pin_">10</field>
</block>
</value>
</block>
<block type="pir_status"></block>
</category>
<category id="catSound" tags="fly,mark1">
<block type="variables_set">
<field name="VAR">sound</field>
<value name="VALUE">
<block type="sound_new">
<field name="pin_">10</field>
</block>
</value>
</block>
<block type="sound_status"></block>
</category>
<category id="catPhotocell">
<block type="variables_set">
<field name="VAR">photocell</field>
<value name="VALUE">
<block type="photocell_new">
<field name="pin_">5</field>
</block>
</value>
</block>
<block type="photocell_detected"></block>
<block type="photocell_val"></block>
<block type="photocell_stop"></block>
</category>
<category id="catSoil">
<block type="variables_set">
<field name="VAR">soil</field>
<value name="VALUE">
<block type="soil_new">
<field name="pin_">5</field>
</block>
</value>
</block>
<block type="soil_detected"></block>
<block type="soil_val"></block>
<block type="soil_stop"></block>
</category>
<category id="catADXL345" tags="fly,mark1">
<block type="variables_set">
<field name="VAR">adxl</field>
<value name="VALUE">
<block type="adxl345_new">
<field name="sda_">4</field>
<field name="scl_">5</field>
</block>
</value>
</block>
<block type="adxl345_on"></block>
<block type="adxl345_val"></block>
<block type="adxl345_off"></block>
</category>
<sep></sep>
</category>
<category id="catMenu4">
<category id="catRFID">
<block type="variables_set">
<field name="VAR">rfid</field>
<value name="VALUE">
<block type="rfid_new">
<field name="sda_">10</field>
<field name="sck_">13</field>
<field name="mosi_">11</field>
<field name="miso_">12</field>
</block>
</value>
</block>
<block type="rfid_enter"></block>
<block type="rfid_uid"></block>
<block type="rfid_if">
<value name="uid_">
<block type="text">
<field name="TEXT">...</field>
</block>
</value>
</block>
<block type="rfid_leave"></block>
<block type="rfid_stopread"></block>
</category>
<sep></sep>
</category>
<category id="catMenu5">
<category id="catServo" tags="fly,mark1">
<block type="variables_set">
<field name="VAR">servo</field>
<value name="VALUE">
<block type="servo_new">
<field name="pin_">10</field>
</block>
</value>
</block>
<block type="servo_angle"></block>
<block type="servo_angle_set">
<value name="angle_">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</category>
<category id="catCarTest">
<block type="car_test_new">
<value name="var_">
<block type="variables_get">
<field name="VAR">car</field>
</block>
</value>
<field name="rf_">6</field>
<field name="rb_">7</field>
<field name="lf_">8</field>
<field name="lb_">9</field>
</block>
<block type="car_test_move"></block>
<block type="car_speed">
<value name="speed_">
<block type="math_number">
<field name="NUM">100</field>
</block>
</value>
</block>
</category>
<category id="catFish" tags="esp">
<block type="variables_set">
<field name="VAR">fish</field>
<value name="VALUE">
<block type="fish_new"></block>
</value>
</block>
<block type="fish_angle">
<field name="fish_">fish</field>
<field name="angle_">soar</field>
<value name="secs_">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
<block type="fish_move">
<field name="fish_">fish</field>
<field name="direction_"></field>
<value name="secs_">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
<field name="speed_">2</field>
</block>
</category>
<sep></sep>
</category>
<category id="catDatabase">
<category id="catFirebase">
<block type="data_firebase_url">
<value name="name_">
<block type="variables_get">
<field name="VAR">myFirebase</field>
</block>
</value>
<value name="url_">
<block type="text">
<field name="TEXT">https://</field>
</block>
</value>
</block>
<block type="data_firebase_write"></block>
<block type="data_firebase_read">
<value name="read_">
<block type="variables_get">
<field name="VAR">val</field>
</block>
</value>
</block>
<block type="new_object"></block>
<block type="data_firebase_clear"></block>
</category>
<sep></sep>
</category>
<sep></sep>
<category id="catDemoText" demo="demo-area-01">
<block type="demo_show_text"></block>
<block type="demo_text_size">
<value name="size_">
<block type="math_number">
<field name="NUM">20</field>
</block>
</value>
</block>
<block type="demo_text_lineheight">
<value name="lineheight_">
<block type="math_number">
<field name="NUM">20</field>
</block>
</value>
</block>
<block type="demo_text_color">
<value name="color_">
<block type="colour_picker">
<field name="COLOUR">#ff0000</field>
</block>
</value>
</block>
</category>
<category id="catDemoLight" demo="demo-area-02">
<block type="demo_light_click"></block>
<block type="demo_light_state"></block>
<block type="demo_light_ifelse"></block>
<block type="demo_light_toggle"></block>
</category>
<category id="catDemoImage" demo="demo-area-03">
<block type="demo_image_url">
<value name="url_">
<block type="text">
<field name="TEXT">URL</field>
</block>
</value>
</block>
<block type="demo_image_size">
<value name="w_">
<block type="math_number">
<field name="NUM">200</field>
</block>
</value>
<value name="h_">
<block type="math_number">
<field name="NUM">200</field>
</block>
</value>
</block>
<block type="demo_image_rotate">
<value name="deg_">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
</block>
<block type="demo_image_position">
<value name="position_">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
</block>
<block type="demo_image_opacity">
<value name="opacity_">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</category>
<category id="catDemoArea" demo="demo-area-04">
<block type="demo_area_input"></block>
<block type="demo_area_input_color"></block>
<block type="demo_area_color">
<value name="color_">
<block type="colour_picker">
<field name="COLOUR">#ff0000</field>
</block>
</value>
</block>
</category>
<category id="catDemoButton" demo="demo-area-05">
<block type="demo_button_click"></block>
</category>
<category id="catDemoRange" demo="demo-area-06">
<block type="demo_range_set">
<value name="min_">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="max_">
<block type="math_number">
<field name="NUM">180</field>
</block>
</value>
<value name="step_">
<block type="math_number">
<field name="NUM">5</field>
</block>
</value>
<value name="value_">
<block type="math_number">
<field name="NUM">90</field>
</block>
</value>
</block>
<block type="demo_range_show"></block>
<block type="demo_range_input_value"></block>
</category>
<category id="catDemoYoutube" demo="demo-area-07">
<block type="demo_youtube">
<value name="name_">
<block type="variables_get">
<field name="VAR">youtube</field>
</block>
</value>
</block>
<block type="demo_youtube_id">
<value name="id_">
<block type="text">
<field name="TEXT">...</field>
</block>
</value>
</block>
<block type="demo_youtube_control"></block>
<block type="demo_youtube_volume">
<value name="volume_">
<block type="math_number">
<field name="NUM">100</field>
</block>
</value>
</block>
<block type="demo_youtube_speed"></block>
<block type="demo_youtube_seekto">
<value name="sec_">
<block type="math_number">
<field name="NUM">30</field>
</block>
</value>
</block>
<block type="demo_youtube_callback"></block>
<block type="demo_youtube_status"></block>
<block type="demo_youtube_currenttime"></block>
<block type="demo_youtube_listcontrol"></block>
<block type="demo_youtube_listnum">
<value name="num_">
<block type="math_number">
<field name="NUM">1</field>
</block>
</value>
</block>
</category>
<category id="catDemoTracking" demo="demo-area-08">
<block type="demo_tracking">
<value name="var_">
<block type="variables_get">
<field name="VAR">track</field>
</block>
</value>
</block>
<block type="demo_tracking_action"></block>
<block type="demo_tracking_val"></block>
<block type="demo_tracking_face"></block>
</category>
<category id="catDemoController" demo="demo-area-09">
<block type="demo_controller"></block>
<block type="demo_controller_show"></block>
<block type="demo_controller_showcolor">
<value name="color_">
<block type="colour_picker">
<field name="COLOUR">#ff0000</field>
</block>
</value>
</block>
<block type="demo_controller_range">
<value name="min_">
<block type="math_number">
<field name="NUM">0</field>
</block>
</value>
<value name="max_">
<block type="math_number">
<field name="NUM">180</field>
</block>
</value>
<value name="step_">
<block type="math_number">
<field name="NUM">5</field>
</block>
</value>
<value name="default_">
<block type="math_number">
<field name="NUM">90</field>
</block>
</value>
</block>
<block type="demo_controller_range_value"></block>
</category>
</xml>