Add the possibility to set the default antenna gain.

pull/6411/head
Kimmo Vaisanen 2018-02-16 15:37:44 +02:00 committed by Antti Kauppila
parent 256a3a5842
commit 591bc7da1f
2 changed files with 25 additions and 1 deletions

View File

@ -241,6 +241,11 @@ lorawan_status_t LoRaMacMib::set_request(loramac_mib_req_confirm_t *mibSet,
params->sys_params.antenna_gain = mibSet->param.antenna_gain; params->sys_params.antenna_gain = mibSet->param.antenna_gain;
break; break;
} }
case MIB_DEFAULT_ANTENNA_GAIN:
{
params->sys_params.antenna_gain = mibSet->param.default_antenna_gain;
break;
}
default: default:
status = LORAWAN_STATUS_SERVICE_UNKNOWN; status = LORAWAN_STATUS_SERVICE_UNKNOWN;
break; break;
@ -414,6 +419,11 @@ lorawan_status_t LoRaMacMib::get_request(loramac_mib_req_confirm_t *mibGet,
mibGet->param.antenna_gain = params->sys_params.antenna_gain; mibGet->param.antenna_gain = params->sys_params.antenna_gain;
break; break;
} }
case MIB_DEFAULT_ANTENNA_GAIN:
{
mibGet->param.default_antenna_gain = params->sys_params.antenna_gain;
break;
}
default: default:
status = LORAWAN_STATUS_SERVICE_UNKNOWN; status = LORAWAN_STATUS_SERVICE_UNKNOWN;
break; break;

View File

@ -1127,6 +1127,7 @@ typedef struct {
* \ref MIB_SYSTEM_MAX_RX_ERROR | YES | YES * \ref MIB_SYSTEM_MAX_RX_ERROR | YES | YES
* \ref MIB_MIN_RX_SYMBOLS | YES | YES * \ref MIB_MIN_RX_SYMBOLS | YES | YES
* \ref MIB_ANTENNA_GAIN | YES | YES * \ref MIB_ANTENNA_GAIN | YES | YES
* \ref MIB_DEFAULT_ANTENNA_GAIN | YES | YES
* *
* The following table provides links to the function implementations of the * The following table provides links to the function implementations of the
* related MIB primitives: * related MIB primitives:
@ -1332,7 +1333,14 @@ typedef enum {
* The formula is: * The formula is:
* radioTxPower = ( int8_t )floor( maxEirp - antennaGain ) * radioTxPower = ( int8_t )floor( maxEirp - antennaGain )
*/ */
MIB_ANTENNA_GAIN MIB_ANTENNA_GAIN,
/*!
* Default antenna gain of the node. Default value is region specific.
* The antenna gain is used to calculate the TX power of the node.
* The formula is:
* radioTxPower = ( int8_t )floor( maxEirp - antennaGain )
*/
MIB_DEFAULT_ANTENNA_GAIN
} mib_type_t; } mib_type_t;
/*! /*!
@ -1519,6 +1527,12 @@ typedef union {
* Related MIB type: \ref MIB_ANTENNA_GAIN * Related MIB type: \ref MIB_ANTENNA_GAIN
*/ */
float antenna_gain; float antenna_gain;
/*!
* Default antenna gain
*
* Related MIB type: \ref MIB_DEFAULT_ANTENNA_GAIN
*/
float default_antenna_gain;
} mib_params_t; } mib_params_t;
/*! /*!