Added configuration in order to run Rime.
This commit is contained in:
parent
25ceab07d2
commit
d8711d32a3
3 changed files with 53 additions and 34 deletions
|
@ -29,6 +29,7 @@
|
||||||
*
|
*
|
||||||
* This file is part of the Contiki OS
|
* This file is part of the Contiki OS
|
||||||
*
|
*
|
||||||
|
* $Id: stm32w-radio.c,v 1.2 2010/10/27 14:05:23 salvopitru Exp $
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
|
@ -218,9 +219,6 @@ static int stm32w_radio_init(void)
|
||||||
ST_RadioSetNodeId(STM32W_NODE_ID); // To be deleted.
|
ST_RadioSetNodeId(STM32W_NODE_ID); // To be deleted.
|
||||||
ST_RadioSetPanId(IEEE802154_PANID);
|
ST_RadioSetPanId(IEEE802154_PANID);
|
||||||
|
|
||||||
ST_RadioEnableAutoAck(TRUE);
|
|
||||||
|
|
||||||
|
|
||||||
CLEAN_RXBUFS();
|
CLEAN_RXBUFS();
|
||||||
CLEAN_TXBUF();
|
CLEAN_TXBUF();
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
*
|
*
|
||||||
* This file is part of the Contiki OS
|
* This file is part of the Contiki OS
|
||||||
*
|
*
|
||||||
* $Id: contiki-conf.h,v 1.1 2010/10/25 09:03:39 salvopitru Exp $
|
* $Id: contiki-conf.h,v 1.2 2010/10/27 14:05:24 salvopitru Exp $
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
|
@ -79,6 +79,8 @@ typedef unsigned short uip_stats_t;
|
||||||
#define QUEUEBUF_CONF_NUM 2
|
#define QUEUEBUF_CONF_NUM 2
|
||||||
|
|
||||||
|
|
||||||
|
#define NETSTACK_CONF_RADIO stm32w_radio_driver
|
||||||
|
|
||||||
#if WITH_UIP6
|
#if WITH_UIP6
|
||||||
|
|
||||||
/* No radio cycling */
|
/* No radio cycling */
|
||||||
|
@ -86,8 +88,9 @@ typedef unsigned short uip_stats_t;
|
||||||
#define NETSTACK_CONF_MAC nullmac_driver
|
#define NETSTACK_CONF_MAC nullmac_driver
|
||||||
#define NETSTACK_CONF_RDC sicslowmac_driver
|
#define NETSTACK_CONF_RDC sicslowmac_driver
|
||||||
#define NETSTACK_CONF_FRAMER framer_802154
|
#define NETSTACK_CONF_FRAMER framer_802154
|
||||||
#define NETSTACK_CONF_RADIO stm32w_radio_driver
|
|
||||||
|
|
||||||
|
#define RIMEADDR_CONF_SIZE 8
|
||||||
|
#define UIP_CONF_LL_802154 1
|
||||||
|
|
||||||
#define UIP_CONF_ROUTER 1
|
#define UIP_CONF_ROUTER 1
|
||||||
#define UIP_CONF_IPV6_RPL 1
|
#define UIP_CONF_IPV6_RPL 1
|
||||||
|
@ -103,7 +106,6 @@ typedef unsigned short uip_stats_t;
|
||||||
#define UIP_CONF_IPV6_QUEUE_PKT 0 // This is a very costly feature as it increases the RAM usage by approximately UIP_ND6_MAX_NEIGHBORS * UIP_LINK_MTU bytes.
|
#define UIP_CONF_IPV6_QUEUE_PKT 0 // This is a very costly feature as it increases the RAM usage by approximately UIP_ND6_MAX_NEIGHBORS * UIP_LINK_MTU bytes.
|
||||||
#define UIP_CONF_IPV6_CHECKS 1
|
#define UIP_CONF_IPV6_CHECKS 1
|
||||||
#define UIP_CONF_IPV6_REASSEMBLY 0
|
#define UIP_CONF_IPV6_REASSEMBLY 0
|
||||||
#define UIP_CONF_NETIF_MAX_ADDRESSES 3
|
|
||||||
#define UIP_CONF_ND6_MAX_PREFIXES 2
|
#define UIP_CONF_ND6_MAX_PREFIXES 2
|
||||||
#define UIP_CONF_ND6_MAX_NEIGHBORS 2
|
#define UIP_CONF_ND6_MAX_NEIGHBORS 2
|
||||||
#define UIP_CONF_ND6_MAX_DEFROUTERS 1
|
#define UIP_CONF_ND6_MAX_DEFROUTERS 1
|
||||||
|
@ -131,8 +133,6 @@ typedef unsigned short uip_stats_t;
|
||||||
#define STM32W_NODE_ID 0x5678 // to be deleted
|
#define STM32W_NODE_ID 0x5678 // to be deleted
|
||||||
#define RF_CHANNEL 16
|
#define RF_CHANNEL 16
|
||||||
#define RADIO_RXBUFS 2 // Set to a number greater than 1 to decrease packet loss probability at high rates (e.g, with fragmented packets)
|
#define RADIO_RXBUFS 2 // Set to a number greater than 1 to decrease packet loss probability at high rates (e.g, with fragmented packets)
|
||||||
#define RIMEADDR_CONF_SIZE 8
|
|
||||||
#define UIP_CONF_LL_802154 1
|
|
||||||
#define UIP_CONF_LLH_LEN 0
|
#define UIP_CONF_LLH_LEN 0
|
||||||
|
|
||||||
typedef unsigned long clock_time_t;
|
typedef unsigned long clock_time_t;
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
*
|
*
|
||||||
* This file is part of the Contiki OS
|
* This file is part of the Contiki OS
|
||||||
*
|
*
|
||||||
* $Id: contiki-main.c,v 1.1 2010/10/25 09:03:39 salvopitru Exp $
|
* $Id: contiki-main.c,v 1.2 2010/10/27 14:05:24 salvopitru Exp $
|
||||||
*/
|
*/
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
|
@ -81,7 +81,7 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef WITH_UIP6
|
#if UIP_CONF_IPV6
|
||||||
PROCINIT(&etimer_process, &tcpip_process, &sensors_process);
|
PROCINIT(&etimer_process, &tcpip_process, &sensors_process);
|
||||||
#else
|
#else
|
||||||
PROCINIT(&etimer_process, &sensors_process);
|
PROCINIT(&etimer_process, &sensors_process);
|
||||||
|
@ -91,7 +91,45 @@ PROCINIT(&etimer_process, &sensors_process);
|
||||||
SENSORS(&button_sensor,&temperature_sensor,&acc_sensor);
|
SENSORS(&button_sensor,&temperature_sensor,&acc_sensor);
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
static void
|
||||||
|
set_rime_addr(void)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
union {
|
||||||
|
u8_t u8[8];
|
||||||
|
}eui64;
|
||||||
|
|
||||||
|
//rimeaddr_t lladdr;
|
||||||
|
|
||||||
|
int8u *stm32w_eui64 = ST_RadioGetEui64();
|
||||||
|
{
|
||||||
|
int8u c;
|
||||||
|
for(c = 0; c < 8; c++) { // Copy the EUI-64 to lladdr converting from Little-Endian to Big-Endian.
|
||||||
|
eui64.u8[c] = stm32w_eui64[7 - c];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
PRINTF("\n\rRadio EUI-64:");
|
||||||
|
PRINTLLADDR(eui64);
|
||||||
|
PRINTF("\n\r");
|
||||||
|
|
||||||
|
#if UIP_CONF_IPV6
|
||||||
|
memcpy(&uip_lladdr.addr, &eui64, sizeof(uip_lladdr.addr));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if UIP_CONF_IPV6
|
||||||
|
rimeaddr_set_node_addr((rimeaddr_t *)&eui64);
|
||||||
|
#else
|
||||||
|
rimeaddr_set_node_addr((rimeaddr_t *)&eui64.u8[8-RIMEADDR_SIZE]);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
printf("Rime started with address ");
|
||||||
|
for(i = 0; i < sizeof(rimeaddr_t) - 1; i++) {
|
||||||
|
printf("%d.", rimeaddr_node_addr.u8[i]);
|
||||||
|
}
|
||||||
|
printf("%d\n", rimeaddr_node_addr.u8[i]);
|
||||||
|
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
int
|
int
|
||||||
main(void)
|
main(void)
|
||||||
{
|
{
|
||||||
|
@ -119,36 +157,19 @@ main(void)
|
||||||
|
|
||||||
process_init();
|
process_init();
|
||||||
|
|
||||||
#if WITH_SERIAL_LINE_INPUT
|
#if WITH_SERIAL_LINE_INPUT
|
||||||
uart1_set_input(serial_line_input_byte);
|
uart1_set_input(serial_line_input_byte);
|
||||||
serial_line_init();
|
serial_line_init();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WITH_UIP6
|
|
||||||
|
|
||||||
netstack_init();
|
netstack_init();
|
||||||
|
#if !UIP_CONF_IPV6
|
||||||
{
|
ST_RadioEnableAutoAck(FALSE); // Because frames are not 802.15.4 compatible.
|
||||||
rimeaddr_t lladdr;
|
ST_RadioEnableAddressFiltering(FALSE);
|
||||||
|
|
||||||
int8u *stm32w_eui64 = ST_RadioGetEui64();
|
|
||||||
{
|
|
||||||
int8u c;
|
|
||||||
for(c = 0; c < 8; c++) { // Copy the EUI-64 to lladdr converting from Little-Endian to Big-Endian.
|
|
||||||
lladdr.u8[c] = stm32w_eui64[7 - c];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
PRINTF("\n\rRadio EUI-64:");
|
|
||||||
PRINTLLADDR(lladdr);
|
|
||||||
PRINTF("\n\r");
|
|
||||||
|
|
||||||
rimeaddr_set_node_addr(&lladdr);
|
|
||||||
|
|
||||||
memcpy(&uip_lladdr.addr, &lladdr, sizeof(uip_lladdr.addr));
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
set_rime_addr();
|
||||||
|
|
||||||
ctimer_init();
|
ctimer_init();
|
||||||
rtimer_init();
|
rtimer_init();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue