--- Begin Message ---
Commit from zer0 on branch b_zer0 (2007-03-06 23:37 CET)
---------------------------------

fix scheduler test prog
add debug in mf2_client... will be removed.

  aversive  modules/base/scheduler/test/.config   1.5.4.5
  aversive  modules/base/scheduler/test/main.c    1.9.4.3
  aversive  modules/comm/mf2_client/mf2_client.c  1.1.2.2


--------------------------------------------
aversive/modules/base/scheduler/test/.config  (1.5.4.4 -> 1.5.4.5)
--------------------------------------------

***************
*** 101,107 ****
  #
  CONFIG_MODULE_TIMER=y
  CONFIG_MODULE_TIMER_CREATE_CONFIG=y
! # CONFIG_MODULE_TIMER_DYNAMIC is not set
  # CONFIG_MODULE_PWM is not set
  # CONFIG_MODULE_PWM_CREATE_CONFIG is not set
  
--- 101,107 ----
  #
  CONFIG_MODULE_TIMER=y
  CONFIG_MODULE_TIMER_CREATE_CONFIG=y
! CONFIG_MODULE_TIMER_DYNAMIC=y
  # CONFIG_MODULE_PWM is not set
  # CONFIG_MODULE_PWM_CREATE_CONFIG is not set
  
***************
*** 194,199 ****
--- 194,201 ----
  # CONFIG_AVRDUDE_PROG_STK500 is not set
  # CONFIG_AVRDUDE_PROG_AVRISP is not set
  # CONFIG_AVRDUDE_PROG_BSD is not set
+ # CONFIG_AVRDUDE_PROG_DAPA is not set
+ # CONFIG_AVRDUDE_PROG_JTAG1 is not set
  CONFIG_AVRDUDE_PORT="/dev/parport0"
  
  #


-------------------------------------------
aversive/modules/base/scheduler/test/main.c  (1.9.4.2 -> 1.9.4.3)
-------------------------------------------

***************
*** 15,21 ****
   *  along with this program; if not, write to the Free Software
   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   *
!  *  Revision : $Id: main.c,v 1.9.4.2 2006-12-02 18:17:42 zer0 Exp $
   *
   */
  
--- 15,21 ----
   *  along with this program; if not, write to the Free Software
   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   *
!  *  Revision : $Id: main.c,v 1.9.4.3 2007-03-06 22:37:02 zer0 Exp $
   *
   */
  
***************
*** 38,44 ****
  
  void f3(void * nothing)
  {
!       printf("%s\n", __FUNCTION__);
  }
  
  void supp(void * nothing)
--- 38,46 ----
  
  void f3(void * nothing)
  {
!       printf("%s START\n", __FUNCTION__);
!       wait_ms(1000);
!       printf("%s END\n", __FUNCTION__);
  }
  
  void supp(void * nothing)
***************
*** 55,64 ****
  #endif
        printf("init\n");
  
        scheduler_init();
!       
!       event_id = scheduler_add_periodical_event_priority(f1, NULL, 
50000l/SCHEDULER_UNIT, 200);
!       scheduler_add_periodical_event_priority(f2, NULL, 
50000l/SCHEDULER_UNIT, 100);
        scheduler_add_periodical_event(f3, NULL, 1000000l/SCHEDULER_UNIT);
        
        //  scheduler_add_single_event(supp,65);
--- 57,70 ----
  #endif
        printf("init\n");
  
+       timer_init();
        scheduler_init();
!       printf("init2\n");
!       wait_ms(2000);
!       printf("init3\n");
! 
!       event_id = scheduler_add_periodical_event_priority(f1, NULL, 
500000l/SCHEDULER_UNIT, 200);
!       scheduler_add_periodical_event_priority(f2, NULL, 
500000l/SCHEDULER_UNIT, 100);
        scheduler_add_periodical_event(f3, NULL, 1000000l/SCHEDULER_UNIT);
        
        //  scheduler_add_single_event(supp,65);


---------------------------------------------
aversive/modules/comm/mf2_client/mf2_client.c  (1.1.2.1 -> 1.1.2.2)
---------------------------------------------

***************
*** 15,21 ****
   *  along with this program; if not, write to the Free Software
   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   *
!  *  Revision : $Id: mf2_client.c,v 1.1.2.1 2006-11-30 21:59:07 zer0 Exp $
   *
   */
  
--- 15,21 ----
   *  along with this program; if not, write to the Free Software
   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
   *
!  *  Revision : $Id: mf2_client.c,v 1.1.2.2 2007-03-06 22:37:02 zer0 Exp $
   *
   */
  
***************
*** 27,33 ****
  #include <mf2_client.h>
  #include <mf2_client_config.h>
  
! #ifdef CONFIG_MF2_CLIENT_USE_SCHEDULER
  #include <scheduler.h>
  #else
  #include <wait.h>
--- 27,33 ----
  #include <mf2_client.h>
  #include <mf2_client_config.h>
  
! #ifdef CONFIG_MODULE_MF2_CLIENT_USE_SCHEDULER
  #include <scheduler.h>
  #else
  #include <wait.h>
