(BraceGroup children: [ (SimpleCommand words: [{(renice)} {(-n)} {(-10)} {($ VSub_Dollar '$$')}] redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:INPUT) op:Equal rhs:{(0)} spids:[97])] spids: [97] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {($ VSub_Number '$1')} right: {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (Lit_Other '$') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:INPUT) op: Equal rhs: {($ VSub_Number '$1')} spids: [124] ) ] spids: [124] ) ] spids: [16777215 121] ) ] spids: [16777215 128] ) (C {(.)} {(/DietPi/dietpi/func/dietpi-globals)}) (C {(G_CHECK_ROOT_USER)}) (C {(export)} {(Lit_VarLike 'G_PROGRAM_NAME=') (SQ <DietPi-Morsecode>)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OUTPUT_MODE) op: Equal rhs: {($ VSub_Name '$INPUT')} spids: [169] ) ] spids: [169] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TERM_X) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(cols)})]) left_token: <Left_CommandSub '$('> spids: [179 183] ) } spids: [178] ) ] spids: [178] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TERM_Y) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(tput)} {(lines)})]) left_token: <Left_CommandSub '$('> spids: [187 191] ) } spids: [186] ) ] spids: [186] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TERM_TOTAL_CHARS) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Minus left: (ArithBinary op_id: Arith_Star left: (ArithWord w:{($ VSub_Name '$TERM_X')}) right: (ArithWord w:{($ VSub_Name '$TERM_Y')}) ) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [195 207] ) } spids: [194] ) ] spids: [194] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TERM_COLOUR) op: Equal rhs: {(DQ (Lit_Other '\\') ('e[48;5;15m'))} spids: [213] ) ] spids: [213] ) (FuncDef name: Output_On body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$OUTPUT_MODE')}) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [244 253] ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(-e)} {(DQ ($ VSub_Name '$TERM_COLOUR'))}) (C {(clear)})] spids: [16777215 256] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$OUTPUT_MODE')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [283 292] ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(1)}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/sys/class/leds/led0/brightness)} ) ] ) (SimpleCommand words: [{(echo)} {(1)}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/sys/class/leds/led1/brightness)} ) ] ) ] spids: [281 295] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$OUTPUT_MODE')}) right: (ArithWord w:{(Lit_Digits 2)}) ) spids: [320 329] ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (SimpleCommand words: [ {(speaker-test)} {(-b)} {(40000)} {(-t)} {(sine)} {(-f)} {(800)} {(-l)} {(1)} {(-p)} {(1)} ] redirects: [ (Redir op: <Redir_AndGreat '&>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) terminator: <Op_Amp '&'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pid) op: Equal rhs: {($ VSub_Bang '$!')} spids: [369] ) ] spids: [369] ) ] spids: [318 332] ) ] spids: [16777215 374] ) ] spids: [234] ) spids: [231 234] ) (FuncDef name: Output_Off body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$OUTPUT_MODE')}) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [395 404] ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(-e)} {(DQ (Lit_Other '\\') ('e[0m'))}) (C {(clear)})] spids: [16777215 407] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$OUTPUT_MODE')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [435 444] ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(0)}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/sys/class/leds/led0/brightness)} ) ] ) (SimpleCommand words: [{(echo)} {(0)}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/sys/class/leds/led1/brightness)} ) ] ) ] spids: [433 447] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$OUTPUT_MODE')}) right: (ArithWord w:{(Lit_Digits 2)}) ) spids: [472 481] ) terminator: <Op_Semi ';'> ) ] action: [(C {(kill)} {(-9)} {($ VSub_Name '$pid')})] spids: [470 484] ) ] spids: [16777215 500] ) ] spids: [385] ) spids: [382 385] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CHAR_CURRENT) op:Equal rhs:{(0)} spids:[520])] spids: [520] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FP_TEXTFILE_INPUT) op: Equal rhs: {(DQ ($ VSub_Name '$HOME') (/dietpi-morsecode))} spids: [529] ) ] spids: [529] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FP_TEXTFILE_LOWERCASE) op: Equal rhs: {(DQ (/tmp/.dietpi-morsecode_lowercase))} spids: [536] ) ] spids: [536] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:MC_DURATION_UNIT) op:Equal rhs:{(0.15)} spids:[547])] spids: [547] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MC_DURATION_DASH) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(-)}) (C {(awk)} {(DQ ('{print ') ($ VSub_Name '$MC_DURATION_UNIT') (' * 3}'))}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [556 570] ) } spids: [555] ) ] spids: [555] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MC_DURATION_WORD) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(-)}) (C {(awk)} {(DQ ('{print ') ($ VSub_Name '$MC_DURATION_UNIT') (' * 7}'))}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [578 592] ) } spids: [577] ) ] spids: [577] ) (FuncDef name: Mc_Convert_Input_Textfile_Lowercase body: (BraceGroup children: [ (C {(echo)} {(-e)} {(DQ (DietPi-Morsecode) (Lit_Other '\\') (n))}) (C {(echo)} {(-e)} {(DQ ('Converting input file to lowercase......') (Lit_Other '\\') (n))}) (SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') (DQ ($ VSub_Name '$FP_TEXTFILE_INPUT'))} {(Lit_VarLike 'of=') (DQ ($ VSub_Name '$FP_TEXTFILE_LOWERCASE'))} {(Lit_VarLike 'conv=') (lcase)} ] redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})] ) (C {(echo)} {(-e)} { (DQ (Completed) (Lit_Other '\\') ('nRendering to Output_Mode ') ($ VSub_Name '$OUTPUT_MODE') ) } ) ] spids: [599] ) spids: [596 599] ) (FuncDef name: Mc_Dot body: (BraceGroup children: [ (C {(Output_On)}) (C {(sleep)} {($ VSub_Name '$MC_DURATION_UNIT')}) (C {(Output_Off)}) (C {(sleep)} {($ VSub_Name '$MC_DURATION_UNIT')}) ] spids: [665] ) spids: [662 665] ) (FuncDef name: Mc_Dash body: (BraceGroup children: [ (C {(Output_On)}) (C {(sleep)} {($ VSub_Name '$MC_DURATION_DASH')}) (C {(Output_Off)}) (C {(sleep)} {($ VSub_Name '$MC_DURATION_UNIT')}) ] spids: [693] ) spids: [690 693] ) (FuncDef name: Mc_Next_Char body: (BraceGroup children:[(C {(sleep)} {($ VSub_Name '$MC_DURATION_DASH')})] spids:[721]) spids: [718 721] ) (FuncDef name: Mc_Next_Word body: (BraceGroup children:[(C {(sleep)} {($ VSub_Name '$MC_DURATION_WORD')})] spids:[738]) spids: [735 738] ) (FuncDef name: Mc_End_of_Message body: (BraceGroup children: [ (C {(Mc_Next_Word)}) (C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Next_Word)}) ] spids: [759] ) spids: [756 759] ) (FuncDef name: Convert_Text_To_Morsecode body: (BraceGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$CHAR_CURRENT'))} arms: [ (case_arm pat_list: [{(0)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dash)})] spids: [805 806 824 16777215] ) (case_arm pat_list: [{(1)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dash)})] spids: [827 828 846 16777215] ) (case_arm pat_list: [{(2)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dash)})] spids: [849 850 868 16777215] ) (case_arm pat_list: [{(3)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dash)})] spids: [871 872 890 16777215] ) (case_arm pat_list: [{(4)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dash)})] spids: [893 894 912 16777215] ) (case_arm pat_list: [{(5)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)})] spids: [915 916 934 16777215] ) (case_arm pat_list: [{(6)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)})] spids: [937 938 956 16777215] ) (case_arm pat_list: [{(7)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)})] spids: [959 960 978 16777215] ) (case_arm pat_list: [{(8)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dot)})] spids: [981 982 1000 16777215] ) (case_arm pat_list: [{(9)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dot)})] spids: [1003 1004 1022 16777215] ) (case_arm pat_list: [{(a)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dash)})] spids: [1025 1026 1035 16777215] ) (case_arm pat_list: [{(b)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)})] spids: [1038 1039 1054 16777215] ) (case_arm pat_list: [{(c)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dot)})] spids: [1057 1058 1073 16777215] ) (case_arm pat_list: [{(d)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dot)})] spids: [1076 1077 1089 16777215] ) (case_arm pat_list: [{(e)}] action: [(C {(Mc_Dot)})] spids: [1092 1093 1099 16777215] ) (case_arm pat_list: [{(f)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dot)})] spids: [1102 1103 1118 16777215] ) (case_arm pat_list: [{(g)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dot)})] spids: [1121 1122 1134 16777215] ) (case_arm pat_list: [{(h)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)})] spids: [1137 1138 1153 16777215] ) (case_arm pat_list: [{(i)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dot)})] spids: [1156 1157 1166 16777215] ) (case_arm pat_list: [{(j)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dash)})] spids: [1169 1170 1185 16777215] ) (case_arm pat_list: [{(k)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dash)})] spids: [1188 1189 1201 16777215] ) (case_arm pat_list: [{(l)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dot)})] spids: [1204 1205 1220 16777215] ) (case_arm pat_list: [{(m)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dash)})] spids: [1223 1224 1233 16777215] ) (case_arm pat_list: [{(n)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dot)})] spids: [1236 1237 1246 16777215] ) (case_arm pat_list: [{(o)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dash)})] spids: [1249 1250 1262 16777215] ) (case_arm pat_list: [{(p)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dot)})] spids: [1265 1266 1281 16777215] ) (case_arm pat_list: [{(q)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dash)})] spids: [1284 1285 1300 16777215] ) (case_arm pat_list: [{(r)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dot)})] spids: [1303 1304 1316 16777215] ) (case_arm pat_list: [{(s)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)})] spids: [1319 1320 1332 16777215] ) (case_arm pat_list: [{(t)}] action: [(C {(Mc_Dash)})] spids: [1335 1336 1342 16777215] ) (case_arm pat_list: [{(u)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dash)})] spids: [1345 1346 1358 16777215] ) (case_arm pat_list: [{(v)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dash)})] spids: [1361 1362 1377 16777215] ) (case_arm pat_list: [{(w)}] action: [(C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dash)})] spids: [1380 1381 1393 16777215] ) (case_arm pat_list: [{(x)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dash)})] spids: [1396 1397 1412 16777215] ) (case_arm pat_list: [{(y)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dash)})] spids: [1415 1416 1431 16777215] ) (case_arm pat_list: [{(z)}] action: [(C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dot)})] spids: [1434 1435 1450 16777215] ) (case_arm pat_list: [{(DQ (.))}] action: [ (C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dash)}) ] spids: [1453 1456 1477 16777215] ) (case_arm pat_list: [{(DQ (','))}] action: [ (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dash)}) ] spids: [1480 1483 1504 16777215] ) (case_arm pat_list: [{(DQ (':'))}] action: [ (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) ] spids: [1507 1510 1531 16777215] ) (case_arm pat_list: [{(DQ ("'"))}] action: [ (C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dot)}) ] spids: [1534 1537 1558 16777215] ) (case_arm pat_list: [{(DQ (-))}] action: [ (C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dash)}) ] spids: [1561 1564 1585 16777215] ) (case_arm pat_list: [{(DQ (/))}] action: [(C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dot)})] spids: [1588 1591 1609 16777215] ) (case_arm pat_list: [{(DQ ('@'))}] action: [ (C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dash)}) (C {(Mc_Dot)}) ] spids: [1612 1615 1636 16777215] ) (case_arm pat_list: [{(DQ ('='))}] action: [(C {(Mc_Dash)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dot)}) (C {(Mc_Dash)})] spids: [1639 1642 1660 16777215] ) ] spids: [796 802 1663] ) ] spids: [792] ) spids: [789 792] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Name '$FP_TEXTFILE_INPUT'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(clear)}) (C {(echo)} {(-e)} { (DQ (Lit_Other '\\') ('nNo textfile was found. Please create a file at:') (Lit_Other '\\') (n) ($ VSub_Name '$FP_TEXTFILE_INPUT') (Lit_Other '\\') ('nThis file will then be converted to Morse Code.') ) } ) (ControlFlow token:<ControlFlow_Exit exit>) ] spids: [16777215 1702] ) ] spids: [16777215 1726] ) (C {(Mc_Convert_Input_Textfile_Lowercase)}) (WhileUntil keyword: <KW_While while> cond: [(C {(read)} {(-r)} {(-n1)} {(CHAR_CURRENT)})] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$CHAR_CURRENT'))} {(Lit_Other '=')} {(DQ (' '))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(Mc_Next_Word)})] spids: [16777215 1784] ) ] else_action: [(C {(Mc_Next_Char)}) (C {(Convert_Text_To_Morsecode)})] spids: [1796 1807] ) ] spids: [1760 1811] ) redirects: [ (Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$FP_TEXTFILE_LOWERCASE'))} ) ] ) (C {(Mc_End_of_Message)}) (C {(rm)} {(DQ ($ VSub_Name '$FP_TEXTFILE_LOWERCASE'))}) (ControlFlow token:<ControlFlow_Exit exit>) ] spids: [3] )