UNPKG

@mixly/arduino-avr

Version:
1,017 lines (967 loc) 296 kB
import * as Blockly from 'blockly/core'; import * as layui from 'layui'; import $ from 'jquery'; import { Profile, LayerExt, XML, MFile } from 'mixly'; const { layer } = layui; const DISPLAY_HUE = 180; const DRAWFIll = [ [Blockly.Msg.OLED_HOLLOW, "draw"], [Blockly.Msg.OLED_SOLID, "fill"] ]; export const group_lcd_init2 = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput('device') .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_SETUP) .appendField(Blockly.Msg.MIXLY_DF_LCD) .appendField(new Blockly.FieldDropdown([['1602', '16,2'], ['2004', '20,4']]), 'TYPE') .appendField(new Blockly.FieldTextInput('mylcd'), 'VAR') .appendField(Blockly.Msg.MIXLY_LCD_ADDRESS); this.appendDummyInput("") .appendField('SCL') .appendField(Blockly.Msg.MIXLY_PIN) .appendField(new Blockly.FieldDropdown(Profile.default.digital), "SCL") .appendField('SDA') .appendField(Blockly.Msg.MIXLY_PIN) .appendField(new Blockly.FieldDropdown(Profile.default.digital), "SDA"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_LCD_INIT2); this.setFieldValue(Profile.default.SCL[0][1], "SCL"); this.setFieldValue(Profile.default.SDA[0][1], "SDA"); } }; export const group_lcd_init3 = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput() .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_SETUP) .appendField(Blockly.Msg.MIXLY_DF_LCD) .appendField(new Blockly.FieldDropdown([['1602', '16,2'], ['2004', '20,4']]), 'TYPE') .appendField(new Blockly.FieldTextInput('mylcd'), 'VAR') .setAlign(Blockly.inputs.Align.LEFT); this.appendDummyInput() .appendField('RS') .appendField(new Blockly.FieldDropdown(Profile.default.digital), "RS") .appendField('EN') .appendField(new Blockly.FieldDropdown(Profile.default.digital), "EN") .appendField('D4') .appendField(new Blockly.FieldDropdown(Profile.default.digital), "D4") .appendField('D5') .appendField(new Blockly.FieldDropdown(Profile.default.digital), "D5") .appendField('D6') .appendField(new Blockly.FieldDropdown(Profile.default.digital), "D6") .appendField('D7') .appendField(new Blockly.FieldDropdown(Profile.default.digital), "D7"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_LCD_INIT3); } }; export const group_lcd_print = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput("TEXT", String) .setCheck([String, Number]) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_DF_LCD) .appendField(new Blockly.FieldTextInput('mylcd'), 'VAR') .appendField(Blockly.Msg.MIXLY_LCD_PRINT1); this.appendValueInput("TEXT2", String) .setCheck([String, Number]) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_LCD_PRINT2); /* this.appendValueInput("TEXT3", String) .setCheck([String,Number]) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_LCD_PRINT3); this.appendValueInput("TEXT4", String) .setCheck([String,Number]) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_LCD_PRINT4); */ this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_LCD_PRINT); } }; export const group_lcd_print2 = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput("row", Number) .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_DF_LCD) .appendField(new Blockly.FieldTextInput('mylcd'), 'VAR') .appendField(Blockly.Msg.MIXLY_LCD_ROW); this.appendValueInput("column", Number) .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_LCD_COLUMN); this.appendValueInput("TEXT", String) .setCheck([String, Number]) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_LCD_PRINT); this.setPreviousStatement(true, null); this.setInputsInline(true); this.setNextStatement(true, null); this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_LCD_PRINT2.replace('%1', Blockly.Arduino.valueToCode(this, 'row', Blockly.Arduino.ORDER_ATOMIC)).replace('%2', Blockly.Arduino.valueToCode(this, 'column', Blockly.Arduino.ORDER_ATOMIC))); } }; export const group_lcd_power = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput() .appendField(Blockly.Msg.MIXLY_DF_LCD) .appendField(new Blockly.FieldTextInput('mylcd'), 'VAR') .appendField(new Blockly.FieldDropdown([ [Blockly.Msg.MIXLY_ON, "display"], [Blockly.Msg.MIXLY_OFF, "noDisplay"], [Blockly.Msg.MIXLY_LCD_STAT_CURSOR, "cursor"], [Blockly.Msg.MIXLY_LCD_STAT_NOCURSOR, "noCursor"], [Blockly.Msg.MIXLY_LCD_STAT_BLINK, "blink"], [Blockly.Msg.MIXLY_LCD_STAT_NOBLINK, "noBlink"], [Blockly.Msg.MIXLY_LCD_STAT_CLEAR, "clear"], [Blockly.Msg.MIXLY_LCD_NOBACKLIGHT, "noBacklight"], [Blockly.Msg.MIXLY_LCD_BACKLIGHT, "backlight"] ]), "STAT"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_LCD_POWER); } }; //RGB has been moved to actuator export const display_4digitdisplay_power = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput() .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY + "_TM1650") .appendField(new Blockly.FieldDropdown([ [Blockly.Msg.MIXLY_ON, "displayOn"], [Blockly.Msg.MIXLY_OFF, "displayOff"], [Blockly.Msg.MIXLY_LCD_STAT_CLEAR, "clear"] ]), "STAT"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_4digitdisplay_power); } }; export const display_4digitdisplay_displayString = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput() .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY + "_TM1650") this.appendValueInput("VALUE") .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.OLED_DRAWSTR); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_4digitdisplay_displayString); } }; export const display_4digitdisplay_showDot = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput() .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY + "_TM1650") .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER1) .appendField(new Blockly.FieldDropdown([["1", "0"], ["2", "1"], ["3", "2"], ["4", "3"]]), "NO") .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_NOMBER2) .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_DOT) .appendField(new Blockly.FieldDropdown([ [Blockly.Msg.MIXLY_4DIGITDISPLAY_ON, "true"], [Blockly.Msg.MIXLY_4DIGITDISPLAY_OFF, "false"] ]), "STAT"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(Blockly.Msg.MIXLY_TOOLTIP_4digitdisplay_showDot); } }; export const display_TM1637_init = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY + "TM1637") .appendField(new Blockly.FieldTextInput("display"), "NAME") .appendField(Blockly.Msg.MIXLY_SETUP) .appendField('CLK') .appendField(Blockly.Msg.MIXLY_PIN) .appendField(new Blockly.FieldDropdown(Profile.default.digital), "CLK") .appendField('DIO') .appendField(Blockly.Msg.MIXLY_PIN) .appendField(new Blockly.FieldDropdown(Profile.default.digital), "DIO"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(Blockly.Msg.MIXLY_4DIGITDISPLAY_TM1637_TIP); this.setHelpUrl(''); // this.setFieldValue("2", "CLK"); // this.setFieldValue("4", "DIO"); } }; export const display_TM1637_displyPrint = { init: function () { this.setColour(DISPLAY_HUE); this.appendValueInput("VALUE") .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY + "TM1637") .appendField(new Blockly.FieldTextInput("display"), "NAME") .appendField(Blockly.Msg.OLEDDISPLAY); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(Blockly.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYSTRING_TIP); } }; export const display_TM1637_displayTime = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY + "TM1637") .appendField(new Blockly.FieldTextInput("display"), "NAME") .appendField(Blockly.Msg.MIXLY_SHOW_FACE_TIME); this.appendValueInput("hour") .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_HOUR); this.appendValueInput("minute") .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_MINUTE); // .appendField(new Blockly.FieldDropdown([[Blockly.Msg.MIXLY_ON, "displayOn"], [Blockly.Msg.MIXLY_OFF, "displayOff"], [Blockly.Msg.MIXLY_LCD_STAT_CLEAR, "clear"]]), "STAT"); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_DISPLAY_TM1637_Time_Point) .appendField(new Blockly.FieldDropdown([ [Blockly.Msg.MIXLY_ON, "true"], [Blockly.Msg.MIXLY_OFF, "false"] ]), "STAT"); this.setInputsInline(true); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(Blockly.Msg.MIXLY_4DIGITDISPLAY_TM1637_DISPLAYTIME_TOOLTIP); } }; export const display_TM1637_Brightness = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY + "TM1637") .appendField(new Blockly.FieldTextInput("display"), "NAME") .appendField(Blockly.Msg.MIXLY_MICROBIT_JS_MONITOR_SET_BRIGHTNESS); this.appendValueInput("Brightness") .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT); this.setTooltip(Blockly.Msg.MIXLY_4DIGITDISPLAY_4DIGITDISPLAY_BRIGHTNESS_TOOLTIP); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_4DIGITDISPLAY_TM1637_BRIGHTNESS); } }; export const display_TM1637_clearDisplay = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput() .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY + "TM1637") .appendField(new Blockly.FieldTextInput("display"), "NAME") .appendField(new Blockly.FieldDropdown([ [Blockly.Msg.MIXLY_LCD_STAT_CLEAR, "clear"], [Blockly.Msg.MIXLY_LCD_STAT_BLINK, "blink"], [Blockly.Msg.MIXLY_ON, "on"], [Blockly.Msg.MIXLY_OFF, "off"] ]), "STAT"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setTooltip(Blockly.Msg.MIXLY_4DIGITDISPLAY_TM1637_CLEARDISPLAY); } }; //HT16K33点阵屏幕初始化 export const HT16K33_Init = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_INIT); // this.appendDummyInput("") // .appendField(Blockly.Msg.MIXLY_MATRIX_NAME) // .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName'); this.appendDummyInput("") // .appendField(Blockly.Msg.MIXLY_4DIGITDISPLAY_TM1637_INIT) .appendField('SCL') .appendField(Blockly.Msg.MIXLY_PIN) .appendField(new Blockly.FieldDropdown(Profile.default.digital), "SCL") .appendField('SDA') .appendField(Blockly.Msg.MIXLY_PIN) .appendField(new Blockly.FieldDropdown(Profile.default.digital), "SDA"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_INIT); this.setFieldValue(Profile.default.SCL[0][1], "SCL"); this.setFieldValue(Profile.default.SDA[0][1], "SDA"); } }; //MAX7219点阵屏幕初始化 export const MAX7219_init = { init: function () { this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_MAX7219_INIT); // this.appendDummyInput("") // .appendField(Blockly.Msg.MIXLY_MATRIX_NAME) // .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName'); this.appendValueInput("PIN1") .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField("DIN(MOSI)") .appendField(Blockly.Msg.MIXLY_PIN); this.appendValueInput("PIN2") .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField("CS") .appendField(Blockly.Msg.MIXLY_PIN); this.appendValueInput("PIN3") .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField("CLK(SCK)") .appendField(Blockly.Msg.MIXLY_PIN); this.appendValueInput("hDisplays") .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_MAX7219_HDISPALY); this.appendValueInput("vDisplays") .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_MAX7219_VDISPALY); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setColour(DISPLAY_HUE); this.setInputsInline(false); this.setTooltip(Blockly.Msg.MAX7219_INIT_TOOLTIP); this.setHelpUrl(''); } }; const MATRIX_TYPES = [['MAX7219', 'MAX7219'], ['HT16K33', 'HT16K33']]; //点阵屏显示点 export const display_Matrix_DrawPixel = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_MATRIX_TYPE) .appendField(new Blockly.FieldDropdown(MATRIX_TYPES), 'TYPE'); // this.appendDummyInput("") // .appendField(Blockly.Msg.MIXLY_MATRIX_NAME) // .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName'); this.appendValueInput('XVALUE') .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_X); this.appendValueInput("YVALUE") .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_Y); this.appendValueInput("STAT") .appendField(Blockly.Msg.MIXLY_STAT) .setCheck([Number, Boolean]); this.appendDummyInput("") .appendField(new Blockly.FieldDropdown([ [Blockly.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW, "ON"], [Blockly.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE, "OFF"] ]), "WRITE"); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(); } }; //点阵屏 旋转变量 const display_Rotation_NUM = [ [Blockly.Msg.MIXLY_0DEGREE, "0"], [Blockly.Msg.MIXLY_90DEGREE, "3"], [Blockly.Msg.MIXLY_180DEGREE, "2"], [Blockly.Msg.MIXLY_270DEGREE, "1"] ]; //点阵屏旋转 export const display_Max7219_Rotation = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_MATRIX_TYPE) .appendField('MAX7219'); // this.appendDummyInput("") // .appendField(Blockly.Msg.MIXLY_MATRIX_NAME) // .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName'); this.appendValueInput("NO") .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_MAX7219_NO); this.appendDummyInput("") .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE) .appendField(new Blockly.FieldDropdown(display_Rotation_NUM), "Rotation_TYPE"); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION); } }; //点阵屏旋转 export const display_Max7219_setPosition = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_MATRIX_TYPE) .appendField('MAX7219'); // this.appendDummyInput("") // .appendField(Blockly.Msg.MIXLY_MATRIX_NAME) // .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName'); this.appendValueInput("NO") .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_MAX7219_NO); this.appendValueInput("X") .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField("X"); this.appendValueInput("Y") .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField("Y"); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION); } }; //点阵屏旋转 export const display_HT16K33_Rotation = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_MATRIX_TYPE) .appendField('HT16K33'); // this.appendDummyInput("") // .appendField(Blockly.Msg.MIXLY_MATRIX_NAME) // .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName'); this.appendDummyInput("") .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE) .appendField(new Blockly.FieldDropdown(display_Rotation_NUM), "Rotation_TYPE"); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_ROTATION); } }; //点阵屏滚动显示字符 export const display_Matrix_TEXT = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_MATRIX_TYPE) .appendField(new Blockly.FieldDropdown(MATRIX_TYPES), 'TYPE'); this.appendValueInput("TEXT", String) .setCheck([Number, String]) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.texttodisplay); this.appendValueInput("Speed") .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_SPEED); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_TEXT); } }; //点阵屏滚动显示文本 export const display_Matrix_print = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_MATRIX_TYPE) .appendField(new Blockly.FieldDropdown(MATRIX_TYPES), 'TYPE'); this.appendValueInput("TEXT", String) .setCheck([Number, String]) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.texttodisplay); this.appendDummyInput("") .appendField(new Blockly.FieldDropdown([ [Blockly.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW, "ON"], [Blockly.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE, "OFF"] ]), "WRITE"); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(true); this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_TEXT); } }; //点阵屏显示_显示图案 export const display_Matrix_DisplayChar = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_MATRIX_TYPE) .appendField(new Blockly.FieldDropdown(MATRIX_TYPES), 'TYPE') .appendField(new Blockly.FieldDropdown([ [Blockly.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW, "ON"], [Blockly.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE, "OFF"] ]), "WRITE"); // this.appendDummyInput("") // .appendField(Blockly.Msg.MIXLY_MATRIX_NAME) // .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName'); this.appendValueInput("NO") .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_MAX7219_NO); this.appendValueInput("LEDArray") .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_PICARRAY); this.setPreviousStatement(true, null); this.setNextStatement(true, null); this.setInputsInline(false); this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_DISPLAYCHAR); } }; //点阵屏显示_图案数组 export const display_Matrix_LedArray = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR) .appendField(new Blockly.FieldTextInput("LedArray1"), "VAR"); this.appendDummyInput("") .appendField(new Blockly.FieldCheckbox("FALSE"), "a81") .appendField(new Blockly.FieldCheckbox("FALSE"), "a82") .appendField(new Blockly.FieldCheckbox("FALSE"), "a83") .appendField(new Blockly.FieldCheckbox("FALSE"), "a84") .appendField(new Blockly.FieldCheckbox("FALSE"), "a85") .appendField(new Blockly.FieldCheckbox("FALSE"), "a86") .appendField(new Blockly.FieldCheckbox("FALSE"), "a87") .appendField(new Blockly.FieldCheckbox("FALSE"), "a88"); this.appendDummyInput("") .appendField(new Blockly.FieldCheckbox("FALSE"), "a71") .appendField(new Blockly.FieldCheckbox("FALSE"), "a72") .appendField(new Blockly.FieldCheckbox("FALSE"), "a73") .appendField(new Blockly.FieldCheckbox("FALSE"), "a74") .appendField(new Blockly.FieldCheckbox("FALSE"), "a75") .appendField(new Blockly.FieldCheckbox("FALSE"), "a76") .appendField(new Blockly.FieldCheckbox("FALSE"), "a77") .appendField(new Blockly.FieldCheckbox("FALSE"), "a78"); this.appendDummyInput("") .appendField(new Blockly.FieldCheckbox("FALSE"), "a61") .appendField(new Blockly.FieldCheckbox("FALSE"), "a62") .appendField(new Blockly.FieldCheckbox("FALSE"), "a63") .appendField(new Blockly.FieldCheckbox("FALSE"), "a64") .appendField(new Blockly.FieldCheckbox("FALSE"), "a65") .appendField(new Blockly.FieldCheckbox("FALSE"), "a66") .appendField(new Blockly.FieldCheckbox("FALSE"), "a67") .appendField(new Blockly.FieldCheckbox("FALSE"), "a68"); this.appendDummyInput("") .appendField(new Blockly.FieldCheckbox("FALSE"), "a51") .appendField(new Blockly.FieldCheckbox("FALSE"), "a52") .appendField(new Blockly.FieldCheckbox("FALSE"), "a53") .appendField(new Blockly.FieldCheckbox("FALSE"), "a54") .appendField(new Blockly.FieldCheckbox("FALSE"), "a55") .appendField(new Blockly.FieldCheckbox("FALSE"), "a56") .appendField(new Blockly.FieldCheckbox("FALSE"), "a57") .appendField(new Blockly.FieldCheckbox("FALSE"), "a58"); this.appendDummyInput("") .appendField(new Blockly.FieldCheckbox("FALSE"), "a41") .appendField(new Blockly.FieldCheckbox("FALSE"), "a42") .appendField(new Blockly.FieldCheckbox("FALSE"), "a43") .appendField(new Blockly.FieldCheckbox("FALSE"), "a44") .appendField(new Blockly.FieldCheckbox("FALSE"), "a45") .appendField(new Blockly.FieldCheckbox("FALSE"), "a46") .appendField(new Blockly.FieldCheckbox("FALSE"), "a47") .appendField(new Blockly.FieldCheckbox("FALSE"), "a48"); this.appendDummyInput("") .appendField(new Blockly.FieldCheckbox("FALSE"), "a31") .appendField(new Blockly.FieldCheckbox("FALSE"), "a32") .appendField(new Blockly.FieldCheckbox("FALSE"), "a33") .appendField(new Blockly.FieldCheckbox("FALSE"), "a34") .appendField(new Blockly.FieldCheckbox("FALSE"), "a35") .appendField(new Blockly.FieldCheckbox("FALSE"), "a36") .appendField(new Blockly.FieldCheckbox("FALSE"), "a37") .appendField(new Blockly.FieldCheckbox("FALSE"), "a38"); this.appendDummyInput("") .appendField(new Blockly.FieldCheckbox("FALSE"), "a21") .appendField(new Blockly.FieldCheckbox("FALSE"), "a22") .appendField(new Blockly.FieldCheckbox("FALSE"), "a23") .appendField(new Blockly.FieldCheckbox("FALSE"), "a24") .appendField(new Blockly.FieldCheckbox("FALSE"), "a25") .appendField(new Blockly.FieldCheckbox("FALSE"), "a26") .appendField(new Blockly.FieldCheckbox("FALSE"), "a27") .appendField(new Blockly.FieldCheckbox("FALSE"), "a28"); this.appendDummyInput("") .appendField(new Blockly.FieldCheckbox("FALSE"), "a11") .appendField(new Blockly.FieldCheckbox("FALSE"), "a12") .appendField(new Blockly.FieldCheckbox("FALSE"), "a13") .appendField(new Blockly.FieldCheckbox("FALSE"), "a14") .appendField(new Blockly.FieldCheckbox("FALSE"), "a15") .appendField(new Blockly.FieldCheckbox("FALSE"), "a16") .appendField(new Blockly.FieldCheckbox("FALSE"), "a17") .appendField(new Blockly.FieldCheckbox("FALSE"), "a18"); this.setOutput(true, Number); this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_LEDARRAY); } }; export const display_matrix_bitmap = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_ARRAYVAR) .appendField(new Blockly.FieldTextInput("LedArray1"), "VAR"); this.appendDummyInput("") .setAlign(Blockly.inputs.Align.CENTRE) .appendField(new Blockly.FieldBitmap([ [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0] ], null, { filledColor: '#000', emptyColor: '#5ba5a5', bgColor: '#e5e7f1' }), 'BITMAP'); this.setOutput(true, Number); this.setTooltip(""); } }; //点阵屏亮度 export const display_Matrix_Brightness = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_MATRIX_TYPE) .appendField(new Blockly.FieldDropdown(MATRIX_TYPES), 'TYPE'); // this.appendDummyInput("") // .appendField(Blockly.Msg.MIXLY_MATRIX_NAME) // .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName'); this.appendValueInput("Brightness") .setCheck(Number) .setAlign(Blockly.inputs.Align.RIGHT) .appendField(Blockly.Msg.MIXLY_BRIGHTNESS); this.setTooltip(Blockly.Msg.MIXLY_MAX7219_BRIGHTNESS_TOOLTIP); this.setPreviousStatement(true); this.setNextStatement(true); this.setInputsInline(true); } }; var MAX7219_FILLSCREEN_SELECT = [ [Blockly.Msg.MAX7219_FILLSCREEN_ON, "fillScreen(1)"], [Blockly.Msg.MAX7219_FILLSCREEN_OFF, "fillScreen(0)"], //[Blockly.Msg.MAX7219_SHUTDOWN_ON, "shutdown(1)"], // [Blockly.Msg.MAX7219_SHUTDOWN_OFF, "shutdown(0)"] ]; //点阵屏 全屏亮灭 export const display_Matrix_fillScreen = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_MATRIX_TYPE) .appendField(new Blockly.FieldDropdown(MATRIX_TYPES), 'TYPE'); // this.appendDummyInput("") // .appendField(Blockly.Msg.MIXLY_MATRIX_NAME) // .appendField(new Blockly.FieldTextInput('myMatrix'), 'matrixName'); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_STAT); this.appendDummyInput("") .setAlign(Blockly.inputs.Align.RIGHT) .appendField(new Blockly.FieldDropdown(MAX7219_FILLSCREEN_SELECT), "FILLSCREEN_TYPE"); this.appendDummyInput("") .appendField(new Blockly.FieldDropdown([ [Blockly.Msg.MIXLY_DISPLAY_MATRIX_WRITE_NOW, "ON"], [Blockly.Msg.MIXLY_DISPLAY_MATRIX_DONT_WRITE, "OFF"] ]), "WRITE"); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_HK16T33_POS); } }; //点阵屏预设图案 export const Matrix_img = { init: function () { this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_MAX7219_IMG) .appendField(new Blockly.FieldDropdown([ ["↑", "18181818db7e3c18"], ["↓", "183c7edb18181818"], ["←", "080c06ffff060c08"], ["→", "103060ffff603010"], ["♥", "183c7effffffe742"], ["▲", "00000000ff7e3c18"], ["▼", "183c7eff00000000"], ["◄", "080c0e0f0f0e0c08"], ["►", "103070f0f0703010"], ["△", "00000000ff422418"], ["▽", "182442ff00000000"], ["☺", "3c4299a581a5423c"], ["○", "3c4281818181423c"], ["◑", "3c72f1f1f1f1723c"], ["◐", "3c4e8f8f8f8f4e3c"], ["¥", "101010ff10ff2442"], ["Χ", "8142241818244281"], ["√", "0000010204885020"], ["□", "007e424242427e00"], ["▣", "007e425a5a427e00"], ["◇", "1824428181422418"], ["♀", "083e081c2222221c"], ["♂", "0e1b111b9ea0c0f0"], ["♪", "061f1e1010d07030"], ["✈", "203098ffff983020"], ["卍", "00f21212fe90909e"], ["卐", "009e9090fe1212f2"], ["|", "1010101010101010"], ["—", "000000ff00000000"], ["╱", "0102040810204080"], ["\", "8040201008040201"], ["大", "41221408087f0808"], ["中", "1010fe9292fe1010"], ["小", "0e08492a2a080808"], ["米", "00925438fe385492"], ["正", "7f0a0a3a08087f00"], ["囧", "ffa5a5bdc3a5a5ff"] ]), "img_"); this.setOutput(true); this.setTooltip(''); this.setColour(DISPLAY_HUE); this.setTooltip(Blockly.Msg.MIXLY_TOOPTIP_Matrix_MAX7219_PREDEFARR); this.setHelpUrl(''); } }; //点阵屏 设置生效 export const display_Matrix_write = { init: function () { this.setColour(DISPLAY_HUE); this.appendDummyInput("") .appendField(Blockly.Msg.MIXLY_MATRIX_TYPE) .appendField(new Blockly.FieldDropdown(MATRIX_TYPES), 'TYPE') .appendField(Blockly.Msg.MIXLY_DISPLAY_MATRIX_WRITE); this.setInputsInline(true); this.setPreviousStatement(true); this.setNextStatement(true); } }; //OLED -based on U8G2 //显示-OLED-变量 const LINESELECT = [ [Blockly.Msg.OLED_HOR, "H"], [Blockly.Msg.OLED_VER, "V"] ]; const FRAMESELECT = [ [Blockly.Msg.OLED_HOLLOW, "drawFrame"], [Blockly.Msg.OLED_SOLID, "drawBox"] ]; const CIRCLESELECT = [ [Blockly.Msg.OLED_HOLLOW, "drawCircle"], [Blockly.Msg.OLED_SOLID, "drawDisc"] ]; const RADSELECT = [ [Blockly.Msg.OLED_HOLLOW, "drawRFrame"], [Blockly.Msg.OLED_SOLID, "drawRBox"] ]; //圆选择 const CIRCLEOPTELECT = [ [Blockly.Msg.OLED_WHOLE_CICILE, "U8G2_DRAW_ALL"], [Blockly.Msg.OLED_UP_R, "U8G2_DRAW_UPPER_RIGHT"], [Blockly.Msg.OLED_UP_L, "U8G2_DRAW_UPPER_LEFT"], [Blockly.Msg.OLED_LOW_R, "U8G2_DRAW_LOWER_RIGHT"], [Blockly.Msg.OLED_LOW_L, "U8G2_DRAW_LOWER_LEFT"] ]; //空心、实心椭圆 const ELLIPSESELECT = [ [Blockly.Msg.OLED_HOLLOW, "drawEllipse"], [Blockly.Msg.OLED_SOLID, "drawFilledEllipse"] ]; const EN_FONT_NAME = [ ["Times New Roman", "tim"], ["Helvetica", "helv"], ["ncen", "ncen"], ["courier new", "cour"] ]; const OLED_TYPE = [ ["SSD1306(128×64)", "SSD1306_128X64_NONAME"], ["SSD1306(128×32)", "SSD1306_128X32_UNIVISION"], ["SH1106(128×64)", "SH1106_128X64_NONAME"] ]; const U8G2_TYPE_SSD1306_NOKIA5110 = [ ["SSD1306(128×64)", "SSD1306_128X64_NONAME"], ["LCM12864", "ST7565_NHD_C12864"], ["NOKIA5110", "PCD8544_84X48"] ]; const ROTATION_TYPE = [ [Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE + " 0°", "U8G2_R0"], [Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE + " 90°", "U8G2_R1"], [Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE + " 180°", "U8G2_R2"], [Blockly.Msg.MIXLY_DISPLAY_MATRIX_ROTATE + " 270°", "U8G2_R3"], [Blockly.Msg.MIRROR, "U8G2_MIRROR"] ]; const EN_FONT_SIZE = [ ["08", "08"], ["10", "10"], ["12", "12"], ["14", "14"], ["18", "18"], ["24", "24"], ]; const EN_FONT_STYLE = [ ["常规", "R"], ["加粗", "B"] ]; const CN_FONT_NAME = [ [Blockly.Msg.OLED_FONT_chinese1, "_t_chinese1"], [Blockly.Msg.OLED_FONT_chinese2, "_t_chinese2"], [Blockly.Msg.OLED_FONT_chinese3, "_t_chinese3"], [Blockly.Msg.OLED_FONT_gb2312a, "_t_gb2312a"], [Blockly.Msg.OLED_FONT_gb2312b, "_t_gb2312b"], [Blockly.Msg.OLED_FONT_gb2312, "_t_gb2312"], ]; const CN_FONT_SIZE = [ ["12", "wqy12"], ["13", "wqy13"], ["14", "wqy14"], ["15", "wqy15"], ["16", "wqy16"], ]; const ICON_IMAGE = [ [{ 'src': require('../media/oled_icons/64.png'), 'width': 24, 'height': 24, 'alt': '64' }, '64'], [{ 'src': require('../media/oled_icons/65.png'), 'width': 24, 'height': 24, 'alt': '65' }, '65'], [{ 'src': require('../media/oled_icons/66.png'), 'width': 24, 'height': 24, 'alt': '66' }, '66'], [{ 'src': require('../media/oled_icons/67.png'), 'width': 24, 'height': 24, 'alt': '67' }, '67'], [{ 'src': require('../media/oled_icons/68.png'), 'width': 24, 'height': 24, 'alt': '68' }, '68'], [{ 'src': require('../media/oled_icons/69.png'), 'width': 24, 'height': 24, 'alt': '69' }, '69'], [{ 'src': require('../media/oled_icons/70.png'), 'width': 24, 'height': 24, 'alt': '70' }, '70'], [{ 'src': require('../media/oled_icons/71.png'), 'width': 24, 'height': 24, 'alt': '71' }, '71'], [{ 'src': require('../media/oled_icons/72.png'), 'width': 24, 'height': 24, 'alt': '72' }, '72'], [{ 'src': require('../media/oled_icons/73.png'), 'width': 24, 'height': 24, 'alt': '73' }, '73'], [{ 'src': require('../media/oled_icons/74.png'), 'width': 24, 'height': 24, 'alt': '74' }, '74'], [{ 'src': require('../media/oled_icons/75.png'), 'width': 24, 'height': 24, 'alt': '75' }, '75'], [{ 'src': require('../media/oled_icons/76.png'), 'width': 24, 'height': 24, 'alt': '76' }, '76'], [{ 'src': require('../media/oled_icons/77.png'), 'width': 24, 'height': 24, 'alt': '77' }, '77'], [{ 'src': require('../media/oled_icons/78.png'), 'width': 24, 'height': 24, 'alt': '78' }, '78'], [{ 'src': require('../media/oled_icons/79.png'), 'width': 24, 'height': 24, 'alt': '79' }, '79'], [{ 'src': require('../media/oled_icons/80.png'), 'width': 24, 'height': 24, 'alt': '80' }, '80'], [{ 'src': require('../media/oled_icons/81.png'), 'width': 24, 'height': 24, 'alt': '81' }, '81'], [{ 'src': require('../media/oled_icons/82.png'), 'width': 24, 'height': 24, 'alt': '82' }, '82'], [{ 'src': require('../media/oled_icons/83.png'), 'width': 24, 'height': 24, 'alt': '83' }, '83'], [{ 'src': require('../media/oled_icons/84.png'), 'width': 24, 'height': 24, 'alt': '84' }, '84'], [{ 'src': require('../media/oled_icons/85.png'), 'width': 24, 'height': 24, 'alt': '85' }, '85'], [{ 'src': require('../media/oled_icons/86.png'), 'width': 24, 'height': 24, 'alt': '86' }, '86'], [{ 'src': require('../media/oled_icons/87.png'), 'width': 24, 'height': 24, 'alt': '87' }, '87'], [{ 'src': require('../media/oled_icons/88.png'), 'width': 24, 'height': 24, 'alt': '88' }, '88'], [{ 'src': require('../media/oled_icons/89.png'), 'width': 24, 'height': 24, 'alt': '89' }, '89'], [{ 'src': require('../media/oled_icons/90.png'), 'width': 24, 'height': 24, 'alt': '90' }, '90'], [{ 'src': require('../media/oled_icons/91.png'), 'width': 24, 'height': 24, 'alt': '91' }, '91'], [{ 'src': require('../media/oled_icons/92.png'), 'width': 24, 'height': 24, 'alt': '92' }, '92'], [{ 'src': require('../media/oled_icons/93.png'), 'width': 24, 'height': 24, 'alt': '93' }, '93'], [{ 'src': require('../media/oled_icons/94.png'), 'width': 24, 'height': 24, 'alt': '94' }, '94'], [{ 'src': require('../media/oled_icons/95.png'), 'width': 24, 'height': 24, 'alt': '95' }, '95'], [{ 'src': require('../media/oled_icons/96.png'), 'width': 24, 'height': 24, 'alt': '96' }, '96'], [{ 'src': require('../media/oled_icons/97.png'), 'width': 24, 'height': 24, 'alt': '97' }, '97'], [{ 'src': require('../media/oled_icons/98.png'), 'width': 24, 'height': 24, 'alt': '98' }, '98'], [{ 'src': require('../media/oled_icons/99.png'), 'width': 24, 'height': 24, 'alt': '99' }, '99'], [{ 'src': require('../media/oled_icons/100.png'), 'width': 24, 'height': 24, 'alt': '100' }, '100'], [{ 'src': require('../media/oled_icons/101.png'), 'width': 24, 'height': 24, 'alt': '101' }, '101'], [{ 'src': require('../media/oled_icons/102.png'), 'width': 24, 'height': 24, 'alt': '102' }, '102'], [{ 'src': require('../media/oled_icons/103.png'), 'width': 24, 'height': 24, 'alt': '103' }, '103'], [{ 'src': require('../media/oled_icons/104.png'), 'width': 24, 'height': 24, 'alt': '104' }, '104'], [{ 'src': require('../media/oled_icons/105.png'), 'width': 24, 'height': 24, 'alt': '105' }, '105'], [{ 'src': require('../media/oled_icons/106.png'), 'width': 24, 'height': 24, 'alt': '106' }, '106'], [{ 'src': require('../media/oled_icons/107.png'), 'width': 24, 'height': 24, 'alt': '107' }, '107'], [{ 'src': require('../media/oled_icons/108.png'), 'width': 24, 'height': 24, 'alt': '108' }, '108'], [{ 'src': require('../media/oled_icons/109.png'), 'width': 24, 'height': 24, 'alt': '109' }, '109'], [{ 'src': require('../media/oled_icons/110.png'), 'width': 24, 'height': 24, 'alt': '110' }, '110'], [{ 'src': require('../media/oled_icons/111.png'), 'width': 24, 'height': 24, 'alt': '111' }, '111'], [{ 'src': require('../media/oled_icons/112.png'), 'width': 24, 'height': 24, 'alt': '112' }, '112'], [{ 'src': require('../media/oled_icons/113.png'), 'width': 24, 'height': 24, 'alt': '113' }, '113'], [{ 'src': require('../media/oled_icons/114.png'), 'width': 24, 'height': 24, 'alt': '114' }, '114'], [{ 'src': require('../media/oled_icons/115.png'), 'width': 24, 'height': 24, 'alt': '115' }, '115'], [{ 'src': require('../media/oled_icons/116.png'), 'width': 24, 'height': 24, 'alt': '116' }, '116'], [{ 'src': require('../media/oled_icons/117.png'), 'width': 24, 'height': 24, 'alt': '117' }, '117'], [{ 'src': require('../media/oled_icons/118.png'), 'width': 24, 'height': 24, 'alt': '118' }, '118'], [{ 'src': require('../media/oled_icons/119.png'), 'width': 24, 'height': 24, 'alt': '119' }, '119'], [{ 'src': require('../media/oled_icons/120.png'), 'width': 24, 'height': 24, 'alt': '120' }, '120'], [{ 'src': require('../media/oled_icons/121.png'), 'width': 24, 'height': 24, 'alt': '121' }, '121'], [{ 'src': require('../media/oled_icons/122.png'), 'width': 24, 'height': 24, 'alt': '122' }, '122'], [{ 'src': require('../media/oled_icons/123.png'), 'width': 24, 'height': 24, 'alt': '123' }, '123'], [{ 'src': require('../media/oled_icons/124.png'), 'width': 24, 'height': 24, 'alt': '124' }, '124'], [{ 'src': require('../media/oled_icons/125.png'), 'width': 24, 'height': 24, 'alt': '125' }, '125'], [{ 'src': require('../media/oled_icons/126.png'), 'width': 24, 'height': 24, 'alt': '126' }, '126'], [{ 'src': require('../media/oled_icons/127.png'), 'width': 24, 'height': 24, 'alt': '127' }, '127'], [{ 'src': require('../media/oled_icons/128.png'), 'width': 24, 'height': 24, 'alt': '128' }, '128'], [{ 'src': require('../media/oled_icons/129.png'), 'width': 24, 'height': 24, 'alt': '129' }, '129'], [{ 'src': require('../media/oled_icons/130.png'), 'width': 24, 'height': 24, 'alt': '130' }, '130'], [{ 'src': require('../media/oled_icons/131.png'), 'width': 24, 'height': 24, 'alt': '131' }, '131'], [{ 'src': require('../media/oled_icons/132.png'), 'width': 24, 'height': 24, 'alt': '132' }, '132'], [{ 'src': require('../media/oled_icons/133.png'), 'width': 24, 'height': 24, 'alt': '133' }, '133'], [{ 'src': require('../media/oled_icons/134.png'), 'width': 24, 'height': 24, 'alt': '134' }, '134'], [{ 'src': require('../media/oled_icons/135.png'), 'width': 24, 'height': 24, 'alt': '135' }, '135'], [{ 'src': require('../media/oled_icons/136.png'), 'width': 24, 'height': 24, 'alt': '136' }, '136'], [{ 'src': require('../media/oled_icons/137.png'), 'width': 24, 'height': 24, 'alt': '137' }, '137'], [{ 'src': require('../media/oled_icons/138.png'), 'width': 24, 'height': 24, 'alt': '138' }, '138'], [{ 'src': require('../media/oled_icons/139.png'), 'width': 24, 'height': 24, 'alt': '139' }, '139'], [{ 'src': require('../media/oled_icons/140.png'), 'width': 24, 'height': 24, 'alt': '140' }, '140'], [{ 'src': require('../media/oled_icons/141.png'), 'width': 24, 'height': 24, 'alt': '141' }, '141'], [{ 'src': require('../media/oled_icons/142.png'), 'width': 24, 'height': 24, 'alt': '142' }, '142'], [{ 'src': require('../media/oled_icons/143.png'), 'width': 24, 'height': 24, 'alt': '143' }, '143'], [{ 'src': require('../media/oled_icons/144.png'), 'width': 24, 'height': 24, 'alt': '144' }, '144'], [{ 'src': require('../media/oled_icons/145.png'), 'width': 24, 'height': 24, 'alt': '145' }, '145'], [{ 'src': require('../media/oled_icons/146.png'), 'width': 24, 'height': 24, 'alt': '146' }, '146'], [{ 'src': require('../media/oled_icons/147.png'), 'width': 24, 'height': 24, 'alt': '147' }, '147'], [{ 'src': require('../media/oled_icons/148.png'), 'width': 24, 'height': 24, 'alt': '148' }, '148'], [{ 'src': require('../media/oled_icons/149.png'), 'width': 24, 'height': 24, 'alt': '149' }, '149'], [{ 'src': require('../media/oled_icons/150.png'), 'width': 24, 'height': 24, 'alt': '150' }, '150'], [{ 'src': require('../media/oled_icons/151.png'), 'width': 24, 'height': 24, 'alt': '151' }, '151'], [{ 'src': require('../media/oled_icons/152.png'), 'width': 24, 'height': 24, 'alt': '152' }, '152'], [{ 'src': require('../media/oled_icons/153.png'), 'width': 24, 'height': 24, 'alt': '153' }, '153'], [{ 'src': require('../media/oled_icons/154.png'), 'width': 24, 'height': 24, 'alt': '154' }, '154'], [{ 'src': require('../media/oled_icons/155.png'), 'width': 24, 'height': 24, 'alt': '155' }, '155'], [{ 'src': require('../media/oled_icons/156.png'), 'width': 24, 'height': 24, 'alt': '156' }, '156'], [{ 'src': require('../media/oled_icons/157.png'), 'width': 24, 'height': 24, 'alt': '157' }, '157'], [{ 'src': require('../media/oled_icons/158.png'), 'width': 24, 'height': 24, 'alt': '158' }, '158'], [{ 'src': require('../media/oled_icons/159.png'), 'width': 24, 'height': 24, 'alt': '159' }, '159'], [{ 'src': require('../media/oled_icons/160.png'), 'width': 24, 'height': 24, 'alt': '160' }, '160'], [{ 'src': require('../media/oled_icons/161.png'), 'width': 24, 'height': 24, 'alt': '161' }, '161'], [{ 'src': require('../media/oled_icons/162.png'), 'width': 24, 'height': 24, 'alt': '162' }, '162'], [{ 'src': require('../media/oled_icons/163.png'), 'width': 24, 'height': 24, 'alt': '163' }, '163'], [{ 'src': require('../media/oled_icons/164.png'), 'width': 24, 'height': 24, 'alt': '164' }, '164'], [{ 'src': require('../media/oled_icons/165.png'), 'width': 24, 'height': 24, 'alt': '165' }, '165'], [{ 'src': require('../media/oled_icons/166.png'), 'width': 24, 'height': 24, 'alt': '166' }, '166'], [{ 'src': require('../media/oled_icons/167.png'), 'width': 24, 'height': 24, 'alt': '167' }, '167'], [{ 'src': require('../media/oled_icons/168.png'), 'width': 24, 'height': 24, 'alt': '168' }, '168'], [{ 'src': require('../media/oled_icons/169.png'), 'width': 24, 'height': 24, 'alt': '169' }, '169'], [{ 'src': require('../media/oled_icons/170.png'), 'width': 24, 'height': 24, 'alt': '170' }, '170'], [{ 'src': require('../media/oled_icons/171.png'), 'width': 24, 'height': 24, 'alt': '171' }, '171'], [{ 'src': require('../media/oled_icons/172.png'), 'width': 24, 'height': 24, 'alt': '172' }, '172'], [{ 'src': require('../media/oled_icons/173.png'), 'width': 24, 'height': 24, 'alt': '173' }, '173'], [{ 'src': require('../media/oled_icons/174.png'), 'width': 24, 'height': 24, 'alt': '174' }, '174'], [{ 'src': require('../media/oled_icons/175.png'), 'width': 24, 'height': 24, 'alt': '175' }, '175'], [{ 'src': require('../media/oled_icons/176.png'), 'width': 24, 'height': 24, 'alt': '176' }, '176'], [{ 'src': require('../media/oled_icons/177.png'), 'width': 24, 'height': 24, 'alt': '177' }, '177'], [{ 'src': require('../media/oled_icons/178.png'), 'width': 24, 'height': 24, 'alt': '178' }, '178'], [{ 'src': require('../media/oled_icons/179.png'), 'width': 24, 'height': 24, 'alt': '179' }, '179'], [{ 'src': require('../media/oled_icons/180.png'), 'width': 24, 'height': 24, 'alt': '180' }, '180'], [{ 'src': require('../media/oled_icons/181.png'), 'width': 24, 'height': 24, 'alt': '181' }, '181'], [{ 'src': require('../media/oled_icons/182.png'), 'width': 24, 'height': 24, 'alt': '182' }, '182'], [{ 'src': requ