diff --git a/drivers/wireless/spirit/drivers/spirit_netdev.c b/drivers/wireless/spirit/drivers/spirit_netdev.c index 10d202e99c4..90913f024ea 100644 --- a/drivers/wireless/spirit/drivers/spirit_netdev.c +++ b/drivers/wireless/spirit/drivers/spirit_netdev.c @@ -223,7 +223,7 @@ static const struct radio_init_s g_radio_init = { SPIRIT_BASE_FREQUENCY, /* base_frequency */ SPIRIT_CHANNEL_SPACE, /* chspace */ - SPIRIT_XTAL_OFFSET_PPM, /* xtal_offset_ppm */ + SPIRIT_XTAL_OFFSET_PPM, /* foffset */ SPIRIT_CHANNEL_NUMBER, /* chnum */ SPIRIT_MODULATION_SELECT, /* modselect */ SPIRIT_DATARATE, /* datarate */ diff --git a/drivers/wireless/spirit/include/spirit_radio.h b/drivers/wireless/spirit/include/spirit_radio.h index da01a673cef..60ef1e5d37f 100644 --- a/drivers/wireless/spirit/include/spirit_radio.h +++ b/drivers/wireless/spirit/include/spirit_radio.h @@ -350,7 +350,7 @@ struct radio_init_s * NxFREQUENCY_STEPS, where frequency STEPS is * F_Xo/2^15. This parameter can be in the * range: [0, F_Xo/2^15*255] Hz */ - int16_t xtal_offset_ppm; /* Specifies the offset frequency (in ppm) + int16_t foffset; /* Specifies the offset frequency (in ppm) * to compensate crystal inaccuracy expressed * as signed value. */ uint8_t chnum; /* Specifies the channel number. This value diff --git a/drivers/wireless/spirit/include/spirit_types.h b/drivers/wireless/spirit/include/spirit_types.h index 07aaf027248..3aa92901f13 100644 --- a/drivers/wireless/spirit/include/spirit_types.h +++ b/drivers/wireless/spirit/include/spirit_types.h @@ -111,11 +111,12 @@ enum spirit_state_e * This field-oriented structure allows user to address in simple way the single * field of the SPIRIT status. * The user shall define a variable of SpiritStatus type to access on SPIRIT status fields. - * @note The fields order in the structure depends on used endianness (little or big + * NOTE: The fields order in the structure depends on used endianness (little or big * endian). The actual definition is valid ONLY for LITTLE ENDIAN mode. Be sure to * change opportunely the fields order when use a different endianness. */ +#ifndef CONFIG_ENDIAN_BIG struct spirit_status_s { uint8_t XO_ON : 1; /* Notifies if XO is operating (XO_ON is @@ -134,6 +135,7 @@ struct spirit_status_s uint8_t ANT_SELECT : 1; /* Notifies the currently selected antenna */ uint8_t reserved : 4; /* Reserved and equal to 5 */ }; +#endif /* One instance of this structure represents the overall state of one Spirit * device from the standpoint of the library. Multiple spirit devices may be diff --git a/drivers/wireless/spirit/lib/spirit_radio.c b/drivers/wireless/spirit/lib/spirit_radio.c index ea579f4baed..00730141363 100644 --- a/drivers/wireless/spirit/lib/spirit_radio.c +++ b/drivers/wireless/spirit/lib/spirit_radio.c @@ -182,9 +182,8 @@ int spirit_radio_initialize(FAR struct spirit_library_s *spirit, DEBUGASSERT(IS_FREQUENCY_BAND(radioinit->base_frequency)); DEBUGASSERT(IS_MODULATION_SELECTED(radioinit->modselect)); DEBUGASSERT(IS_DATARATE(radioinit->datarate)); - DEBUGASSERT(IS_FREQUENCY_OFFSET(offset, spirit->xtal_frequency)); - DEBUGASSERT(IS_CHANNEL_SPACE - (radioinit->chspace, spirit->xtal_frequency)); + DEBUGASSERT(IS_FREQUENCY_OFFSET(radioinit->foffset, spirit->xtal_frequency)); + DEBUGASSERT(IS_CHANNEL_SPACE(radioinit->chspace, spirit->xtal_frequency)); DEBUGASSERT(IS_F_DEV(radioinit->freqdev, spirit->xtal_frequency)); /* Workaround for Vtune */ @@ -200,8 +199,8 @@ int spirit_radio_initialize(FAR struct spirit_library_s *spirit, * parameter: (xtal_ppm*FBase)/10^6 */ - offset = (int32_t)(((float)radioinit->xtal_offset_ppm * - radioinit->base_frequency) / PPM_FACTOR); + offset = (int32_t)(((float)radioinit->foffset * radioinit->base_frequency) / + PPM_FACTOR); /* Disable the digital, ADC, SMPS reference clock divider if fXO > 24MHz or * fXO < 26MHz @@ -343,7 +342,8 @@ int spirit_radio_initialize(FAR struct spirit_library_s *spirit, /* Calculates the channel filter mantissa and exponent */ - ret = spirit_radio_convert_chbandwidth(spirit, radioinit->bandwidth, &bwm, &bwe); + ret = spirit_radio_convert_chbandwidth(spirit, radioinit->bandwidth, + &bwm, &bwe); if (ret < 0) { return ret; @@ -605,7 +605,7 @@ int spirit_radio_get_setup(FAR struct spirit_library_s *spirit, /* Calculate the frequency offset in ppm */ - radioinit->xtal_offset_ppm = (int16_t) + radioinit->foffset = (int16_t) ((uint32_t)fcoffset * spirit->xtal_frequency * PPM_FACTOR) / ((uint32_t)FBASE_DIVIDER * radioinit->base_frequency);