Révision 225
Ajouté par zaschiano il y a plus de 6 ans
branch/schiano/Emb_App.tws | ||
---|---|---|
[GENERAL_DATA]
|
||
[BREAKPOINTS]
|
||
[OPEN_WORKSPACE_FILES]
|
||
"E:\tp_info6_2018_schiano\tp_info6\bsp\periph.c"
|
||
"E:\tp_info6_2018_schiano\tp_info6\bsp\uart0.c"
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\conf_noyau.cfg"
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\crt0mr.a30"
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\Debug\mr308.inc"
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\Debug\sys_rom.inc"
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\programme_principal_etud.c"
|
||
[WORKSPACE_FILE_STATES]
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\Debug\mr308.inc" 50 50 1430 351 0 3
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\Debug\sys_rom.inc" 0 0 1430 351 0 4
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\Debug\mr308.inc" 125 125 1430 351 0 5
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\conf_noyau.cfg" 25 25 1430 351 0 1
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\crt0mr.a30" 50 50 1430 351 0 2
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\crt0mr.a30" 0 0 1596 539 0 2
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\programme_principal_etud.c" -8 -30 1596 539 1 0
|
||
"E:\tp_info6_2018_schiano\tp_info6\bsp\periph.c" 125 125 1430 351 0 3
|
||
"E:\tp_info6_2018_schiano\tp_info6\bsp\uart0.c" 25 25 1430 351 0 4
|
||
[LOADED_PROJECTS]
|
||
"EmbM32C87App"
|
||
[END]
|
branch/schiano/Emb_App/SessionM32C_E8a_system.ini | ||
---|---|---|
[Target]
|
||
M32C E8a SYSTEM=Renesas Communications
|
||
[USER_DATA]
|
||
RESET=ff002a
|
||
RESET=ff0030
|
branch/schiano/Emb_App/SessionM32C_E8a_system.hsf | ||
---|---|---|
"{55384715-F881-421C-A548-D7D1ABE158E1}PDMRWndInstanceKey0" "{WK_00000001_PDMR}EmbM32C87AppSessionM32C_E8a_system"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_DENORMAL_MODE" "0"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_EVAL_ROUND_MODE" "0"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "0000000000000001"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_0" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_1" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_10" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_11" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_12" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_13" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_14" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "0000000000000512"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000FF311B"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000FFF800"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000000A20"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "0000000000000824"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_15" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_16" "0000000000FF002A"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_17" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_18" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_19" "0000000000000700"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_2" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "00000000000000C0"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_20" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_21" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_22" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_23" "0000000000000000"
|
||
... | ... | |
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_31" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_32" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_33" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_34" "000000000000036A"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_34" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_35" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000000004"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "00000000001200FF"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000000A20"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000000512"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_4" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_5" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_6" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_7" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_8" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_9" "0000000000000000"
|
||
"{64753FED-D387-4B8C-A91D-D3419C869C07}C_REGISTER_REG_COUNT" "36"
|
||
... | ... | |
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0002_SCOPE" "Current Scope,"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0003" "distancemur, 2, 0, P, Col, Hex, MA"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0003_SCOPE" "Current Scope,"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEMCnt" "4"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0004" "angleRoue, 2, 0, P, Col, Hex, MA"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0004_SCOPE" "Current Scope,"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0005" "CouleurCapteur, 1, 0, P, Col, Hex, MA"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0005_SCOPE" "Current Scope,"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0006" "consigneVitesse, 1, 0, P, Col, Hex, MA"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0006_SCOPE" "Global,"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0007" "pistebleue, 1, 0, P, Col, Hex, MA"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEM0007_SCOPE" "Current Scope,"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd0ECX_WATCH_ITEMCnt" "8"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth0" "120"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth1" "150"
|
||
"{B266D880-6FA1-11D5-8613-00A024591A38}WatchWnd1ColWidth12" "200"
|
||
... | ... | |
0
|
||
[WINDOW_POSITION_STATE_DATA_VD1]
|
||
"Help" "TOOLBAR 0" 59419 2 4 "0.00" 0 0 0 0 0 17 0 "" "0.0"
|
||
"{WK_00000001_CmdLine}" "WINDOW" 59422 0 2 "0.09" 365 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0"
|
||
"{WK_00000001_CmdLine}" "WINDOW" 59422 0 0 "0.11" 365 0 0 350 200 17 0 "32771|32772|32778|<<separator>>|32773|32774|<<separator>>|32820|<<separator>>|32801|32824" "0.0"
|
||
"{WK_00000001_DISASSEMBLY}" "WINDOW" 0 0 0 "0.00" 0 -4 -30 948 486 9 0 "" "0.0"
|
||
"{WK_00000001_EVENT}EmbM32C87AppSessionM32C_E8a_system" "WINDOW" 59422 0 0 "0.11" 365 0 0 350 200 18 0 "32774|32775|32777|<<separator>>|32780|<<separator>>" "0.0"
|
||
"{WK_00000001_MEMORY}EmbM32C87AppSessionM32C_E8a_system" "WINDOW" 59422 0 1 "0.23" 365 2 -1 350 200 2065 0 "42202|42203|42204|42233|<<separator>>|42206|42205|42230|42229|42207|<<separator>>|42208|42209|42210|49076|42228|42227|<<separator>>|42231|42232|42234|42235|<<separator>>|42211|<<separator>>|32796|32797" "0.0"
|
||
"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 3 "0.55" 365 0 0 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0"
|
||
"{WK_00000001_OUTPUT}" "WINDOW" 59422 0 1 "1.00" 365 0 0 350 200 18 0 "36756|36757|36758|36759|<<separator>>|36746|36747|<<separator>>|39531|<<separator>>|39500|39534|<<separator>>|36687" "0.0"
|
||
"{WK_00000001_PDMR}EmbM32C87AppSessionM32C_E8a_system" "WINDOW" 59422 0 4 "0.16" 365 0 0 350 200 18 0 "47300|47301|47302|47303|47304|47305|47314|47306|47307|47308|47311|47312|47313|42211|42509|42303" "0.0"
|
||
"{WK_00000001_REGISTERS}EmbM32C87AppSessionM32C_E8a_system" "WINDOW" 59421 0 0 "1.00" 236 0 0 350 200 2065 0 "" "0.0"
|
||
"{WK_00000001_WATCH}EmbM32C87AppSessionM32C_E8a_system" "WINDOW" 59422 0 1 "0.18" 365 0 0 350 200 18 0 "32781|32783|<<separator>>|32771|32772|32773|<<separator>>|32786|<<separator>>|32810|32811" "0.0"
|
||
... | ... | |
[WINDOW_POSITION_STATE_DATA_VD4]
|
||
[WINDOW_Z_ORDER]
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\programme_principal_etud.c"
|
||
"E:\tp_info6_2018_schiano\tp_info6\bsp\uart0.c"
|
||
"E:\tp_info6_2018_schiano\tp_info6\bsp\periph.c"
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\crt0mr.a30"
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\conf_noyau.cfg"
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\Debug\sys_rom.inc"
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\crt0mr.a30"
|
||
"E:\tp_info6_2018_schiano\tp_info6\Emb_App\Debug\mr308.inc"
|
||
[TARGET_NAME]
|
||
"M32C E8a SYSTEM" "" 0
|
||
... | ... | |
[FLASH_DETAILS]
|
||
"" 0 0 "" 0 "" 0 0 "" 0 0 0 0 0 0 0 "" "" "" "" ""
|
||
[BREAKPOINTS]
|
||
"d:\profs\tp_info14_travail\tp_info14\emb_app\programme_principal_etud.c" 95 94254904 1 "{00000000-0000-0000-C000-000000000046}" ""
|
||
"d:\profs\tp_info14_travail\tp_info14\emb_app\programme_principal_etud.c" 95 0 1 "{00000000-0000-0000-C000-000000000046}" ""
|
||
[END]
|
branch/schiano/Emb_App/programme_principal_etud.c | ||
---|---|---|
|
||
unsigned int alpha =0;
|
||
unsigned int teta =100;
|
||
unsigned int consignealpha = 450;
|
||
unsigned int consignealpha = 450; //450 >722
|
||
unsigned int angleRoue =0;
|
||
unsigned int distancemur =722;
|
||
unsigned int consignedistance = 710; //722 piste verte
|
||
int pistebleue =0;
|
||
unsigned int distancemur =725;
|
||
unsigned int consignedistance = 725; //722 piste verte 710 piste bleue 761
|
||
unsigned int vitesselignedroite =0;
|
||
unsigned int vitessevirage =0;
|
||
|
||
int h;
|
||
int go=0;
|
||
int numero;
|
||
int Couleurperso =0;
|
||
int consigneVitesse;
|
||
int CouleurCapteur ='V';
|
||
int k=2;
|
||
... | ... | |
|
||
void main()
|
||
{
|
||
CanFrame go;
|
||
CanFrame start;
|
||
CanFrame Numpiste;
|
||
|
||
ports_mcu();
|
||
lcd_init();
|
||
periph_init();
|
||
periph_nom("#AutoTest*");
|
||
periph_nom("#Schiano*");
|
||
|
||
can_init();
|
||
clavier_init(1);
|
||
... | ... | |
|
||
sta_cyc(ID_acqui);
|
||
sta_tsk(ID_periph_rx);
|
||
sta_cyc(ID_asserv1);
|
||
sta_cyc(ID_asserv1); //asservissement telemetre
|
||
sta_tsk(ID_asserv0);
|
||
|
||
sta_cyc(ID_asservangleroue);
|
||
sta_cyc(ID_asservangleroue); //assservissement angle roue
|
||
sta_tsk(ID_asservRoue);
|
||
|
||
Numpiste.data.id='M';
|
||
Numpiste.data.rtr=1;
|
||
snd_dtq (CanTx,Numpiste.msg);
|
||
dly_tsk(500);
|
||
numero=periph[ADDR('M')].val<<8;
|
||
sta_tsk(ID_numpiste);
|
||
while(go!=1); //attente detection de la piste
|
||
dly_tsk(500);
|
||
|
||
go.data.id='V';
|
||
go.data.rtr=0;
|
||
go.data.val=30; //consigne de vitesse de la voiture
|
||
start.data.id='V';
|
||
start.data.rtr=0;
|
||
start.data.val=vitesselignedroite; //consigne de vitesse de la voiture
|
||
|
||
snd_dtq (CanTx,go.msg);
|
||
sta_tsk(ID_AsservVitesse);
|
||
snd_dtq (CanTx,start.msg);
|
||
sta_tsk(ID_AsservVitesse); //gestion des couleurs
|
||
//sta_cyc(ID_asservVitesseCyc);
|
||
|
||
while(1)
|
||
{
|
||
{
|
||
|
||
|
||
//LED_J=1;
|
||
//dly_tsk(100);
|
||
//LED_J=0;
|
||
... | ... | |
LED_V=!LED_V;
|
||
}
|
||
|
||
void numpiste()
|
||
{
|
||
while(1){
|
||
switch(numero){
|
||
case(256) : //verte
|
||
vitesselignedroite =80;
|
||
vitessevirage =35;
|
||
consignealpha = 400;
|
||
consignedistance = 880;
|
||
go =1;
|
||
break;
|
||
|
||
case(512) : //bleue
|
||
vitesselignedroite =65;
|
||
vitessevirage =25;
|
||
consignealpha = 400;
|
||
consignedistance = 775;
|
||
go =1;
|
||
break;
|
||
|
||
case(768) : //rouge
|
||
vitesselignedroite =65;
|
||
vitessevirage =25;
|
||
consignealpha = 450;
|
||
consignedistance = 700;
|
||
go=1;
|
||
break;
|
||
|
||
case(1024) : //noir
|
||
vitesselignedroite =25;
|
||
vitessevirage =25;
|
||
consignealpha = 450;
|
||
consignedistance = 760;
|
||
go=1;
|
||
break;
|
||
}
|
||
ext_tsk();
|
||
}
|
||
+
|
||
}
|
||
|
||
void asserv0()
|
||
{
|
||
CanFrame comm;
|
||
... | ... | |
|
||
snd_dtq (CanTx,demandeU.msg); //Interrogation du peripherique
|
||
//rcv_dtq (CanRx,&reponseU.msg); //Attente de la reponse
|
||
if (periph[ADDR('U')].val < 1000){
|
||
if (periph[ADDR('U')].val < 1500){
|
||
distancemur = periph[ADDR('U')].val;
|
||
}
|
||
dly_tsk(6);
|
||
... | ... | |
}
|
||
|
||
void asservangleroue(){
|
||
if (distancemur != consignedistance)angleRoue=kp*(consignedistance - distancemur);
|
||
//if (distancemur < 400)angleRoue = -200;
|
||
//if ((distancemur < 900)&&(distancemur > 400))angleRoue = 0;
|
||
//if (distancemur > 900)angleRoue = 200;
|
||
if(Couleurperso==0x7601);
|
||
else {
|
||
if (distancemur != consignedistance)angleRoue=kp*(consignedistance - distancemur);
|
||
}
|
||
}
|
||
|
||
void AsservVitesse(){
|
||
... | ... | |
demandeCapteur.data.rtr=1;
|
||
|
||
snd_dtq (CanTx,demandeCapteur.msg); // demande couleur capteur
|
||
pistebleue = periph[ADDR('C')].val;
|
||
Couleurperso = periph[ADDR('C')].val;
|
||
CouleurCapteur = periph[ADDR('C')].val>>2;
|
||
if ((CouleurCapteur == 0x1580)||(CouleurCapteur == 0x1581)) {
|
||
consigneVitesse = 65; // 65 sur la piste verte
|
||
if ((CouleurCapteur == 0x1580)||(CouleurCapteur == 0x1581)||(CouleurCapteur == 0x1da0)) {
|
||
consigneVitesse = vitesselignedroite;
|
||
}
|
||
else {
|
||
consigneVitesse = 25; // 35 piste verte
|
||
if(Couleurperso == 0x7601){
|
||
consigneVitesse = 45;
|
||
}
|
||
else{
|
||
consigneVitesse = vitessevirage;
|
||
}
|
||
}
|
||
//if (pistebleue == 0x5604)consigneVitesse = 40; //d?c?l?ration pour le saut piste bleue
|
||
|
||
vitesse.data.id='V';
|
||
vitesse.data.rtr=0;
|
||
... | ... | |
snd_dtq (CanTx,vitesse.msg);
|
||
|
||
|
||
dly_tsk(100);
|
||
dly_tsk(30);
|
||
}
|
||
}
|
branch/schiano/Emb_App/conf_noyau.cfg | ||
---|---|---|
};
|
||
|
||
task[]{
|
||
entry_address = numpiste();
|
||
name = ID_numpiste;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 3;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
|
||
task[]{
|
||
entry_address = asserv0();
|
||
name = ID_asserv0;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 4;
|
||
priority = 5;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
... | ... | |
name = ID_asservRoue;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 5;
|
||
priority = 3;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
... | ... | |
name = ID_AsservVitesse;
|
||
stack_size = 256;
|
||
stack_section = stack;
|
||
priority = 3;
|
||
priority = 4;
|
||
initial_start = OFF;
|
||
exinf = 0x0;
|
||
};
|
||
... | ... | |
exinf = 0x0;
|
||
start = OFF;
|
||
phsatr = OFF;
|
||
interval_counter = 50;
|
||
interval_counter = 15;
|
||
phs_counter = 0x0;
|
||
};
|
||
|
||
... | ... | |
|
||
//
|
||
// End of Configuration
|
||
//
|
||
//
|
Formats disponibles : Unified diff
Ajout d'une tache détectant la piste et réglant les différentes consignes en fonction de la piste avant le départ.
Modification des asservissements pour passer la piste rouge.