[ECOS] Question about def_alm (UITRON)

LONY David david.lony@pragmadev.com
Mon May 7 08:12:00 GMT 2007


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



More information about the Ecos-discuss mailing list