Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
V
VC66_7C
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ISUZU
VC66_7C
Commits
fc431538
Commit
fc431538
authored
Dec 06, 2021
by
hu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调整FLASH初始化
parent
769e46d1
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
19767 additions
and
19762 deletions
+19767
-19762
project
ghs/project
+0
-0
project.hex
ghs/project.hex
+19390
-19390
project.siz
ghs/project.siz
+1
-1
Popup_List.h
source/Application/Alarm/Popup_List.h
+10
-10
Popup_Message_List.h
source/Application/Alarm/Popup_Message_List.h
+189
-189
Popups.c
source/Application/Alarm/Popups.c
+163
-162
CAN_Communication_Matrix.c
...Application/CAN_APP_NM/CAN_App/CAN_Communication_Matrix.c
+1
-1
CAN_FUNC.c
source/Application/CAN_APP_NM/CAN_App/CAN_FUNC.c
+12
-8
TYW_FLASH.c
source/Driver/Memory/TYW_FLASH.c
+1
-1
No files found.
ghs/project
View file @
fc431538
No preview for this file type
ghs/project.hex
View file @
fc431538
This diff is collapsed.
Click to expand it.
ghs/project.siz
View file @
fc431538
project .intvect 1536
project .intvect 1536
project .text 324
588
project .text 324
604
project .rodata 411103
project .rodata 411103
project .secinfo 120
project .secinfo 120
project .syscall 6
project .syscall 6
...
...
source/Application/Alarm/Popup_List.h
View file @
fc431538
...
@@ -186,17 +186,17 @@ static const PopupAttributeStruct PopupAttributeTable[] =
...
@@ -186,17 +186,17 @@ static const PopupAttributeStruct PopupAttributeTable[] =
{
/*08 POPUP2_AIRMATIC_HIGHT */
POPUP_TYPE_WARNING
,
2u
,
3u
,
POPUP_IGN_ON
,
POPUP2_AIRMATIC_HIGHT
,
NULL
,
1u
,
POPUP2_MSG_AIRMATIC_HIGHT
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*08 POPUP2_AIRMATIC_HIGHT */
POPUP_TYPE_WARNING
,
2u
,
3u
,
POPUP_IGN_ON
,
POPUP2_AIRMATIC_HIGHT
,
NULL
,
1u
,
POPUP2_MSG_AIRMATIC_HIGHT
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*09 POPUP3_CRUISE */
POPUP_TYPE_WARNING
,
3u
,
1u
,
POPUP_IGN_ON
,
POPUP3_CRUISE
,
NULL
,
1u
,
POPUP3_MSG_CRUISE
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*09 POPUP3_CRUISE */
POPUP_TYPE_WARNING
,
3u
,
1u
,
POPUP_IGN_ON
,
POPUP3_CRUISE
,
NULL
,
1u
,
POPUP3_MSG_CRUISE
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*10 POPUP3_VARIABLE_SLD */
POPUP_TYPE_WARNING
,
3u
,
2u
,
POPUP_IGN_ON
,
POPUP3_VARIABLE_SLD
,
NULL
,
1u
,
POPUP3_MSG_VARIABLE_SLD
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*10 POPUP3_VARIABLE_SLD */
POPUP_TYPE_WARNING
,
3u
,
2u
,
POPUP_IGN_ON
,
POPUP3_VARIABLE_SLD
,
NULL
,
1u
,
POPUP3_MSG_VARIABLE_SLD
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*11 POPUT4_ABNORMAL_CHARGE */
POPUP_TYPE_
HINT
,
4u
,
1u
,
POPUP_IGN_ON
,
POPUT4_ABNORMAL_CHARGE
,
NULL
,
1u
,
POPUT4_MSG_ABNORMAL_CHARGE
,
POPUP_MODE_SINGLE
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*11 POPUT4_ABNORMAL_CHARGE */
POPUP_TYPE_
WARNING
,
4u
,
1u
,
POPUP_IGN_ON
,
POPUT4_ABNORMAL_CHARGE
,
NULL
,
1u
,
POPUT4_MSG_ABNORMAL_CHARGE
,
POPUP_MODE_SINGLE
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*12 POPUP4_OIL_PRESSURE */
POPUP_TYPE_
HINT
,
4u
,
2u
,
POPUP_IGN_ON
,
POPUP4_OIL_PRESSURE
,
NULL
,
1u
,
POPUP4_MSG_OIL_PRESSURE
,
POPUP_MODE_SINGLE
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*12 POPUP4_OIL_PRESSURE */
POPUP_TYPE_
WARNING
,
4u
,
2u
,
POPUP_IGN_ON
,
POPUP4_OIL_PRESSURE
,
NULL
,
1u
,
POPUP4_MSG_OIL_PRESSURE
,
POPUP_MODE_SINGLE
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*13 POPUP4_AMT_INIT_EXCE */
POPUP_TYPE_
HINT
,
4u
,
3u
,
POPUP_IGN_ON
,
POPUP4_AMT_INIT_EXCE
,
NULL
,
1u
,
POPUP4_MSG_AMT_INIT_EXCE
,
POPUP_MODE_SINGLE
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*13 POPUP4_AMT_INIT_EXCE */
POPUP_TYPE_
WARNING
,
4u
,
3u
,
POPUP_IGN_ON
,
POPUP4_AMT_INIT_EXCE
,
NULL
,
1u
,
POPUP4_MSG_AMT_INIT_EXCE
,
POPUP_MODE_SINGLE
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*14 POPUP4_ADBLUE_QUALITY */
POPUP_TYPE_
HINT
,
4u
,
4u
,
POPUP_IGN_ON
,
POPUP4_ADBLUE_QUALITY
,
NULL
,
1u
,
POPUP4_MSG_ADBLUE_QUALITY
,
POPUP_MODE_SINGLE
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*14 POPUP4_ADBLUE_QUALITY */
POPUP_TYPE_
WARNING
,
4u
,
4u
,
POPUP_IGN_ON
,
POPUP4_ADBLUE_QUALITY
,
NULL
,
1u
,
POPUP4_MSG_ADBLUE_QUALITY
,
POPUP_MODE_SINGLE
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*15 POPUP4_ADBLUE_SPRAY */
POPUP_TYPE_
HINT
,
4u
,
5u
,
POPUP_IGN_ON
,
POPUP4_ADBLUE_SPRAY
,
NULL
,
1u
,
POPUP4_MSG_ADBLUE_SPRAY
,
POPUP_MODE_SINGLE
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*15 POPUP4_ADBLUE_SPRAY */
POPUP_TYPE_
WARNING
,
4u
,
5u
,
POPUP_IGN_ON
,
POPUP4_ADBLUE_SPRAY
,
NULL
,
1u
,
POPUP4_MSG_ADBLUE_SPRAY
,
POPUP_MODE_SINGLE
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*16 POPUP4_ADBLUE_SUPPLY */
POPUP_TYPE_
HINT
,
4u
,
6u
,
POPUP_IGN_ON
,
POPUP4_ADBLUE_SUPPLY
,
NULL
,
1u
,
POPUP4_MSG_ADBLUE_SUPPLY
,
POPUP_MODE_SINGLE
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*16 POPUP4_ADBLUE_SUPPLY */
POPUP_TYPE_
WARNING
,
4u
,
6u
,
POPUP_IGN_ON
,
POPUP4_ADBLUE_SUPPLY
,
NULL
,
1u
,
POPUP4_MSG_ADBLUE_SUPPLY
,
POPUP_MODE_SINGLE
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*17 POPUP4_START_ENG */
POPUP_TYPE_
HINT
,
4u
,
7u
,
POPUP_IGN_ON
,
POPUP4_START_ENG
,
NULL
,
1u
,
POPUP4_MSG_START_ENG
,
POPUP_MODE_SINGLE
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*17 POPUP4_START_ENG */
POPUP_TYPE_
WARNING
,
4u
,
7u
,
POPUP_IGN_ON
,
POPUP4_START_ENG
,
NULL
,
1u
,
POPUP4_MSG_START_ENG
,
POPUP_MODE_SINGLE
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*18 POPUP4_DPD_AUTO */
POPUP_TYPE_
HINT
,
4u
,
8u
,
POPUP_IGN_ON
,
POPUP4_DPD_AUTO
,
NULL
,
1u
,
POPUP4_MSG_DPD_AUTO
,
POPUP_MODE_SINGLE
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*18 POPUP4_DPD_AUTO */
POPUP_TYPE_
WARNING
,
4u
,
8u
,
POPUP_IGN_ON
,
POPUP4_DPD_AUTO
,
NULL
,
1u
,
POPUP4_MSG_DPD_AUTO
,
POPUP_MODE_SINGLE
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*19 POPUP5_OVER_HEAT_SPEED */
POPUP_TYPE_WARNING
,
5u
,
1u
,
POPUP_IGN_ON
,
POPUP5_OVER_HEAT_SPEED
,
NULL
,
1u
,
POPUP5_MSG_OVER_HEAT_SPEED
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*19 POPUP5_OVER_HEAT_SPEED */
POPUP_TYPE_WARNING
,
5u
,
1u
,
POPUP_IGN_ON
,
POPUP5_OVER_HEAT_SPEED
,
NULL
,
1u
,
POPUP5_MSG_OVER_HEAT_SPEED
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*20 POPUP5_OVER_HEAT */
POPUP_TYPE_WARNING
,
5u
,
1u
,
POPUP_IGN_ON
,
POPUP5_OVER_HEAT
,
NULL
,
1u
,
POPUP5_MSG_OVER_HEAT
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*20 POPUP5_OVER_HEAT */
POPUP_TYPE_WARNING
,
5u
,
1u
,
POPUP_IGN_ON
,
POPUP5_OVER_HEAT
,
NULL
,
1u
,
POPUP5_MSG_OVER_HEAT
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*21 POPUP5_LOW_COOLANT_SPEED */
POPUP_TYPE_WARNING
,
5u
,
2u
,
POPUP_IGN_ON
,
POPUP5_LOW_COOLANT_SPEED
,
NULL
,
1u
,
POPUP5_MSG_LOW_COOLANT_SPEED
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*21 POPUP5_LOW_COOLANT_SPEED */
POPUP_TYPE_WARNING
,
5u
,
2u
,
POPUP_IGN_ON
,
POPUP5_LOW_COOLANT_SPEED
,
NULL
,
1u
,
POPUP5_MSG_LOW_COOLANT_SPEED
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*22 POPUP5_LOW_COOLANT */
POPUP_TYPE_WARNING
,
5u
,
2u
,
POPUP_IGN_ON
,
POPUP5_LOW_COOLANT
,
NULL
,
1u
,
POPUP5_MSG_LOW_COOLANT
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*22 POPUP5_LOW_COOLANT */
POPUP_TYPE_WARNING
,
5u
,
2u
,
POPUP_IGN_ON
,
POPUP5_LOW_COOLANT
,
NULL
,
1u
,
POPUP5_MSG_LOW_COOLANT
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*23 POPUP5_ENGINE_OIL_PRESSURE_SPEED */
POPUP_TYPE_WARNING
,
5u
,
3u
,
POPUP_IGN_ON
,
POPUP5_ENGINE_OIL_PRESSURE_SPEED
,
NULL
,
1u
,
POPUP5_MSG_ENGINE_OIL_PRESSURE_SPEED
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*23 POPUP5_ENGINE_OIL_PRESSURE_SPEED */
POPUP_TYPE_WARNING
,
5u
,
3u
,
POPUP_IGN_ON
,
POPUP5_ENGINE_OIL_PRESSURE_SPEED
,
NULL
,
1u
,
POPUP5_MSG_ENGINE_OIL_PRESSURE_SPEED
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*24 POPUP5_ENGINE_OIL_PRESSURE */
POPUP_TYPE_WARNING
,
5u
,
3u
,
POPUP_IGN_ON
,
POPUP5_ENGINE_OIL_PRESSURE
,
NULL
,
1u
,
POPUP5_MSG_ENGINE_OIL_PRESSURE
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
{
/*24 POPUP5_ENGINE_OIL_PRESSURE */
POPUP_TYPE_WARNING
,
5u
,
3u
,
POPUP_IGN_ON
,
POPUP5_ENGINE_OIL_PRESSURE
,
NULL
,
1u
,
POPUP5_MSG_ENGINE_OIL_PRESSURE
,
POPUP_MODE_MULTI
,
POPUP_NONE
,
POPUP_MODE_SINGLE
,},
...
...
source/Application/Alarm/Popup_Message_List.h
View file @
fc431538
This diff is collapsed.
Click to expand it.
source/Application/Alarm/Popups.c
View file @
fc431538
This diff is collapsed.
Click to expand it.
source/Application/CAN_APP_NM/CAN_App/CAN_Communication_Matrix.c
View file @
fc431538
...
@@ -8,7 +8,7 @@ const st_CAN_SendAttribute st_CANSendAttr[ID_SEND_TOTAL] =
...
@@ -8,7 +8,7 @@ const st_CAN_SendAttribute st_CANSendAttr[ID_SEND_TOTAL] =
{
0x18FF3E17ul
,
500ul
*
1000ul
,
1ul
,
0u
,
MSG_EXT
,
3u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_18FF3E17
,
(
void
*
)
0
},
{
0x18FF3E17ul
,
500ul
*
1000ul
,
1ul
,
0u
,
MSG_EXT
,
3u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_18FF3E17
,
(
void
*
)
0
},
{
0x18FED917ul
,
100ul
*
1000ul
,
3ul
,
0u
,
MSG_EXT
,
4u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_18FED917
,
(
void
*
)
0
},
{
0x18FED917ul
,
100ul
*
1000ul
,
3ul
,
0u
,
MSG_EXT
,
4u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_18FED917
,
(
void
*
)
0
},
{
0x18FEE617ul
,
1000ul
*
1000ul
,
5ul
,
0u
,
MSG_EXT
,
5u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_18FEE617
,
(
void
*
)
0
},
{
0x18FEE617ul
,
1000ul
*
1000ul
,
5ul
,
0u
,
MSG_EXT
,
5u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_18FEE617
,
(
void
*
)
0
},
{
0x18EF1817ul
,
100ul
*
1000ul
,
7ul
,
0u
,
MSG_EXT
,
6u
,
8u
,
CAN_MSG_TX_CYC
LE
,
Can_Set_Buff_18EF1817
,
(
void
*
)
0
},
{
0x18EF1817ul
,
100ul
*
1000ul
,
7ul
,
0u
,
MSG_EXT
,
6u
,
8u
,
CAN_MSG_TX_CYC
KE_EVENT
,
Can_Set_Buff_18EF1817
,
(
void
*
)
0
},
{
0x18FEE017ul
,
100ul
*
1000ul
,
11ul
,
0u
,
MSG_EXT
,
7u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_18FEE017
,
(
void
*
)
0
},
{
0x18FEE017ul
,
100ul
*
1000ul
,
11ul
,
0u
,
MSG_EXT
,
7u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_18FEE017
,
(
void
*
)
0
},
{
0x18FEFC17ul
,
1000ul
*
1000ul
,
13ul
,
0u
,
MSG_EXT
,
8u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_18FEFC17
,
(
void
*
)
0
},
{
0x18FEFC17ul
,
1000ul
*
1000ul
,
13ul
,
0u
,
MSG_EXT
,
8u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_18FEFC17
,
(
void
*
)
0
},
{
0x18FF2517ul
,
1000ul
*
1000ul
,
17ul
,
0u
,
MSG_EXT
,
9u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_18FF2517
,
(
void
*
)
0
},
{
0x18FF2517ul
,
1000ul
*
1000ul
,
17ul
,
0u
,
MSG_EXT
,
9u
,
8u
,
CAN_MSG_TX_CYCLE
,
Can_Set_Buff_18FF2517
,
(
void
*
)
0
},
...
...
source/Application/CAN_APP_NM/CAN_App/CAN_FUNC.c
View file @
fc431538
...
@@ -609,10 +609,10 @@ void Can_Set_Buff_18EF1817(uint8_t CopyData[])
...
@@ -609,10 +609,10 @@ void Can_Set_Buff_18EF1817(uint8_t CopyData[])
{
{
CopyData
[
0
]
=
0x40
;
CopyData
[
0
]
=
0x40
;
CopyData
[
1
]
=
0x50
;
CopyData
[
1
]
=
0x50
;
CopyData
[
2
]
=
0x00
;
//User_ECU.TripA_Fuel_1; //0x00;
CopyData
[
2
]
=
0x00
;
CopyData
[
3
]
=
0x00
;
//User_ECU.TripA_Fuel_2; //0x00;
CopyData
[
3
]
=
0x00
;
CopyData
[
4
]
=
0x00
;
//User_ECU.TripA_Fuel_3; //0x00;
CopyData
[
4
]
=
0x00
;
CopyData
[
5
]
=
0x00
;
//User_ECU.TripA_Fuel_4; //0x00;
CopyData
[
5
]
=
0x00
;
CopyData
[
6
]
=
0xFF
;
CopyData
[
6
]
=
0xFF
;
CopyData
[
7
]
=
0xFF
;
CopyData
[
7
]
=
0xFF
;
}
}
...
@@ -620,16 +620,18 @@ void Can_Set_Buff_18EF1817(uint8_t CopyData[])
...
@@ -620,16 +620,18 @@ void Can_Set_Buff_18EF1817(uint8_t CopyData[])
{
{
CopyData
[
0
]
=
0x40
;
CopyData
[
0
]
=
0x40
;
CopyData
[
1
]
=
0x60
;
CopyData
[
1
]
=
0x60
;
CopyData
[
2
]
=
0x00
;
//User_ECU.TripA_Fuel_1; //0x00;
CopyData
[
2
]
=
0x00
;
CopyData
[
3
]
=
0x00
;
//User_ECU.TripA_Fuel_2; //0x00;
CopyData
[
3
]
=
0x00
;
CopyData
[
4
]
=
0x00
;
//User_ECU.TripA_Fuel_3; //0x00;
CopyData
[
4
]
=
0x00
;
CopyData
[
5
]
=
0x00
;
//User_ECU.TripA_Fuel_4; //0x00;
CopyData
[
5
]
=
0x00
;
CopyData
[
6
]
=
0xFF
;
CopyData
[
6
]
=
0xFF
;
CopyData
[
7
]
=
0xFF
;
CopyData
[
7
]
=
0xFF
;
}
}
User_BCM_Flag
=
1u
;
/*从头轮询*/
User_BCM_Flag
=
1u
;
/*从头轮询*/
State_Flag
.
FState_ClearOilTx
=
0u
;
State_Flag
.
FState_ClearOilTx
=
0u
;
//Can_Msg_Tx_Overwrite(MSGID_18EF1817, 1, 100 * 1000);
}
}
else
else
{
{
...
@@ -759,6 +761,8 @@ void Can_Set_Buff_18EF1817(uint8_t CopyData[])
...
@@ -759,6 +761,8 @@ void Can_Set_Buff_18EF1817(uint8_t CopyData[])
default:
default:
break
;
break
;
}
}
//Can_Msg_Tx_Overwrite(MSGID_18EF1817, 0XFFFF, 100 * 1000);
}
}
}
}
...
...
source/Driver/Memory/TYW_FLASH.c
View file @
fc431538
...
@@ -349,7 +349,7 @@ Total_Begin:
...
@@ -349,7 +349,7 @@ Total_Begin:
if
((
TEMP
[
0
]
!=
0x50415247
)
||
(
TEMP
[
1
]
!=
0x50415f45
))
if
((
TEMP
[
0
]
!=
0x50415247
)
||
(
TEMP
[
1
]
!=
0x50415f45
))
{
{
//
goto Total_Begin;
goto
Total_Begin
;
}
}
End_Begin:
End_Begin:
//i_count=0;
//i_count=0;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment