ADM/GW/Debug_RAM/src/board.c.016i.visibility
2024-08-08 10:00:15 +09:00

928 lines
21 KiB
Plaintext

Marking local functions:
Marking externally visible functions: debug_printf get_line put_char get_char Gvar_init PrintLogo UART0_RX_Callback board_init system_reset Pit_Callback Adc1EndOfChainNoti Adc0EndOfChainNoti get_average set_pwm led_onoff
Marking externally visible variables: pwm_idx
Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Symbol table:
strlen/56 (strlen) @0886b1c0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: debug_printf/44
Calls:
__builtin_va_end/55 (__builtin_va_end) @0886b0e0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: debug_printf/44
Calls:
vsprintf/54 (vsprintf) @0886b000
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: debug_printf/44
Calls:
__builtin_va_start/53 (__builtin_va_start) @0885cee0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: debug_printf/44
Calls:
Lpuart_Uart_Ip_SyncSend/52 (Lpuart_Uart_Ip_SyncSend) @0885cc40
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: put_char/42
Calls:
Lpuart_Uart_Ip_SetRxBuffer/51 (Lpuart_Uart_Ip_SetRxBuffer) @0885c620
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: UART0_RX_Callback/38
Calls:
Lpuart_Uart_Ip_AsyncReceive/50 (Lpuart_Uart_Ip_AsyncReceive) @0885c460
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: board_init/37
Calls:
Adc_Sar_Ip_StartConversion/49 (Adc_Sar_Ip_StartConversion) @087ba2a0
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: Adc1EndOfChainNoti/34 Adc0EndOfChainNoti/33
Calls:
Adc_Sar_Ip_GetConvData/48 (Adc_Sar_Ip_GetConvData) @087ba000
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: Adc1EndOfChainNoti/34 Adc1EndOfChainNoti/34 Adc0EndOfChainNoti/33 Adc0EndOfChainNoti/33
Calls:
Flexio_Pwm_Ip_UpdatePeriodDuty/47 (Flexio_Pwm_Ip_UpdatePeriodDuty) @087bad20
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: set_pwm/31
Calls:
gb/46 (gb) @087be558
Type: variable
Body removed by symtab_remove_unreachable_nodes
Visibility: external public
References:
Referring: led_onoff/30 (write)Adc0EndOfChainNoti/33 (read)Adc0EndOfChainNoti/33 (write)Adc0EndOfChainNoti/33 (read)Adc0EndOfChainNoti/33 (write)Adc0EndOfChainNoti/33 (addr)Adc0EndOfChainNoti/33 (write)Adc0EndOfChainNoti/33 (read)Adc0EndOfChainNoti/33 (write)Adc0EndOfChainNoti/33 (read)Adc0EndOfChainNoti/33 (write)Adc0EndOfChainNoti/33 (addr)Adc0EndOfChainNoti/33 (write)Adc1EndOfChainNoti/34 (read)Adc1EndOfChainNoti/34 (write)Adc1EndOfChainNoti/34 (read)Adc1EndOfChainNoti/34 (write)Adc1EndOfChainNoti/34 (addr)Adc1EndOfChainNoti/34 (write)Adc1EndOfChainNoti/34 (read)Adc1EndOfChainNoti/34 (write)Adc1EndOfChainNoti/34 (read)Adc1EndOfChainNoti/34 (write)Adc1EndOfChainNoti/34 (addr)Adc1EndOfChainNoti/34 (write)Pit_Callback/35 (read)Pit_Callback/35 (write)Pit_Callback/35 (read)Pit_Callback/35 (write)Pit_Callback/35 (read)Pit_Callback/35 (write)Pit_Callback/35 (read)board_init/37 (addr)UART0_RX_Callback/38 (read)UART0_RX_Callback/38 (read)UART0_RX_Callback/38 (write)UART0_RX_Callback/38 (read)UART0_RX_Callback/38 (write)UART0_RX_Callback/38 (addr)Gvar_init/40 (write)Gvar_init/40 (write)get_char/41 (read)get_char/41 (read)get_char/41 (read)get_char/41 (read)get_char/41 (read)get_char/41 (write)get_line/43 (read)get_line/43 (addr)get_line/43 (read)get_line/43 (read)get_line/43 (write)get_line/43 (read)get_line/43 (write)get_line/43 (write)get_line/43 (read)get_line/43 (read)get_line/43 (write)get_line/43 (read)get_line/43 (read)get_line/43 (read)get_line/43 (read)get_line/43 (read)get_line/43 (write)get_line/43 (read)get_line/43 (read)get_line/43 (read)get_line/43 (write)get_line/43 (read)get_line/43 (addr)get_line/43 (read)get_line/43 (read)get_line/43 (read)get_line/43 (read)get_line/43 (read)get_line/43 (write)get_line/43 (read)get_line/43 (read)get_line/43 (read)get_line/43 (write)get_line/43 (write)
Availability: not_available
Varpool flags:
Siul2_Dio_Ip_WritePin/45 (Siul2_Dio_Ip_WritePin) @087bab60
Type: function
Visibility: external public
References:
Referring:
Availability: not_available
Function flags: optimize_size
Called by: led_onoff/30 led_onoff/30
Calls:
debug_printf/44 (debug_printf) @087ba700
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: body optimize_size
Called by: get_line/43 get_line/43 PrintLogo/39 PrintLogo/39 PrintLogo/39 PrintLogo/39 PrintLogo/39 PrintLogo/39 PrintLogo/39
Calls: put_char/42 strlen/56 __builtin_va_end/55 vsprintf/54 __builtin_va_start/53
get_line/43 (get_line) @087ba460
Type: function definition analyzed
Visibility: externally_visible public
References: gb/46 (read)gb/46 (addr)gb/46 (read)gb/46 (read)gb/46 (write)gb/46 (read)gb/46 (write)gb/46 (write)gb/46 (read)gb/46 (read)gb/46 (write)gb/46 (read)gb/46 (read)gb/46 (read)gb/46 (read)gb/46 (read)gb/46 (write)gb/46 (read)gb/46 (read)gb/46 (read)gb/46 (write)gb/46 (read)gb/46 (addr)gb/46 (read)gb/46 (read)gb/46 (read)gb/46 (read)gb/46 (read)gb/46 (write)gb/46 (read)gb/46 (read)gb/46 (read)gb/46 (write)gb/46 (write)
Referring:
Availability: available
Function flags: body optimize_size
Called by:
Calls: put_char/42 put_char/42 put_char/42 get_char/41 put_char/42 debug_printf/44 debug_printf/44 get_char/41
put_char/42 (put_char) @087ba1c0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: body optimize_size
Called by: debug_printf/44 get_line/43 get_line/43 get_line/43 get_line/43
Calls: Lpuart_Uart_Ip_SyncSend/52
get_char/41 (get_char) @087b4e00
Type: function definition analyzed
Visibility: externally_visible public
References: gb/46 (read)gb/46 (read)gb/46 (read)gb/46 (read)gb/46 (read)gb/46 (write)
Referring:
Availability: available
Function flags: body optimize_size
Called by: get_line/43 get_line/43
Calls:
Gvar_init/40 (Gvar_init) @087b48c0
Type: function definition analyzed
Visibility: externally_visible public
References: gb/46 (write)gb/46 (write)
Referring:
Availability: available
Function flags: body optimize_size
Called by:
Calls:
PrintLogo/39 (PrintLogo) @087b40e0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: body optimize_size
Called by:
Calls: debug_printf/44 debug_printf/44 debug_printf/44 debug_printf/44 debug_printf/44 debug_printf/44 debug_printf/44
UART0_RX_Callback/38 (UART0_RX_Callback) @087b4d20
Type: function definition analyzed
Visibility: externally_visible public
References: gb/46 (read)gb/46 (read)gb/46 (write)gb/46 (read)gb/46 (write)gb/46 (addr)
Referring:
Availability: available
Function flags: body optimize_size
Called by:
Calls: Lpuart_Uart_Ip_SetRxBuffer/51
board_init/37 (board_init) @087b4a80
Type: function definition analyzed
Visibility: externally_visible public
References: gb/46 (addr)
Referring:
Availability: available
Function flags: body optimize_size
Called by:
Calls: led_onoff/30 Lpuart_Uart_Ip_AsyncReceive/50
system_reset/36 (system_reset) @087b47e0
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: body optimize_size
Called by:
Calls:
Pit_Callback/35 (Pit_Callback) @087b4540
Type: function definition analyzed
Visibility: externally_visible public
References: gb/46 (read)gb/46 (write)gb/46 (read)gb/46 (write)gb/46 (read)gb/46 (write)gb/46 (read)
Referring:
Availability: available
Function flags: body optimize_size
Called by:
Calls: led_onoff/30 led_onoff/30
Adc1EndOfChainNoti/34 (Adc1EndOfChainNoti) @087b42a0
Type: function definition analyzed
Visibility: externally_visible public
References: gb/46 (read)gb/46 (write)gb/46 (read)gb/46 (write)gb/46 (addr)gb/46 (write)gb/46 (read)gb/46 (write)gb/46 (read)gb/46 (write)gb/46 (addr)gb/46 (write)
Referring:
Availability: available
Function flags: body optimize_size
Called by:
Calls: Adc_Sar_Ip_StartConversion/49 get_average/32 Adc_Sar_Ip_GetConvData/48 get_average/32 Adc_Sar_Ip_GetConvData/48
Adc0EndOfChainNoti/33 (Adc0EndOfChainNoti) @087b4000
Type: function definition analyzed
Visibility: externally_visible public
References: gb/46 (read)gb/46 (write)gb/46 (read)gb/46 (write)gb/46 (addr)gb/46 (write)gb/46 (read)gb/46 (write)gb/46 (read)gb/46 (write)gb/46 (addr)gb/46 (write)
Referring:
Availability: available
Function flags: body optimize_size
Called by:
Calls: Adc_Sar_Ip_StartConversion/49 get_average/32 Adc_Sar_Ip_GetConvData/48 get_average/32 Adc_Sar_Ip_GetConvData/48
get_average/32 (get_average) @087aac40
Type: function definition analyzed
Visibility: externally_visible public
References:
Referring:
Availability: available
Function flags: body optimize_size
Called by: Adc1EndOfChainNoti/34 Adc1EndOfChainNoti/34 Adc0EndOfChainNoti/33 Adc0EndOfChainNoti/33
Calls:
set_pwm/31 (set_pwm) @087aae00
Type: function definition analyzed
Visibility: externally_visible public
References: pwm_idx/29 (read)
Referring:
Availability: available
Function flags: body optimize_size
Called by:
Calls: Flexio_Pwm_Ip_UpdatePeriodDuty/47
led_onoff/30 (led_onoff) @087aab60
Type: function definition analyzed
Visibility: externally_visible public
References: gb/46 (write)
Referring:
Availability: available
Function flags: body optimize_size
Called by: board_init/37 Pit_Callback/35 Pit_Callback/35
Calls: Siul2_Dio_Ip_WritePin/45 Siul2_Dio_Ip_WritePin/45
pwm_idx/29 (pwm_idx) @087a7a68
Type: variable definition analyzed
Visibility: externally_visible public
References:
Referring: set_pwm/31 (read)
Availability: available
Varpool flags: initialized
debug_printf (char * msg)
{
u8 len;
u8 i;
struct va_list argptr;
char str[256];
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
__builtin_va_start (&argptr, 0);
# DEBUG BEGIN_STMT
vsprintf (&str, msg, argptr);
# DEBUG BEGIN_STMT
__builtin_va_end (&argptr);
# DEBUG BEGIN_STMT
_1 = strlen (&str);
len = (u8) _1;
# DEBUG BEGIN_STMT
i = 0;
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
_2 = (int) i;
_3 = str[_2];
put_char (_3);
# DEBUG BEGIN_STMT
i.9_4 = i;
i = i.9_4 + 1;
<bb 4> :
# DEBUG BEGIN_STMT
if (i < len)
goto <bb 3>; [INV]
else
goto <bb 5>; [INV]
<bb 5> :
str = {CLOBBER};
argptr = {CLOBBER};
return;
}
get_line (u32 max_len)
{
int D.9965;
<bb 2> :
# DEBUG BEGIN_STMT
_1 = gb.cmd_idx;
_2 = &gb.cmd_buf[_1];
_3 = get_char (_2);
if (_3 == 1)
goto <bb 3>; [INV]
else
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
D.9965 = 1;
// predicted unlikely by early return (on trees) predictor.
goto <bb 18>; [INV]
<bb 4> :
# DEBUG BEGIN_STMT
_4 = gb.cmd_idx;
_5 = gb.cmd_buf[_4];
_6 = (int) _5;
switch (_6) <default: <L8> [INV], case 0: <L2> [INV], case 8: <L5> [INV], case 10: <L3> [INV], case 13: <L3> [INV]>
<bb 5> :
<L2>:
# DEBUG BEGIN_STMT
gb.cmd_idx = 0;
# DEBUG BEGIN_STMT
D.9965 = 0;
goto <bb 18>; [INV]
<bb 6> :
<L3>:
# 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
D.9965 = 0;
goto <bb 18>; [INV]
<bb 7> :
<L5>:
# DEBUG BEGIN_STMT
_8 = gb.cmd_idx;
if (_8 != 0)
goto <bb 8>; [INV]
else
goto <bb 15>; [INV]
<bb 8> :
# DEBUG BEGIN_STMT
_9 = gb.cmd_idx;
_10 = _9 + 4294967295;
gb.cmd_idx = _10;
# DEBUG BEGIN_STMT
debug_printf ("\b \b");
goto <bb 15>; [INV]
<bb 9> :
<L8>:
# DEBUG BEGIN_STMT
_11 = gb.cmd_idx;
_12 = gb.cmd_buf[_11];
_13 = _12 + 224;
if (_13 <= 94)
goto <bb 10>; [INV]
else
goto <bb 11>; [INV]
<bb 10> :
# 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 <bb 15>; [INV]
<bb 11> :
# DEBUG BEGIN_STMT
_18 = gb.cmd_idx;
_19 = gb.cmd_buf[_18];
_20 = _19 + 80;
if (_20 <= 24)
goto <bb 12>; [INV]
else
goto <bb 15>; [INV]
<bb 12> :
# 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 <bb 13>; [INV]
else
goto <bb 14>; [INV]
<bb 13> :
# 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 <bb 15>; [INV]
<bb 14> :
# DEBUG BEGIN_STMT
_33 = gb.cmd_idx;
_34 = _33 + 4294967295;
_35 = gb.cmd_buf[_34];
put_char (_35);
<bb 15> :
# DEBUG BEGIN_STMT
_36 = gb.cmd_idx;
if (max_len <= _36)
goto <bb 16>; [INV]
else
goto <bb 17>; [INV]
<bb 16> :
# DEBUG BEGIN_STMT
_37 = max_len + 4294967295;
gb.cmd_buf[_37] = 0;
# DEBUG BEGIN_STMT
gb.cmd_idx = 0;
# DEBUG BEGIN_STMT
D.9965 = 0;
// predicted unlikely by early return (on trees) predictor.
goto <bb 18>; [INV]
<bb 17> :
# DEBUG BEGIN_STMT
D.9965 = 1;
<bb 18> :
return D.9965;
}
put_char (char ch)
{
<bb 2> :
# DEBUG BEGIN_STMT
Lpuart_Uart_Ip_SyncSend (0, &ch, 1);
return;
}
get_char (char * ch)
{
int D.9961;
<bb 2> :
# DEBUG BEGIN_STMT
_1 = gb.ubuf_head;
_2 = gb.ubuf_tail;
if (_1 == _2)
goto <bb 3>; [INV]
else
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
D.9961 = 1;
// predicted unlikely by early return (on trees) predictor.
goto <bb 5>; [INV]
<bb 4> :
# DEBUG BEGIN_STMT
_3 = gb.ubuf_head;
_4 = gb.ubuf[_3];
*ch = _4;
# DEBUG BEGIN_STMT
_5 = gb.ubuf_head;
_6 = _5 + 1;
_7 = _6 & 255;
gb.ubuf_head = _7;
# DEBUG BEGIN_STMT
D.9961 = 0;
<bb 5> :
return D.9961;
}
Gvar_init ()
{
<bb 2> :
# DEBUG BEGIN_STMT
gb.ubuf_head = 0;
# DEBUG BEGIN_STMT
gb.ubuf_tail = 0;
return;
}
PrintLogo ()
{
<bb 2> :
# 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)
{
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
if (event == 0)
goto <bb 3>; [INV]
else
goto <bb 4>; [INV]
<bb 3> :
# 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, &gb.utemp, 1);
<bb 4> :
return;
}
board_init ()
{
<bb 2> :
# DEBUG BEGIN_STMT
Lpuart_Uart_Ip_AsyncReceive (0, &gb.utemp, 1);
# DEBUG BEGIN_STMT
led_onoff (0);
return;
}
system_reset ()
{
u32 * addr;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
addr = 1076297728B;
# DEBUG BEGIN_STMT
*addr = 1;
return;
}
Pit_Callback ()
{
<bb 2> :
# 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 <bb 3>; [INV]
else
goto <bb 6>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
gb.led_cnt = 0;
# DEBUG BEGIN_STMT
_6 = gb.led_flag;
if (_6 == 1)
goto <bb 4>; [INV]
else
goto <bb 5>; [INV]
<bb 4> :
# DEBUG BEGIN_STMT
led_onoff (0);
goto <bb 6>; [INV]
<bb 5> :
# DEBUG BEGIN_STMT
led_onoff (1);
<bb 6> :
return;
}
Adc1EndOfChainNoti ()
{
volatile u16 data;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 = Adc_Sar_Ip_GetConvData (1, 35);
data = _1;
# DEBUG BEGIN_STMT
_2 = gb.adc[1].idx;
_3 = (int) _2;
data.7_4 = 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 = _12;
# DEBUG BEGIN_STMT
_13 = gb.adc[0].idx;
_14 = (int) _13;
data.8_15 = 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;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
_1 = Adc_Sar_Ip_GetConvData (0, 33);
data = _1;
# DEBUG BEGIN_STMT
_2 = gb.adc[2].idx;
_3 = (int) _2;
data.5_4 = 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 = _12;
# DEBUG BEGIN_STMT
_13 = gb.adc[3].idx;
_14 = (int) _13;
data.6_15 = 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;
u32 D.9950;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
min = 65536;
# DEBUG BEGIN_STMT
max = -65537;
# DEBUG BEGIN_STMT
sum = 0;
# DEBUG BEGIN_STMT
i = 0;
goto <bb 8>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
i.0_1 = (unsigned int) i;
_2 = i.0_1 * 2;
_3 = val + _2;
_4 = *_3;
_5 = (int) _4;
sum = sum + _5;
# DEBUG BEGIN_STMT
i.1_6 = (unsigned int) i;
_7 = i.1_6 * 2;
_8 = val + _7;
_9 = *_8;
_10 = (int) _9;
if (max < _10)
goto <bb 4>; [INV]
else
goto <bb 5>; [INV]
<bb 4> :
# DEBUG BEGIN_STMT
i.2_11 = (unsigned int) i;
_12 = i.2_11 * 2;
_13 = val + _12;
_14 = *_13;
max = (int) _14;
<bb 5> :
# DEBUG BEGIN_STMT
i.3_15 = (unsigned int) i;
_16 = i.3_15 * 2;
_17 = val + _16;
_18 = *_17;
_19 = (int) _18;
if (min > _19)
goto <bb 6>; [INV]
else
goto <bb 7>; [INV]
<bb 6> :
# DEBUG BEGIN_STMT
i.4_20 = (unsigned int) i;
_21 = i.4_20 * 2;
_22 = val + _21;
_23 = *_22;
min = (int) _23;
<bb 7> :
# DEBUG BEGIN_STMT
i = i + 1;
<bb 8> :
# DEBUG BEGIN_STMT
if (i < len)
goto <bb 3>; [INV]
else
goto <bb 9>; [INV]
<bb 9> :
# DEBUG BEGIN_STMT
_24 = sum - max;
_25 = _24 - min;
_26 = len + -2;
_27 = _25 / _26;
ret = (u16) _27;
# DEBUG BEGIN_STMT
D.9950 = (u32) ret;
return D.9950;
}
set_pwm (u32 ch, u32 ratio)
{
u32 val;
u32 channel;
<bb 2> :
# DEBUG BEGIN_STMT
# DEBUG BEGIN_STMT
channel = pwm_idx[ch];
# DEBUG BEGIN_STMT
if (ratio > 99)
goto <bb 3>; [INV]
else
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
val = 240;
goto <bb 7>; [INV]
<bb 4> :
# DEBUG BEGIN_STMT
if (ratio == 0)
goto <bb 5>; [INV]
else
goto <bb 6>; [INV]
<bb 5> :
# DEBUG BEGIN_STMT
val = 0;
goto <bb 7>; [INV]
<bb 6> :
# DEBUG BEGIN_STMT
_1 = ratio * 240;
val = _1 / 100;
<bb 7> :
# DEBUG BEGIN_STMT
_2 = (unsigned char) channel;
_3 = (short unsigned int) val;
Flexio_Pwm_Ip_UpdatePeriodDuty (0, _2, 240, _3);
return;
}
led_onoff (int flag)
{
<bb 2> :
# DEBUG BEGIN_STMT
if (flag == 1)
goto <bb 3>; [INV]
else
goto <bb 4>; [INV]
<bb 3> :
# DEBUG BEGIN_STMT
Siul2_Dio_Ip_WritePin (1076434692B, 13, 0);
goto <bb 5>; [INV]
<bb 4> :
# DEBUG BEGIN_STMT
Siul2_Dio_Ip_WritePin (1076434692B, 13, 1);
<bb 5> :
# DEBUG BEGIN_STMT
gb.led_flag = flag;
return;
}