[Xenomai-git] Alexis Berlemont : analogy: implement the configuration of a wake-up threshold

2011-09-06 Thread GIT version control
Module: xenomai-head
Branch: master
Commit: 8bf74e38c75947251ca95c6f53958c8e4a9b49af
URL:
http://git.xenomai.org/?p=xenomai-head.git;a=commit;h=8bf74e38c75947251ca95c6f53958c8e4a9b49af

Author: Alexis Berlemont 
Date:   Tue May 10 23:54:25 2011 +0200

analogy: implement the configuration of a wake-up threshold

Two functions are now available to define a wake-up
threshold. a4l_set/get_wakesize() allows the developer to define the
minimal data amount needed to wake-up a sleeping process (waiting for
an event during an asynchronous acquisition).

---

 include/analogy/analogy.h |   80 --
 include/analogy/buffer.h  |   23 +
 include/analogy/ioctl.h   |7 ++-
 ksrc/drivers/analogy/buffer.c |   86 +---
 ksrc/drivers/analogy/rtdm_interface.c |8 ++-
 src/drvlib/analogy/async.c|   31 
 6 files changed, 185 insertions(+), 50 deletions(-)

diff --git a/include/analogy/analogy.h b/include/analogy/analogy.h
index 15736a8..6a81674 100644
--- a/include/analogy/analogy.h
+++ b/include/analogy/analogy.h
@@ -43,22 +43,22 @@ int a4l_sys_read(int fd, void *buf, size_t nbyte);
 
 int a4l_sys_write(int fd, void *buf, size_t nbyte);
 
-int a4l_sys_attach(int fd, a4l_lnkdesc_t * arg);
+int a4l_sys_attach(int fd, a4l_lnkdesc_t *arg);
 
 int a4l_sys_detach(int fd);
 
 int a4l_sys_bufcfg(int fd, unsigned int idx_subd, unsigned long size);
 
-int a4l_sys_desc(int fd, a4l_desc_t * dsc, int pass);
+int a4l_sys_desc(int fd, a4l_desc_t *dsc, int pass);
 
-int a4l_sys_devinfo(int fd, a4l_dvinfo_t * info);
+int a4l_sys_devinfo(int fd, a4l_dvinfo_t *info);
 
-int a4l_sys_subdinfo(int fd, a4l_sbinfo_t * info);
+int a4l_sys_subdinfo(int fd, a4l_sbinfo_t *info);
 
 int a4l_sys_nbchaninfo(int fd, unsigned int idx_subd, unsigned int *nb);
 