***************
*** 51,57 ****
  static volatile u16 rx_buf;
  static volatile u16 tx_buf;
  static volatile u08 tx_c;
! #ifdef CONFIG_MF2_CLIENT_USE_SCHEDULER
  static volatile s08 sched_event = -1;
  #endif
  
--- 51,57 ----
  static volatile u16 rx_buf;
  static volatile u16 tx_buf;
  static volatile u08 tx_c;
! #ifdef CONFIG_MODULE_MF2_CLIENT_USE_SCHEDULER
  static volatile s08 sched_event = -1;
  #endif
  
***************
*** 62,71 ****
  
  static s16 check_rx_buf(u16 buf);
  
! #ifdef CONFIG_MF2_CLIENT_USE_SCHEDULER
  static void watchdog_timeout(void * dummy);
  #endif
  
  
  #define START_BIT  0x0001
  #define PARITY_BIT 0x0200
--- 62,72 ----
  
  static s16 check_rx_buf(u16 buf);
  
! #ifdef CONFIG_MODULE_MF2_CLIENT_USE_SCHEDULER
  static void watchdog_timeout(void * dummy);
  #endif
  
+ volatile uint8_t test=0;
  
  #define START_BIT  0x0001
  #define PARITY_BIT 0x0200
***************
*** 75,95 ****
  {
        s16 c;
  
        switch(state) {
        case MF2_CLIENT_STATE_IDLE:
                rx_buf=0;
                state=MF2_CLIENT_STATE_RECV;
                current_bitnum=1;
! #ifdef CONFIG_MF2_CLIENT_USE_SCHEDULER
                sched_event = scheduler_add_single_event(watchdog_timeout,
                         NULL, WATCHDOG_TIMEOUT/SCHEDULER_UNIT);
  #endif
                break;
                
        case MF2_CLIENT_STATE_RECV:
                if(PIN(MF2_CLIENT_DATA_PORT) & (1<<MF2_CLIENT_DATA_BIT))
                        rx_buf |= (1 << current_bitnum);
                
                if (current_bitnum==10) {
                        if (rx_event) {
                                c=check_rx_buf(rx_buf);
--- 76,102 ----
  {
        s16 c;
  
+ 
+       test=10;
        switch(state) {
        case MF2_CLIENT_STATE_IDLE:
                rx_buf=0;
                state=MF2_CLIENT_STATE_RECV;
                current_bitnum=1;
!               test=19;
! #ifdef CONFIG_MODULE_MF2_CLIENT_USE_SCHEDULER
                sched_event = scheduler_add_single_event(watchdog_timeout,
                         NULL, WATCHDOG_TIMEOUT/SCHEDULER_UNIT);
+               test=1;
  #endif
                break;
                
        case MF2_CLIENT_STATE_RECV:
+               test=11;
                if(PIN(MF2_CLIENT_DATA_PORT) & (1<<MF2_CLIENT_DATA_BIT))
                        rx_buf |= (1 << current_bitnum);
                
+               test=12;
                if (current_bitnum==10) {
                        if (rx_event) {
                                c=check_rx_buf(rx_buf);
***************
*** 97,148 ****
                                        rx_event((char)(c));
                                }
                        }
                        current_bitnum=0;       
                        state=MF2_CLIENT_STATE_IDLE;
! #ifdef CONFIG_MF2_CLIENT_USE_SCHEDULER
                        if (sched_event != -1) {
                                scheduler_del_event(sched_event);
                                sched_event = -1;
                        }
  #endif
                }
                else {
                        current_bitnum++;
                }
                break;
! 
!     case MF2_CLIENT_STATE_XMIT:
                if (current_bitnum < 10) {
                        if (tx_buf & (1<<current_bitnum))
                                data_Z();
                        else
                                data_0();
                        current_bitnum ++;
                }
                else {
                        data_Z();
                        current_bitnum=0;
                        state=MF2_CLIENT_STATE_ACK;
                }
                break;
! 
!     case MF2_CLIENT_STATE_ACK:
! /*            if(PIN(MF2_CLIENT_DATA_PORT) & (1<<MF2_CLIENT_DATA_BIT)) */
! /*                    XXX error; */
! /*            else */
                if (tx_event) {
                        tx_event((char)(tx_c));
                }
                state=MF2_CLIENT_STATE_IDLE;
! #ifdef CONFIG_MF2_CLIENT_USE_SCHEDULER
                if (sched_event != -1) {
                        scheduler_del_event(sched_event);
                        sched_event = -1;
                }
  #endif
                break;
! 
        default:
                break;
        }
  }
--- 104,163 ----
                                        rx_event((char)(c));
                                }
                        }
+                       test=13;
                        current_bitnum=0;       
                        state=MF2_CLIENT_STATE_IDLE;
! #ifdef CONFIG_MODULE_MF2_CLIENT_USE_SCHEDULER
                        if (sched_event != -1) {
                                scheduler_del_event(sched_event);
                                sched_event = -1;
                        }
+                       test=2;
  #endif
                }
                else {
                        current_bitnum++;
                }
                break;
