# HG changeset patch # User Some Random Person # Date 1337086836 25200 # Node ID fac65c465f987ddda509c81ea3d2c188b5f9feac # Parent 3a4be4048a2185ea3d701313e0006b990df8df26 chgd to new activityType structure w/booleans in it diff -r 3a4be4048a21 -r fac65c465f98 CircuitNetlistCreator.c --- a/CircuitNetlistCreator.c Mon Apr 02 14:06:11 2012 +0200 +++ b/CircuitNetlistCreator.c Tue May 15 06:00:36 2012 -0700 @@ -58,14 +58,14 @@ netlist->numActivityTypes = 1; netlist->activityTypes = malloc(netlist->numActivityTypes*sizeof(HWSimActivityType*)); // Stefan: tocheck valgrind - netlist->activityTypes[PING_PONG_TYPE] = createPingPongActivityType(); + netlist->activityTypes[PING_PONG_ACTIVITY] = createPingPongActivityType(); elems[0] = createAPingPongElem( netlist ); //use info from netlist elems[1] = createAPingPongElem( netlist ); //on one of the elems, make reset trigger an action //Stefan: FIXME elems[1]->inPorts[-1].triggeredActivityType = - netlist->activityTypes[PING_PONG_TYPE]; //Connect elems together + netlist->activityTypes[PING_PONG_ACTIVITY]; //Connect elems together /*OutPorts and InPorts may have many commPaths attached. * but an inPort only @@ -111,10 +111,6 @@ free(netlist); } - //Stefan: copy netlist struct with VMS malloc after VMS initialized? - //ANSWER: yes, otherwise the user has to deal with VMS details. - // So we should do this in HWSim__make_netlist_simulatable -> yes - // If so, I can do this HWSimElem * createAPingPongElem( HWSimNetlist *netlist ) { HWSimElem *TL; @@ -123,7 +119,7 @@ TL->numOutPorts = 1; TL->inPorts = HWSim_ext__make_inPortsArray( TL->numInPorts ); TL->inPorts[-1].triggeredActivityType = IDLE_SPAN; //reset port - TL->inPorts[0].triggeredActivityType = netlist->activityTypes[PING_PONG_TYPE]; + TL->inPorts[0].triggeredActivityType = netlist->activityTypes[PING_PONG_ACTIVITY]; return TL; } @@ -131,8 +127,12 @@ createPingPongActivityType( ) { HWSimActivityType *pingPongActivityType; pingPongActivityType = malloc( sizeof(HWSimActivityType) ); - pingPongActivityType->behaviorFn = &pingPongElem_PingActivity_behavior; - pingPongActivityType->timingFn = &pingPongElem_PingActivity_timing; + + pingPongActivityType->hasBehavior = true; + pingPongActivityType->hasTiming = true; + pingPongActivityType->timingIsFixed = true; + pingPongActivityType->fixedTime = 10; + pingPongActivityType->behaviorFn = &pingPongElem_PingActivity_behavior; return pingPongActivityType; - } + } diff -r 3a4be4048a21 -r fac65c465f98 HWSim__PingPong__HWDef/HWSim__PingPong__HWDef.h --- a/HWSim__PingPong__HWDef/HWSim__PingPong__HWDef.h Mon Apr 02 14:06:11 2012 +0200 +++ b/HWSim__PingPong__HWDef/HWSim__PingPong__HWDef.h Tue May 15 06:00:36 2012 -0700 @@ -9,7 +9,7 @@ #include -#include "../../VMS_Implementations/HWSim_impl/HWSim_lib.h" +#include "HWSim_impl/HWSim_lib.h" //=============================== Defines ============================== @@ -17,7 +17,7 @@ #define COMMUNICATOR_OUTPORT 1 //Different activityTypes -#define PING_PONG_TYPE 0 +#define PING_PONG_ACTIVITY 0 //============================== Structures ============================== diff -r 3a4be4048a21 -r fac65c465f98 HWSim__PingPong__HWDef/PingPongElem_Activities.c --- a/HWSim__PingPong__HWDef/PingPongElem_Activities.c Mon Apr 02 14:06:11 2012 +0200 +++ b/HWSim__PingPong__HWDef/PingPongElem_Activities.c Tue May 15 06:00:36 2012 -0700 @@ -28,20 +28,15 @@ *Note, the returned value is passed to the timing function */ void * -pingPongElem_PingActivity_behavior( void *_params, HWSimElem *elem ) - { //Stefan: FIXME -// PingPongParams *params; -// params = (PingPongParams *)_params; -//// DEBUG( dbgHW, "ping pong activity\n", clone_PingPongParams(params) ); -// -//// HWSim__send_on_port( NO_MSG, PORT0, elem ); -// return params; - printf("Ping-Pong\n"); +pingPongElem_PingActivity_behavior( HWSimElem *elem ) + { DEBUG_printf( dbgHW, "ping pong activity\n" ); + + HWSim__send_on_port( NO_MSG, PORT0, elem ); return NULL; } HWSimTimeSpan -pingPongElem_PingActivity_timing( void * dataFromBehaviorFn ) +pingPongElem_PingActivity_timing( HWSimElem *elem ) { return 10; }