debug_printf (char * msg) { u8 len; u8 i; struct va_list argptr; char str[256]; unsigned int _1; int _2; char _3; unsigned char i.9_4; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT __builtin_va_start (&argptr, 0); # DEBUG BEGIN_STMT vsprintf (&str, msg_9(D), argptr); # DEBUG BEGIN_STMT __builtin_va_end (&argptr); # DEBUG BEGIN_STMT _1 = strlen (&str); len_12 = (u8) _1; # DEBUG len => len_12 # DEBUG BEGIN_STMT i_13 = 0; # DEBUG i => i_13 goto ; [INV] : # DEBUG BEGIN_STMT _2 = (int) i_5; _3 = str[_2]; put_char (_3); # DEBUG BEGIN_STMT i.9_4 = i_5; i_17 = i.9_4 + 1; # DEBUG i => i_17 : # i_5 = PHI # DEBUG i => i_5 # DEBUG BEGIN_STMT if (i_5 < len_12) goto ; [INV] else goto ; [INV] : str ={v} {CLOBBER}; argptr ={v} {CLOBBER}; return; } get_line (u32 max_len) { unsigned int _1; char * _2; int _3; unsigned int _4; char _5; int _6; unsigned int _7; unsigned int _8; unsigned int _9; unsigned int _10; unsigned int _11; char _12; char _13; unsigned int _14; char _15; unsigned int _16; unsigned int _17; unsigned int _18; char _19; char _20; unsigned int _21; unsigned int _22; unsigned int _23; char * _24; int _25; unsigned int _26; unsigned int _27; char _28; unsigned int _29; char _30; unsigned int _31; unsigned int _32; unsigned int _33; unsigned int _34; char _35; unsigned int _36; unsigned int _37; int _38; int _46; int _50; int _60; int _63; int _64; : # DEBUG BEGIN_STMT _1 = gb.cmd_idx; _2 = &gb.cmd_buf[_1]; _3 = get_char (_2); if (_3 == 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _64 = 1; // predicted unlikely by early return (on trees) predictor. goto ; [INV] : # DEBUG BEGIN_STMT _4 = gb.cmd_idx; _5 = gb.cmd_buf[_4]; _6 = (int) _5; switch (_6) [INV], case 0: [INV], case 8: [INV], case 10: [INV], case 13: [INV]> : : # DEBUG BEGIN_STMT gb.cmd_idx = 0; # DEBUG BEGIN_STMT _50 = 0; goto ; [INV] : : # DEBUG BEGIN_STMT debug_printf ("\r\n"); # DEBUG BEGIN_STMT _7 = gb.cmd_idx; gb.cmd_buf[_7] = 0; # DEBUG BEGIN_STMT gb.cmd_idx = 0; # DEBUG BEGIN_STMT _46 = 0; goto ; [INV] : : # DEBUG BEGIN_STMT _8 = gb.cmd_idx; if (_8 != 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _9 = gb.cmd_idx; _10 = _9 + 4294967295; gb.cmd_idx = _10; # DEBUG BEGIN_STMT debug_printf ("\b \b"); goto ; [INV] : : # DEBUG BEGIN_STMT _11 = gb.cmd_idx; _12 = gb.cmd_buf[_11]; _13 = _12 + 224; if (_13 <= 94) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _14 = gb.cmd_idx; _15 = gb.cmd_buf[_14]; put_char (_15); # DEBUG BEGIN_STMT _16 = gb.cmd_idx; _17 = _16 + 1; gb.cmd_idx = _17; goto ; [INV] : # DEBUG BEGIN_STMT _18 = gb.cmd_idx; _19 = gb.cmd_buf[_18]; _20 = _19 + 80; if (_20 <= 24) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _21 = gb.cmd_idx; _22 = _21 + 1; gb.cmd_idx = _22; # DEBUG BEGIN_STMT _23 = gb.cmd_idx; _24 = &gb.cmd_buf[_23]; _25 = get_char (_24); if (_25 == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _26 = gb.cmd_idx; _27 = _26 + 4294967295; _28 = gb.cmd_buf[_27]; put_char (_28); # DEBUG BEGIN_STMT _29 = gb.cmd_idx; _30 = gb.cmd_buf[_29]; put_char (_30); # DEBUG BEGIN_STMT _31 = gb.cmd_idx; _32 = _31 + 1; gb.cmd_idx = _32; goto ; [INV] : # DEBUG BEGIN_STMT _33 = gb.cmd_idx; _34 = _33 + 4294967295; _35 = gb.cmd_buf[_34]; put_char (_35); : # DEBUG BEGIN_STMT _36 = gb.cmd_idx; if (max_len_59(D) <= _36) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _37 = max_len_59(D) + 4294967295; gb.cmd_buf[_37] = 0; # DEBUG BEGIN_STMT gb.cmd_idx = 0; # DEBUG BEGIN_STMT _63 = 0; // predicted unlikely by early return (on trees) predictor. goto ; [INV] : # DEBUG BEGIN_STMT _60 = 1; : # _38 = PHI <_64(3), _50(5), _46(6), _63(16), _60(17)> return _38; } put_char (char ch) { : # DEBUG BEGIN_STMT Lpuart_Uart_Ip_SyncSend (0, &ch, 1); return; } get_char (char * ch) { unsigned int _1; unsigned int _2; unsigned int _3; char _4; unsigned int _5; unsigned int _6; unsigned int _7; int _8; int _14; int _15; : # DEBUG BEGIN_STMT _1 = gb.ubuf_head; _2 = gb.ubuf_tail; if (_1 == _2) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _15 = 1; // predicted unlikely by early return (on trees) predictor. goto ; [INV] : # DEBUG BEGIN_STMT _3 = gb.ubuf_head; _4 = gb.ubuf[_3]; *ch_11(D) = _4; # DEBUG BEGIN_STMT _5 = gb.ubuf_head; _6 = _5 + 1; _7 = _6 & 255; gb.ubuf_head = _7; # DEBUG BEGIN_STMT _14 = 0; : # _8 = PHI <_15(3), _14(4)> return _8; } Gvar_init () { : # DEBUG BEGIN_STMT gb.ubuf_head = 0; # DEBUG BEGIN_STMT gb.ubuf_tail = 0; return; } PrintLogo () { : # DEBUG BEGIN_STMT debug_printf ("\n\r\n"); # DEBUG BEGIN_STMT debug_printf ("================================================\r\n"); # DEBUG BEGIN_STMT debug_printf (" MR S32K344 APPLICATION\n"); # DEBUG BEGIN_STMT debug_printf (" Version %04X\n", 1); # DEBUG BEGIN_STMT debug_printf (" Author : sihong89@gmail.com\n"); # DEBUG BEGIN_STMT debug_printf (" Last compiled : %s %s\n", "Oct 27 2021", "13:34:26"); # DEBUG BEGIN_STMT debug_printf ("================================================\r\n"); return; } UART0_RX_Callback (uint32 instance, void * driverState, Lpuart_Uart_Ip_EventType event, void * userData) { unsigned int _1; char _2; unsigned int _3; unsigned int _4; unsigned int _5; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT if (event_7(D) == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _1 = gb.ubuf_tail; _2 = gb.utemp[0]; gb.ubuf[_1] = _2; # DEBUG BEGIN_STMT _3 = gb.ubuf_tail; _4 = _3 + 1; _5 = _4 & 255; gb.ubuf_tail = _5; # DEBUG BEGIN_STMT Lpuart_Uart_Ip_SetRxBuffer (instance_11(D), &gb.utemp, 1); : return; } board_init () { : # DEBUG BEGIN_STMT Lpuart_Uart_Ip_AsyncReceive (0, &gb.utemp, 1); # DEBUG BEGIN_STMT led_onoff (0); return; } system_reset () { u32 * addr; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT addr_1 = 1076297728B; # DEBUG addr => addr_1 # DEBUG BEGIN_STMT *addr_1 = 1; return; } Pit_Callback () { long unsigned int _1; long unsigned int _2; unsigned int _3; unsigned int _4; unsigned int _5; int _6; : # DEBUG BEGIN_STMT _1 = gb.tmr_cnt; _2 = _1 + 1; gb.tmr_cnt = _2; # DEBUG BEGIN_STMT _3 = gb.led_cnt; _4 = _3 + 1; gb.led_cnt = _4; # DEBUG BEGIN_STMT _5 = gb.led_cnt; if (_5 > 1000) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT gb.led_cnt = 0; # DEBUG BEGIN_STMT _6 = gb.led_flag; if (_6 == 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT led_onoff (0); goto ; [INV] : # DEBUG BEGIN_STMT led_onoff (1); : return; } Adc1EndOfChainNoti () { volatile u16 data; short unsigned int _1; short unsigned int _2; int _3; short unsigned int data.7_4; short unsigned int _5; int _6; int _7; int _8; short unsigned int _9; unsigned int _10; short unsigned int _11; short unsigned int _12; short unsigned int _13; int _14; short unsigned int data.8_15; short unsigned int _16; int _17; int _18; int _19; short unsigned int _20; unsigned int _21; short unsigned int _22; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = Adc_Sar_Ip_GetConvData (1, 35); data ={v} _1; # DEBUG BEGIN_STMT _2 = gb.adc[1].idx; _3 = (int) _2; data.7_4 ={v} data; gb.adc[1].raw[_3] = data.7_4; # DEBUG BEGIN_STMT _5 = gb.adc[1].idx; _6 = (int) _5; _7 = _6 + 1; _8 = _7 % 10; _9 = (short unsigned int) _8; gb.adc[1].idx = _9; # DEBUG BEGIN_STMT _10 = get_average (&gb.adc[1].raw, 10); _11 = (short unsigned int) _10; gb.adc[1].avr = _11; # DEBUG BEGIN_STMT _12 = Adc_Sar_Ip_GetConvData (1, 36); data ={v} _12; # DEBUG BEGIN_STMT _13 = gb.adc[0].idx; _14 = (int) _13; data.8_15 ={v} data; gb.adc[0].raw[_14] = data.8_15; # DEBUG BEGIN_STMT _16 = gb.adc[0].idx; _17 = (int) _16; _18 = _17 + 1; _19 = _18 % 10; _20 = (short unsigned int) _19; gb.adc[0].idx = _20; # DEBUG BEGIN_STMT _21 = get_average (&gb.adc[0].raw, 10); _22 = (short unsigned int) _21; gb.adc[0].avr = _22; # DEBUG BEGIN_STMT Adc_Sar_Ip_StartConversion (1, 0); return; } Adc0EndOfChainNoti () { volatile u16 data; short unsigned int _1; short unsigned int _2; int _3; short unsigned int data.5_4; short unsigned int _5; int _6; int _7; int _8; short unsigned int _9; unsigned int _10; short unsigned int _11; short unsigned int _12; short unsigned int _13; int _14; short unsigned int data.6_15; short unsigned int _16; int _17; int _18; int _19; short unsigned int _20; unsigned int _21; short unsigned int _22; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT _1 = Adc_Sar_Ip_GetConvData (0, 33); data ={v} _1; # DEBUG BEGIN_STMT _2 = gb.adc[2].idx; _3 = (int) _2; data.5_4 ={v} data; gb.adc[2].raw[_3] = data.5_4; # DEBUG BEGIN_STMT _5 = gb.adc[2].idx; _6 = (int) _5; _7 = _6 + 1; _8 = _7 % 10; _9 = (short unsigned int) _8; gb.adc[2].idx = _9; # DEBUG BEGIN_STMT _10 = get_average (&gb.adc[2].raw, 10); _11 = (short unsigned int) _10; gb.adc[2].avr = _11; # DEBUG BEGIN_STMT _12 = Adc_Sar_Ip_GetConvData (0, 47); data ={v} _12; # DEBUG BEGIN_STMT _13 = gb.adc[3].idx; _14 = (int) _13; data.6_15 ={v} data; gb.adc[3].raw[_14] = data.6_15; # DEBUG BEGIN_STMT _16 = gb.adc[3].idx; _17 = (int) _16; _18 = _17 + 1; _19 = _18 % 10; _20 = (short unsigned int) _19; gb.adc[3].idx = _20; # DEBUG BEGIN_STMT _21 = get_average (&gb.adc[3].raw, 10); _22 = (short unsigned int) _21; gb.adc[3].avr = _22; # DEBUG BEGIN_STMT Adc_Sar_Ip_StartConversion (0, 0); return; } get_average (u16 * val, int len) { int i; int sum; int max; int min; u16 ret; unsigned int i.0_1; unsigned int _2; u16 * _3; short unsigned int _4; int _5; unsigned int i.1_6; unsigned int _7; u16 * _8; short unsigned int _9; int _10; unsigned int i.2_11; unsigned int _12; u16 * _13; short unsigned int _14; unsigned int i.3_15; unsigned int _16; u16 * _17; short unsigned int _18; int _19; unsigned int i.4_20; unsigned int _21; u16 * _22; short unsigned int _23; int _24; int _25; int _26; int _27; u32 _40; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT min_34 = 65536; # DEBUG min => min_34 # DEBUG BEGIN_STMT max_35 = -65537; # DEBUG max => max_35 # DEBUG BEGIN_STMT sum_36 = 0; # DEBUG sum => sum_36 # DEBUG BEGIN_STMT i_37 = 0; # DEBUG i => i_37 goto ; [INV] : # DEBUG BEGIN_STMT i.0_1 = (unsigned int) i_33; _2 = i.0_1 * 2; _3 = val_42(D) + _2; _4 = *_3; _5 = (int) _4; sum_43 = sum_32 + _5; # DEBUG sum => sum_43 # DEBUG BEGIN_STMT i.1_6 = (unsigned int) i_33; _7 = i.1_6 * 2; _8 = val_42(D) + _7; _9 = *_8; _10 = (int) _9; if (max_31 < _10) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT i.2_11 = (unsigned int) i_33; _12 = i.2_11 * 2; _13 = val_42(D) + _12; _14 = *_13; max_44 = (int) _14; # DEBUG max => max_44 : # max_30 = PHI # DEBUG max => max_30 # DEBUG BEGIN_STMT i.3_15 = (unsigned int) i_33; _16 = i.3_15 * 2; _17 = val_42(D) + _16; _18 = *_17; _19 = (int) _18; if (min_29 > _19) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT i.4_20 = (unsigned int) i_33; _21 = i.4_20 * 2; _22 = val_42(D) + _21; _23 = *_22; min_45 = (int) _23; # DEBUG min => min_45 : # min_28 = PHI # DEBUG min => min_28 # DEBUG BEGIN_STMT i_46 = i_33 + 1; # DEBUG i => i_46 : # min_29 = PHI # max_31 = PHI # sum_32 = PHI # i_33 = PHI # DEBUG i => i_33 # DEBUG sum => sum_32 # DEBUG max => max_31 # DEBUG min => min_29 # DEBUG BEGIN_STMT if (i_33 < len_38(D)) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT _24 = sum_32 - max_31; _25 = _24 - min_29; _26 = len_38(D) + -2; _27 = _25 / _26; ret_39 = (u16) _27; # DEBUG ret => ret_39 # DEBUG BEGIN_STMT _40 = (u32) ret_39; return _40; } set_pwm (u32 ch, u32 ratio) { u32 val; u32 channel; unsigned int _1; unsigned char _2; short unsigned int _3; : # DEBUG BEGIN_STMT # DEBUG BEGIN_STMT channel_7 = pwm_idx[ch_6(D)]; # DEBUG channel => channel_7 # DEBUG BEGIN_STMT if (ratio_8(D) > 99) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT val_11 = 240; # DEBUG val => val_11 goto ; [INV] : # DEBUG BEGIN_STMT if (ratio_8(D) == 0) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT val_10 = 0; # DEBUG val => val_10 goto ; [INV] : # DEBUG BEGIN_STMT _1 = ratio_8(D) * 240; val_9 = _1 / 100; # DEBUG val => val_9 : # val_4 = PHI # DEBUG val => val_4 # DEBUG BEGIN_STMT _2 = (unsigned char) channel_7; _3 = (short unsigned int) val_4; Flexio_Pwm_Ip_UpdatePeriodDuty (0, _2, 240, _3); return; } led_onoff (int flag) { : # DEBUG BEGIN_STMT if (flag_2(D) == 1) goto ; [INV] else goto ; [INV] : # DEBUG BEGIN_STMT Siul2_Dio_Ip_WritePin (1076434692B, 13, 0); goto ; [INV] : # DEBUG BEGIN_STMT Siul2_Dio_Ip_WritePin (1076434692B, 13, 1); : # DEBUG BEGIN_STMT gb.led_flag = flag_2(D); return; }