-int a4l_sys_chaninfo(int fd,
-unsigned int idx_subd, a4l_chinfo_t * info);
+int a4l_sys_chaninfo(int fd, 
+unsigned int idx_subd, a4l_chinfo_t *info);
 
 int a4l_sys_nbrnginfo(int fd,
  unsigned int idx_subd,
@@ -66,7 +66,7 @@ int a4l_sys_nbrnginfo(int fd,
 
 int a4l_sys_rnginfo(int fd,
unsigned int idx_subd,
-   unsigned int idx_chan, a4l_rnginfo_t * info);
+   unsigned int idx_chan, a4l_rnginfo_t *info);
 
 /* --- Level 1 API (supposed to be used) --- */
 
@@ -92,83 +92,87 @@ int a4l_get_chinfo(a4l_desc_t *dsc,
 int a4l_get_rnginfo(a4l_desc_t *dsc,
unsigned int subd,
unsigned int chan,
-   unsigned int rng, a4l_rnginfo_t ** info);
+   unsigned int rng, a4l_rnginfo_t **info);
 
 #define a4l_is_rng_global(x) ((x)->flags & A4L_RNG_GLOBAL)
 
-int a4l_snd_command(a4l_desc_t * dsc, a4l_cmd_t *cmd);
+int a4l_snd_command(a4l_desc_t *dsc, a4l_cmd_t *cmd);
+
+int a4l_snd_cancel(a4l_desc_t *dsc, unsigned int idx_subd);
 
-int a4l_snd_cancel(a4l_desc_t * dsc, unsigned int idx_subd);
-
-int a4l_set_bufsize(a4l_desc_t * dsc,
+int a4l_set_bufsize(a4l_desc_t *dsc,
unsigned int idx_subd, unsigned long size);
 
-int a4l_get_bufsize(a4l_desc_t * dsc,
+int a4l_get_bufsize(a4l_desc_t *dsc,
unsigned int idx_subd, unsigned long *size);
 
-int a4l_mark_bufrw(a4l_desc_t * dsc,
+int a4l_set_wakesize(a4l_desc_t *dsc, unsigned long size);
+
+int a4l_get_wakesize(a4l_desc_t *dsc, unsigned long *size);
+
+int a4l_mark_bufrw(a4l_desc_t *dsc,
   unsigned int idx_subd,
   unsigned long cur, unsigned long *newp);
 
-int a4l_poll(a4l_desc_t * dsc,
+int a4l_poll(a4l_desc_t *dsc,
 unsigned int idx_subd, unsigned long ms_timeout);
-
-int a4l_mmap(a4l_desc_t * dsc,
+
+int a4l_mmap(a4l_desc_t *dsc,
 unsigned int idx_subd, unsigned long size, void **ptr);
 
-int a4l_async_read(a4l_desc_t * dsc,
+int a4l_async_read(a4l_desc_t *dsc,
   void *buf, size_t nbyte, unsigned long ms_timeout);
 
-int a4l_async_write(a4l_desc_t * dsc,
+int a4l_async_write(a4l_desc_t *dsc,
void *buf, size_t nbyte, unsigned long ms_timeout);
 
-int a4l_snd_insnlist(a4l_desc_t * dsc, a4l_insnlst_t * arg);
+int a4l_snd_insnlist(a4l_desc_t *dsc, a4l_insnlst_t *arg);
 
-int a4l_snd_insn(a4l_desc_t * dsc, a4l_insn_t *arg);
+int a4l_snd_insn(a4l_desc_t *dsc, a4l_insn_t *arg);
 
 /* --- Level 2 API (supposed to be used) --- */
 
-int a4l_sync_write(a4l_desc_t * dsc,
+int a4l_sync_write(a4l_desc_t *dsc,
   unsigned int idx_subd,
   unsigned int chan_desc,
   unsigned int delay, void *buf, size_t nbyte);
-
-int a4l_sync_read(a4l_desc_t * dsc,
+   
+int a4l_sync_read(a4l_desc_t *dsc,
  unsigned int idx_subd,
  unsigned int chan_desc,
  unsigned int delay, void *buf, size_t nbyte);
 
-int a4l_config_subd(a4l_desc_t * dsc,
+int a

[Xenomai-git] Alexis Berlemont : analogy: implement the configuration of a wake-up threshold

2011-09-04 Thread GIT version control
Module: xenomai-abe
Branch: analogy
Commit: 8bf74e38c75947251ca95c6f53958c8e4a9b49af
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=8bf74e38c75947251ca95c6f53958c8e4a9b49af

Author: Alexis Berlemont 
Date:   Tue May 10 23:54:25 2011 +0200

analogy: implement the configuration of a wake-up threshold

Two functions are now available to define a wake-up
threshold. a4l_set/get_wakesize() allows the developer to define the
minimal data amount needed to wake-up a sleeping process (waiting for
an event during an asynchronous acquisition).

---

 include/analogy/analogy.h |   80 --
 include/analogy/buffer.h  |   23 +
 include/analogy/ioctl.h   |7 ++-
 ksrc/drivers/analogy/buffer.c |   86 +---
 ksrc/drivers/analogy/rtdm_interface.c |8 ++-
 src/drvlib/analogy/async.c|   31 
 6 files changed, 185 insertions(+), 50 deletions(-)

diff --git a/include/analogy/analogy.h b/include/analogy/analogy.h
index 15736a8..6a81674 100644
--- a/include/analogy/analogy.h
+++ b/include/analogy/analogy.h
@@ -43,22 +43,22 @@ int a4l_sys_read(int fd, void *buf, size_t nbyte);
 
 int a4l_sys_write(int fd, void *buf, size_t nbyte);
 
-int a4l_sys_attach(int fd, a4l_lnkdesc_t * arg);
+int a4l_sys_attach(int fd, a4l_lnkdesc_t *arg);
 
 int a4l_sys_detach(int fd);
 
 int a4l_sys_bufcfg(int fd, unsigned int idx_subd, unsigned long size);
 
-int a4l_sys_desc(int fd, a4l_desc_t * dsc, int pass);
+int a4l_sys_desc(int fd, a4l_desc_t *dsc, int pass);
 
-int a4l_sys_devinfo(int fd, a4l_dvinfo_t * info);
+int a4l_sys_devinfo(int fd, a4l_dvinfo_t *info);
 
-int a4l_sys_subdinfo(int fd, a4l_sbinfo_t * info);
+int a4l_sys_subdinfo(int fd, a4l_sbinfo_t *info);
 
 int a4l_sys_nbchaninfo(int fd, unsigned int idx_subd, unsigned int *nb);
 
-int a4l_sys_chaninfo(int fd,
-unsigned int idx_subd, a4l_chinfo_t * info);
+int a4l_sys_chaninfo(int fd, 
+unsigned int idx_subd, a4l_chinfo_t *info);
 
 int a4l_sys_nbrnginfo(int fd,
  unsigned int idx_subd,
@@ -66,7 +66,7 @@ int a4l_sys_nbrnginfo(int fd,
 
 int a4l_sys_rnginfo(int fd,
unsigned int idx_subd,
-   unsigned int idx_chan, a4l_rnginfo_t * info);
+   unsigned int idx_chan, a4l_rnginfo_t *info);
 
 /* --- Level 1 API (supposed to be used) --- */
 
@@ -92,83 +92,87 @@ int a4l_get_chinfo(a4l_desc_t *dsc,
 int a4l_get_rnginfo(a4l_desc_t *dsc,
unsigned int subd,
unsigned int chan,
-   unsigned int rng, a4l_rnginfo_t ** info);
+   unsigned int rng, a4l_rnginfo_t **info);
 
 #define a4l_is_rng_global(x) ((x)->flags & A4L_RNG_GLOBAL)
 
-int a4l_snd_command(a4l_desc_t * dsc, a4l_cmd_t *cmd);
+int a4l_snd_command(a4l_desc_t *dsc, a4l_cmd_t *cmd);
+
+int a4l_snd_cancel(a4l_desc_t *dsc, unsigned int idx_subd);
 
-int a4l_snd_cancel(a4l_desc_t * dsc, unsigned int idx_subd);
-
-int a4l_set_bufsize(a4l_desc_t * dsc,
+int a4l_set_bufsize(a4l_desc_t *dsc,
unsigned int idx_subd, unsigned long size);
 
-int a4l_get_bufsize(a4l_desc_t * dsc,
+int a4l_get_bufsize(a4l_desc_t *dsc,
unsigned int idx_subd, unsigned long *size);
 
-int a4l_mark_bufrw(a4l_desc_t * dsc,
+int a4l_set_wakesize(a4l_desc_t *dsc, unsigned long size);
+
+int a4l_get_wakesize(a4l_desc_t *dsc, unsigned long *size);
+
+int a4l_mark_bufrw(a4l_desc_t *dsc,
   unsigned int idx_subd,
   unsigned long cur, unsigned long *newp);
 
-int a4l_poll(a4l_desc_t * dsc,
+int a4l_poll(a4l_desc_t *dsc,
 unsigned int idx_subd, unsigned long ms_timeout);
-
-int a4l_mmap(a4l_desc_t * dsc,
+
+int a4l_mmap(a4l_desc_t *dsc,
 unsigned int idx_subd, unsigned long size, void **ptr);
 
-int a4l_async_read(a4l_desc_t * dsc,
+int a4l_async_read(a4l_desc_t *dsc,
   void *buf, size_t nbyte, unsigned long ms_timeout);
 
-int a4l_async_write(a4l_desc_t * dsc,
+int a4l_async_write(a4l_desc_t *dsc,
void *buf, size_t nbyte, unsigned long ms_timeout);
 
-int a4l_snd_insnlist(a4l_desc_t * dsc, a4l_insnlst_t * arg);
+int a4l_snd_insnlist(a4l_desc_t *dsc, a4l_insnlst_t *arg);
 
-int a4l_snd_insn(a4l_desc_t * dsc, a4l_insn_t *arg);
+int a4l_snd_insn(a4l_desc_t *dsc, a4l_insn_t *arg);
 
 /* --- Level 2 API (supposed to be used) --- */
 
-int a4l_sync_write(a4l_desc_t * dsc,
+int a4l_sync_write(a4l_desc_t *dsc,
   unsigned int idx_subd,
   unsigned int chan_desc,
   unsigned int delay, void *buf, size_t nbyte);
-
-int a4l_sync_read(a4l_desc_t * dsc,
+   
+int a4l_sync_read(a4l_desc_t *dsc,
  unsigned int idx_subd,
  unsigned int chan_desc,
  unsigned int delay, void *buf, size_t nbyte);
 
-int a4l_config_subd(a4l_desc_t * dsc,
+int a4

[Xenomai-git] Alexis Berlemont : analogy: implement the configuration of a wake-up threshold

2011-09-01 Thread GIT version control
Module: xenomai-abe
Branch: analogy
Commit: 34a9ce36efe182e7fb0fc5ef2febcd166f7109c9
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=34a9ce36efe182e7fb0fc5ef2febcd166f7109c9

Author: Alexis Berlemont 
Date:   Tue May 10 23:54:25 2011 +0200

analogy: implement the configuration of a wake-up threshold

Two functions are now available to define a wake-up
threshold. a4l_set/get_wakesize() allows the developer to define the
minimal data amount needed to wake-up a sleeping process (waiting for
an event during an asynchronous acquisition).

---

 include/analogy/analogy.h |   80 --
 include/analogy/buffer.h  |   23 +
 include/analogy/ioctl.h   |7 ++-
 ksrc/drivers/analogy/buffer.c |   86 +---
 ksrc/drivers/analogy/rtdm_interface.c |8 ++-
 src/drvlib/analogy/async.c|   31 
 6 files changed, 185 insertions(+), 50 deletions(-)

diff --git a/include/analogy/analogy.h b/include/analogy/analogy.h
index 15736a8..6a81674 100644
--- a/include/analogy/analogy.h
+++ b/include/analogy/analogy.h
@@ -43,22 +43,22 @@ int a4l_sys_read(int fd, void *buf, size_t nbyte);
 
 int a4l_sys_write(int fd, void *buf, size_t nbyte);
 
-int a4l_sys_attach(int fd, a4l_lnkdesc_t * arg);
+int a4l_sys_attach(int fd, a4l_lnkdesc_t *arg);
 
 int a4l_sys_detach(int fd);
 
 int a4l_sys_bufcfg(int fd, unsigned int idx_subd, unsigned long size);
 
-int a4l_sys_desc(int fd, a4l_desc_t * dsc, int pass);
+int a4l_sys_desc(int fd, a4l_desc_t *dsc, int pass);
 
-int a4l_sys_devinfo(int fd, a4l_dvinfo_t * info);
+int a4l_sys_devinfo(int fd, a4l_dvinfo_t *info);
 
-int a4l_sys_subdinfo(int fd, a4l_sbinfo_t * info);
+int a4l_sys_subdinfo(int fd, a4l_sbinfo_t *info);
 
 int a4l_sys_nbchaninfo(int fd, unsigned int idx_subd, unsigned int *nb);
 
-int a4l_sys_chaninfo(int fd,
-unsigned int idx_subd, a4l_chinfo_t * info);
+int a4l_sys_chaninfo(int fd, 
+unsigned int idx_subd, a4l_chinfo_t *info);
 
 int a4l_sys_nbrnginfo(int fd,
  unsigned int idx_subd,
@@ -66,7 +66,7 @@ int a4l_sys_nbrnginfo(int fd,
 
 int a4l_sys_rnginfo(int fd,
unsigned int idx_subd,
-   unsigned int idx_chan, a4l_rnginfo_t * info);
+   unsigned int idx_chan, a4l_rnginfo_t *info);
 
 /* --- Level 1 API (supposed to be used) --- */
 
@@ -92,83 +92,87 @@ int a4l_get_chinfo(a4l_desc_t *dsc,
 int a4l_get_rnginfo(a4l_desc_t *dsc,
unsigned int subd,
unsigned int chan,
-   unsigned int rng, a4l_rnginfo_t ** info);
+   unsigned int rng, a4l_rnginfo_t **info);
 
 #define a4l_is_rng_global(x) ((x)->flags & A4L_RNG_GLOBAL)
 
-int a4l_snd_command(a4l_desc_t * dsc, a4l_cmd_t *cmd);
+int a4l_snd_command(a4l_desc_t *dsc, a4l_cmd_t *cmd);
+
+int a4l_snd_cancel(a4l_desc_t *dsc, unsigned int idx_subd);
 
-int a4l_snd_cancel(a4l_desc_t * dsc, unsigned int idx_subd);
-
-int a4l_set_bufsize(a4l_desc_t * dsc,
+int a4l_set_bufsize(a4l_desc_t *dsc,
unsigned int idx_subd, unsigned long size);
 
-int a4l_get_bufsize(a4l_desc_t * dsc,
+int a4l_get_bufsize(a4l_desc_t *dsc,
unsigned int idx_subd, unsigned long *size);
 
-int a4l_mark_bufrw(a4l_desc_t * dsc,
+int a4l_set_wakesize(a4l_desc_t *dsc, unsigned long size);
+
+int a4l_get_wakesize(a4l_desc_t *dsc, unsigned long *size);
+
+int a4l_mark_bufrw(a4l_desc_t *dsc,
   unsigned int idx_subd,
   unsigned long cur, unsigned long *newp);
 
-int a4l_poll(a4l_desc_t * dsc,
+int a4l_poll(a4l_desc_t *dsc,
 unsigned int idx_subd, unsigned long ms_timeout);
-
-int a4l_mmap(a4l_desc_t * dsc,
+
+int a4l_mmap(a4l_desc_t *dsc,
 unsigned int idx_subd, unsigned long size, void **ptr);
 
-int a4l_async_read(a4l_desc_t * dsc,
+int a4l_async_read(a4l_desc_t *dsc,
   void *buf, size_t nbyte, unsigned long ms_timeout);
 
-int a4l_async_write(a4l_desc_t * dsc,
+int a4l_async_write(a4l_desc_t *dsc,
void *buf, size_t nbyte, unsigned long ms_timeout);
 
-int a4l_snd_insnlist(a4l_desc_t * dsc, a4l_insnlst_t * arg);
+int a4l_snd_insnlist(a4l_desc_t *dsc, a4l_insnlst_t *arg);
 
-int a4l_snd_insn(a4l_desc_t * dsc, a4l_insn_t *arg);
+int a4l_snd_insn(a4l_desc_t *dsc, a4l_insn_t *arg);
 
 /* --- Level 2 API (supposed to be used) --- */
 
-int a4l_sync_write(a4l_desc_t * dsc,
+int a4l_sync_write(a4l_desc_t *dsc,
   unsigned int idx_subd,
   unsigned int chan_desc,
   unsigned int delay, void *buf, size_t nbyte);
-
-int a4l_sync_read(a4l_desc_t * dsc,
+   
+int a4l_sync_read(a4l_desc_t *dsc,
  unsigned int idx_subd,
  unsigned int chan_desc,
  unsigned int delay, void *buf, size_t nbyte);
 
-int a4l_config_subd(a4l_desc_t * dsc,
+int a4

[Xenomai-git] Alexis Berlemont : analogy: implement the configuration of a wake-up threshold

2011-08-23 Thread GIT version control
Module: xenomai-abe
Branch: experimental
Commit: daa207e2f10651ce6ddc4884d9a474715a02d4f9
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=daa207e2f10651ce6ddc4884d9a474715a02d4f9

Author: Alexis Berlemont 
Date:   Tue May 10 23:54:25 2011 +0200

analogy: implement the configuration of a wake-up threshold

Two functions are now available to define a wake-up
threshold. a4l_set/get_wakesize() allows the developer to define the
minimal data amount needed to wake-up a sleeping process (waiting for
an event during an asynchronous acquisition).

---

 include/analogy/analogy.h |   80 --
 include/analogy/buffer.h  |   23 +
 include/analogy/ioctl.h   |7 ++-
 ksrc/drivers/analogy/buffer.c |   86 +---
 ksrc/drivers/analogy/rtdm_interface.c |8 ++-
 src/drvlib/analogy/async.c|   31 
 6 files changed, 185 insertions(+), 50 deletions(-)

diff --git a/include/analogy/analogy.h b/include/analogy/analogy.h
index 15736a8..6a81674 100644
--- a/include/analogy/analogy.h
+++ b/include/analogy/analogy.h
@@ -43,22 +43,22 @@ int a4l_sys_read(int fd, void *buf, size_t nbyte);
 
 int a4l_sys_write(int fd, void *buf, size_t nbyte);
 
-int a4l_sys_attach(int fd, a4l_lnkdesc_t * arg);
+int a4l_sys_attach(int fd, a4l_lnkdesc_t *arg);
 
 int a4l_sys_detach(int fd);
 
 int a4l_sys_bufcfg(int fd, unsigned int idx_subd, unsigned long size);
 
-int a4l_sys_desc(int fd, a4l_desc_t * dsc, int pass);
+int a4l_sys_desc(int fd, a4l_desc_t *dsc, int pass);
 
-int a4l_sys_devinfo(int fd, a4l_dvinfo_t * info);
+int a4l_sys_devinfo(int fd, a4l_dvinfo_t *info);
 
-int a4l_sys_subdinfo(int fd, a4l_sbinfo_t * info);
+int a4l_sys_subdinfo(int fd, a4l_sbinfo_t *info);
 
 int a4l_sys_nbchaninfo(int fd, unsigned int idx_subd, unsigned int *nb);
 
-int a4l_sys_chaninfo(int fd,
-unsigned int idx_subd, a4l_chinfo_t * info);
+int a4l_sys_chaninfo(int fd, 
+unsigned int idx_subd, a4l_chinfo_t *info);
 
 int a4l_sys_nbrnginfo(int fd,
  unsigned int idx_subd,
@@ -66,7 +66,7 @@ int a4l_sys_nbrnginfo(int fd,
 
 int a4l_sys_rnginfo(int fd,
unsigned int idx_subd,
-   unsigned int idx_chan, a4l_rnginfo_t * info);
+   unsigned int idx_chan, a4l_rnginfo_t *info);
 
 /* --- Level 1 API (supposed to be used) --- */
 
@@ -92,83 +92,87 @@ int a4l_get_chinfo(a4l_desc_t *dsc,
 int a4l_get_rnginfo(a4l_desc_t *dsc,
unsigned int subd,
unsigned int chan,
-   unsigned int rng, a4l_rnginfo_t ** info);
+   unsigned int rng, a4l_rnginfo_t **info);
 
 #define a4l_is_rng_global(x) ((x)->flags & A4L_RNG_GLOBAL)
 
-int a4l_snd_command(a4l_desc_t * dsc, a4l_cmd_t *cmd);
+int a4l_snd_command(a4l_desc_t *dsc, a4l_cmd_t *cmd);
+
+int a4l_snd_cancel(a4l_desc_t *dsc, unsigned int idx_subd);
 
-int a4l_snd_cancel(a4l_desc_t * dsc, unsigned int idx_subd);
-
-int a4l_set_bufsize(a4l_desc_t * dsc,
+int a4l_set_bufsize(a4l_desc_t *dsc,
unsigned int idx_subd, unsigned long size);
 
-int a4l_get_bufsize(a4l_desc_t * dsc,
+int a4l_get_bufsize(a4l_desc_t *dsc,
unsigned int idx_subd, unsigned long *size);
 
-int a4l_mark_bufrw(a4l_desc_t * dsc,
+int a4l_set_wakesize(a4l_desc_t *dsc, unsigned long size);
+
+int a4l_get_wakesize(a4l_desc_t *dsc, unsigned long *size);
+
+int a4l_mark_bufrw(a4l_desc_t *dsc,
   unsigned int idx_subd,
   unsigned long cur, unsigned long *newp);
 
-int a4l_poll(a4l_desc_t * dsc,
+int a4l_poll(a4l_desc_t *dsc,
 unsigned int idx_subd, unsigned long ms_timeout);
-
-int a4l_mmap(a4l_desc_t * dsc,
+
+int a4l_mmap(a4l_desc_t *dsc,
 unsigned int idx_subd, unsigned long size, void **ptr);
 
-int a4l_async_read(a4l_desc_t * dsc,
+int a4l_async_read(a4l_desc_t *dsc,
   void *buf, size_t nbyte, unsigned long ms_timeout);
 
-int a4l_async_write(a4l_desc_t * dsc,
+int a4l_async_write(a4l_desc_t *dsc,
void *buf, size_t nbyte, unsigned long ms_timeout);
 
-int a4l_snd_insnlist(a4l_desc_t * dsc, a4l_insnlst_t * arg);
+int a4l_snd_insnlist(a4l_desc_t *dsc, a4l_insnlst_t *arg);
 
-int a4l_snd_insn(a4l_desc_t * dsc, a4l_insn_t *arg);
+int a4l_snd_insn(a4l_desc_t *dsc, a4l_insn_t *arg);
 
 /* --- Level 2 API (supposed to be used) --- */
 
-int a4l_sync_write(a4l_desc_t * dsc,
+int a4l_sync_write(a4l_desc_t *dsc,
   unsigned int idx_subd,
   unsigned int chan_desc,
   unsigned int delay, void *buf, size_t nbyte);
-
-int a4l_sync_read(a4l_desc_t * dsc,
+   
+int a4l_sync_read(a4l_desc_t *dsc,
  unsigned int idx_subd,
  unsigned int chan_desc,
  unsigned int delay, void *buf, size_t nbyte);
 
-int a4l_config_subd(a4l_desc_t * dsc,
+i

[Xenomai-git] Alexis Berlemont : analogy: implement the configuration of a wake-up threshold

2011-05-12 Thread GIT version control
Module: xenomai-abe
Branch: experimental
Commit: deac8867bedda1ff284498f3b46435683ffe3bee
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=deac8867bedda1ff284498f3b46435683ffe3bee

Author: Alexis Berlemont 
Date:   Tue May 10 23:54:25 2011 +0200

analogy: implement the configuration of a wake-up threshold

Two functions are now available to define a wake-up
threshold. a4l_set/get_wakesize() allows the developer to define the
minimal data amount needed to wake-up a sleeping process (waiting for
an event during an asynchronous acquisition).

---

 include/analogy/analogy.h |   80 --
 include/analogy/buffer.h  |   23 +
 include/analogy/ioctl.h   |7 ++-
 ksrc/drivers/analogy/buffer.c |   86 +---
 ksrc/drivers/analogy/rtdm_interface.c |8 ++-
 src/drvlib/analogy/async.c|   31 
 6 files changed, 185 insertions(+), 50 deletions(-)

diff --git a/include/analogy/analogy.h b/include/analogy/analogy.h
index 15736a8..6a81674 100644
--- a/include/analogy/analogy.h
+++ b/include/analogy/analogy.h
@@ -43,22 +43,22 @@ int a4l_sys_read(int fd, void *buf, size_t nbyte);
 
 int a4l_sys_write(int fd, void *buf, size_t nbyte);
 
-int a4l_sys_attach(int fd, a4l_lnkdesc_t * arg);
+int a4l_sys_attach(int fd, a4l_lnkdesc_t *arg);
 
 int a4l_sys_detach(int fd);
 
 int a4l_sys_bufcfg(int fd, unsigned int idx_subd, unsigned long size);
 
-int a4l_sys_desc(int fd, a4l_desc_t * dsc, int pass);
+int a4l_sys_desc(int fd, a4l_desc_t *dsc, int pass);
 
-int a4l_sys_devinfo(int fd, a4l_dvinfo_t * info);
+int a4l_sys_devinfo(int fd, a4l_dvinfo_t *info);
 
-int a4l_sys_subdinfo(int fd, a4l_sbinfo_t * info);
+int a4l_sys_subdinfo(int fd, a4l_sbinfo_t *info);
 
 int a4l_sys_nbchaninfo(int fd, unsigned int idx_subd, unsigned int *nb);
 
-int a4l_sys_chaninfo(int fd,
-unsigned int idx_subd, a4l_chinfo_t * info);
+int a4l_sys_chaninfo(int fd, 
+unsigned int idx_subd, a4l_chinfo_t *info);
 
 int a4l_sys_nbrnginfo(int fd,
  unsigned int idx_subd,
@@ -66,7 +66,7 @@ int a4l_sys_nbrnginfo(int fd,
 
 int a4l_sys_rnginfo(int fd,
unsigned int idx_subd,
-   unsigned int idx_chan, a4l_rnginfo_t * info);
+   unsigned int idx_chan, a4l_rnginfo_t *info);
 
 /* --- Level 1 API (supposed to be used) --- */
 
@@ -92,83 +92,87 @@ int a4l_get_chinfo(a4l_desc_t *dsc,
 int a4l_get_rnginfo(a4l_desc_t *dsc,
unsigned int subd,
unsigned int chan,
-   unsigned int rng, a4l_rnginfo_t ** info);
+   unsigned int rng, a4l_rnginfo_t **info);
 
 #define a4l_is_rng_global(x) ((x)->flags & A4L_RNG_GLOBAL)
 
-int a4l_snd_command(a4l_desc_t * dsc, a4l_cmd_t *cmd);
+int a4l_snd_command(a4l_desc_t *dsc, a4l_cmd_t *cmd);
+
+int a4l_snd_cancel(a4l_desc_t *dsc, unsigned int idx_subd);
 
-int a4l_snd_cancel(a4l_desc_t * dsc, unsigned int idx_subd);
-
-int a4l_set_bufsize(a4l_desc_t * dsc,
+int a4l_set_bufsize(a4l_desc_t *dsc,
unsigned int idx_subd, unsigned long size);
 
-int a4l_get_bufsize(a4l_desc_t * dsc,
+int a4l_get_bufsize(a4l_desc_t *dsc,
unsigned int idx_subd, unsigned long *size);
 
-int a4l_mark_bufrw(a4l_desc_t * dsc,
+int a4l_set_wakesize(a4l_desc_t *dsc, unsigned long size);
+
+int a4l_get_wakesize(a4l_desc_t *dsc, unsigned long *size);
+
+int a4l_mark_bufrw(a4l_desc_t *dsc,
   unsigned int idx_subd,
   unsigned long cur, unsigned long *newp);
 
-int a4l_poll(a4l_desc_t * dsc,
+int a4l_poll(a4l_desc_t *dsc,
 unsigned int idx_subd, unsigned long ms_timeout);
-
-int a4l_mmap(a4l_desc_t * dsc,
+
+int a4l_mmap(a4l_desc_t *dsc,
 unsigned int idx_subd, unsigned long size, void **ptr);
 
-int a4l_async_read(a4l_desc_t * dsc,
+int a4l_async_read(a4l_desc_t *dsc,
   void *buf, size_t nbyte, unsigned long ms_timeout);
 
-int a4l_async_write(a4l_desc_t * dsc,
+int a4l_async_write(a4l_desc_t *dsc,
void *buf, size_t nbyte, unsigned long ms_timeout);
 
-int a4l_snd_insnlist(a4l_desc_t * dsc, a4l_insnlst_t * arg);
+int a4l_snd_insnlist(a4l_desc_t *dsc, a4l_insnlst_t *arg);
 
-int a4l_snd_insn(a4l_desc_t * dsc, a4l_insn_t *arg);
+int a4l_snd_insn(a4l_desc_t *dsc, a4l_insn_t *arg);
 
 /* --- Level 2 API (supposed to be used) --- */
 
-int a4l_sync_write(a4l_desc_t * dsc,
+int a4l_sync_write(a4l_desc_t *dsc,
   unsigned int idx_subd,
   unsigned int chan_desc,
   unsigned int delay, void *buf, size_t nbyte);
-
-int a4l_sync_read(a4l_desc_t * dsc,
+   
+int a4l_sync_read(a4l_desc_t *dsc,
  unsigned int idx_subd,
  unsigned int chan_desc,
  unsigned int delay, void *buf, size_t nbyte);
 
-int a4l_config_subd(a4l_desc_t * dsc,
+i

[Xenomai-git] Alexis Berlemont : analogy: implement the configuration of a wake-up threshold

2011-05-10 Thread GIT version control
Module: xenomai-abe
Branch: experimental
Commit: e2fd130f84ab05a933fa9778b91eed74bde6723b
URL:
http://git.xenomai.org/?p=xenomai-abe.git;a=commit;h=e2fd130f84ab05a933fa9778b91eed74bde6723b

Author: Alexis Berlemont 
Date:   Tue May 10 23:54:25 2011 +0200

analogy: implement the configuration of a wake-up threshold

Two functions are now available to define a wake-up
threshold. a4l_set/get_wakesize() allows the developer to define the
minimal data amount needed to wake-up a sleeping process (waiting for
an event during an asynchronous acquisition).

---

 include/analogy/analogy.h |   72 ++-
 include/analogy/buffer.h  |   23 +
 include/analogy/ioctl.h   |7 ++-
 ksrc/drivers/analogy/buffer.c |   86 +---
 ksrc/drivers/analogy/rtdm_interface.c |4 +-
 src/drvlib/analogy/async.c|   31 
 6 files changed, 179 insertions(+), 44 deletions(-)

diff --git a/include/analogy/analogy.h b/include/analogy/analogy.h
index 88f7f1a..16282fc 100644
--- a/include/analogy/analogy.h
+++ b/include/analogy/analogy.h
@@ -43,22 +43,22 @@ int a4l_sys_read(int fd, void *buf, size_t nbyte);
 
 int a4l_sys_write(int fd, void *buf, size_t nbyte);
 
-int a4l_sys_attach(int fd, a4l_lnkdesc_t * arg);
+int a4l_sys_attach(int fd, a4l_lnkdesc_t *arg);
 
 int a4l_sys_detach(int fd);
 
 int a4l_sys_bufcfg(int fd, unsigned int idx_subd, unsigned long size);
 
-int a4l_sys_desc(int fd, a4l_desc_t * dsc, int pass);
+int a4l_sys_desc(int fd, a4l_desc_t *dsc, int pass);
 
-int a4l_sys_devinfo(int fd, a4l_dvinfo_t * info);
+int a4l_sys_devinfo(int fd, a4l_dvinfo_t *info);
 
-int a4l_sys_subdinfo(int fd, a4l_sbinfo_t * info);
+int a4l_sys_subdinfo(int fd, a4l_sbinfo_t *info);
 
 int a4l_sys_nbchaninfo(int fd, unsigned int idx_subd, unsigned int *nb);
 
 int a4l_sys_chaninfo(int fd, 
-unsigned int idx_subd, a4l_chinfo_t * info);
+unsigned int idx_subd, a4l_chinfo_t *info);
 
 int a4l_sys_nbrnginfo(int fd,
  unsigned int idx_subd,
@@ -66,7 +66,7 @@ int a4l_sys_nbrnginfo(int fd,

 int a4l_sys_rnginfo(int fd,
unsigned int idx_subd,
-   unsigned int idx_chan, a4l_rnginfo_t * info);
+   unsigned int idx_chan, a4l_rnginfo_t *info);
 
 /* --- Level 1 API (supposed to be used) --- */
 
@@ -92,83 +92,87 @@ int a4l_get_chinfo(a4l_desc_t *dsc,
 int a4l_get_rnginfo(a4l_desc_t *dsc,
unsigned int subd,
unsigned int chan,
-   unsigned int rng, a4l_rnginfo_t ** info);
+   unsigned int rng, a4l_rnginfo_t **info);
 
 #define a4l_is_rng_global(x) ((x)->flags & A4L_RNG_GLOBAL)
 
-int a4l_snd_command(a4l_desc_t * dsc, a4l_cmd_t *cmd);
+int a4l_snd_command(a4l_desc_t *dsc, a4l_cmd_t *cmd);
 
-int a4l_snd_cancel(a4l_desc_t * dsc, unsigned int idx_subd);
+int a4l_snd_cancel(a4l_desc_t *dsc, unsigned int idx_subd);
 
-int a4l_set_bufsize(a4l_desc_t * dsc,
+int a4l_set_bufsize(a4l_desc_t *dsc,
unsigned int idx_subd, unsigned long size);
 
-int a4l_get_bufsize(a4l_desc_t * dsc,
+int a4l_get_bufsize(a4l_desc_t *dsc,
unsigned int idx_subd, unsigned long *size);
 
-int a4l_mark_bufrw(a4l_desc_t * dsc,
+int a4l_set_wakesize(a4l_desc_t *dsc, unsigned long size);
+
+int a4l_get_wakesize(a4l_desc_t *dsc, unsigned long *size);
+
+int a4l_mark_bufrw(a4l_desc_t *dsc,
   unsigned int idx_subd,
   unsigned long cur, unsigned long *newp);
 
-int a4l_poll(a4l_desc_t * dsc,
+int a4l_poll(a4l_desc_t *dsc,
 unsigned int idx_subd, unsigned long ms_timeout);
 
-int a4l_mmap(a4l_desc_t * dsc,
+int a4l_mmap(a4l_desc_t *dsc,
 unsigned int idx_subd, unsigned long size, void **ptr);
 
-int a4l_async_read(a4l_desc_t * dsc,
+int a4l_async_read(a4l_desc_t *dsc,
   void *buf, size_t nbyte, unsigned long ms_timeout);
 
-int a4l_async_write(a4l_desc_t * dsc,
+int a4l_async_write(a4l_desc_t *dsc,
void *buf, size_t nbyte, unsigned long ms_timeout);
 
-int a4l_snd_insnlist(a4l_desc_t * dsc, a4l_insnlst_t * arg);
+int a4l_snd_insnlist(a4l_desc_t *dsc, a4l_insnlst_t *arg);
 
-int a4l_snd_insn(a4l_desc_t * dsc, a4l_insn_t *arg);
+int a4l_snd_insn(a4l_desc_t *dsc, a4l_insn_t *arg);
 
 /* --- Level 2 API (supposed to be used) --- */
 
-int a4l_sync_write(a4l_desc_t * dsc,
+int a4l_sync_write(a4l_desc_t *dsc,
   unsigned int idx_subd,
   unsigned int chan_desc,
   unsigned int delay, void *buf, size_t nbyte);

-int a4l_sync_read(a4l_desc_t * dsc,
+int a4l_sync_read(a4l_desc_t *dsc,
  unsigned int idx_subd,
  unsigned int chan_desc,
  unsigned int delay, void *buf, size_t nbyte);
 
-int a4l_config_subd(a4l_desc_t * dsc,
+int a4l_config_subd(a4l_desc_t