This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
Re: Question about def_alm (UITRON)
- From: LONY David <david dot lony at pragmadev dot com>
- To: LONY David <david dot lony at pragmadev dot com>, ecos-discuss at ecos dot sourceware dot org
- Date: Mon, 07 May 2007 10:09:46 +0200
- Subject: Re: [ECOS] Question about def_alm (UITRON)
- References: <463AFFE8.10703@pragmadev.com>
Hi all,
I found the solution for my problem...
#include <cyg/compat/uitron/uit_func.h>
#include <stdio.h>
void alarm_hand(void)
{
T_RALM ralm;
int retval;
retval=ref_alm(&ralm,20);
if(retval != E_OK)
{
printf("Error --> Cannot reference the alarm in alarm_hand %d
!!!\n",retval);
}
else
{
printf("Good --> I succeded to reference the alarm in alarm_hand
CHAINE --->%s CHAINE POINTER --->%p\n",ralm.exinf,ralm.exinf);
printf("I finish to reference the alarm and RETVAL equals
%d\n",retval);
}
}
int main()
{
T_DALM dalm;
int retval;
char* chaine= (void*)malloc(5*sizeof(char));
chaine = "salut";
VP info = (VP)chaine;
dalm.exinf = info;
dalm.almatr = TA_HLNG;
dalm.almhdr = (FP)&alarm_hand;
dalm.tmmode = TTM_REL;
dalm.almtim = 1000;
retval = def_alm(20, &dalm);
if(retval != E_OK)
{
printf("Error --> Cannot create a alarm in main %d !!!\n",retval);
}
else
{
printf("Good --> I succeded to create a alarm in main INFO pointer
--->%p CHAINE --->%p\n",info,chaine);
printf("I finish to create a alarm and RETVAL equals %d\n",retval);
}
return 0;
}
Thanks a lot.
David
LONY David wrote:
Hi all,
I wrote a small program which define an alarm (def_alm function). I
wanted to know if eCos with UITRON compatibilty support extended
informations (VP attribute) and if it supported how I can have them
when the handler (alarm_hand) is called.
This is my program :
#include <cyg/compat/uitron/uit_func.h>
#include <stdio.h>
void alarm_hand(void* a)
{
char test_chaine[]="test chaine";
printf("In alarm_hand param a-->%s
test_chaine--->%s\n",a,test_chaine);
}
int main()
{
T_DALM dalm;
int retval;
char chaine[]="salut";
VP info = (VP)chaine;
dalm.exinf = (VP)info;
dalm.almatr = TA_HLNG;
dalm.almhdr = (FP)&alarm_hand;
dalm.tmmode = TTM_REL; dalm.almtim = 1000;
retval = def_alm(20, &dalm);
if(retval != E_OK)
{
printf("Error --> Cannot create a alarm in main %d !!!\n",retval);
}
else
{
printf("Good --> I succeded to create a alarm in main! \n");
printf("I finish to create a alarm and RETVAL equals %d\n",retval);
}
return 0;
}
Does I make something wrong ? I debug this program in GDB, and I
cannot have the extended information....
This is GDB output :
Good --> I succeded to create a alarm in main!
I finish to create a alarm and RETVAL equals 0
In alarm_hand param a--> test_chaine--->test chaine
Thanks a lot.
David
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss