59 changed files with 10769 additions and 1969 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
File diff suppressed because it is too large
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@ -0,0 +1,157 @@ |
|||
/***********************************************************************************************************************
|
|||
* DISCLAIMER |
|||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. |
|||
* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all |
|||
* applicable laws, including copyright laws. |
|||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED |
|||
* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
|||
* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY |
|||
* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, |
|||
* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR |
|||
* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. |
|||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability |
|||
* of this software. By using this software, you agree to the additional terms and conditions found by accessing the |
|||
* following link: |
|||
* http://www.renesas.com/disclaimer
|
|||
* |
|||
* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. |
|||
***********************************************************************************************************************/ |
|||
|
|||
/***********************************************************************************************************************
|
|||
* File Name : r_cg_timer.c |
|||
* Version : CodeGenerator for RL78/F14 V2.03.07.02 [08 Nov 2021] |
|||
* Device(s) : R5F10PPJ |
|||
* Tool-Chain : CCRL |
|||
* Description : This file implements device driver for TAU module. |
|||
* Creation Date: 2026-09-15 |
|||
***********************************************************************************************************************/ |
|||
|
|||
/***********************************************************************************************************************
|
|||
Includes |
|||
***********************************************************************************************************************/ |
|||
#include "r_cg_macrodriver.h" |
|||
#include "r_cg_timer.h" |
|||
/* Start user code for include. Do not edit comment generated here */ |
|||
/* End user code. Do not edit comment generated here */ |
|||
#include "r_cg_userdefine.h" |
|||
|
|||
/***********************************************************************************************************************
|
|||
Pragma directive |
|||
***********************************************************************************************************************/ |
|||
/* Start user code for pragma. Do not edit comment generated here */ |
|||
/* End user code. Do not edit comment generated here */ |
|||
|
|||
/***********************************************************************************************************************
|
|||
Global variables and functions |
|||
***********************************************************************************************************************/ |
|||
/* For TAU1_ch5 pulse measurement */ |
|||
extern volatile uint32_t g_tau1_ch5_width; |
|||
/* Start user code for global. Do not edit comment generated here */ |
|||
/* End user code. Do not edit comment generated here */ |
|||
|
|||
/***********************************************************************************************************************
|
|||
* Function Name: R_TAU1_Create |
|||
* Description : This function initializes the TAU1 module. |
|||
* Arguments : None |
|||
* Return Value : None |
|||
***********************************************************************************************************************/ |
|||
void R_TAU1_Create(void) |
|||
{ |
|||
TAU1EN = 1U; /* supplies input clock */ |
|||
TPS1 = _0000_TAU_CKM0_FCLK_0 | _0000_TAU_CKM1_FCLK_0 | _0000_TAU_CKM2_FCLK_0 | _0000_TAU_CKM3_FCLK_0; |
|||
/* Stop all channels */ |
|||
TT1 = _0001_TAU_CH0_STOP_TRG_ON | _0002_TAU_CH1_STOP_TRG_ON | _0004_TAU_CH2_STOP_TRG_ON | |
|||
_0008_TAU_CH3_STOP_TRG_ON | _0010_TAU_CH4_STOP_TRG_ON | _0020_TAU_CH5_STOP_TRG_ON | |
|||
_0040_TAU_CH6_STOP_TRG_ON | _0080_TAU_CH7_STOP_TRG_ON | _0200_TAU_CH1_H8_STOP_TRG_ON | |
|||
_0800_TAU_CH3_H8_STOP_TRG_ON; |
|||
PWMDLY2 = _0000_TAU_PWM_DELAY_CLEAR; /* clear PWM output delay */ |
|||
/* Mask channel 0 interrupt */ |
|||
TMMK10 = 1U; /* disable INTTM10 interrupt */ |
|||
TMIF10 = 0U; /* clear INTTM10 interrupt flag */ |
|||
/* Mask channel 1 interrupt */ |
|||
TMMK11 = 1U; /* disable INTTM11 interrupt */ |
|||
TMIF11 = 0U; /* clear INTTM11 interrupt flag */ |
|||
/* Mask channel 1 higher 8 bits interrupt */ |
|||
TMMK11H = 1U; /* disable INTTM11H interrupt */ |
|||
TMIF11H = 0U; /* clear INTTM11H interrupt flag */ |
|||
/* Mask channel 2 interrupt */ |
|||
TMMK12 = 1U; /* disable INTTM12 interrupt */ |
|||
TMIF12 = 0U; /* clear INTTM12 interrupt flag */ |
|||
/* Mask channel 3 interrupt */ |
|||
TMMK13 = 1U; /* disable INTTM13 interrupt */ |
|||
TMIF13 = 0U; /* clear INTTM13 interrupt flag */ |
|||
/* Mask channel 3 higher 8 bits interrupt */ |
|||
TMMK13H = 1U; /* disable INTTM13H interrupt */ |
|||
TMIF13H = 0U; /* clear INTTM13H interrupt flag */ |
|||
/* Mask channel 4 interrupt */ |
|||
TMMK14 = 1U; /* disable INTTM14 interrupt */ |
|||
TMIF14 = 0U; /* clear INTTM14 interrupt flag */ |
|||
/* Mask channel 5 interrupt */ |
|||
TMMK15 = 1U; /* disable INTTM15 interrupt */ |
|||
TMIF15 = 0U; /* clear INTTM15 interrupt flag */ |
|||
/* Mask channel 6 interrupt */ |
|||
TMMK16 = 1U; /* disable INTTM16 interrupt */ |
|||
TMIF16 = 0U; /* clear INTTM16 interrupt flag */ |
|||
/* Mask channel 7 interrupt */ |
|||
TMMK17 = 1U; /* disable INTTM17 interrupt */ |
|||
TMIF17 = 0U; /* clear INTTM17 interrupt flag */ |
|||
/* Set INTTM15 high priority */ |
|||
TMPR115 = 0U; |
|||
TMPR015 = 0U; |
|||
/* Channel 5 is used to measure input pulse interval */ |
|||
TMR15 = _0000_TAU_CLOCK_SELECT_CKM0 | _0000_TAU_CLOCK_MODE_CKS | _0000_TAU_COMBINATION_SLAVE | |
|||
_0100_TAU_TRIGGER_TIMN_VALID | _0080_TAU_TIMN_EDGE_BOTH_LOW | _0004_TAU_MODE_CAPTURE | |
|||
_0000_TAU_START_INT_UNUSED; |
|||
TOM1 &= ~_0020_TAU_CH5_OUTPUT_COMBIN; |
|||
TOL1 &= ~_0020_TAU_CH5_OUTPUT_LEVEL_L; |
|||
TO1 &= ~_0020_TAU_CH5_OUTPUT_VALUE_1; |
|||
TOE1 &= ~_0020_TAU_CH5_OUTPUT_ENABLE; |
|||
NFEN2 |= _20_TAU_CH5_NOISE_ON; /* enable using noise filter of TI15 pin input signal */ |
|||
/* Set TI15 pin */ |
|||
PIM7 &= 0xFEU; |
|||
PMC7 &= 0xFEU; |
|||
PM7 |= 0x01U; |
|||
} |
|||
|
|||
/***********************************************************************************************************************
|
|||
* Function Name: R_TAU1_Channel5_Start |
|||
* Description : This function starts TAU1 channel 5 counter. |
|||
* Arguments : None |
|||
* Return Value : None |
|||
***********************************************************************************************************************/ |
|||
void R_TAU1_Channel5_Start(void) |
|||
{ |
|||
TMIF15 = 0U; /* clear INTTM15 interrupt flag */ |
|||
TMMK15 = 0U; /* enable INTTM15 interrupt */ |
|||
TS1 |= _0020_TAU_CH5_START_TRG_ON; |
|||
} |
|||
|
|||
/***********************************************************************************************************************
|
|||
* Function Name: R_TAU1_Channel5_Stop |
|||
* Description : This function stops TAU1 channel 5 counter. |
|||
* Arguments : None |
|||
* Return Value : None |
|||
***********************************************************************************************************************/ |
|||
void R_TAU1_Channel5_Stop(void) |
|||
{ |
|||
TT1 |= _0020_TAU_CH5_STOP_TRG_ON; |
|||
/* Mask channel 5 interrupt */ |
|||
TMMK15 = 1U; /* disable INTTM15 interrupt */ |
|||
TMIF15 = 0U; /* clear INTTM15 interrupt flag */ |
|||
} |
|||
|
|||
/***********************************************************************************************************************
|
|||
* Function Name: R_TAU1_Channel5_Get_PulseWidth |
|||
* Description : This function measures TAU1 channel 5 input pulse width. |
|||
* Arguments : width - |
|||
* the address where to write the input pulse width |
|||
* Return Value : None |
|||
***********************************************************************************************************************/ |
|||
void R_TAU1_Channel5_Get_PulseWidth(uint32_t * const width) |
|||
{ |
|||
/* For channel 5 pulse measurement */ |
|||
*width = g_tau1_ch5_width; |
|||
} |
|||
|
|||
/* Start user code for adding. Do not edit comment generated here */ |
|||
/* End user code. Do not edit comment generated here */ |
|||
File diff suppressed because it is too large
@ -0,0 +1,133 @@ |
|||
/***********************************************************************************************************************
|
|||
* DISCLAIMER |
|||
* This software is supplied by Renesas Electronics Corporation and is only intended for use with Renesas products. |
|||
* No other uses are authorized. This software is owned by Renesas Electronics Corporation and is protected under all |
|||
* applicable laws, including copyright laws. |
|||
* THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING THIS SOFTWARE, WHETHER EXPRESS, IMPLIED |
|||
* OR STATUTORY, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
|||
* NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED.TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY |
|||
* LAW, NEITHER RENESAS ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE FOR ANY DIRECT, |
|||
* INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR |
|||
* ITS AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. |
|||
* Renesas reserves the right, without notice, to make changes to this software and to discontinue the availability |
|||
* of this software. By using this software, you agree to the additional terms and conditions found by accessing the |
|||
* following link: |
|||
* http://www.renesas.com/disclaimer
|
|||
* |
|||
* Copyright (C) 2012, 2021 Renesas Electronics Corporation. All rights reserved. |
|||
***********************************************************************************************************************/ |
|||
|
|||
/***********************************************************************************************************************
|
|||
* File Name : r_cg_timer_user.c |
|||
* Version : CodeGenerator for RL78/F14 V2.03.07.02 [08 Nov 2021] |
|||
* Device(s) : R5F10PPJ |
|||
* Tool-Chain : CCRL |
|||
* Description : This file implements device driver for TAU module. |
|||
* Creation Date: 2026-09-15 |
|||
***********************************************************************************************************************/ |
|||
|
|||
/***********************************************************************************************************************
|
|||
Includes |
|||
***********************************************************************************************************************/ |
|||
#include "r_cg_macrodriver.h" |
|||
#include "r_cg_timer.h" |
|||
#include "r_cg_cgc.h" |
|||
/* Start user code for include. Do not edit comment generated here */ |
|||
/* End user code. Do not edit comment generated here */ |
|||
#include "r_cg_userdefine.h" |
|||
|
|||
/***********************************************************************************************************************
|
|||
Pragma directive |
|||
***********************************************************************************************************************/ |
|||
#pragma interrupt r_tau1_channel5_interrupt(vect=INTTM15) |
|||
/* Start user code for pragma. Do not edit comment generated here */ |
|||
/* End user code. Do not edit comment generated here */ |
|||
|
|||
/***********************************************************************************************************************
|
|||
Global variables and functions |
|||
***********************************************************************************************************************/ |
|||
/* For TAU1_ch5 pulse measurement */ |
|||
volatile uint32_t g_tau1_ch5_width = 0UL; |
|||
/* Start user code for global. Do not edit comment generated here */ |
|||
#define TAU1_CH5_CAPTURE_QUEUE_SIZE (16U) |
|||
#define TAU1_CH5_CAPTURE_QUEUE_MASK (TAU1_CH5_CAPTURE_QUEUE_SIZE - 1U) |
|||
|
|||
static volatile uint32_t g_tau1_ch5_low_ticks[TAU1_CH5_CAPTURE_QUEUE_SIZE]; |
|||
static volatile uint8_t g_tau1_ch5_capture_head = 0U; |
|||
static volatile uint8_t g_tau1_ch5_capture_tail = 0U; |
|||
static volatile uint8_t g_tau1_ch5_capture_overflow = 0U; |
|||
/* End user code. Do not edit comment generated here */ |
|||
|
|||
/***********************************************************************************************************************
|
|||
* Function Name: r_tau1_channel5_interrupt |
|||
* Description : This function is INTTM15 interrupt service routine. |
|||
* Arguments : None |
|||
* Return Value : None |
|||
***********************************************************************************************************************/ |
|||
static void __near r_tau1_channel5_interrupt(void) |
|||
{ |
|||
if ((TSR15 & _0001_TAU_OVERFLOW_OCCURS) == 1U) /* overflow occurs */ |
|||
{ |
|||
g_tau1_ch5_width = ((uint32_t)TDR15 + 1UL) + 0x10000U; |
|||
} |
|||
else |
|||
{ |
|||
g_tau1_ch5_width = ((uint32_t)TDR15 + 1UL); |
|||
} |
|||
|
|||
/* Start user code. Do not edit comment generated here */ |
|||
g_trace_isr = 1U; |
|||
/* A rising edge ends a LOW pulse. Queue only LOW widths for the OWI decoder. */ |
|||
if ((P7 & 0x01U) != 0U) |
|||
{ |
|||
uint8_t next = (uint8_t)((g_tau1_ch5_capture_head + 1U) & TAU1_CH5_CAPTURE_QUEUE_MASK); |
|||
|
|||
if (next != g_tau1_ch5_capture_tail) |
|||
{ |
|||
g_tau1_ch5_low_ticks[g_tau1_ch5_capture_head] = g_tau1_ch5_width; |
|||
g_tau1_ch5_capture_head = next; |
|||
} |
|||
else |
|||
{ |
|||
g_tau1_ch5_capture_overflow = 1U; |
|||
} |
|||
} |
|||
g_trace_isr = 0U; |
|||
/* End user code. Do not edit comment generated here */ |
|||
} |
|||
|
|||
/* Start user code for adding. Do not edit comment generated here */ |
|||
/* Call only while channel 5 is stopped. */ |
|||
void R_TAU1_Channel5_CaptureReset(void) |
|||
{ |
|||
g_tau1_ch5_capture_head = 0U; |
|||
g_tau1_ch5_capture_tail = 0U; |
|||
g_tau1_ch5_capture_overflow = 0U; |
|||
g_tau1_ch5_width = 0UL; |
|||
} |
|||
|
|||
uint8_t R_TAU1_Channel5_GetLowWidthTicks(uint32_t * const ticks) |
|||
{ |
|||
uint8_t available = 0U; |
|||
|
|||
if (ticks == 0) |
|||
{ |
|||
return 0U; |
|||
} |
|||
|
|||
if (g_tau1_ch5_capture_tail != g_tau1_ch5_capture_head) |
|||
{ |
|||
*ticks = g_tau1_ch5_low_ticks[g_tau1_ch5_capture_tail]; |
|||
g_tau1_ch5_capture_tail = |
|||
(uint8_t)((g_tau1_ch5_capture_tail + 1U) & TAU1_CH5_CAPTURE_QUEUE_MASK); |
|||
available = 1U; |
|||
} |
|||
|
|||
return available; |
|||
} |
|||
|
|||
uint8_t R_TAU1_Channel5_CaptureOverflowed(void) |
|||
{ |
|||
return g_tau1_ch5_capture_overflow; |
|||
} |
|||
/* End user code. Do not edit comment generated here */ |
|||
@ -0,0 +1,483 @@ |
|||
#CC-RL Compiler RL78 Assembler Source |
|||
#@ CC-RL Version : V1.15.00 [06 Dec 2024] |
|||
#@ Commmand : |
|||
#@ -cpu=S3 |
|||
#@ -S |
|||
#@ -Olite |
|||
#@ -I . |
|||
#@ -asm_path=tmp |
|||
#@ r_main.c |
|||
#@ owi.c |
|||
#@ app_owi_service.c |
|||
#@ compiled at Tue Sep 15 15:24:24 2026 |
|||
|
|||
.EXTERN _memset |
|||
.PUBLIC _app_owi_read_basic |
|||
.EXTERN _R_WDT_Restart |
|||
.EXTERN _OWI_ReadBytesRaw |
|||
.EXTERN _delay_us |
|||
.PUBLIC _app_owi_write_basic |
|||
.EXTERN _OWI_CommandModeRaw |
|||
.PUBLIC _app_owi_write_t_basic |
|||
.EXTERN _OWI_T_CommandModeRaw |
|||
|
|||
.SECTION .textf,TEXTF |
|||
.TYPE _app_owi_from_raw@1,function,.LFE1-_app_owi_from_raw@1 |
|||
_app_owi_from_raw@1: |
|||
.STACK _app_owi_from_raw@1 = 338 |
|||
subw sp, #0xFE |
|||
subw sp, #0x4E |
|||
movw [sp+0x02], ax |
|||
pop ax |
|||
push bc |
|||
movw de, #0x0148 |
|||
clrw bc |
|||
movw ax, sp |
|||
addw ax, #0x0004 |
|||
call !!_memset |
|||
movw ax, [sp+0x00] |
|||
or a, x |
|||
bz $.BB@LABEL@1_2 |
|||
.BB@LABEL@1_1: ; entry.bb6_crit_edge |
|||
oneb a |
|||
br $.BB@LABEL@1_3 |
|||
.BB@LABEL@1_2: ; bb5 |
|||
clrb a |
|||
.BB@LABEL@1_3: ; bb6 |
|||
cmp0 a |
|||
bnz $.BB@LABEL@1_5 |
|||
.BB@LABEL@1_4: ; if_then_bb |
|||
mov [sp+0x04], #0x00 |
|||
br $.BB@LABEL@1_9 |
|||
.BB@LABEL@1_5: ; if_break_bb |
|||
pop de |
|||
push de |
|||
mov a, [de] |
|||
mov [sp+0x04], a |
|||
mov a, [de+0x01] |
|||
mov [sp+0x05], a |
|||
movw ax, [de+0x02] |
|||
movw [sp+0x06], ax |
|||
pop bc |
|||
push bc |
|||
movw ax, 0x0144[bc] |
|||
push bc |
|||
movw bc, sp |
|||
movw 0x014A[bc], ax |
|||
pop bc |
|||
mov a, 0x0146[bc] |
|||
movw bc, sp |
|||
mov 0x014A[bc], a |
|||
clrw bc |
|||
pop hl |
|||
push hl |
|||
br $.BB@LABEL@1_7 |
|||
.BB@LABEL@1_6: ; bb33 |
|||
movw ax, sp |
|||
addw ax, #0x0004 |
|||
addw ax, bc |
|||
addw ax, #0x0004 |
|||
movw [sp+0x00], ax |
|||
movw ax, hl |
|||
addw ax, bc |
|||
addw ax, #0x0004 |
|||
movw de, ax |
|||
mov a, [de] |
|||
mov d, a |
|||
movw ax, [sp+0x00] |
|||
xchw ax, de |
|||
mov [de], a |
|||
incw bc |
|||
.BB@LABEL@1_7: ; bb48 |
|||
movw ax, bc |
|||
cmpw ax, [hl+0x02] |
|||
bnc $.BB@LABEL@1_9 |
|||
.BB@LABEL@1_8: ; bb48 |
|||
cmpw ax, #0x0140 |
|||
bc $.BB@LABEL@1_6 |
|||
.BB@LABEL@1_9: ; bb67 |
|||
movw ax, sp |
|||
addw ax, #0x0004 |
|||
movw bc, ax |
|||
movw ax, [sp+0x02] |
|||
movw de, #0x0148 |
|||
call !!_memcpy |
|||
addw sp, #0xFE |
|||
addw sp, #0x4E |
|||
ret |
|||
.LFE1: |
|||
.TYPE _is_long_owi_read@1,function,.LFE2-_is_long_owi_read@1 |
|||
_is_long_owi_read@1: |
|||
.STACK _is_long_owi_read@1 = 4 |
|||
cmpw ax, #0x007F |
|||
bz $.BB@LABEL@2_2 |
|||
.BB@LABEL@2_1: ; entry |
|||
clrb b |
|||
br $.BB@LABEL@2_3 |
|||
.BB@LABEL@2_2: ; entry |
|||
oneb b |
|||
.BB@LABEL@2_3: ; entry |
|||
cmpw ax, #0x0077 |
|||
bz $.BB@LABEL@2_5 |
|||
.BB@LABEL@2_4: ; entry |
|||
clrb a |
|||
br $.BB@LABEL@2_6 |
|||
.BB@LABEL@2_5: ; entry |
|||
oneb a |
|||
.BB@LABEL@2_6: ; entry |
|||
or a, b |
|||
ret |
|||
.LFE2: |
|||
.TYPE _looks_bad_tail@1,function,.LFE3-_looks_bad_tail@1 |
|||
_looks_bad_tail@1: |
|||
.STACK _looks_bad_tail@1 = 8 |
|||
subw sp, #0x04 |
|||
cmpw ax, #0x0000 |
|||
bnz $.BB@LABEL@3_2 |
|||
.BB@LABEL@3_1: ; entry.bb81_crit_edge |
|||
oneb a |
|||
br $.BB@LABEL@3_15 |
|||
.BB@LABEL@3_2: ; if_break_bb |
|||
movw hl, ax |
|||
movw ax, [hl+0x02] |
|||
movw de, ax |
|||
cmpw ax, #0x0018 |
|||
bc $.BB@LABEL@3_1 |
|||
.BB@LABEL@3_3: ; if_break_bb17 |
|||
clrb b |
|||
mov a, b |
|||
mov [sp+0x03], a |
|||
movw ax, de |
|||
addw ax, #0xFFE8 |
|||
movw [sp+0x00], ax |
|||
mov a, b |
|||
mov [sp+0x02], a |
|||
br $.BB@LABEL@3_13 |
|||
.BB@LABEL@3_4: ; bb22 |
|||
movw ax, [sp+0x00] |
|||
movw bc, ax |
|||
addw ax, hl |
|||
addw ax, #0x0004 |
|||
movw de, ax |
|||
mov a, [de] |
|||
mov x, a |
|||
cmp0 x |
|||
bz $.BB@LABEL@3_6 |
|||
.BB@LABEL@3_5: ; bb22.if_break_bb38_crit_edge |
|||
clrb a |
|||
br $.BB@LABEL@3_7 |
|||
.BB@LABEL@3_6: ; if_then_bb35 |
|||
mov a, [sp+0x02] |
|||
inc a |
|||
.BB@LABEL@3_7: ; if_then_bb35 |
|||
mov [sp+0x02], a |
|||
inc x |
|||
bz $.BB@LABEL@3_9 |
|||
.BB@LABEL@3_8: ; if_break_bb38.if_break_bb48_crit_edge |
|||
clrb a |
|||
br $.BB@LABEL@3_10 |
|||
.BB@LABEL@3_9: ; if_then_bb44 |
|||
mov a, [sp+0x03] |
|||
inc a |
|||
.BB@LABEL@3_10: ; if_then_bb44 |
|||
mov [sp+0x03], a |
|||
mov a, [sp+0x02] |
|||
cmp a, #0x08 |
|||
bnc $.BB@LABEL@3_1 |
|||
.BB@LABEL@3_11: ; if_break_bb48 |
|||
mov a, [sp+0x03] |
|||
cmp a, #0x08 |
|||
bnc $.BB@LABEL@3_1 |
|||
.BB@LABEL@3_12: ; if_break_bb68 |
|||
incw bc |
|||
pop ax |
|||
push bc |
|||
.BB@LABEL@3_13: ; bb71 |
|||
movw ax, [sp+0x00] |
|||
cmpw ax, [hl+0x02] |
|||
bc $.BB@LABEL@3_4 |
|||
.BB@LABEL@3_14: ; bb71.bb81_crit_edge |
|||
clrb a |
|||
.BB@LABEL@3_15: ; bb81 |
|||
addw sp, #0x04 |
|||
ret |
|||
.LFE3: |
|||
.TYPE _looks_bad_last_bytes@1,function,.LFE4-_looks_bad_last_bytes@1 |
|||
_looks_bad_last_bytes@1: |
|||
.STACK _looks_bad_last_bytes@1 = 8 |
|||
subw sp, #0x04 |
|||
cmpw ax, #0x0000 |
|||
bz $.BB@LABEL@4_13 |
|||
.BB@LABEL@4_1: ; if_break_bb |
|||
movw de, ax |
|||
movw ax, [de+0x02] |
|||
cmpw ax, #0x0003 |
|||
bc $.BB@LABEL@4_13 |
|||
.BB@LABEL@4_2: ; if_break_bb17 |
|||
addw ax, #0xFFFD |
|||
movw [sp+0x02], ax |
|||
oneb a |
|||
mov [sp+0x00], a |
|||
clrb c |
|||
oneb a |
|||
mov b, a |
|||
br $.BB@LABEL@4_8 |
|||
.BB@LABEL@4_3: ; bb22 |
|||
shrw ax, 8+0x00000 |
|||
addw ax, [hl+0x02] |
|||
addw ax, de |
|||
addw ax, #0x0004 |
|||
movw hl, ax |
|||
mov a, [hl] |
|||
cmp0 a |
|||
skz |
|||
.BB@LABEL@4_4: ; if_then_bb38 |
|||
clrb b |
|||
.BB@LABEL@4_5: ; if_break_bb39 |
|||
inc a |
|||
bz $.BB@LABEL@4_7 |
|||
.BB@LABEL@4_6: ; if_then_bb45 |
|||
clrb a |
|||
mov [sp+0x00], a |
|||
.BB@LABEL@4_7: ; if_break_bb46 |
|||
inc c |
|||
.BB@LABEL@4_8: ; bb49 |
|||
movw hl, sp |
|||
mov a, c |
|||
cmp a, #0x03 |
|||
bc $.BB@LABEL@4_3 |
|||
.BB@LABEL@4_9: ; bb55 |
|||
cmp0 b |
|||
bnz $.BB@LABEL@4_13 |
|||
.BB@LABEL@4_10: ; bb55 |
|||
mov a, [hl] |
|||
cmp0 a |
|||
bnz $.BB@LABEL@4_13 |
|||
.BB@LABEL@4_11: ; bb67 |
|||
clrb a |
|||
.BB@LABEL@4_12: ; bb67 |
|||
addw sp, #0x04 |
|||
ret |
|||
.BB@LABEL@4_13: ; bb74 |
|||
oneb a |
|||
br $.BB@LABEL@4_12 |
|||
.LFE4: |
|||
.TYPE _ends_with_ff_pair@1,function,.LFE5-_ends_with_ff_pair@1 |
|||
_ends_with_ff_pair@1: |
|||
.STACK _ends_with_ff_pair@1 = 4 |
|||
cmpw ax, #0x0000 |
|||
bz $.BB@LABEL@5_5 |
|||
.BB@LABEL@5_1: ; if_break_bb |
|||
movw de, ax |
|||
movw ax, [de+0x02] |
|||
movw bc, ax |
|||
cmpw ax, #0x0002 |
|||
bc $.BB@LABEL@5_5 |
|||
.BB@LABEL@5_2: ; if_break_bb17 |
|||
addw ax, de |
|||
addw ax, #0x0002 |
|||
movw hl, ax |
|||
mov a, [hl] |
|||
inc a |
|||
bnz $.BB@LABEL@5_4 |
|||
.BB@LABEL@5_3: ; bb32 |
|||
movw ax, bc |
|||
addw ax, de |
|||
addw ax, #0x0003 |
|||
movw de, ax |
|||
mov a, [de] |
|||
inc a |
|||
bz $.BB@LABEL@5_5 |
|||
.BB@LABEL@5_4: ; bb46 |
|||
clrb a |
|||
ret |
|||
.BB@LABEL@5_5: ; bb53 |
|||
oneb a |
|||
ret |
|||
.LFE5: |
|||
.TYPE _needs_retry_for_long_read@1,function,.LFE6-_needs_retry_for_long_read@1 |
|||
_needs_retry_for_long_read@1: |
|||
.STACK _needs_retry_for_long_read@1 = 8 |
|||
push bc |
|||
push ax |
|||
movw ax, bc |
|||
call $!_is_long_owi_read@1 |
|||
cmp0 a |
|||
bz $.BB@LABEL@6_9 |
|||
.BB@LABEL@6_1: ; if_break_bb |
|||
movw ax, [sp+0x00] |
|||
or a, x |
|||
bnz $.BB@LABEL@6_3 |
|||
.BB@LABEL@6_2: ; if_break_bb.bb88_crit_edge |
|||
oneb a |
|||
br $.BB@LABEL@6_10 |
|||
.BB@LABEL@6_3: ; if_break_bb23 |
|||
pop de |
|||
push de |
|||
mov a, [de] |
|||
cmp0 a |
|||
bz $.BB@LABEL@6_2 |
|||
.BB@LABEL@6_4: ; if_break_bb39 |
|||
mov a, [de+0x01] |
|||
cmp0 a |
|||
bnz $.BB@LABEL@6_2 |
|||
.BB@LABEL@6_5: ; if_break_bb49 |
|||
pop hl |
|||
push hl |
|||
movw ax, [sp+0x02] |
|||
cmpw ax, [hl+0x02] |
|||
bh $.BB@LABEL@6_2 |
|||
.BB@LABEL@6_6: ; if_break_bb59 |
|||
movw ax, hl |
|||
call $!_looks_bad_tail@1 |
|||
cmp0 a |
|||
bnz $.BB@LABEL@6_2 |
|||
.BB@LABEL@6_7: ; if_break_bb68 |
|||
movw ax, [sp+0x00] |
|||
call $!_looks_bad_last_bytes@1 |
|||
cmp0 a |
|||
bnz $.BB@LABEL@6_2 |
|||
.BB@LABEL@6_8: ; if_break_bb77 |
|||
movw ax, [sp+0x00] |
|||
call $!_ends_with_ff_pair@1 |
|||
cmp0 a |
|||
bnz $.BB@LABEL@6_2 |
|||
.BB@LABEL@6_9: ; if_break_bb86 |
|||
clrb a |
|||
.BB@LABEL@6_10: ; bb88 |
|||
addw sp, #0x04 |
|||
ret |
|||
.LFE6: |
|||
.TYPE _app_owi_read_basic,function,.LFE7-_app_owi_read_basic |
|||
_app_owi_read_basic: |
|||
.STACK _app_owi_read_basic = 340 |
|||
subw sp, #0xFE |
|||
subw sp, #0x52 |
|||
movw [sp+0x06], ax |
|||
mov a, c |
|||
mov [sp+0x02], a |
|||
movw ax, de |
|||
movw [sp+0x04], ax |
|||
call !!_R_WDT_Restart |
|||
movw ax, sp |
|||
addw ax, #0x0008 |
|||
movw [sp+0x00], ax |
|||
movw de, ax |
|||
mov a, [sp+0x02] |
|||
mov c, a |
|||
movw ax, [sp+0x04] |
|||
call !!_OWI_ReadBytesRaw |
|||
call !!_R_WDT_Restart |
|||
movw ax, [sp+0x04] |
|||
movw bc, ax |
|||
movw ax, [sp+0x00] |
|||
call $!_needs_retry_for_long_read@1 |
|||
cmp0 a |
|||
bz $.BB@LABEL@7_5 |
|||
.BB@LABEL@7_1: ; if_then_bb |
|||
call !!_R_WDT_Restart |
|||
clrw bc |
|||
movw ax, #0x0BB8 |
|||
call !!_delay_us |
|||
call !!_R_WDT_Restart |
|||
movw ax, sp |
|||
addw ax, #0x0008 |
|||
movw [sp+0x00], ax |
|||
movw de, ax |
|||
mov a, [sp+0x02] |
|||
mov c, a |
|||
movw ax, [sp+0x04] |
|||
call !!_OWI_ReadBytesRaw |
|||
call !!_R_WDT_Restart |
|||
movw ax, [sp+0x04] |
|||
movw bc, ax |
|||
movw ax, [sp+0x00] |
|||
call $!_needs_retry_for_long_read@1 |
|||
cmp0 a |
|||
bz $.BB@LABEL@7_5 |
|||
.BB@LABEL@7_2: ; bb |
|||
mov a, [sp+0x08] |
|||
cmp0 a |
|||
bz $.BB@LABEL@7_5 |
|||
.BB@LABEL@7_3: ; bb25 |
|||
mov a, [sp+0x09] |
|||
cmp0 a |
|||
bnz $.BB@LABEL@7_5 |
|||
.BB@LABEL@7_4: ; if_then_bb45 |
|||
mov [sp+0x08], #0x00 |
|||
mov [sp+0x09], #0x01 |
|||
movw ax, #0xFFFE |
|||
movw bc, sp |
|||
movw 0x014C[bc], ax |
|||
movw bc, sp |
|||
mov 0x014E[bc], #0xFE |
|||
.BB@LABEL@7_5: ; if_break_bb50 |
|||
movw ax, sp |
|||
addw ax, #0x0008 |
|||
movw bc, ax |
|||
movw ax, [sp+0x06] |
|||
call $!_app_owi_from_raw@1 |
|||
addw sp, #0xFE |
|||
addw sp, #0x52 |
|||
ret |
|||
.LFE7: |
|||
.TYPE _app_owi_write_basic,function,.LFE8-_app_owi_write_basic |
|||
_app_owi_write_basic: |
|||
.STACK _app_owi_write_basic = 340 |
|||
subw sp, #0xFE |
|||
subw sp, #0x50 |
|||
movw [sp+0x04], ax |
|||
mov a, c |
|||
mov [sp+0x01], a |
|||
push de |
|||
pop hl |
|||
mov a, b |
|||
mov [sp+0x00], a |
|||
movw ax, sp |
|||
addw ax, #0x0006 |
|||
movw [sp+0x02], ax |
|||
movw de, ax |
|||
pop bc |
|||
push bc |
|||
mov a, [sp+0x00] |
|||
mov c, a |
|||
movw ax, hl |
|||
call !!_OWI_CommandModeRaw |
|||
movw ax, [sp+0x02] |
|||
movw bc, ax |
|||
movw ax, [sp+0x04] |
|||
call $!_app_owi_from_raw@1 |
|||
addw sp, #0xFE |
|||
addw sp, #0x50 |
|||
ret |
|||
.LFE8: |
|||
.TYPE _app_owi_write_t_basic,function,.LFE9-_app_owi_write_t_basic |
|||
_app_owi_write_t_basic: |
|||
.STACK _app_owi_write_t_basic = 340 |
|||
subw sp, #0xFE |
|||
subw sp, #0x50 |
|||
movw [sp+0x04], ax |
|||
mov a, c |
|||
mov [sp+0x01], a |
|||
push de |
|||
pop hl |
|||
mov a, b |
|||
mov [sp+0x00], a |
|||
movw ax, sp |
|||
addw ax, #0x0006 |
|||
movw [sp+0x02], ax |
|||
movw de, ax |
|||
pop bc |
|||
push bc |
|||
mov a, [sp+0x00] |
|||
mov c, a |
|||
movw ax, hl |
|||
call !!_OWI_T_CommandModeRaw |
|||
movw ax, [sp+0x02] |
|||
movw bc, ax |
|||
movw ax, [sp+0x04] |
|||
call $!_app_owi_from_raw@1 |
|||
addw sp, #0xFE |
|||
addw sp, #0x50 |
|||
ret |
|||
.LFE9: |
|||
@ -0,0 +1,75 @@ |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(18):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(19):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(20):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(25):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(26):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(27):W0520301:Typedef name has already been declared (with same type) |
|||
uart.h(11):W0520047:Incompatible redefinition of macro "RAM_BYTES" (declared at line 29 of "owi.h") |
|||
i2c.h(8):W0520047:Incompatible redefinition of macro "RAM_BYTES" (declared at line 11 of "uart.h") |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(18):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(19):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(20):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(25):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(26):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(27):W0520301:Typedef name has already been declared (with same type) |
|||
i2c.h(8):W0520047:Incompatible redefinition of macro "RAM_BYTES" (declared at line 11 of "uart.h") |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(18):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(19):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(20):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(25):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(26):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(27):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(18):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(19):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(20):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(25):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(26):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(27):W0520301:Typedef name has already been declared (with same type) |
|||
i2c.h(8):W0520047:Incompatible redefinition of macro "RAM_BYTES" (declared at line 11 of "uart.h") |
|||
i2c.c(128):W0520167:Argument of type "const uint8_t *__near" is incompatible with parameter of type "uint8_t *const __near" |
|||
i2c.c(120):W0520177:Variable "uart_buf" was declared but never referenced |
|||
i2c.c(121):W0520177:Variable "j" was declared but never referenced |
|||
i2c.c(122):W0520177:Variable "rx" was declared but never referenced |
|||
i2c.c(173):W0520167:Argument of type "const uint8_t *__near" is incompatible with parameter of type "uint8_t *const __near" |
|||
i2c.c(169):W0520177:Variable "uart_buf" was declared but never referenced |
|||
i2c.c(170):W0520177:Variable "j" was declared but never referenced |
|||
i2c.c(171):W0520177:Variable "rx" was declared but never referenced |
|||
i2c.c(221):W0520069:Integer conversion resulted in truncation |
|||
i2c.c(227):W0520069:Integer conversion resulted in truncation |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(18):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(19):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(20):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(25):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(26):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(27):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(18):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(19):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(20):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(25):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(26):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(27):W0520301:Typedef name has already been declared (with same type) |
|||
gatectrl.c(3):W0520550:Variable "s_ch" was set but never used |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(18):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(19):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(20):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(25):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(26):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(27):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(18):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(19):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(20):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(25):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(26):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(27):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(18):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(19):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(20):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(25):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(26):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(27):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(18):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(19):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(20):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(25):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(26):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(27):W0520301:Typedef name has already been declared (with same type) |
|||
@ -0,0 +1,8 @@ |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(18):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(19):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(20):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(25):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(26):W0520301:Typedef name has already been declared (with same type) |
|||
C:\Program Files (x86)\Renesas Electronics\CS+\CC\CC-RL\V1.15.00\inc\stdint.h(27):W0520301:Typedef name has already been declared (with same type) |
|||
uart.h(11):W0520047:Incompatible redefinition of macro "RAM_BYTES" (declared at line 29 of "owi.h") |
|||
i2c.h(8):W0520047:Incompatible redefinition of macro "RAM_BYTES" (declared at line 11 of "uart.h") |
|||
File diff suppressed because it is too large
@ -0,0 +1,70 @@ |
|||
#CC-RL Compiler RL78 Assembler Source |
|||
#@ CC-RL Version : V1.15.00 [06 Dec 2024] |
|||
#@ Commmand : |
|||
#@ -cpu=S3 |
|||
#@ -S |
|||
#@ -Olite |
|||
#@ -I . |
|||
#@ -asm_path=tmp |
|||
#@ r_main.c |
|||
#@ r_cg_cgc_user.c |
|||
#@ compiled at Tue Sep 15 15:35:58 2026 |
|||
|
|||
.PUBLIC _g_boot_reset_flags |
|||
.PUBLIC _g_trace_magic |
|||
.PUBLIC _g_trace_stage |
|||
.PUBLIC _g_trace_byte |
|||
.PUBLIC _g_trace_stack_low |
|||
.PUBLIC _g_trace_isr |
|||
.PUBLIC _R_CGC_Get_ResetSource |
|||
.PUBLIC _NVM_TraceStack |
|||
|
|||
.SECTION .textf,TEXTF |
|||
.TYPE _R_CGC_Get_ResetSource,function,.LFE1-_R_CGC_Get_ResetSource |
|||
_R_CGC_Get_ResetSource: |
|||
.STACK _R_CGC_Get_ResetSource = 4 |
|||
mov a, 0xFFFA8 |
|||
mov !LOWW(_g_boot_reset_flags), a |
|||
ret |
|||
.LFE1: |
|||
.TYPE _NVM_TraceStack,function,.LFE2-_NVM_TraceStack |
|||
_NVM_TraceStack: |
|||
.STACK _NVM_TraceStack = 6 |
|||
push hl |
|||
movw ax, sp |
|||
movw bc, ax |
|||
movw ax, !LOWW(_g_trace_magic) |
|||
cmpw ax, #0x4352 |
|||
bnz $.BB@LABEL@2_3 |
|||
.BB@LABEL@2_1: ; bb |
|||
movw ax, bc |
|||
cmpw ax, !LOWW(_g_trace_stack_low) |
|||
sknc |
|||
.BB@LABEL@2_2: ; if_then_bb |
|||
movw !LOWW(_g_trace_stack_low), ax |
|||
.BB@LABEL@2_3: ; return |
|||
pop ax |
|||
ret |
|||
.LFE2: |
|||
.SECTION RESET_DIAG_n,BSS |
|||
.TYPE _g_boot_reset_flags,object,1 |
|||
_g_boot_reset_flags: |
|||
.DS (1) |
|||
.ALIGN 2 |
|||
.TYPE _g_trace_magic,object,2 |
|||
_g_trace_magic: |
|||
.DS (2) |
|||
.TYPE _g_trace_stage,object,1 |
|||
_g_trace_stage: |
|||
.DS (1) |
|||
.ALIGN 2 |
|||
.TYPE _g_trace_byte,object,2 |
|||
_g_trace_byte: |
|||
.DS (2) |
|||
.ALIGN 2 |
|||
.TYPE _g_trace_stack_low,object,2 |
|||
_g_trace_stack_low: |
|||
.DS (2) |
|||
.TYPE _g_trace_isr,object,1 |
|||
_g_trace_isr: |
|||
.DS (1) |
|||
@ -0,0 +1,161 @@ |
|||
#CC-RL Compiler RL78 Assembler Source |
|||
#@ CC-RL Version : V1.15.00 [06 Dec 2024] |
|||
#@ Commmand : |
|||
#@ -cpu=S3 |
|||
#@ -S |
|||
#@ -Olite |
|||
#@ -I . |
|||
#@ -asm_path=tmp |
|||
#@ r_cg_timer_user.c |
|||
#@ compiled at Tue Sep 15 15:34:42 2026 |
|||
|
|||
.PUBLIC _g_tau1_ch5_width |
|||
.PUBLIC _R_TAU1_Channel5_CaptureReset |
|||
.PUBLIC _R_TAU1_Channel5_GetLowWidthTicks |
|||
.PUBLIC _R_TAU1_Channel5_CaptureOverflowed |
|||
|
|||
.SECTION .text,TEXT |
|||
_r_tau1_channel5_interrupt@1 .vector 0x006E |
|||
.TYPE _r_tau1_channel5_interrupt@1,function,.LFE1-_r_tau1_channel5_interrupt@1 |
|||
_r_tau1_channel5_interrupt@1: |
|||
.STACK _r_tau1_channel5_interrupt@1 = 14 |
|||
push ax |
|||
push bc |
|||
push de |
|||
push hl |
|||
push hl |
|||
movw ax, !0x01EA |
|||
shrw ax, 0x01 |
|||
onew ax |
|||
bnc $.BB@LABEL@1_4 |
|||
.BB@LABEL@1_1: ; if_then_bb |
|||
addw ax, !0xFF7A |
|||
movw bc, ax |
|||
clrw ax |
|||
sknc |
|||
.BB@LABEL@1_2: ; if_then_bb |
|||
incw ax |
|||
.BB@LABEL@1_3: ; if_then_bb |
|||
incw ax |
|||
br $.BB@LABEL@1_6 |
|||
.BB@LABEL@1_4: ; if_else_bb |
|||
addw ax, !0xFF7A |
|||
movw bc, ax |
|||
clrw ax |
|||
sknc |
|||
.BB@LABEL@1_5: ; if_else_bb |
|||
incw ax |
|||
.BB@LABEL@1_6: ; if_else_bb |
|||
movw !LOWW(_g_tau1_ch5_width+0x00002), ax |
|||
movw ax, bc |
|||
movw !LOWW(_g_tau1_ch5_width), ax |
|||
mov a, 0xFFF07 |
|||
shrw ax, 8+0x00000 |
|||
shrw ax, 0x01 |
|||
bnc $.BB@LABEL@1_10 |
|||
.BB@LABEL@1_7: ; if_then_bb17 |
|||
mov a, !LOWW(_g_tau1_ch5_capture_head@2) |
|||
inc a |
|||
and a, #0x0F |
|||
mov [sp+0x00], a |
|||
cmp a, !LOWW(_g_tau1_ch5_capture_tail@3) |
|||
bz $.BB@LABEL@1_9 |
|||
.BB@LABEL@1_8: ; if_then_bb30 |
|||
mov a, !LOWW(_g_tau1_ch5_capture_head@2) |
|||
mov x, #0x04 |
|||
mulu x |
|||
addw ax, #LOWW(_g_tau1_ch5_low_ticks@1) |
|||
movw de, ax |
|||
movw bc, !LOWW(_g_tau1_ch5_width+0x00002) |
|||
movw hl, !LOWW(_g_tau1_ch5_width) |
|||
movw ax, bc |
|||
movw [de+0x02], ax |
|||
movw ax, hl |
|||
movw [de], ax |
|||
mov a, [sp+0x00] |
|||
mov !LOWW(_g_tau1_ch5_capture_head@2), a |
|||
br $.BB@LABEL@1_10 |
|||
.BB@LABEL@1_9: ; if_else_bb36 |
|||
oneb !LOWW(_g_tau1_ch5_capture_overflow@4) |
|||
.BB@LABEL@1_10: ; return |
|||
pop ax |
|||
pop hl |
|||
pop de |
|||
pop bc |
|||
pop ax |
|||
reti |
|||
.LFE1: |
|||
.SECTION .textf,TEXTF |
|||
.TYPE _R_TAU1_Channel5_CaptureReset,function,.LFE2-_R_TAU1_Channel5_CaptureReset |
|||
_R_TAU1_Channel5_CaptureReset: |
|||
.STACK _R_TAU1_Channel5_CaptureReset = 4 |
|||
clrb !LOWW(_g_tau1_ch5_capture_head@2) |
|||
clrb !LOWW(_g_tau1_ch5_capture_tail@3) |
|||
clrb !LOWW(_g_tau1_ch5_capture_overflow@4) |
|||
clrw ax |
|||
movw !LOWW(_g_tau1_ch5_width+0x00002), ax |
|||
movw !LOWW(_g_tau1_ch5_width), ax |
|||
ret |
|||
.LFE2: |
|||
.TYPE _R_TAU1_Channel5_GetLowWidthTicks,function,.LFE3-_R_TAU1_Channel5_GetLowWidthTicks |
|||
_R_TAU1_Channel5_GetLowWidthTicks: |
|||
.STACK _R_TAU1_Channel5_GetLowWidthTicks = 6 |
|||
push ax |
|||
or a, x |
|||
bz $.BB@LABEL@3_3 |
|||
.BB@LABEL@3_1: ; if_break_bb |
|||
mov a, !LOWW(_g_tau1_ch5_capture_tail@3) |
|||
cmp a, !LOWW(_g_tau1_ch5_capture_head@2) |
|||
bz $.BB@LABEL@3_3 |
|||
.BB@LABEL@3_2: ; if_then_bb11 |
|||
mov a, !LOWW(_g_tau1_ch5_capture_tail@3) |
|||
mov x, #0x04 |
|||
mulu x |
|||
addw ax, #LOWW(_g_tau1_ch5_low_ticks@1) |
|||
movw de, ax |
|||
movw ax, [de+0x02] |
|||
movw bc, ax |
|||
movw ax, [de] |
|||
movw de, ax |
|||
movw ax, [sp+0x00] |
|||
xchw ax, de |
|||
movw [de], ax |
|||
movw ax, bc |
|||
movw [de+0x02], ax |
|||
mov a, !LOWW(_g_tau1_ch5_capture_tail@3) |
|||
inc a |
|||
and a, #0x0F |
|||
mov !LOWW(_g_tau1_ch5_capture_tail@3), a |
|||
oneb a |
|||
pop bc |
|||
ret |
|||
.BB@LABEL@3_3: ; bb25 |
|||
clrb a |
|||
pop bc |
|||
ret |
|||
.LFE3: |
|||
.TYPE _R_TAU1_Channel5_CaptureOverflowed,function,.LFE4-_R_TAU1_Channel5_CaptureOverflowed |
|||
_R_TAU1_Channel5_CaptureOverflowed: |
|||
.STACK _R_TAU1_Channel5_CaptureOverflowed = 4 |
|||
mov a, !LOWW(_g_tau1_ch5_capture_overflow@4) |
|||
ret |
|||
.LFE4: |
|||
.SECTION .data,DATA |
|||
.ALIGN 2 |
|||
.TYPE _g_tau1_ch5_width,object,4 |
|||
_g_tau1_ch5_width: |
|||
.DS (4) |
|||
.TYPE _g_tau1_ch5_capture_head@2,object,1 |
|||
_g_tau1_ch5_capture_head@2: |
|||
.DS (1) |
|||
.TYPE _g_tau1_ch5_capture_tail@3,object,1 |
|||
_g_tau1_ch5_capture_tail@3: |
|||
.DS (1) |
|||
.TYPE _g_tau1_ch5_capture_overflow@4,object,1 |
|||
_g_tau1_ch5_capture_overflow@4: |
|||
.DS (1) |
|||
.SECTION .bss,BSS |
|||
.ALIGN 2 |
|||
.TYPE _g_tau1_ch5_low_ticks@1,object,64 |
|||
_g_tau1_ch5_low_ticks@1: |
|||
.DS (64) |
|||
File diff suppressed because it is too large
Loading…
Reference in new issue