!               
!       case MF2_CLIENT_STATE_XMIT:
!               test=15;
                if (current_bitnum < 10) {
                        if (tx_buf & (1<<current_bitnum))
                                data_Z();
                        else
                                data_0();
                        current_bitnum ++;
+                       test=3;
                }
                else {
                        data_Z();
                        current_bitnum=0;
                        state=MF2_CLIENT_STATE_ACK;
+                       test=4;
                }
                break;
!               
!       case MF2_CLIENT_STATE_ACK:
!               /*              if(PIN(MF2_CLIENT_DATA_PORT) & 
(1<<MF2_CLIENT_DATA_BIT)) */
!               /*                      XXX error; */
!               /*              else */
!               test=5;
                if (tx_event) {
                        tx_event((char)(tx_c));
                }
                state=MF2_CLIENT_STATE_IDLE;
! #ifdef CONFIG_MODULE_MF2_CLIENT_USE_SCHEDULER
                if (sched_event != -1) {
                        scheduler_del_event(sched_event);
                        sched_event = -1;
                }
  #endif
+               test=6;
                break;
!               
        default:
+               test=7;
                break;
        }
  }
***************
*** 219,225 ****
        return state==MF2_CLIENT_STATE_IDLE;
  }
  
! #ifdef CONFIG_MF2_CLIENT_USE_SCHEDULER
  static void watchdog_timeout(void * dummy)
  {
        printf("TIMEOUT\n");
--- 234,240 ----
        return state==MF2_CLIENT_STATE_IDLE;
  }
  
! #ifdef CONFIG_MODULE_MF2_CLIENT_USE_SCHEDULER
  static void watchdog_timeout(void * dummy)
  {
        printf("TIMEOUT\n");
***************
*** 237,243 ****
        clk_Z();
        data_0();
        set_falling_edge();
! #ifdef CONFIG_MF2_CLIENT_USE_SCHEDULER
        sched_event = scheduler_add_single_event(watchdog_timeout, 
                                                           NULL, 
WATCHDOG_TIMEOUT/SCHEDULER_UNIT);
  #endif
--- 252,258 ----
        clk_Z();
        data_0();
        set_falling_edge();
! #ifdef CONFIG_MODULE_MF2_CLIENT_USE_SCHEDULER
        sched_event = scheduler_add_single_event(watchdog_timeout, 
                                                           NULL, 
WATCHDOG_TIMEOUT/SCHEDULER_UNIT);
  #endif
***************
*** 280,286 ****
        if (!(cpt % 2))
                tx_buf |= PARITY_BIT;
  
! #if CONFIG_MF2_CLIENT_USE_SCHEDULER
        scheduler_add_single_event(start_sending, NULL, 1000L/SCHEDULER_UNIT);
  #else
        wait_ms(1);
--- 295,301 ----
        if (!(cpt % 2))
                tx_buf |= PARITY_BIT;
  
! #if CONFIG_MODULE_MF2_CLIENT_USE_SCHEDULER
        scheduler_add_single_event(start_sending, NULL, 1000L/SCHEDULER_UNIT);
  #else
        wait_ms(1);
***************
*** 294,312 ****
  /* executed at each byte transmission. */
  void mf2_client_register_tx_event(void (*f)(char))
  {
!   u08 flags;
!   IRQ_LOCK(flags);
!   tx_event = f;
!   IRQ_UNLOCK(flags);
  }
  
  /* This function is used to register another function which will be */
  /* executed at each byte reception. */
  void mf2_client_register_rx_event(void (*f)(char))
  {
!   u08 flags;
!   IRQ_LOCK(flags);
!   rx_event = f;
!   IRQ_UNLOCK(flags);
  }
  
--- 309,327 ----
  /* executed at each byte transmission. */
  void mf2_client_register_tx_event(void (*f)(char))
  {
!       u08 flags;
!       IRQ_LOCK(flags);
!       tx_event = f;
!       IRQ_UNLOCK(flags);
  }
  
  /* This function is used to register another function which will be */
  /* executed at each byte reception. */
  void mf2_client_register_rx_event(void (*f)(char))
  {
!       u08 flags;
!       IRQ_LOCK(flags);
!       rx_event = f;
!       IRQ_UNLOCK(flags);
  }
  

_______________________________________________
Avr-list mailing list
Avr-list@droids-corp.org
CVSWEB : http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive
WIKI : http://wiki.droids-corp.org/index.php/Aversive
DOXYGEN : http://zer0.droids-corp.org/doxygen_aversive/html/
BUGZILLA : http://bugzilla.droids-corp.org
COMMIT LOGS : http://zer0.droids-corp.org/aversive_commitlog

--- End Message ---
_______________________________________________
Avr-list mailing list
Avr-list@droids-corp.org
CVSWEB : http://cvsweb.droids-corp.org/cgi-bin/viewcvs.cgi/aversive
WIKI : http://wiki.droids-corp.org/index.php/Aversive
DOXYGEN : http://zer0.droids-corp.org/doxygen_aversive/html/
BUGZILLA : http://bugzilla.droids-corp.org
COMMIT LOGS : http://zer0.droids-corp.org/aversive_commitlog

Répondre à