Merge pull request #584 from lab11/cc2538-ieee-addr
CC2538: add secondary location to ieee address
This commit is contained in:
commit
24c503c726
|
@ -52,7 +52,7 @@ ieee_addr_cpy_to(uint8_t *dst, uint8_t len)
|
||||||
/* Reading from Info Page, we need to invert byte order */
|
/* Reading from Info Page, we need to invert byte order */
|
||||||
int i;
|
int i;
|
||||||
for(i = 0; i < len; i++) {
|
for(i = 0; i < len; i++) {
|
||||||
dst[i] = ((uint8_t *)IEEE_ADDR_LOCATION_PRIMARY)[len - 1 - i];
|
dst[i] = ((uint8_t *)IEEE_ADDR_LOCATION)[len - 1 - i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -53,6 +53,18 @@
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
#define IEEE_ADDR_LOCATION_PRIMARY 0x00280028 /**< IEEE address location */
|
#define IEEE_ADDR_LOCATION_PRIMARY 0x00280028 /**< IEEE address location */
|
||||||
|
#define IEEE_ADDR_LOCATION_SECONDARY 0x0027FFCC /**< IEEE address location */
|
||||||
|
/** @} */
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
|
/**
|
||||||
|
* \brief Select which address location to use
|
||||||
|
* @{
|
||||||
|
*/
|
||||||
|
#if IEEE_ADDR_CONF_USE_SECONDARY_LOCATION
|
||||||
|
#define IEEE_ADDR_LOCATION IEEE_ADDR_LOCATION_SECONDARY
|
||||||
|
#else
|
||||||
|
#define IEEE_ADDR_LOCATION IEEE_ADDR_LOCATION_PRIMARY
|
||||||
|
#endif
|
||||||
/** @} */
|
/** @} */
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -243,7 +243,7 @@ To configure the IEEE address source location (Info Page or hard-coded), use the
|
||||||
* 0: Info Page
|
* 0: Info Page
|
||||||
* 1: Hard-coded
|
* 1: Hard-coded
|
||||||
|
|
||||||
If `IEEE_ADDR_CONF_HARDCODED` is defined as 1, the IEEE address will take its value from the `IEEE_ADDR_CONF_ADDRESS` define.
|
If `IEEE_ADDR_CONF_HARDCODED` is defined as 1, the IEEE address will take its value from the `IEEE_ADDR_CONF_ADDRESS` define. If `IEEE_ADDR_CONF_HARDCODED` is defined as 0, the IEEE address can come from either the primary or secondary location in the Info Page. To use the secondary address, define `IEEE_ADDR_CONF_USE_SECONDARY_LOCATION` as 1.
|
||||||
|
|
||||||
Additionally, you can override the IEEE's 2 LSBs, by using the `NODEID` make variable. The value of `NODEID` will become the value of the `IEEE_ADDR_NODE_ID` pre-processor define. If `NODEID` is not defined, `IEEE_ADDR_NODE_ID` will not get defined either. For example:
|
Additionally, you can override the IEEE's 2 LSBs, by using the `NODEID` make variable. The value of `NODEID` will become the value of the `IEEE_ADDR_NODE_ID` pre-processor define. If `NODEID` is not defined, `IEEE_ADDR_NODE_ID` will not get defined either. For example:
|
||||||
|
|
||||||
|
|
|
@ -268,6 +268,16 @@ typedef uint32_t rtimer_clock_t;
|
||||||
#ifndef IEEE_ADDR_CONF_ADDRESS
|
#ifndef IEEE_ADDR_CONF_ADDRESS
|
||||||
#define IEEE_ADDR_CONF_ADDRESS { 0x00, 0x12, 0x4B, 0x00, 0x89, 0xAB, 0xCD, 0xEF }
|
#define IEEE_ADDR_CONF_ADDRESS { 0x00, 0x12, 0x4B, 0x00, 0x89, 0xAB, 0xCD, 0xEF }
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Location of the IEEE address in the InfoPage when
|
||||||
|
* IEEE_ADDR_CONF_HARDCODED is defined as 0
|
||||||
|
* 0 => Use the primary address location
|
||||||
|
* 1 => Use the secondary address location
|
||||||
|
*/
|
||||||
|
#ifndef IEEE_ADDR_CONF_USE_SECONDARY_LOCATION
|
||||||
|
#define IEEE_ADDR_CONF_USE_SECONDARY_LOCATION 0
|
||||||
|
#endif
|
||||||
/** @} */
|
/** @} */
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in a new issue