@@ -1906,37 +1906,8 @@ Blockly.JavaScript['max7219_animate_horse'] = function (block) {
19061906 var value_times_ = Blockly . JavaScript . valueToCode ( block , 'times_' , Blockly . JavaScript . ORDER_ATOMIC ) ;
19071907 var value_code_ = Blockly . JavaScript . valueToCode ( block , 'code_' , Blockly . JavaScript . ORDER_ATOMIC ) ;
19081908 var dropdown_state_ = '"' + block . getFieldValue ( 'state_' ) + '"' ;
1909- var functionName = Blockly . JavaScript . provideFunction_ (
1910- 'max7219_horse' , [ 'function ' + Blockly . JavaScript . FUNCTION_NAME_PLACEHOLDER_ +
1911- '(state,code) {' ,
1912- ' var b = code.split("");' ,
1913- ' var c;' ,
1914- ' var d = [];' ,
1915- ' if(code.length<16){' ,
1916- ' for(var i=0; i<(16-code.length); i++){' ,
1917- ' code = code + "0"' ,
1918- ' }' ,
1919- ' }' ,
1920- ' if(state=="left"){' ,
1921- ' for(var i=0; i<code.length/2; i++){' ,
1922- ' c = b.splice(0,2);' ,
1923- ' b.push(c[0],c[1]);' ,
1924- ' d[i] = b.join("");' ,
1925- ' d[i] = d[i].split("").splice(0,16).join("");' ,
1926- ' }' ,
1927- ' }else{' ,
1928- ' for(var i=0; i<code.length/2; i++){' ,
1929- ' c = b.splice((code.length-2),code.length);' ,
1930- ' b.unshift(c[0],c[1]);' ,
1931- ' d[i] = b.join("");' ,
1932- ' d[i] = d[i].split("").splice(0,16).join("");' ,
1933- ' }' ,
1934- ' }' ,
1935- ' return d;' ,
1936- '}'
1937- ] ) ;
19381909 var code = variable_name_ + '.animateStop();\n' +
1939- variable_name_ + '.animate(' + functionName + ' (' + dropdown_state_ + ',' + value_code_ + '),' + value_times_ + ');\n' ;
1910+ variable_name_ + '.animate(max7219_horse (' + dropdown_state_ + ',' + value_code_ + '),' + value_times_ + ');\n' ;
19401911 return code ;
19411912
19421913} ;
@@ -1997,246 +1968,20 @@ Blockly.JavaScript['max7219_88'] = function (block) {
19971968 return [ code , Blockly . JavaScript . ORDER_ATOMIC ] ;
19981969} ;
19991970
2000- function max7219_alphabet_object ( ) {
2001- var max7219_alphabet_object = {
2002- "A" : "00fc262226fc" ,
2003- "a" : "00f08888f880" ,
2004- "B" : "00fe929292fc" ,
2005- "b" : "00fe9090f0" ,
2006- "C" : "007cc6828282" ,
2007- "c" : "00f0909090" ,
2008- "D" : "00fe8282c67c" ,
2009- "d" : "00f09090fe" ,
2010- "E" : "00fe92929292" ,
2011- "e" : "00f8a8a8a8b8" ,
2012- "F" : "00fe12121202" ,
2013- "f" : "000008fe0a" ,
2014- "G" : "00fe829292f2" ,
2015- "g" : "0000bca4a4fc" ,
2016- "H" : "00fe101010fe" ,
2017- "h" : "00fe1010f0" ,
2018- "I" : "008282fe8282" ,
2019- "i" : "00f4" ,
2020- "J" : "00828282fe02" ,
2021- "j" : "000080f4" ,
2022- "K" : "00fe10284482" ,
2023- "k" : "00fe205088" ,
2024- "L" : "00fe80808080" ,
2025- "l" : "000000fe" ,
2026- "M" : "00fe02fc02fe" ,
2027- "m" : "00f010f010f0" ,
2028- "N" : "00fe0c30c0fe" ,
2029- "n" : "00f01010f0" ,
2030- "O" : "007cc682c67c" ,
2031- "o" : "00f09090f0" ,
2032- "P" : "00fe2222223e" ,
2033- "p" : "00fc24243c" ,
2034- "Q" : "007cc6a246bc" ,
2035- "q" : "003c2424fc80" ,
2036- "R" : "00fe2262e2be" ,
2037- "r" : "00f02010" ,
2038- "S" : "009e929292f2" ,
2039- "s" : "00b8a8a8e8" ,
2040- "T" : "000202fe0202" ,
2041- "t" : "0004fe84" ,
2042- "U" : "00fe808080fe" ,
2043- "u" : "00f08080f0" ,
2044- "V" : "003e60c0603e" ,
2045- "v" : "00708070" ,
2046- "W" : "00fe80fe80fe" ,
2047- "w" : "00f080f080f0" ,
2048- "X" : "00c66c106cc6" ,
2049- "x" : "008850205088" ,
2050- "Y" : "000e18f0180e" ,
2051- "y" : "00b8a0a0f8" ,
2052- "Z" : "00c2a2928a86" ,
2053- "z" : "00c8a8a898" ,
2054- "0" : "00fe8282fe" ,
2055- "1" : "0082fe80" ,
2056- "2" : "00f292929e" ,
2057- "3" : "00929292fe" ,
2058- "4" : "001e1010fe" ,
2059- "5" : "009e9292f2" ,
2060- "6" : "00fe9292f2" ,
2061- "7" : "00020202fe" ,
2062- "8" : "00fe9292fe" ,
2063- "9" : "009e9292fe" ,
2064- ":" : "0028" ,
2065- ";" : "008068" ,
2066- "." : "0080" ,
2067- "," : "008060" ,
2068- "-" : "00101010" ,
2069- "_" : "00808080" ,
2070- "~" : "00201010202010" ,
2071- "\"" : "000600060" ,
2072- "+" : "0010107c1010" ,
2073- "/" : "0080601804" ,
2074- "?" : "000601b10906" ,
2075- "$" : "005c54fe5474" ,
2076- "%" : "00089468102c5220" ,
2077- "!" : "00be" ,
2078- "<" : "00102844" ,
2079- ">" : "00442810" ,
2080- "(" : "003c42" ,
2081- ")" : "00423c" ,
2082- "[" : "007e42" ,
2083- "]" : "00427e" ,
2084- "*" : "004830fc3048" ,
2085- "=" : "00282828" ,
2086- "#" : "00287c287c28" ,
2087- "@" : "003844baaaba6458" ,
2088- " " : "00"
2089- } ;
2090- }
2091-
2092-
20931971Blockly . JavaScript [ 'max7219_val_alphabet' ] = function ( block ) {
20941972 var value_value_ = Blockly . JavaScript . valueToCode ( block , 'value_' , Blockly . JavaScript . ORDER_ATOMIC ) ;
2095- var functionName = Blockly . JavaScript . provideFunction_ (
2096- 'max7219_alphabet_' , [ 'function ' + Blockly . JavaScript . FUNCTION_NAME_PLACEHOLDER_ +
2097- '(a) {' ,
2098- max7219_alphabet_object . toString ( ) . replace ( 'function max7219_alphabet_object() {\n' , '' ) . replace ( '};\n' , '' ) + ';' ,
2099- ' var text="";' ,
2100- ' if(a.length>1){' ,
2101- ' for(var i=0; i<a.length; i++){' ,
2102- ' text = text + max7219_alphabet_object[a[i]];' ,
2103- ' }' ,
2104- ' }else{' ,
2105- ' text = max7219_alphabet_object[a];' ,
2106- ' }' ,
2107- ' var t = text.length;' ,
2108- ' if(t<16){' ,
2109- ' for(var i=0; i<(16-t); i++){' ,
2110- ' text = text + "0";' ,
2111- ' }' ,
2112- ' }' ,
2113- ' return text;' ,
2114- '}'
2115- ] ) ;
2116- var code = functionName + '(' + value_value_ + ')' ;
1973+ var code = 'max7219_alphabet(' + value_value_ + ')' ;
21171974 return [ code , Blockly . JavaScript . ORDER_FUNCTION_CALL ] ;
21181975} ;
21191976
2120- function max7219_number_object ( ) {
2121- var max7219_number_object = {
2122- "0" : "0000fe8282fe0000" ,
2123- "1" : "00000082fe800000" ,
2124- "2" : "0000f292929e0000" ,
2125- "3" : "0000929292fe0000" ,
2126- "4" : "00001e1010fe0000" ,
2127- "5" : "00009e9292f20000" ,
2128- "6" : "0000fe9292f20000" ,
2129- "7" : "0000020202fe0000" ,
2130- "8" : "0000fe9292fe0000" ,
2131- "9" : "00009e9292fe0000" ,
2132- "10" : "82fe8000fe82fe00" ,
2133- "11" : "82fe800082fe8000" ,
2134- "12" : "82fe8000f2929e00" ,
2135- "13" : "82fe80009292fe00" ,
2136- "14" : "82fe80001e10fe00" ,
2137- "15" : "82fe80009e92f200" ,
2138- "16" : "82fe8000fe92f200" ,
2139- "17" : "82fe80000202fe00" ,
2140- "18" : "82fe8000fe92fe00" ,
2141- "19" : "82fe80009e92fe00" ,
2142- "20" : "f2929e00fe82fe00" ,
2143- "21" : "f2929e0082fe8000" ,
2144- "22" : "f2929e00f2929e00" ,
2145- "23" : "f2929e009292fe00" ,
2146- "24" : "f2929e001e10fe00" ,
2147- "25" : "f2929e009e92f200" ,
2148- "26" : "f2929e00fe92f200" ,
2149- "27" : "f2929e000202fe00" ,
2150- "28" : "f2929e00fe92fe00" ,
2151- "29" : "f2929e009e92fe00" ,
2152- "30" : "9292fe00fe82fe00" ,
2153- "31" : "9292fe0082fe8000" ,
2154- "32" : "9292fe00f2929e00" ,
2155- "33" : "9292fe009292fe00" ,
2156- "34" : "9292fe001e10fe00" ,
2157- "35" : "9292fe009e92f200" ,
2158- "36" : "9292fe00fe92f200" ,
2159- "37" : "9292fe000202fe00" ,
2160- "38" : "9292fe00fe92fe00" ,
2161- "39" : "9292fe009e92fe00" ,
2162- "40" : "1e10fe00fe82fe00" ,
2163- "41" : "1e10fe0082fe8000" ,
2164- "42" : "1e10fe00f2929e00" ,
2165- "43" : "1e10fe009292fe00" ,
2166- "44" : "1e10fe001e10fe00" ,
2167- "45" : "1e10fe009e92f200" ,
2168- "46" : "1e10fe00fe92f200" ,
2169- "47" : "1e10fe000202fe00" ,
2170- "48" : "1e10fe00fe92fe00" ,
2171- "49" : "1e10fe009e92fe00" ,
2172- "50" : "9e92f200fe82fe00" ,
2173- "51" : "9e92f20082fe8000" ,
2174- "52" : "9e92f200f2929e00" ,
2175- "53" : "9e92f2009292fe00" ,
2176- "54" : "9e92f2001e10fe00" ,
2177- "55" : "9e92f2009e92f200" ,
2178- "56" : "9e92f200fe92f200" ,
2179- "57" : "9e92f2000202fe00" ,
2180- "58" : "9e92f200fe92fe00" ,
2181- "59" : "9e92f2009e92fe00" ,
2182- "60" : "fe92f200fe82fe00" ,
2183- "61" : "fe92f20082fe8000" ,
2184- "62" : "fe92f200f2929e00" ,
2185- "63" : "fe92f2009292fe00" ,
2186- "64" : "fe92f2001e10fe00" ,
2187- "65" : "fe92f2009e92f200" ,
2188- "66" : "fe92f200fe92f200" ,
2189- "67" : "fe92f2000202fe00" ,
2190- "68" : "fe92f200fe92fe00" ,
2191- "69" : "fe92f2009e92fe00" ,
2192- "70" : "0202fe00fe82fe00" ,
2193- "71" : "0202fe0082fe8000" ,
2194- "72" : "0202fe00f2929e00" ,
2195- "73" : "0202fe009292fe00" ,
2196- "74" : "0202fe001e10fe00" ,
2197- "75" : "0202fe009e92f200" ,
2198- "76" : "0202fe00fe92f200" ,
2199- "77" : "0202fe000202fe00" ,
2200- "78" : "0202fe00fe92fe00" ,
2201- "79" : "0202fe009e92fe00" ,
2202- "80" : "fe92fe00fe82fe00" ,
2203- "81" : "fe92fe0082fe8000" ,
2204- "82" : "fe92fe00f2929e00" ,
2205- "83" : "fe92fe009292fe00" ,
2206- "84" : "fe92fe001e10fe00" ,
2207- "85" : "fe92fe009e92f200" ,
2208- "86" : "fe92fe00fe92f200" ,
2209- "87" : "fe92fe000202fe00" ,
2210- "88" : "fe92fe00fe92fe00" ,
2211- "89" : "fe92fe009e92fe00" ,
2212- "90" : "9e92fe00fe82fe00" ,
2213- "91" : "9e92fe0082fe8000" ,
2214- "92" : "9e92fe00f2929e00" ,
2215- "93" : "9e92fe009292fe00" ,
2216- "94" : "9e92fe001e10fe00" ,
2217- "95" : "9e92fe009e92f200" ,
2218- "96" : "9e92fe00fe92f200" ,
2219- "97" : "9e92fe000202fe00" ,
2220- "98" : "9e92fe00fe92fe00" ,
2221- "99" : "9e92fe009e92fe00"
2222- } ;
2223- }
2224-
22251977Blockly . JavaScript [ 'max7219_val_num' ] = function ( block ) {
22261978 var value_value_ = Blockly . JavaScript . valueToCode ( block , 'value_' , Blockly . JavaScript . ORDER_ATOMIC ) ;
2227- var functionName = Blockly . JavaScript . provideFunction_ (
2228- 'max7219_number' , [ 'function ' + Blockly . JavaScript . FUNCTION_NAME_PLACEHOLDER_ +
2229- '(num) {' ,
2230- max7219_number_object . toString ( ) . replace ( 'function max7219_number_object() {\n' , '' ) . replace ( '};\n' , '' ) + ';' ,
2231- ' return max7219_number_object[num];' ,
2232- '}'
2233- ] ) ;
22341979 var code ;
22351980 if ( value_value_ * 1 < 0 || value_value_ * 1 > 99 ) {
22361981 code = '"00000601b1110e00"' ;
22371982 return [ code , Blockly . JavaScript . ORDER_ATOMIC ] ;
22381983 } else {
2239- code = functionName + ' (' + value_value_ + ')' ;
1984+ code = 'max7219_number (' + value_value_ + ')' ;
22401985 return [ code , Blockly . JavaScript . ORDER_FUNCTION_CALL ] ;
22411986 }
22421987} ;
0 commit comments