Skip to content

Commit

Permalink
Modifications for libwsnet2:
Browse files Browse the repository at this point in the history
-Antennas management (type of antenna written in each platform. Only one available for the moment in wsnet2)
-Measures support


git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/wsim@187 c0ef0dea-404d-0410-ad65-84cceb5f200a
  • Loading branch information
llemaitre committed Sep 18, 2009
1 parent 8d3fedd commit 7a880c1
Show file tree
Hide file tree
Showing 22 changed files with 265 additions and 89 deletions.
4 changes: 2 additions & 2 deletions devices/cc1100/cc1100_dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ void cc1100_read(int dev_num, uint32_t *mask, uint32_t *value)
/***************************************************/
/***************************************************/

int cc1100_device_create (int dev_num, int fxosc_mhz)
int cc1100_device_create (int dev_num, int fxosc_mhz, char *antenna)
{
struct _cc1100_t *cc1100 = (struct _cc1100_t *) machine.device[dev_num].data;

Expand All @@ -231,7 +231,7 @@ int cc1100_device_create (int dev_num, int fxosc_mhz)
CC1100_XOSC_FREQ_MHz = fxosc_mhz;
CC1100_XOSC_PERIOD_NS = 1000 / fxosc_mhz;

cc1100->worldsens_radio_id = worldsens_c_rx_register((void*)cc1100, cc1100_callback_rx);
cc1100->worldsens_radio_id = worldsens_c_rx_register((void*)cc1100, cc1100_callback_rx, antenna);

TRACER_CC1100_STATE = tracer_event_add_id(8, "state", "cc1100");
TRACER_CC1100_STROBE = tracer_event_add_id(8, "strobe", "cc1100");
Expand Down
2 changes: 1 addition & 1 deletion devices/cc1100/cc1100_dev.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
/***************************************************/
/***************************************************/

int cc1100_device_create (int dev_num, int fxosc_mhz);
int cc1100_device_create (int dev_num, int fxosc_mhz, char *antenna);
int cc1100_device_size (void);

/***************************************************/
Expand Down
4 changes: 2 additions & 2 deletions devices/cc2420/cc2420_dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ uint8_t cc2420_read_pin(struct _cc2420_t * cc2420, uint8_t pin)
/***************************************************/
/***************************************************/

int cc2420_device_create (int dev_num, int fxosc_mhz)
int cc2420_device_create (int dev_num, int fxosc_mhz, char *antenna)
{
struct _cc2420_t *cc2420 = (struct _cc2420_t *) machine.device[dev_num].data;

Expand All @@ -100,7 +100,7 @@ int cc2420_device_create (int dev_num, int fxosc_mhz)
CC2420_XOSC_FREQ_MHz = fxosc_mhz;
CC2420_XOSC_PERIOD_NS = 1000 / fxosc_mhz;

cc2420->worldsens_radio_id = worldsens_c_rx_register((void*)cc2420,cc2420_callback_rx);
cc2420->worldsens_radio_id = worldsens_c_rx_register((void*)cc2420,cc2420_callback_rx, antenna);

cc2420->fsm_state = CC2420_STATE_POWER_DOWN;

Expand Down
2 changes: 1 addition & 1 deletion devices/cc2420/cc2420_dev.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
/***************************************************/
/***************************************************/

int cc2420_device_create (int dev_num, int fxocs_mhz);
int cc2420_device_create (int dev_num, int fxocs_mhz, char *antenna);
int cc2420_device_size (void);

/***************************************************/
Expand Down
1 change: 0 additions & 1 deletion devices/cc2420/cc2420_rx.c
Original file line number Diff line number Diff line change
Expand Up @@ -597,7 +597,6 @@ void cc2420_rx_flush_current_frame(struct _cc2420_t * cc2420) {

/**
* rx callback
* todo : autoack
*/

uint64_t cc2420_callback_rx(void *arg, struct wsnet_rx_info *wrx)
Expand Down
5 changes: 3 additions & 2 deletions libwsnet/libwsnet.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,11 @@ struct wsnet_tx_info {
int radio_id;
};

typedef uint64_t (*wsnet_callback_rx_t) (void*, struct wsnet_rx_info *);
typedef uint64_t (*wsnet_callback_rx_t) (void*, struct wsnet_rx_info *);
typedef uint64_t (*wsnet_callback_measure_t) (void*, double);

int worldsens_c_tx (struct wsnet_tx_info *);
int worldsens_c_rx_register (void*, wsnet_callback_rx_t);
int worldsens_c_rx_register (void*, wsnet_callback_rx_t, char*);

/**************************************************************************/
/**************************************************************************/
Expand Down
2 changes: 1 addition & 1 deletion libwsnet/wsnet0.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ int worldsens_c_get_node_id(void)
return 0;
}

int worldsens_c_rx_register(void UNUSED *arg, wsnet_callback_rx_t UNUSED cbrx)
int worldsens_c_rx_register(void UNUSED *arg, wsnet_callback_rx_t UNUSED cbrx, char UNUSED *antenna)
{
return 0;
}
Expand Down
4 changes: 2 additions & 2 deletions libwsnet/wsnet1.c
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ int worldsens_c_options_add (void);
void worldsens_c_state_save (void);
void worldsens_c_state_restore (void);
int worldsens_c_get_node_id (void);
int worldsens_c_rx_register (void* arg, wsnet_callback_rx_t cbrx);
int worldsens_c_rx_register (void* arg, wsnet_callback_rx_t cbrx, char UNUSED *antenna);

int worldsens_c_initialize (void);
int worldsens_c_connect (void);
Expand Down Expand Up @@ -279,7 +279,7 @@ int worldsens_c_get_node_id(void)
return WSENS_MYADDR;
}

int worldsens_c_rx_register(void* arg, wsnet_callback_rx_t cbrx)
int worldsens_c_rx_register(void* arg, wsnet_callback_rx_t cbrx, char UNUSED *antenna)
{
WSENS_CBRX_ARG = arg;
WSENS_CBRX_FUNC = cbrx;
Expand Down
2 changes: 1 addition & 1 deletion libwsnet/wsnet1.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
/**************************************************************************/

/* Maximum worldsens packet length */
#define WORLDSENS_MAX_PKTLENGTH 100
#define WORLDSENS_MAX_PKTLENGTH 1000

/* Control packet type */
#define WORLDSENS_C_CONNECT 0x01
Expand Down
3 changes: 1 addition & 2 deletions libwsnet/wsnet2.c
Original file line number Diff line number Diff line change
Expand Up @@ -119,9 +119,8 @@ int worldsens_c_get_node_id(void)
return wsnet2_get_node_id();
}

int worldsens_c_rx_register(void* arg, wsnet_callback_rx_t cbrx)
int worldsens_c_rx_register(void* arg, wsnet_callback_rx_t cbrx, char *antenna)
{
char antenna[] = "omnidirectionnal";
return wsnet2_register_radio(antenna, cbrx, arg);
}

Expand Down
2 changes: 1 addition & 1 deletion libwsnet/wsnet2.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ int worldsens_c_options_add (void);
void worldsens_c_state_save (void);
void worldsens_c_state_restore (void);
int worldsens_c_get_node_id (void);
int worldsens_c_rx_register (void*, wsnet_callback_rx_t);
int worldsens_c_rx_register (void*, wsnet_callback_rx_t, char*);

int worldsens_c_initialize (void);
int worldsens_c_connect (void);
Expand Down
Loading

0 comments on commit 7a880c1

Please sign in to comment.